pkgsrc/x11/qt4-libs/Makefile.common
tnn 7d3e6f15db Fix qt4-tools build on Linux by adding -ldl to LDFLAGS.
From Ondrej Tuma in PR pkg/37688
XXX I think -ldl should go into the generated libQtCore.la instead,
but I lack sufficient clue how to make that happen.
2009-10-23 15:47:09 +00:00

129 lines
3.7 KiB
Makefile

# $NetBSD: Makefile.common,v 1.17 2009/10/23 15:47:09 tnn Exp $
# used by x11/qt4-libs/Makefile
# used by x11/qt4-docs/Makefile
DISTNAME= qt-x11-opensource-src-${QTVERSION}
CATEGORIES= x11
MASTER_SITES= http://get.qtsoftware.com/qt/source/ \
ftp://ftp.qtsoftware.com/qt/source/
#EXTRACT_SUFX= .tar.bz2
.include "../../x11/qt4/Makefile.common"
DISTINFO_FILE= ${.CURDIR}/../../x11/qt4-libs/distinfo
FILESDIR= ${.CURDIR}/../../x11/qt4-libs/files
PATCHDIR= ${.CURDIR}/../../x11/qt4-libs/patches
HAS_CONFIGURE= yes
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
USE_TOOLS+= gmake
QTPREFIX= ${PREFIX}/qt4
CONFIGURE_ARGS+= -prefix "${QTPREFIX}" -shared -sm
CONFIGURE_ARGS+= -release
CONFIGURE_ARGS+= -system-libjpeg
CONFIGURE_ARGS+= -system-libmng
CONFIGURE_ARGS+= -system-libpng
CONFIGURE_ARGS+= -system-zlib
CONFIGURE_ARGS+= -qt-gif # qt4 does not write compressed GIFs
CONFIGURE_ARGS+= ${CFLAGS:M-I*} ${LDFLAGS:M-L*} ${LDFLAGS:M-Wl*:S/-Wl,//}
CONFIGURE_ARGS+= -arch ${MACHINE_ARCH}
# current WebKit fails for missing pthread_getattr_np() in
# src/3rdparty/webkit/JavaScriptCore/kjs/collector.cpp
#CONFIGURE_ARGS+= -no-webkit
CONFIGURE_ARGS.SunOS+= -no-xrender
OPSYSVARS+= CONFIGURE_ARGS
CONFIGURE_ARGS+= < ${FILESDIR}/license-acceptance
LIBQT?= -lQtCore -lQtGui
MAKE_ENV+= QTPREFIX=${QTPREFIX:Q}
MAKE_ENV+= QTDIR=${WRKSRC}
# avoid creating a .qt directory in the users home directory
SCRIPTS_ENV+= HOME=${WRKDIR}
.include "../../mk/compiler.mk"
.if !empty(CC_VERSION:Mgcc*)
CONFIGURE_ARGS+= -no-g++-exceptions
.endif
.if ${OPSYS} == "SunOS"
. if !empty(CC_VERSION:Mgcc*)
. if ${ABI:U} == "64"
CONFIGURE_ARGS+= -platform solaris-g++-64
. else
CONFIGURE_ARGS+= -platform solaris-g++
. endif
. else
. if ${ABI:U} == "64"
CONFIGURE_ARGS+= -platform solaris-cc-64
. else
CONFIGURE_ARGS+= -platform solaris-cc
. endif
. endif
SYS_LIBS= -lresolv -lsocket -lnsl -lrt
.elif ${OPSYS} == "Interix"
CONFIGURE_ARGS+= -platform interix-g++
CFLAGS+= -I/usr/local/include/bind
LDFLAGS+= -L/usr/local/lib/bind -lbind
BUILDLINK_PASSTHRU_DIRS+=/usr/local/include/bind /usr/local/lib/bind
SYS_LIBS= -lbind -ldb -ldl
.elif ${OPSYS} == "DragonFly"
CONFIGURE_ARGS+= -platform freebsd-g++
.elif ${OPSYS} == "Darwin"
QMAKE_RANLIB= ${RANLIB}
. if exists(/usr/lib/libresolv.dylib)
LDFLAGS+= -lresolv
. endif
.elif ${OPSYS} == "Linux"
LDFLAGS+= -ldl
.endif
QMAKE_RANLIB?= ${TRUE}
.if ${X11_TYPE} != "native"
.include "../../x11/libXinerama/buildlink3.mk"
.elif !exists(${X11BASE}/lib/libXinerama.so) && \
!exists(${X11BASE}/lib/libXinerama.dylib)
CONFIGURE_ARGS+= -no-xinerama
.endif
.include "options.mk"
# Reverse the change to how templates are handled made between 3.0.4
# and 3.0.5 for older toolchains. Removing inline for newer toolchains
# produces smaller code. Removing inline for older toolchains prod-
# uces buggy code.
.if !empty(CC_VERSION:Mgcc-2.8*)
CXXFLAGS+= -DQ_INLINE_TEMPLATES=inline
.endif
pre-configure:
sed -e 's:@LOCALBASE@:${LOCALBASE:Q}:g' \
-e 's:@X11BASE@:${X11BASE:Q}:g' \
-e 's:@X11PREFIX@:${X11PREFIX:Q}:g' \
-e 's:@LIBTOOL@:${LIBTOOL:Q}:g' \
-e 's:@CC@:${CC:Q}:g' \
-e 's:@CXX@:${CXX:Q}:g' \
-e 's:@LDFLAGS@:${LDFLAGS:Q}:g' \
-e 's:@CFLAGS@:${CFLAGS:Q}:g' \
-e 's:@CXXFLAGS@:${CXXFLAGS:Q}:g' \
-e 's:@SYS_LIBS@:${SYS_LIBS:Q}:g' \
-e 's:@LEX@:${LEX:Q}:g' \
-e 's:@YACC@:${TOOLS_CMDLINE_YACC:Q}:g' \
-e 's:@AR@:${AR:Q}:g' \
-e 's:@MKDIR@:${MKDIR:Q}:g' \
-e 's:@LIBQT@:${LIBQT:Q}:g' \
-e 's:@PTHREAD_LDFLAGS@:${PTHREAD_LDFLAGS:Q}:g' \
-e 's:@PTHREAD_LIBS@:${PTHREAD_LIBS:Q}:g' \
-e 's:@COMPILER_RPATH_FLAG@:${COMPILER_RPATH_FLAG:Q}:g' \
-e 's:@QMAKE_RANLIB@:${QMAKE_RANLIB:Q}:g' \
${FILESDIR}/qmake.conf > ${WRKSRC}/qmake.conf
for dir in ${WRKSRC}/mkspecs/*; do \
cp ${WRKSRC}/qmake.conf $${dir}; \
rm -f $${dir}/*.orig; \
done