176 lines
5.7 KiB
Makefile
176 lines
5.7 KiB
Makefile
# New ports collection makefile for: qt22
|
|
# Date created: 17 Jul 1999
|
|
# Whom: imura@kml.cs.titech.ac.jp
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME?= qt
|
|
PORTVERSION?= 2.3.1
|
|
PORTREVISION= 1
|
|
CATEGORIES?= x11-toolkits
|
|
MASTER_SITES= ftp://ftp.trolltech.com/qt/source/ \
|
|
ftp://ftp.chg.ru/pub/X11/qt/source/
|
|
DISTNAME= qt-x11-${PORTVERSION}
|
|
DIST_SUBDIR= KDE
|
|
|
|
MAINTAINER?= kde@FreeBSD.org
|
|
|
|
LIB_DEPENDS= mng.1:${PORTSDIR}/graphics/libmng \
|
|
png.5:${PORTSDIR}/graphics/png \
|
|
jpeg.9:${PORTSDIR}/graphics/jpeg
|
|
|
|
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
|
|
USE_MESA= yes
|
|
USE_GMAKE= yes
|
|
USE_X_PREFIX= yes
|
|
USE_NEWGCC= yes
|
|
HAS_CONFIGURE= yes
|
|
# YES, THIS PORT HAS ANTIALIASING SUPPORT IF YOUR XFREE86 SUPPORTS IT!
|
|
# JUST BECAUSE -xft IS NOT LISTED BELOW DOESN'T MEAN IT'S NOT THERE!
|
|
CONFIGURE_ARGS= -system-zlib -system-libpng -system-jpeg -sm -gif \
|
|
-system-libmng -thread -no-opengl -no-g++-exceptions \
|
|
-I${LOCALBASE}/include -L${LOCALBASE}/lib
|
|
|
|
.if defined(QT_DEBUG)
|
|
CONFIGURE_ARGS+= -debug
|
|
.endif
|
|
|
|
CONFIGURE_ENV= ${ECHO_CMD} yes | QTDIR=${WRKSRC}
|
|
.if defined(MAKE_JOBS)
|
|
MAKE_ARGS+= MAKE="${GMAKE} -j${MAKE_JOBS}"
|
|
.endif
|
|
MAKE_ENV+= QTDIR=${WRKSRC} LD_LIBRARY_PATH=${WRKSRC}/lib
|
|
|
|
CONFIG= ${WRKSRC}/configs/freebsd-g++-${STATIC}
|
|
|
|
.if !defined(NOPORTDOCS)
|
|
.if (${PORTNAME} == "qt")
|
|
.include "files/manpages"
|
|
.endif
|
|
.endif
|
|
|
|
.if defined(WANT_STATIC)
|
|
STATIC=static
|
|
CONFIGURE_ARGS+=-static
|
|
PLIST_SUB+= SHARED="@comment " STATIC=""
|
|
.else
|
|
STATIC=shared
|
|
INSTALLS_SHLIB=yes
|
|
PLIST_SUB+= SHARED="" STATIC="@comment "
|
|
.endif
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if ${OSVERSION} >= 500029
|
|
NO_QT_OBJPRELINK= yes
|
|
.endif
|
|
.if ${MACHINE_ARCH} == "i386" && !defined(NO_QT_OBJPRELINK)
|
|
BUILD_DEPENDS= objprelink:${PORTSDIR}/devel/objprelink
|
|
.endif
|
|
|
|
.if ${MACHINE_ARCH} == "alpha" && !defined(NO_ALPHA_UNOPTIMIZATION)
|
|
CFLAGS+= -O0
|
|
.endif
|
|
|
|
pre-fetch:
|
|
.if exists(${X11BASE}/lib/libqt2.so.3)
|
|
.if !defined(WANT_STATIC)
|
|
@${ECHO} "An older version of QT2 is installed. To avoid clobbering"
|
|
@${ECHO} "that installation, deinstall it and then install this port."
|
|
@${ECHO} "Note that this port contains beta-quality source code and"
|
|
@${ECHO} "must be used only wherever absolutely needed, such as for"
|
|
@${ECHO} "KDE 2.0 and later."
|
|
@${FALSE}
|
|
.endif
|
|
.endif
|
|
|
|
qt-pre-configure:
|
|
@true
|
|
|
|
post-patch:
|
|
.if ${MACHINE_ARCH} == "i386" && !defined(NO_QT_OBJPRELINK)
|
|
.if !exists(${WRKDIR}/.${PKGNAME}.objprelink_patched)
|
|
@echo "Doing special objprelink patching..."
|
|
cd ${WRKSRC} && ${PATCH} < ${FILESDIR}/objprelink.patch
|
|
${TOUCH} ${WRKDIR}/.${PKGNAME}.objprelink_patched
|
|
.else
|
|
@echo "Already did the objprelink patching, skipping..."
|
|
.endif
|
|
.endif
|
|
|
|
pre-configure: qt-pre-configure
|
|
${PERL} -pi -e "s,gcc,${CC},g; s,g\+\+,${CXX},g; \
|
|
s,/usr/X11R6,${X11BASE},g;s,-O2,${CFLAGS},g; \
|
|
s,-fno-exceptions,-fno-exceptions ${CXXFLAGS} -I/usr/include -D_PTH_H_ -D_PTH_PTHREAD_H_,g" ${CONFIG}
|
|
${PERL} -pi -e "s,VER_MAJ = 2,VER_MAJ = 4,g; \
|
|
s,TARGET = qt,TARGET = qt2,g" ${WRKSRC}/src/Makefile.in
|
|
${PERL} -pi -e "s@TARGET\t= moc@TARGET = moc2@g" ${WRKSRC}/src/moc/Makefile.in
|
|
${PERL} -pi -e "s,rm -f bin/moc,rm -f bin/moc2,g; \
|
|
s,cp src/moc/moc bin/moc,cp src/moc/moc2 bin/moc2,g; \
|
|
s,symlinks src-moc src-mt sub-src sub-tools sub-tutorial sub-examples,symlinks src-moc src-mt sub-src sub-tools,g" \
|
|
${WRKSRC}/Makefile
|
|
.if (${PORTNAME} == "qt")
|
|
${PERL} -pi -e "s@\$$(MAKE) designer@@g; s@uic \\\@uic@g; \
|
|
s@\t\tdesigner@@g" ${WRKSRC}/tools/designer/Makefile.in
|
|
.endif
|
|
|
|
post-configure:
|
|
@(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} symlinks)
|
|
|
|
# Add hack to bring in support for GL. The last line is necessary to ensure that
|
|
# one can rebuild with the same tree and get the same results.
|
|
do-build:
|
|
(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET})
|
|
.if !defined(WANT_STATIC)
|
|
(cd ${WRKSRC}/src && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} opengl/qgl.o opengl/qgl_x11.o opengl/moc_qgl.o)
|
|
${MV} ${WRKSRC}/lib/libqt2.so.4 ${WRKSRC}/lib/libqt2-real.so.4
|
|
${PERL} -pi.orig -e "s@ xml/qdom.o@xml/qdom.o opengl/qgl.o opengl/qgl_x11.o opengl/moc_qgl.o@g; \
|
|
s@SYSCONF_LIBS_OPENGL =@SYSCONF_LIBS_OPENGL= ${PTHREAD_LIBS} -lGL -lGLU -lXmu@g" ${WRKSRC}/src/Makefile
|
|
(cd ${WRKSRC}/src && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} all)
|
|
${CP} ${WRKSRC}/lib/libqt2.so.4 ${WRKSRC}/lib/libqtgl.so.4
|
|
${CP} ${WRKSRC}/lib/libqt2-real.so.4 ${WRKSRC}/lib/libqt2.so.4
|
|
${CP} ${WRKSRC}/src/Makefile.orig ${WRKSRC}/src/Makefile
|
|
.endif
|
|
|
|
# XXX: This target looks like crap now.
|
|
do-install:
|
|
.if (${PORTNAME} == "qt")
|
|
${MKDIR} ${PREFIX}/include/qt2
|
|
.for BIN in moc2 uic
|
|
${INSTALL_PROGRAM} ${WRKSRC}/bin/${BIN} ${PREFIX}/bin
|
|
.endfor
|
|
.for SCRIPT in findtr qt20fix qtrename140
|
|
${INSTALL_SCRIPT} ${WRKSRC}/bin/${SCRIPT} ${PREFIX}/bin
|
|
.endfor
|
|
${INSTALL_DATA} ${WRKSRC}/include/*.h ${PREFIX}/include/qt2
|
|
.if !defined(WANT_STATIC)
|
|
.for LIB in qt2 qt2-mt qtgl
|
|
${INSTALL_PROGRAM} ${WRKSRC}/lib/lib${LIB}.so.4 ${PREFIX}/lib
|
|
${LN} -sf ${PREFIX}/lib/lib${LIB}.so.4 ${PREFIX}/lib/lib${LIB}.so
|
|
.endfor
|
|
${INSTALL_PROGRAM} ${WRKSRC}/lib/libqutil.so.1 ${PREFIX}/lib
|
|
${LN} -sf ${PREFIX}/lib/libqutil.so.1 ${PREFIX}/lib/libqutil.so
|
|
.else
|
|
.for LIB in qt2 qutil
|
|
${INSTALL_DATA} ${WRKSRC}/lib/lib${LIB}.a ${PREFIX}/lib
|
|
.endfor
|
|
.endif
|
|
.if !defined(NOPORTDOCS)
|
|
${MKDIR} ${PREFIX}/share/doc/qt2/html
|
|
.for FILE in ANNOUNCE FAQ PORTING README README.QT
|
|
${INSTALL_DATA} ${WRKSRC}/${FILE} ${PREFIX}/share/doc/qt2
|
|
.endfor
|
|
.for SUFFIX in g1n html png
|
|
(for FILE in ${WRKSRC}/doc/html/*.${SUFFIX}; do \
|
|
${INSTALL_DATA} $$FILE ${PREFIX}/share/doc/qt2/html; done)
|
|
.endfor
|
|
.for FILE in index titleindex propertyindex whatsthis
|
|
${INSTALL_DATA} ${WRKSRC}/doc/html/${FILE} ${PREFIX}/share/doc/qt2/html
|
|
.endfor
|
|
${INSTALL_MAN} ${WRKSRC}/doc/man/man3/q* ${PREFIX}/man/man3
|
|
.endif
|
|
.endif
|
|
|
|
.include <bsd.port.post.mk>
|