pkgsrc/x11/qt5-qtbase/Makefile.common
2014-01-04 23:46:26 +00:00

204 lines
6.2 KiB
Makefile

# $NetBSD: Makefile.common,v 1.8 2014/01/04 23:46:26 joerg Exp $
# used by x11/qt5-dbus/Makefile
# used by x11/qt5-mysql/Makefile
# used by x11/qt5-odbc/Makefile
# used by x11/qt5-psql/Makefile
# used by x11/qt5-qtbase/Makefile
# used by x11/qt5-qtdeclarative/Makefile
# used by x11/qt5-qtdoc/Makefile
# used by x11/qt5-qtgraphicaleffects/Makefile
# used by x11/qt5-qtimageformats/Makefile
# used by x11/qt5-qtlocation/Makefile
# used by x11/qt5-qtmultimedia/Makefile
# used by x11/qt5-qtquick1/Makefile
# used by x11/qt5-qtquickcontrols/Makefile
# used by x11/qt5-qtscript/Makefile
# used by x11/qt5-qtsensors/Makefile
# used by x11/qt5-qtserialport/Makefile
# used by x11/qt5-qtsvg/Makefile
# used by x11/qt5-qttools/Makefile
# used by x11/qt5-qttranslations/Makefile
# used by x11/qt5-qtwebkit/Makefile
# used by x11/qt5-qtx11extras/Makefile
# used by x11/qt5-qtxmlpatterns/Makefile
# used by x11/qt5-sqlite3/Makefile
DISTNAME= qt-everywhere-opensource-src-${QTDISTVER}
CATEGORIES= x11
MASTER_SITES= http://download.qt-project.org/official_releases/qt/5.2/5.2.0/single/
EXTRACT_SUFX= .tar.xz
EXTRACT_USING= bsdtar
.include "../../x11/qt5/Makefile.common"
DISTINFO_FILE= ${.CURDIR}/../../x11/qt5-qtbase/distinfo
FILESDIR= ${.CURDIR}/../../x11/qt5-qtbase/files
PATCHDIR= ${.CURDIR}/../../x11/qt5-qtbase/patches
.if defined(MAKE_JOBS)
.if !defined(MAKE_JOBS_SAFE) || empty(MAKE_JOBS_SAFE:M[nN][oO])
CONFIGURE_ENV+= MAKE_FLAGS=-j${MAKE_JOBS:Q}
.endif
.endif
.include "../../mk/dlopen.buildlink3.mk"
BUILDLINK_TRANSFORM+= opt:-ldl:${BUILDLINK_LDADD.dl:M*}
HAS_CONFIGURE= yes
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
USE_TOOLS+= gmake perl:build pkg-config
CONFIG_SHELL= ${PERL5}
REPLACE_PERL+= qtbase/bin/syncqt.pl
REPLACE_PERL+= qtwebkit/Source/WebKit2/Scripts/generate-forwarding-headers.pl
# wcstof(3) etc. is used in C++ code.
CFLAGS.NetBSD+= -D_NETBSD_SOURCE
# for GL_GLEXT_LEGACY with GL/gl.h error, GL_ARB_shader_objects is not defined.
BUILDLINK_TRANSFORM+= rm:-Wundef
CONFIGURE_ARGS+= -optimized-qmake
CONFIGURE_ARGS+= -prefix "${QTPREFIX}"
CONFIGURE_ARGS+= ${CFLAGS:M-I*} ${LDFLAGS:M-L*} ${LDFLAGS:M-l*}
CONFIGURE_ARGS+= -opensource -confirm-license
CONFIGURE_ARGS+= -release
CONFIGURE_ARGS+= -accessibility
CONFIGURE_ARGS+= -fontconfig
CONFIGURE_ARGS+= -iconv
CONFIGURE_ARGS+= -icu
CONFIGURE_ARGS+= -openssl-linked
CONFIGURE_ARGS+= -nomake examples
CONFIGURE_ARGS+= -nomake tests
CONFIGURE_ARGS+= -no-pch
CONFIGURE_ARGS+= -no-strip
CONFIGURE_ARGS+= -system-libjpeg
CONFIGURE_ARGS+= -system-libpng
CONFIGURE_ARGS+= -system-sqlite
CONFIGURE_ARGS+= -system-pcre
CONFIGURE_ARGS+= -system-zlib
CONFIGURE_ARGS+= -no-dbus
CONFIGURE_ARGS+= -no-sql-mysql
CONFIGURE_ARGS+= -no-sql-psql
CONFIGURE_ARGS+= -no-sql-sqlite
OPSYSVARS+= CONFIGURE_ARGS
.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} != "SunOS"
CONFIGURE_ARGS+= -reduce-relocations
.endif
MAKE_ENV+= QTPREFIX=${QTPREFIX:Q}
QMAKE_CONF= qmake.conf
# avoid creating a .qt directory in the users home directory
SCRIPTS_ENV+= HOME=${WRKDIR}
.include "../../mk/compiler.mk"
.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
BUILDLINK_TRANSFORM+= rm:-Wl,--gc-sections
.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"
. if !empty(PKGSRC_COMPILER:Mclang)
CONFIGURE_ARGS+= -platform macx-llvm
. else
CONFIGURE_ARGS+= -platform macx-g++
. endif
CONFIGURE_ARGS+= -no-dwarf2
CONFIGURE_ARGS+= -no-framework
. if exists(/usr/lib/libresolv.dylib)
LDFLAGS+= -lresolv
. endif
.elif ${OPSYS} == "Linux"
LDFLAGS+= -ldl
.endif
remove-3rdparty-libs:
.for i in freetype libjpeg libpng zlib xcb
cd ${WRKSRC}/qtbase/src/3rdparty && \
${RM} -fr ${i}
.endfor
set-qmake-conf:
${SED} -e 's:@LOCALBASE@:${LOCALBASE}:g' \
-e 's:@X11BASE@:${X11BASE}:g' \
-e 's:@X11PREFIX@:${X11PREFIX}: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}:g' \
-e 's:@YACC@:${TOOLS_CMDLINE_YACC:Q}:g' \
-e 's:@AR@:${AR:Q}:g' \
-e 's:@MKDIR@:${MKDIR}: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}:g' \
-e 's:@QMAKE_RANLIB@:${QMAKE_RANLIB:Q}:g' \
${FILESDIR}/${QMAKE_CONF} > ${WRKSRC}/qmake.conf
for dir in ${WRKSRC}/qtbase/mkspecs/*; do \
cp ${WRKSRC}/qmake.conf $${dir}; \
rm -f $${dir}/*.orig; \
done
no-qmake-build:
cd ${WRKSRC} && \
${PATCH} < ${FILESDIR}/patch-qtbase_configure.no-qmake
${LN} -sf ${QTPREFIX}/bin/moc ${WRKSRC}/qtbase/bin/moc
${LN} -sf ${QTPREFIX}/bin/qmake ${WRKSRC}/qtbase/bin/qmake
${LN} -sf ${QTPREFIX}/bin/rcc ${WRKSRC}/qtbase/bin/rcc
${LN} -sf ${QTPREFIX}/bin/uic ${WRKSRC}/qtbase/bin/uic
.if empty(PKGPATH:Mx11/qt5-qtbase)
pre-configure: remove-3rdparty-libs set-qmake-conf no-qmake-build
.else
pre-configure: remove-3rdparty-libs set-qmake-conf
.endif
.if empty(PKGPATH:Mx11/qt5-qtbase) && empty(PKGPATH:Mx11/qt5-sqlite3) \
&& empty(PKGPATH:Mx11/qt5-mysql) && empty(PKGPATH:Mx11/qt5-psql) \
&& empty(PKGPATH:Mx11/qt5-odbc)
post-configure:
cd ${WRKSRC}/${BUILD_DIRS} && \
${PKGSRC_SETENV} ${_CONFIGURE_SCRIPT_ENV} ${QTPREFIX}/bin/qmake -o Makefile
.endif
.include "../../devel/zlib/buildlink3.mk"
.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../devel/glib2/buildlink3.mk"
.include "../../devel/pcre/buildlink3.mk"
.include "../../mk/jpeg.buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../textproc/icu/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"