[BACK]Return to Makefile.common CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / x11 / qt4-libs

File: [cvs.NetBSD.org] / pkgsrc / x11 / qt4-libs / Makefile.common (download)

Revision 1.14, Fri Jul 10 19:30:15 2009 UTC (14 years, 9 months ago) by abs
Branch: MAIN
Changes since 1.13: +3 -2 lines

Add http://get.qtsoftware.com/qt/source/ as a preferred MASTER_SITE
Suggested by Louis Guillaume

# $NetBSD: Makefile.common,v 1.14 2009/07/10 19:30:15 abs Exp $
# used by x11/qt4-libs/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
.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