2014-01-06 16:16:52 +00:00
|
|
|
#-*- tab-width: 4; -*-
|
|
|
|
# ex:ts=4
|
|
|
|
#
|
2009-11-26 23:24:38 +00:00
|
|
|
# $FreeBSD$
|
|
|
|
#
|
2014-01-06 16:16:52 +00:00
|
|
|
# Port variables:
|
|
|
|
# USE_QT* - List of Qt modules to depend on, with optional '_build'
|
|
|
|
# and '_run' suffixes. Define it empty to include this file
|
|
|
|
# without depending on Qt ports.
|
|
|
|
# QT_DIST - The port belongs to the Qt distribution. Set to 'yes' for
|
|
|
|
# Qt 4, or to the distribution name(s) for newer versions.
|
2010-01-21 21:13:21 +00:00
|
|
|
# QT_NONSTANDARD - Suppress modification of configure and make environment.
|
|
|
|
#
|
2014-01-06 16:16:52 +00:00
|
|
|
# Global switches (for inclusion into /etc/make.conf):
|
|
|
|
# QT4_OPTIONS - A list of (Qt 4-only) global options; can be CUPS, NAS
|
|
|
|
# and/or QGTKSTYLE. If set, Qt will be built with support
|
|
|
|
# for:
|
|
|
|
# * Common UNIX Printing System (CUPS);
|
|
|
|
# * Network Audio System (NAS);
|
|
|
|
# * GTK+-based Qt theme (QGTKSTYLE).
|
2008-08-04 23:30:38 +00:00
|
|
|
|
2007-07-16 10:12:15 +00:00
|
|
|
.if !defined(_POSTMKINCLUDED) && !defined(Qt_Pre_Include)
|
2014-01-06 16:16:52 +00:00
|
|
|
|
2010-01-21 21:13:21 +00:00
|
|
|
Qt_Include_MAINTAINER= kde@FreeBSD.org
|
2014-01-06 16:16:52 +00:00
|
|
|
Qt_Pre_Include= bsd.qt.mk
|
2007-07-16 10:12:15 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
# Qt versions currently supported by the framework.
|
|
|
|
_QT_SUPPORTED?= 4 5
|
2014-05-05 20:47:22 +00:00
|
|
|
QT4_VERSION?= 4.8.6
|
Update Qt5 ports to 5.3.2.
Proudly presented by the KDE on FreeBSD team, with several guest stars.
This update took way longer than initially expected due to us previously
accumulating assumptions and changes to Qt's build system that finally bit
us back with the 5.3 release series, so we had to do a fair amount of
cleanup.
New ports:
- comms/qt5-serialport: Qt functions to access serial ports, originally
based on work by Fernando Apesteguia. [1]
- devel/qt5-qdoc: Qt documentation generator, the Qt5 equivalent of
devel/qt4-qdoc3. Originally worked on by Tobias Berner.
It had already been half-split from devel/qt5-buildtools,
we just needed to finish the work.
Dead ports:
- devel/qt5-qmldevtools: Merged into lang/qt5-qml.
Minor changes:
- devel/qt5: Add x11/qt5-x11extras and the new ports to the dependency list.
- graphics/qt5-imageformats: The port now supports the JPEG2000, WEBP,
Direct Draw Surface and ICNS formats.
- multimedia/qt5-multimedia: The ALSA and PULSEAUDIO options are now
mutually exclusive due to changes introduced in
Qt 5.3.0 (the ALSA code is now a proper plugin
that is only built if PulseAudio is not used).
- x11/qt5-x11extras: Add USE_LDCONFIG since the port installs a shared
library.
The big changes:
- bsd.qt.mk: Set QMAKESPEC instead of QMAKEPATH. [3]
QMAKEPATH does much more than we want now that we call qmake from the top
of ${WRKSRC}. qmake uses QMAKEPATH when evaluating the QMAKE_MKSPECS
property, which is in turn used by qt_config.pri to load the .pri files in
mkspecs/modules.
In practice, this means that if people have an older Qt installation those
files will be used and QT_CONFIG will have values such as "gui" even if
one is building a port like textproc/qt5-xml, which passes -no-gui to the
configure script. Consequently, unintended code paths may be enabled or
the configuration step can just fail if the .pro files expect values that
are not present in the system-wide, older .pri files.
We avoid all those problems if we use QMAKESPEC, as qmake does not take
its value into account when evaluating the QMAKE_MKSPECS property and will
only parse the files in the mkspec's directory (mkspecs/freebsd-clang, for
example, instead of all the files in mkspecs).
- Stop explicitly passing ${LOCALBASE} to the compiler. [3]
qmake's behavior has changed in Qt 5, and the paths set in QMAKE_INCDIR
and QMAKE_LIBDIR in the mkspecs are passed before any others, such as the
ones in the build directory themselves.
In practice, this means that we end up with linker calls like this:
c++ -o libfoo.so foo.o bar.o -L/usr/local/lib -L/wrkdir/build/lib
-lQt5Gui -lQt5Core
So if one already has Qt installed in the system, the older, already
present version of the libraries in /usr/local/lib will be used instead of
the newly-built ones in /wrkdir/build/lib.
QTBUG-40825 discusses this behavior upstream, but there has been no
agreement on a solution yet.
For now, the solution adopted is to make the compiler and the linker aware
of those paths but only try them last after all others, and this is
achieved by setting the CPATH and LIBRARY_PATH environment variables when
qmake is being used.
In addition to setting them in CONFIGURE_ENV and MAKE_ENV, we also need to
stop changing QMAKE_INCDIR and QMAKE_LIBDIR as well as filter those paths
from the pkg-config calls qtbase's configure script makes.
- Call qmake from the root of the ${WRKSRC}.
In Qt 5.3, Qt's build infrastructure has undergone some changes that make
our previous approach of calling qmake from the directories we want to
build stop working. Things would break even more in Qt 5.4, in which
qtbase's configure script does not accept the -process, -fully-process and
-dont-process arguments anymore (it always behaves as if -process had been
used).
Bite the bullet and start calling qmake from ${WRKSRC}. The largest part of
this change involves changing lines in Makefiles from
WRKSRC_SUBDIR= foo/bar
to
BUILD_WRKSRC= ${WRKSRC}/foo/bar
INSTALL_WRKSRC= ${WRKSRC}/foo/bar
as well as adding patches to .pro files to avoid entering other
subdirectories and removing post-configure targets that are not necessary
anymore.
Since qmake needs to be called from the top of ${WRKSRC} anyway, we can
also simplify the configuration process for the qtbase ports a little.
Looking at r10019 it is not clear why we started calling qmake in the
pre-configure target in addition to the post-configure one (while also
skipping it in do-configure), but we can now drop this call since letting
configure behave as if -process had been passed means it will call qmake
on its own and overwrite the files generated by the pre-configure call. We
still need to call qmake in post-configure though, as the configure script
does not pass -recursive when calling qmake and we need to be able to call
make from any subdirectory when building.
PR: 194762 [1]
PR: 194566 # exp-run with base GCC and clang
PR: 194088 [3]
2014-11-05 09:39:21 +00:00
|
|
|
QT5_VERSION?= 5.3.2
|
2014-01-06 16:16:52 +00:00
|
|
|
|
|
|
|
QT_PREFIX?= ${LOCALBASE}
|
|
|
|
|
|
|
|
_QT_RELNAME= qt${_QT_VERSION:R:R}
|
|
|
|
_QT_VERSION= # empty
|
|
|
|
.for ver in ${_QT_SUPPORTED}
|
|
|
|
. if defined(USE_QT${ver})
|
|
|
|
. if empty(_QT_VERSION)
|
|
|
|
_QT_VERSION= ${QT${ver}_VERSION}
|
|
|
|
. else
|
|
|
|
# Reject different USE_QT*.
|
|
|
|
IGNORE?= can't be installed: different Qt versions specified via USE_QT[${_QT_SUPPORTED:S/ //g}] #'
|
|
|
|
. endif
|
|
|
|
. endif
|
|
|
|
.endfor
|
|
|
|
|
|
|
|
.if empty(_QT_VERSION)
|
|
|
|
# The file was included without USE_QT*.
|
|
|
|
IGNORE?= can't be installed: bsd.qt.mk may only be included via USE_QT[${_QT_SUPPORTED:S/ //g}] #'
|
|
|
|
.endif
|
2007-07-16 10:12:15 +00:00
|
|
|
|
|
|
|
.if defined(QT_DIST)
|
2014-01-06 16:16:52 +00:00
|
|
|
QT_NONSTANDARD= yes
|
|
|
|
|
|
|
|
. if ! ${.MAKEFLAGS:MPREFIX=*}
|
|
|
|
PREFIX= ${QT_PREFIX}
|
|
|
|
. endif
|
|
|
|
|
2009-11-26 23:24:38 +00:00
|
|
|
MASTER_SITES= ${MASTER_SITE_QT}
|
2014-01-06 16:16:52 +00:00
|
|
|
# Useless, as it must be defined before including bsd.port.pre.mk (at least
|
|
|
|
# because of bsd.options.mk).
|
|
|
|
#PKGNAMEPREFIX?= ${_QT_RELNAME}-
|
|
|
|
DISTINFO_FILE= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/distinfo
|
2008-08-04 23:30:38 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
# Can go after a while.
|
|
|
|
CONFLICTS_BUILD=qt-3.* qt-copy-3.*
|
2013-10-13 23:15:50 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
LICENSE?= LGPL21
|
|
|
|
|
|
|
|
. if !exists(${PKGDIR}/pkg-descr)
|
|
|
|
DESCR?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/pkg-descr
|
|
|
|
. endif
|
|
|
|
|
|
|
|
# Stage support.
|
2013-10-13 23:15:50 +00:00
|
|
|
DESTDIRNAME= INSTALL_ROOT
|
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
. if ${_QT_VERSION:M4*}
|
|
|
|
MASTER_SITE_SUBDIR= official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/
|
|
|
|
DISTNAME= qt-everywhere-opensource-src-${_QT_VERSION}
|
2014-03-03 16:50:32 +00:00
|
|
|
DIST_SUBDIR= KDE
|
2014-01-06 16:16:52 +00:00
|
|
|
. else
|
|
|
|
. if ${_QT_VERSION:M*-*}
|
|
|
|
# Pre-releases.
|
|
|
|
MASTER_SITE_SUBDIR= development_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/submodules/
|
|
|
|
. else
|
|
|
|
MASTER_SITE_SUBDIR= official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/submodules/
|
|
|
|
. endif
|
|
|
|
DISTNAME= ${QT_DIST:S,^,qt,:S,$,-opensource-src-${_QT_VERSION},}
|
|
|
|
DISTFILES= ${DISTNAME:S,$,${EXTRACT_SUFX},}
|
2014-03-03 16:50:32 +00:00
|
|
|
DIST_SUBDIR= KDE/Qt/${_QT_VERSION}
|
2014-01-06 16:16:52 +00:00
|
|
|
USE_XZ= yes
|
|
|
|
|
|
|
|
. if ${.TARGETS:Mmakesum} || ${.TARGETS:Mfetch} && \
|
|
|
|
defined(DISABLE_SIZE) && defined(NO_CHECKSUM)
|
|
|
|
# Ensure that the "makesum" target (with its inner "fetch" one) uses
|
|
|
|
# devel/qt*/distinfo for every port.
|
|
|
|
QT_DIST= base declarative doc graphicaleffects imageformats \
|
|
|
|
multimedia quick1 quickcontrols script serialport svg tools \
|
|
|
|
translations webkit webkit-examples x11extras xmlpatterns
|
|
|
|
. endif
|
|
|
|
|
|
|
|
. if ${QT_DIST} == "base" && ${PORTNAME} != "qmake"
|
|
|
|
# Qt configure requires pkg-config to detect dependencies.
|
|
|
|
USES+= pkgconfig
|
|
|
|
|
Update Qt5 ports to 5.3.2.
Proudly presented by the KDE on FreeBSD team, with several guest stars.
This update took way longer than initially expected due to us previously
accumulating assumptions and changes to Qt's build system that finally bit
us back with the 5.3 release series, so we had to do a fair amount of
cleanup.
New ports:
- comms/qt5-serialport: Qt functions to access serial ports, originally
based on work by Fernando Apesteguia. [1]
- devel/qt5-qdoc: Qt documentation generator, the Qt5 equivalent of
devel/qt4-qdoc3. Originally worked on by Tobias Berner.
It had already been half-split from devel/qt5-buildtools,
we just needed to finish the work.
Dead ports:
- devel/qt5-qmldevtools: Merged into lang/qt5-qml.
Minor changes:
- devel/qt5: Add x11/qt5-x11extras and the new ports to the dependency list.
- graphics/qt5-imageformats: The port now supports the JPEG2000, WEBP,
Direct Draw Surface and ICNS formats.
- multimedia/qt5-multimedia: The ALSA and PULSEAUDIO options are now
mutually exclusive due to changes introduced in
Qt 5.3.0 (the ALSA code is now a proper plugin
that is only built if PulseAudio is not used).
- x11/qt5-x11extras: Add USE_LDCONFIG since the port installs a shared
library.
The big changes:
- bsd.qt.mk: Set QMAKESPEC instead of QMAKEPATH. [3]
QMAKEPATH does much more than we want now that we call qmake from the top
of ${WRKSRC}. qmake uses QMAKEPATH when evaluating the QMAKE_MKSPECS
property, which is in turn used by qt_config.pri to load the .pri files in
mkspecs/modules.
In practice, this means that if people have an older Qt installation those
files will be used and QT_CONFIG will have values such as "gui" even if
one is building a port like textproc/qt5-xml, which passes -no-gui to the
configure script. Consequently, unintended code paths may be enabled or
the configuration step can just fail if the .pro files expect values that
are not present in the system-wide, older .pri files.
We avoid all those problems if we use QMAKESPEC, as qmake does not take
its value into account when evaluating the QMAKE_MKSPECS property and will
only parse the files in the mkspec's directory (mkspecs/freebsd-clang, for
example, instead of all the files in mkspecs).
- Stop explicitly passing ${LOCALBASE} to the compiler. [3]
qmake's behavior has changed in Qt 5, and the paths set in QMAKE_INCDIR
and QMAKE_LIBDIR in the mkspecs are passed before any others, such as the
ones in the build directory themselves.
In practice, this means that we end up with linker calls like this:
c++ -o libfoo.so foo.o bar.o -L/usr/local/lib -L/wrkdir/build/lib
-lQt5Gui -lQt5Core
So if one already has Qt installed in the system, the older, already
present version of the libraries in /usr/local/lib will be used instead of
the newly-built ones in /wrkdir/build/lib.
QTBUG-40825 discusses this behavior upstream, but there has been no
agreement on a solution yet.
For now, the solution adopted is to make the compiler and the linker aware
of those paths but only try them last after all others, and this is
achieved by setting the CPATH and LIBRARY_PATH environment variables when
qmake is being used.
In addition to setting them in CONFIGURE_ENV and MAKE_ENV, we also need to
stop changing QMAKE_INCDIR and QMAKE_LIBDIR as well as filter those paths
from the pkg-config calls qtbase's configure script makes.
- Call qmake from the root of the ${WRKSRC}.
In Qt 5.3, Qt's build infrastructure has undergone some changes that make
our previous approach of calling qmake from the directories we want to
build stop working. Things would break even more in Qt 5.4, in which
qtbase's configure script does not accept the -process, -fully-process and
-dont-process arguments anymore (it always behaves as if -process had been
used).
Bite the bullet and start calling qmake from ${WRKSRC}. The largest part of
this change involves changing lines in Makefiles from
WRKSRC_SUBDIR= foo/bar
to
BUILD_WRKSRC= ${WRKSRC}/foo/bar
INSTALL_WRKSRC= ${WRKSRC}/foo/bar
as well as adding patches to .pro files to avoid entering other
subdirectories and removing post-configure targets that are not necessary
anymore.
Since qmake needs to be called from the top of ${WRKSRC} anyway, we can
also simplify the configuration process for the qtbase ports a little.
Looking at r10019 it is not clear why we started calling qmake in the
pre-configure target in addition to the post-configure one (while also
skipping it in do-configure), but we can now drop this call since letting
configure behave as if -process had been passed means it will call qmake
on its own and overwrite the files generated by the pre-configure call. We
still need to call qmake in post-configure though, as the configure script
does not pass -recursive when calling qmake and we need to be able to call
make from any subdirectory when building.
PR: 194762 [1]
PR: 194566 # exp-run with base GCC and clang
PR: 194088 [3]
2014-11-05 09:39:21 +00:00
|
|
|
# Set QMAKESPEC when building qtbase so that qmake (called by the configure
|
|
|
|
# script) can find the mkspecs we create ourselves in devel/qmake5.
|
|
|
|
CONFIGURE_ENV+= QMAKESPEC="${QMAKESPEC}"
|
|
|
|
MAKE_ENV+= QMAKESPEC="${QMAKESPEC}"
|
2014-01-06 16:16:52 +00:00
|
|
|
. endif
|
|
|
|
|
Update Qt5 ports to 5.3.2.
Proudly presented by the KDE on FreeBSD team, with several guest stars.
This update took way longer than initially expected due to us previously
accumulating assumptions and changes to Qt's build system that finally bit
us back with the 5.3 release series, so we had to do a fair amount of
cleanup.
New ports:
- comms/qt5-serialport: Qt functions to access serial ports, originally
based on work by Fernando Apesteguia. [1]
- devel/qt5-qdoc: Qt documentation generator, the Qt5 equivalent of
devel/qt4-qdoc3. Originally worked on by Tobias Berner.
It had already been half-split from devel/qt5-buildtools,
we just needed to finish the work.
Dead ports:
- devel/qt5-qmldevtools: Merged into lang/qt5-qml.
Minor changes:
- devel/qt5: Add x11/qt5-x11extras and the new ports to the dependency list.
- graphics/qt5-imageformats: The port now supports the JPEG2000, WEBP,
Direct Draw Surface and ICNS formats.
- multimedia/qt5-multimedia: The ALSA and PULSEAUDIO options are now
mutually exclusive due to changes introduced in
Qt 5.3.0 (the ALSA code is now a proper plugin
that is only built if PulseAudio is not used).
- x11/qt5-x11extras: Add USE_LDCONFIG since the port installs a shared
library.
The big changes:
- bsd.qt.mk: Set QMAKESPEC instead of QMAKEPATH. [3]
QMAKEPATH does much more than we want now that we call qmake from the top
of ${WRKSRC}. qmake uses QMAKEPATH when evaluating the QMAKE_MKSPECS
property, which is in turn used by qt_config.pri to load the .pri files in
mkspecs/modules.
In practice, this means that if people have an older Qt installation those
files will be used and QT_CONFIG will have values such as "gui" even if
one is building a port like textproc/qt5-xml, which passes -no-gui to the
configure script. Consequently, unintended code paths may be enabled or
the configuration step can just fail if the .pro files expect values that
are not present in the system-wide, older .pri files.
We avoid all those problems if we use QMAKESPEC, as qmake does not take
its value into account when evaluating the QMAKE_MKSPECS property and will
only parse the files in the mkspec's directory (mkspecs/freebsd-clang, for
example, instead of all the files in mkspecs).
- Stop explicitly passing ${LOCALBASE} to the compiler. [3]
qmake's behavior has changed in Qt 5, and the paths set in QMAKE_INCDIR
and QMAKE_LIBDIR in the mkspecs are passed before any others, such as the
ones in the build directory themselves.
In practice, this means that we end up with linker calls like this:
c++ -o libfoo.so foo.o bar.o -L/usr/local/lib -L/wrkdir/build/lib
-lQt5Gui -lQt5Core
So if one already has Qt installed in the system, the older, already
present version of the libraries in /usr/local/lib will be used instead of
the newly-built ones in /wrkdir/build/lib.
QTBUG-40825 discusses this behavior upstream, but there has been no
agreement on a solution yet.
For now, the solution adopted is to make the compiler and the linker aware
of those paths but only try them last after all others, and this is
achieved by setting the CPATH and LIBRARY_PATH environment variables when
qmake is being used.
In addition to setting them in CONFIGURE_ENV and MAKE_ENV, we also need to
stop changing QMAKE_INCDIR and QMAKE_LIBDIR as well as filter those paths
from the pkg-config calls qtbase's configure script makes.
- Call qmake from the root of the ${WRKSRC}.
In Qt 5.3, Qt's build infrastructure has undergone some changes that make
our previous approach of calling qmake from the directories we want to
build stop working. Things would break even more in Qt 5.4, in which
qtbase's configure script does not accept the -process, -fully-process and
-dont-process arguments anymore (it always behaves as if -process had been
used).
Bite the bullet and start calling qmake from ${WRKSRC}. The largest part of
this change involves changing lines in Makefiles from
WRKSRC_SUBDIR= foo/bar
to
BUILD_WRKSRC= ${WRKSRC}/foo/bar
INSTALL_WRKSRC= ${WRKSRC}/foo/bar
as well as adding patches to .pro files to avoid entering other
subdirectories and removing post-configure targets that are not necessary
anymore.
Since qmake needs to be called from the top of ${WRKSRC} anyway, we can
also simplify the configuration process for the qtbase ports a little.
Looking at r10019 it is not clear why we started calling qmake in the
pre-configure target in addition to the post-configure one (while also
skipping it in do-configure), but we can now drop this call since letting
configure behave as if -process had been passed means it will call qmake
on its own and overwrite the files generated by the pre-configure call. We
still need to call qmake in post-configure though, as the configure script
does not pass -recursive when calling qmake and we need to be able to call
make from any subdirectory when building.
PR: 194762 [1]
PR: 194566 # exp-run with base GCC and clang
PR: 194088 [3]
2014-11-05 09:39:21 +00:00
|
|
|
# -nomake is only used by qtbase's configure script.
|
|
|
|
# Other ports from other Qt modules will automatically build examples and
|
|
|
|
# tests if the directories exist because of mkspecs/features/qt_parts.prf.
|
2014-01-06 16:16:52 +00:00
|
|
|
EXTRACT_AFTER_ARGS?= ${DISTNAME:S,$,/examples,:S,^,--exclude ,} \
|
|
|
|
${DISTNAME:S,$,/tests,:S,^,--exclude ,}
|
|
|
|
. endif # ! ${_QT_VERSION:M4*}
|
|
|
|
|
|
|
|
CONFIGURE_ENV+= MAKE="${MAKE:T}"
|
|
|
|
|
|
|
|
CONFIGURE_ARGS+=-opensource -confirm-license \
|
|
|
|
-platform ${QMAKESPEC} \
|
|
|
|
-no-pch \
|
|
|
|
-prefix ${PREFIX} \
|
|
|
|
-bindir ${PREFIX}/${QT_BINDIR_REL} \
|
|
|
|
-headerdir ${PREFIX}/${QT_INCDIR_REL} \
|
|
|
|
-libdir ${PREFIX}/${QT_LIBDIR_REL} \
|
|
|
|
-plugindir ${PREFIX}/${QT_PLUGINDIR_REL} \
|
|
|
|
-importdir ${PREFIX}/${QT_IMPORTDIR_REL} \
|
|
|
|
-datadir ${PREFIX}/${QT_DATADIR_REL} \
|
|
|
|
-docdir ${PREFIX}/${QT_DOCDIR_REL} \
|
|
|
|
-translationdir ${PREFIX}/${QT_L10NDIR_REL} \
|
|
|
|
-sysconfdir ${PREFIX}/${QT_ETCDIR_REL}
|
|
|
|
|
|
|
|
. if ${_QT_VERSION:M4*}
|
|
|
|
CONFIGURE_ARGS+=-fast \
|
|
|
|
-system-libjpeg -system-libpng \
|
|
|
|
-system-libmng -system-libtiff -system-zlib \
|
|
|
|
-no-phonon-backend \
|
|
|
|
-examplesdir ${PREFIX}/${QT_EXAMPLEDIR_REL}/examples \
|
|
|
|
-demosdir ${PREFIX}/${QT_EXAMPLEDIR_REL}/demos
|
|
|
|
. else
|
Update Qt5 ports to 5.3.2.
Proudly presented by the KDE on FreeBSD team, with several guest stars.
This update took way longer than initially expected due to us previously
accumulating assumptions and changes to Qt's build system that finally bit
us back with the 5.3 release series, so we had to do a fair amount of
cleanup.
New ports:
- comms/qt5-serialport: Qt functions to access serial ports, originally
based on work by Fernando Apesteguia. [1]
- devel/qt5-qdoc: Qt documentation generator, the Qt5 equivalent of
devel/qt4-qdoc3. Originally worked on by Tobias Berner.
It had already been half-split from devel/qt5-buildtools,
we just needed to finish the work.
Dead ports:
- devel/qt5-qmldevtools: Merged into lang/qt5-qml.
Minor changes:
- devel/qt5: Add x11/qt5-x11extras and the new ports to the dependency list.
- graphics/qt5-imageformats: The port now supports the JPEG2000, WEBP,
Direct Draw Surface and ICNS formats.
- multimedia/qt5-multimedia: The ALSA and PULSEAUDIO options are now
mutually exclusive due to changes introduced in
Qt 5.3.0 (the ALSA code is now a proper plugin
that is only built if PulseAudio is not used).
- x11/qt5-x11extras: Add USE_LDCONFIG since the port installs a shared
library.
The big changes:
- bsd.qt.mk: Set QMAKESPEC instead of QMAKEPATH. [3]
QMAKEPATH does much more than we want now that we call qmake from the top
of ${WRKSRC}. qmake uses QMAKEPATH when evaluating the QMAKE_MKSPECS
property, which is in turn used by qt_config.pri to load the .pri files in
mkspecs/modules.
In practice, this means that if people have an older Qt installation those
files will be used and QT_CONFIG will have values such as "gui" even if
one is building a port like textproc/qt5-xml, which passes -no-gui to the
configure script. Consequently, unintended code paths may be enabled or
the configuration step can just fail if the .pro files expect values that
are not present in the system-wide, older .pri files.
We avoid all those problems if we use QMAKESPEC, as qmake does not take
its value into account when evaluating the QMAKE_MKSPECS property and will
only parse the files in the mkspec's directory (mkspecs/freebsd-clang, for
example, instead of all the files in mkspecs).
- Stop explicitly passing ${LOCALBASE} to the compiler. [3]
qmake's behavior has changed in Qt 5, and the paths set in QMAKE_INCDIR
and QMAKE_LIBDIR in the mkspecs are passed before any others, such as the
ones in the build directory themselves.
In practice, this means that we end up with linker calls like this:
c++ -o libfoo.so foo.o bar.o -L/usr/local/lib -L/wrkdir/build/lib
-lQt5Gui -lQt5Core
So if one already has Qt installed in the system, the older, already
present version of the libraries in /usr/local/lib will be used instead of
the newly-built ones in /wrkdir/build/lib.
QTBUG-40825 discusses this behavior upstream, but there has been no
agreement on a solution yet.
For now, the solution adopted is to make the compiler and the linker aware
of those paths but only try them last after all others, and this is
achieved by setting the CPATH and LIBRARY_PATH environment variables when
qmake is being used.
In addition to setting them in CONFIGURE_ENV and MAKE_ENV, we also need to
stop changing QMAKE_INCDIR and QMAKE_LIBDIR as well as filter those paths
from the pkg-config calls qtbase's configure script makes.
- Call qmake from the root of the ${WRKSRC}.
In Qt 5.3, Qt's build infrastructure has undergone some changes that make
our previous approach of calling qmake from the directories we want to
build stop working. Things would break even more in Qt 5.4, in which
qtbase's configure script does not accept the -process, -fully-process and
-dont-process arguments anymore (it always behaves as if -process had been
used).
Bite the bullet and start calling qmake from ${WRKSRC}. The largest part of
this change involves changing lines in Makefiles from
WRKSRC_SUBDIR= foo/bar
to
BUILD_WRKSRC= ${WRKSRC}/foo/bar
INSTALL_WRKSRC= ${WRKSRC}/foo/bar
as well as adding patches to .pro files to avoid entering other
subdirectories and removing post-configure targets that are not necessary
anymore.
Since qmake needs to be called from the top of ${WRKSRC} anyway, we can
also simplify the configuration process for the qtbase ports a little.
Looking at r10019 it is not clear why we started calling qmake in the
pre-configure target in addition to the post-configure one (while also
skipping it in do-configure), but we can now drop this call since letting
configure behave as if -process had been passed means it will call qmake
on its own and overwrite the files generated by the pre-configure call. We
still need to call qmake in post-configure though, as the configure script
does not pass -recursive when calling qmake and we need to be able to call
make from any subdirectory when building.
PR: 194762 [1]
PR: 194566 # exp-run with base GCC and clang
PR: 194088 [3]
2014-11-05 09:39:21 +00:00
|
|
|
CONFIGURE_ARGS+=-nomake examples -nomake tests \
|
2014-01-06 16:16:52 +00:00
|
|
|
-archdatadir ${PREFIX}/${QT_ARCHDIR_REL} \
|
|
|
|
-libexecdir ${PREFIX}/${QT_LIBEXECDIR_REL} \
|
|
|
|
-qmldir ${PREFIX}/${QT_QMLDIR_REL} \
|
|
|
|
-examplesdir ${PREFIX}/${QT_EXAMPLEDIR_REL} \
|
|
|
|
-testsdir ${PREFIX}/${QT_TESTDIR_REL}
|
|
|
|
. endif
|
|
|
|
|
|
|
|
. if defined(WANT_QT_DEBUG) || defined(WITH_DEBUG)
|
|
|
|
WITH_DEBUG= yes
|
|
|
|
STRIP= # It's done prior to bsd.qt.mk inclusion.
|
2010-12-02 19:47:17 +00:00
|
|
|
CONFIGURE_ARGS+=-debug -separate-debug-info
|
2014-01-06 16:16:52 +00:00
|
|
|
# Override configuration in global qconfig.pri.
|
|
|
|
QMAKE_ARGS+= QT_CONFIG+="debug separate_debug_info" \
|
|
|
|
QT_CONFIG-="release"
|
|
|
|
PLIST_SUB+= DEBUG=""
|
|
|
|
. else
|
2008-08-04 23:30:38 +00:00
|
|
|
CONFIGURE_ARGS+=-release -no-separate-debug-info
|
2014-01-06 16:16:52 +00:00
|
|
|
QMAKE_ARGS+= QT_CONFIG+="release" \
|
|
|
|
QT_CONFIG-="debug separate_debug_info"
|
|
|
|
PLIST_SUB+= DEBUG="@comment "
|
|
|
|
. endif
|
2007-08-02 22:37:40 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
. if defined(WANT_QT_VERBOSE_CONFIGURE)
|
2008-08-04 23:30:38 +00:00
|
|
|
CONFIGURE_ARGS+=-verbose
|
2014-01-06 16:16:52 +00:00
|
|
|
. endif
|
|
|
|
|
|
|
|
. if ${QT_DIST} == "base" || ${_QT_VERSION:M4*}
|
2014-03-23 19:58:33 +00:00
|
|
|
EXTRA_PATCHES?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-configure \
|
2014-07-19 11:09:00 +00:00
|
|
|
${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-config.tests-unix-compile.test \
|
|
|
|
${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-libtool
|
Update Qt5 ports to 5.3.2.
Proudly presented by the KDE on FreeBSD team, with several guest stars.
This update took way longer than initially expected due to us previously
accumulating assumptions and changes to Qt's build system that finally bit
us back with the 5.3 release series, so we had to do a fair amount of
cleanup.
New ports:
- comms/qt5-serialport: Qt functions to access serial ports, originally
based on work by Fernando Apesteguia. [1]
- devel/qt5-qdoc: Qt documentation generator, the Qt5 equivalent of
devel/qt4-qdoc3. Originally worked on by Tobias Berner.
It had already been half-split from devel/qt5-buildtools,
we just needed to finish the work.
Dead ports:
- devel/qt5-qmldevtools: Merged into lang/qt5-qml.
Minor changes:
- devel/qt5: Add x11/qt5-x11extras and the new ports to the dependency list.
- graphics/qt5-imageformats: The port now supports the JPEG2000, WEBP,
Direct Draw Surface and ICNS formats.
- multimedia/qt5-multimedia: The ALSA and PULSEAUDIO options are now
mutually exclusive due to changes introduced in
Qt 5.3.0 (the ALSA code is now a proper plugin
that is only built if PulseAudio is not used).
- x11/qt5-x11extras: Add USE_LDCONFIG since the port installs a shared
library.
The big changes:
- bsd.qt.mk: Set QMAKESPEC instead of QMAKEPATH. [3]
QMAKEPATH does much more than we want now that we call qmake from the top
of ${WRKSRC}. qmake uses QMAKEPATH when evaluating the QMAKE_MKSPECS
property, which is in turn used by qt_config.pri to load the .pri files in
mkspecs/modules.
In practice, this means that if people have an older Qt installation those
files will be used and QT_CONFIG will have values such as "gui" even if
one is building a port like textproc/qt5-xml, which passes -no-gui to the
configure script. Consequently, unintended code paths may be enabled or
the configuration step can just fail if the .pro files expect values that
are not present in the system-wide, older .pri files.
We avoid all those problems if we use QMAKESPEC, as qmake does not take
its value into account when evaluating the QMAKE_MKSPECS property and will
only parse the files in the mkspec's directory (mkspecs/freebsd-clang, for
example, instead of all the files in mkspecs).
- Stop explicitly passing ${LOCALBASE} to the compiler. [3]
qmake's behavior has changed in Qt 5, and the paths set in QMAKE_INCDIR
and QMAKE_LIBDIR in the mkspecs are passed before any others, such as the
ones in the build directory themselves.
In practice, this means that we end up with linker calls like this:
c++ -o libfoo.so foo.o bar.o -L/usr/local/lib -L/wrkdir/build/lib
-lQt5Gui -lQt5Core
So if one already has Qt installed in the system, the older, already
present version of the libraries in /usr/local/lib will be used instead of
the newly-built ones in /wrkdir/build/lib.
QTBUG-40825 discusses this behavior upstream, but there has been no
agreement on a solution yet.
For now, the solution adopted is to make the compiler and the linker aware
of those paths but only try them last after all others, and this is
achieved by setting the CPATH and LIBRARY_PATH environment variables when
qmake is being used.
In addition to setting them in CONFIGURE_ENV and MAKE_ENV, we also need to
stop changing QMAKE_INCDIR and QMAKE_LIBDIR as well as filter those paths
from the pkg-config calls qtbase's configure script makes.
- Call qmake from the root of the ${WRKSRC}.
In Qt 5.3, Qt's build infrastructure has undergone some changes that make
our previous approach of calling qmake from the directories we want to
build stop working. Things would break even more in Qt 5.4, in which
qtbase's configure script does not accept the -process, -fully-process and
-dont-process arguments anymore (it always behaves as if -process had been
used).
Bite the bullet and start calling qmake from ${WRKSRC}. The largest part of
this change involves changing lines in Makefiles from
WRKSRC_SUBDIR= foo/bar
to
BUILD_WRKSRC= ${WRKSRC}/foo/bar
INSTALL_WRKSRC= ${WRKSRC}/foo/bar
as well as adding patches to .pro files to avoid entering other
subdirectories and removing post-configure targets that are not necessary
anymore.
Since qmake needs to be called from the top of ${WRKSRC} anyway, we can
also simplify the configuration process for the qtbase ports a little.
Looking at r10019 it is not clear why we started calling qmake in the
pre-configure target in addition to the post-configure one (while also
skipping it in do-configure), but we can now drop this call since letting
configure behave as if -process had been passed means it will call qmake
on its own and overwrite the files generated by the pre-configure call. We
still need to call qmake in post-configure though, as the configure script
does not pass -recursive when calling qmake and we need to be able to call
make from any subdirectory when building.
PR: 194762 [1]
PR: 194566 # exp-run with base GCC and clang
PR: 194088 [3]
2014-11-05 09:39:21 +00:00
|
|
|
. if ${_QT_VERSION:M4*}
|
2014-07-24 18:52:53 +00:00
|
|
|
EXTRA_PATCHES?= ${EXTRA_PATCHES} \
|
|
|
|
${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-src-corelib-global-qglobal.h
|
2014-01-06 16:16:52 +00:00
|
|
|
. endif
|
|
|
|
. endif
|
|
|
|
|
|
|
|
# Override settings installed in qconfig.h and *.pri files. The flags will be
|
|
|
|
# installed along with the port, but have to be passed as arguments while
|
|
|
|
# building the port itself. Flags prefixed with "-" (e.g., "-CUPS" and "-cups")
|
|
|
|
# are needed to disable some features.
|
|
|
|
. if !defined(${QT_MODNAME}) || empty(${QT_MODNAME})
|
|
|
|
# Used for both qconfig-*.h and qt_config_*.pri; it can't be empty.
|
|
|
|
QT_MODNAME= ${PORTNAME}
|
|
|
|
. endif
|
|
|
|
QT_DEFINES?= # For qconfig.h flags (without "QT_" prefix).
|
|
|
|
QT_CONFIG?= # For *.pri files QT_CONFIG flags.
|
|
|
|
. if ${QT_DEFINES}
|
|
|
|
QMAKE_ARGS+= DEFINES+="${QT_DEFINES:O:u:C/^([^-])/QT_\1/:C/^-/QT_NO_/:O}"
|
|
|
|
. if ${QT_DEFINES:N-*}
|
|
|
|
# Use a script to cleanup qconfig-modules.h (see qt-post-install).
|
|
|
|
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
|
|
|
|
. endif
|
|
|
|
. endif
|
|
|
|
. if ${QT_CONFIG:N-*}
|
|
|
|
QMAKE_ARGS+= QT_CONFIG+="${QT_CONFIG:N-*:O:u}"
|
|
|
|
. endif
|
|
|
|
. if ${QT_CONFIG:M-*}
|
|
|
|
QMAKE_ARGS+= QT_CONFIG-="${QT_CONFIG:M-*:O:u:C/^-//}"
|
|
|
|
. endif
|
|
|
|
|
|
|
|
PLIST_SUB+= SHORTVER=${_QT_VERSION:R} \
|
|
|
|
FULLVER=${_QT_VERSION:C/-.*//}
|
|
|
|
.endif # defined(QT_DIST)
|
|
|
|
|
|
|
|
.if !defined(QT_NONSTANDARD)
|
|
|
|
CONFIGURE_ENV+= QTDIR="${QT_PREFIX}" QMAKE="${QMAKE}" \
|
|
|
|
MOC="${MOC}" RCC="${RCC}" UIC="${UIC}" \
|
|
|
|
QMAKESPEC="${QMAKESPEC}"
|
|
|
|
CONFIGURE_ARGS+=--with-qt-includes=${QT_INCDIR} \
|
|
|
|
--with-qt-libraries=${QT_LIBDIR} \
|
|
|
|
--with-extra-includes=${LOCALBASE}/include \
|
|
|
|
--with-extra-libs=${LOCALBASE}/lib
|
|
|
|
.endif # !defined(QT_NONSTANDARD)
|
|
|
|
|
|
|
|
.if ${_QT_VERSION:M4*}
|
|
|
|
QT_BINDIR_REL?= bin
|
|
|
|
QT_LIBDIR_REL?= lib/${_QT_RELNAME}
|
|
|
|
QT_PLUGINDIR_REL?= ${QT_LIBDIR_REL}/plugins
|
|
|
|
QT_IMPORTDIR_REL?= ${QT_LIBDIR_REL}/imports
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# A wrapper (qtchooser) is used to invoke binaries.
|
|
|
|
QT_BINDIR_REL?= ${QT_ARCHDIR_REL}/bin
|
|
|
|
QT_INCDIR_REL?= include/${_QT_RELNAME}
|
|
|
|
QT_LIBDIR_REL?= lib
|
|
|
|
QT_ARCHDIR_REL?=${QT_LIBDIR_REL}/${_QT_RELNAME}
|
|
|
|
QT_PLUGINDIR_REL?= ${QT_ARCHDIR_REL}/plugins
|
|
|
|
QT_LIBEXECDIR_REL?= libexec/${_QT_RELNAME}
|
|
|
|
QT_IMPORTDIR_REL?= ${QT_ARCHDIR_REL}/imports
|
|
|
|
QT_QMLDIR_REL?= ${QT_ARCHDIR_REL}/qml
|
|
|
|
QT_DATADIR_REL?=share/${_QT_RELNAME}
|
|
|
|
QT_DOCDIR_REL?= share/doc/${_QT_RELNAME}
|
|
|
|
QT_L10NDIR_REL?=${QT_DATADIR_REL}/translations
|
|
|
|
QT_ETCDIR_REL?= etc/xdg
|
|
|
|
QT_EXAMPLEDIR_REL?= share/examples/${_QT_RELNAME}
|
|
|
|
QT_TESTDIR_REL?=${QT_DATADIR_REL}/tests
|
|
|
|
|
|
|
|
# Not customizable.
|
|
|
|
.if ${_QT_VERSION:M4*}
|
|
|
|
QT_MKSPECDIR_REL= ${QT_DATADIR_REL}/mkspecs
|
|
|
|
|
|
|
|
_QT_LIBVER= # empty
|
|
|
|
_QT_BINSUFX= -${_QT_RELNAME}
|
|
|
|
.else
|
|
|
|
QT_MKSPECDIR_REL= ${QT_ARCHDIR_REL}/mkspecs
|
|
|
|
|
|
|
|
_QT_LIBVER= ${_QT_VERSION:R:R}
|
|
|
|
_QT_BINSUFX= # empty
|
2007-07-16 10:12:15 +00:00
|
|
|
.endif
|
2014-01-06 16:16:52 +00:00
|
|
|
|
|
|
|
LRELEASE?= ${QT_BINDIR}/lrelease${_QT_BINSUFX}
|
|
|
|
LUPDATE?= ${QT_BINDIR}/lupdate${_QT_BINSUFX}
|
|
|
|
MOC?= ${QT_BINDIR}/moc${_QT_BINSUFX}
|
|
|
|
RCC?= ${QT_BINDIR}/rcc
|
|
|
|
UIC?= ${QT_BINDIR}/uic${_QT_BINSUFX}
|
|
|
|
QMAKE?= ${QT_BINDIR}/qmake${_QT_BINSUFX}
|
|
|
|
# Needed to redefine the qmake target for internal Qt configuration.
|
|
|
|
_QMAKE?= ${QMAKE}
|
|
|
|
QMAKESPEC?= ${QT_MKSPECDIR}/freebsd-${QMAKE_COMPILER}
|
|
|
|
|
|
|
|
# The whole Qt distribution should be built with the same compiler, but it's
|
|
|
|
# better to support custom settings. Dereferencing the detection allows to
|
|
|
|
# avoid forking a shell on each inclusion of this file, and to catch any CXX
|
|
|
|
# customization (via USE_GCC, etc.).
|
|
|
|
QMAKE_COMPILER= $$(ccver="$$(${CXX} --version)"; case "$$ccver" in *clang*) echo clang ;; *) echo g++ ;; esac)
|
|
|
|
|
|
|
|
# Import QMAKE_ENV and QMAKE_ARGS definitions.
|
|
|
|
USES+= qmake:_env
|
|
|
|
|
|
|
|
PLIST_SUB+= QT_PREFIX="${QT_PREFIX}"
|
|
|
|
|
|
|
|
.for dir in BIN INC LIB ARCH PLUGIN LIBEXEC IMPORT \
|
|
|
|
QML DATA DOC L10N ETC EXAMPLE TEST MKSPEC
|
|
|
|
QT_${dir}DIR= ${QT_PREFIX}/${QT_${dir}DIR_REL}
|
|
|
|
PLIST_SUB+= QT_${dir}DIR="${QT_${dir}DIR_REL}"
|
|
|
|
.endfor
|
2007-07-27 10:31:45 +00:00
|
|
|
|
2007-07-16 10:12:15 +00:00
|
|
|
.endif # !defined(_POSTMKINCLUDED) && !defined(Qt_Pre_Include)
|
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
.if defined(_POSTMKINCLUDED) && !defined(Qt_Post_Include)
|
2007-07-16 10:12:15 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
Qt_Post_Include= bsd.qt.mk
|
2007-07-16 10:12:15 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
_USE_QT_ALL= assistant clucene dbus declarative designer gui help \
|
|
|
|
imageformats linguist multimedia network opengl pixeltool \
|
|
|
|
qdbusviewer qmake script scripttools sql sql-ibase sql-mysql \
|
|
|
|
sql-odbc sql-pgsql sql-sqlite2 sql-sqlite3 svg testlib webkit \
|
|
|
|
xml xmlpatterns
|
2007-07-16 10:12:15 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
_USE_QT4_ONLY= accessible assistant-adp assistantclient codecs-cn codecs-jp \
|
|
|
|
codecs-kr codecs-tw corelib demo doc graphicssystems-opengl \
|
|
|
|
help-tools iconengines inputmethods l10n makeqpf moc phonon \
|
|
|
|
phonon-gst porting qdoc3 qmlviewer qt3support qtconfig \
|
|
|
|
qtestlib qvfb rcc uic uic3 xmlpatterns-tool
|
2007-08-02 22:37:40 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
_USE_QT5_ONLY= buildtools concurrent core graphicaleffects linguisttools \
|
2015-01-28 01:15:22 +00:00
|
|
|
paths printsupport qdbus qdoc qev qml quick \
|
Update Qt5 ports to 5.3.2.
Proudly presented by the KDE on FreeBSD team, with several guest stars.
This update took way longer than initially expected due to us previously
accumulating assumptions and changes to Qt's build system that finally bit
us back with the 5.3 release series, so we had to do a fair amount of
cleanup.
New ports:
- comms/qt5-serialport: Qt functions to access serial ports, originally
based on work by Fernando Apesteguia. [1]
- devel/qt5-qdoc: Qt documentation generator, the Qt5 equivalent of
devel/qt4-qdoc3. Originally worked on by Tobias Berner.
It had already been half-split from devel/qt5-buildtools,
we just needed to finish the work.
Dead ports:
- devel/qt5-qmldevtools: Merged into lang/qt5-qml.
Minor changes:
- devel/qt5: Add x11/qt5-x11extras and the new ports to the dependency list.
- graphics/qt5-imageformats: The port now supports the JPEG2000, WEBP,
Direct Draw Surface and ICNS formats.
- multimedia/qt5-multimedia: The ALSA and PULSEAUDIO options are now
mutually exclusive due to changes introduced in
Qt 5.3.0 (the ALSA code is now a proper plugin
that is only built if PulseAudio is not used).
- x11/qt5-x11extras: Add USE_LDCONFIG since the port installs a shared
library.
The big changes:
- bsd.qt.mk: Set QMAKESPEC instead of QMAKEPATH. [3]
QMAKEPATH does much more than we want now that we call qmake from the top
of ${WRKSRC}. qmake uses QMAKEPATH when evaluating the QMAKE_MKSPECS
property, which is in turn used by qt_config.pri to load the .pri files in
mkspecs/modules.
In practice, this means that if people have an older Qt installation those
files will be used and QT_CONFIG will have values such as "gui" even if
one is building a port like textproc/qt5-xml, which passes -no-gui to the
configure script. Consequently, unintended code paths may be enabled or
the configuration step can just fail if the .pro files expect values that
are not present in the system-wide, older .pri files.
We avoid all those problems if we use QMAKESPEC, as qmake does not take
its value into account when evaluating the QMAKE_MKSPECS property and will
only parse the files in the mkspec's directory (mkspecs/freebsd-clang, for
example, instead of all the files in mkspecs).
- Stop explicitly passing ${LOCALBASE} to the compiler. [3]
qmake's behavior has changed in Qt 5, and the paths set in QMAKE_INCDIR
and QMAKE_LIBDIR in the mkspecs are passed before any others, such as the
ones in the build directory themselves.
In practice, this means that we end up with linker calls like this:
c++ -o libfoo.so foo.o bar.o -L/usr/local/lib -L/wrkdir/build/lib
-lQt5Gui -lQt5Core
So if one already has Qt installed in the system, the older, already
present version of the libraries in /usr/local/lib will be used instead of
the newly-built ones in /wrkdir/build/lib.
QTBUG-40825 discusses this behavior upstream, but there has been no
agreement on a solution yet.
For now, the solution adopted is to make the compiler and the linker aware
of those paths but only try them last after all others, and this is
achieved by setting the CPATH and LIBRARY_PATH environment variables when
qmake is being used.
In addition to setting them in CONFIGURE_ENV and MAKE_ENV, we also need to
stop changing QMAKE_INCDIR and QMAKE_LIBDIR as well as filter those paths
from the pkg-config calls qtbase's configure script makes.
- Call qmake from the root of the ${WRKSRC}.
In Qt 5.3, Qt's build infrastructure has undergone some changes that make
our previous approach of calling qmake from the directories we want to
build stop working. Things would break even more in Qt 5.4, in which
qtbase's configure script does not accept the -process, -fully-process and
-dont-process arguments anymore (it always behaves as if -process had been
used).
Bite the bullet and start calling qmake from ${WRKSRC}. The largest part of
this change involves changing lines in Makefiles from
WRKSRC_SUBDIR= foo/bar
to
BUILD_WRKSRC= ${WRKSRC}/foo/bar
INSTALL_WRKSRC= ${WRKSRC}/foo/bar
as well as adding patches to .pro files to avoid entering other
subdirectories and removing post-configure targets that are not necessary
anymore.
Since qmake needs to be called from the top of ${WRKSRC} anyway, we can
also simplify the configuration process for the qtbase ports a little.
Looking at r10019 it is not clear why we started calling qmake in the
pre-configure target in addition to the post-configure one (while also
skipping it in do-configure), but we can now drop this call since letting
configure behave as if -process had been passed means it will call qmake
on its own and overwrite the files generated by the pre-configure call. We
still need to call qmake in post-configure though, as the configure script
does not pass -recursive when calling qmake and we need to be able to call
make from any subdirectory when building.
PR: 194762 [1]
PR: 194566 # exp-run with base GCC and clang
PR: 194088 [3]
2014-11-05 09:39:21 +00:00
|
|
|
quickcontrols serialport uitools widgets x11extras
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
accessible_PORT= accessibility/${_QT_RELNAME}-accessible
|
|
|
|
accessible_PATH= ${QT_PLUGINDIR}/accessible/libqtaccessiblewidgets.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
assistant_PORT= devel/${_QT_RELNAME}-assistant
|
|
|
|
assistant_PATH= ${QT_BINDIR}/assistant${_QT_BINSUFX}
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
assistant-adp_PORT= devel/${_QT_RELNAME}-assistant-adp
|
|
|
|
assistant-adp_PATH= ${QT_BINDIR}/assistant_adp
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
assistantclient_PORT= devel/${_QT_RELNAME}-libqtassistantclient
|
|
|
|
assistantclient_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}AssistantClient.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
buildtools_PORT= devel/${_QT_RELNAME}-buildtools
|
|
|
|
buildtools_PATH= ${MOC}
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
clucene_PORT= textproc/clucene-${_QT_RELNAME}
|
|
|
|
clucene_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}CLucene.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
codecs-cn_PORT= chinese/${_QT_RELNAME}-codecs-cn
|
|
|
|
codecs-cn_PATH= ${QT_PLUGINDIR}/codecs/libqcncodecs.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
codecs-jp_PORT= japanese/${_QT_RELNAME}-codecs-jp
|
|
|
|
codecs-jp_PATH= ${QT_PLUGINDIR}/codecs/libqjpcodecs.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
codecs-kr_PORT= korean/${_QT_RELNAME}-codecs-kr
|
|
|
|
codecs-kr_PATH= ${QT_PLUGINDIR}/codecs/libqkrcodecs.so
|
2010-12-02 19:47:17 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
codecs-tw_PORT= chinese/${_QT_RELNAME}-codecs-tw
|
|
|
|
codecs-tw_PATH= ${QT_PLUGINDIR}/codecs/libqtwcodecs.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
concurrent_PORT= devel/${_QT_RELNAME}-concurrent
|
|
|
|
concurrent_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Concurrent.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
core_PORT= devel/${_QT_RELNAME}-core
|
|
|
|
core_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Core.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
corelib_PORT= devel/${_QT_RELNAME}-corelib
|
|
|
|
corelib_PATH= ${core_PATH}
|
2010-12-02 19:47:17 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
dbus_PORT= devel/dbus-${_QT_RELNAME}
|
|
|
|
dbus_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}DBus.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
declarative_PORT= x11-toolkits/${_QT_RELNAME}-declarative
|
|
|
|
declarative_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Declarative.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
demo_PORT= misc/${_QT_RELNAME}-qtdemo
|
|
|
|
demo_PATH= ${QT_BINDIR}/qtdemo
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
designer_PORT= devel/${_QT_RELNAME}-designer
|
|
|
|
designer_PATH= ${QT_BINDIR}/designer${_QT_BINSUFX}
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
doc_PORT= misc/${_QT_RELNAME}-doc
|
|
|
|
doc_PATH= ${_QT_RELNAME}-doc>=${_QT_VERSION:R:R}
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
graphicaleffects_PORT= graphics/${_QT_RELNAME}-graphicaleffects
|
|
|
|
graphicaleffects_PATH= ${QT_QMLDIR}/QtGraphicalEffects/qmldir
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
graphicssystems-opengl_PORT= x11/${_QT_RELNAME}-graphicssystems-opengl
|
|
|
|
graphicssystems-opengl_PATH= ${QT_PLUGINDIR}/graphicssystems/libqglgraphicssystem.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
gui_PORT= x11-toolkits/${_QT_RELNAME}-gui
|
|
|
|
gui_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Gui.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
help_PORT= devel/${_QT_RELNAME}-help
|
|
|
|
help_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Help.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
help-tools_PORT= devel/${_QT_RELNAME}-help-tools
|
|
|
|
help-tools_PATH= ${QT_BINDIR}/qhelpgenerator
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
iconengines_PORT= graphics/${_QT_RELNAME}-iconengines
|
|
|
|
iconengines_PATH= ${QT_PLUGINDIR}/iconengines/libqsvgicon.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
imageformats_PORT= graphics/${_QT_RELNAME}-imageformats
|
|
|
|
imageformats_PATH= ${QT_PLUGINDIR}/imageformats/libqtiff.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
inputmethods_PORT= x11/${_QT_RELNAME}-inputmethods
|
|
|
|
inputmethods_PATH= ${QT_PLUGINDIR}/inputmethods/libqimsw-multi.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
linguist_PORT= devel/${_QT_RELNAME}-linguist
|
|
|
|
linguist_PATH= ${QT_BINDIR}/linguist${_QT_BINSUFX}
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
linguisttools_PORT= devel/${_QT_RELNAME}-linguisttools
|
|
|
|
linguisttools_PATH= ${LRELEASE}
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
l10n_PORT= misc/${_QT_RELNAME}-l10n
|
|
|
|
l10n_PATH= ${_QT_RELNAME}-l10n>=${_QT_VERSION:R:R}
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
makeqpf_PORT= devel/${_QT_RELNAME}-makeqpf
|
|
|
|
makeqpf_PATH= ${QT_BINDIR}/makeqpf${_QT_BINSUFX}
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
moc_PORT= devel/${_QT_RELNAME}-moc
|
|
|
|
moc_PATH= ${MOC}
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
multimedia_PORT= multimedia/${_QT_RELNAME}-multimedia
|
|
|
|
multimedia_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Multimedia.so
|
2012-06-14 10:06:36 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
network_PORT= net/${_QT_RELNAME}-network
|
|
|
|
network_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Network.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
opengl_PORT= graphics/${_QT_RELNAME}-opengl
|
|
|
|
opengl_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}OpenGL.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2015-01-28 01:15:22 +00:00
|
|
|
paths_PORT= sysutils/qt5-qtpaths
|
|
|
|
paths_PATH= ${QT_BINDIR}/qtpaths
|
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
pixeltool_PORT= graphics/${_QT_RELNAME}-pixeltool
|
|
|
|
pixeltool_PATH= ${QT_BINDIR}/pixeltool
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
phonon_PORT= multimedia/phonon
|
|
|
|
phonon_PATH= ${QT_LIBDIR}/libphonon.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
phonon-gst_PORT= multimedia/phonon-gstreamer
|
|
|
|
phonon-gst_PATH= ${QT_PLUGINDIR}/phonon_backend/libphonon_gstreamer.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
porting_PORT= devel/${_QT_RELNAME}-porting
|
|
|
|
porting_PATH= ${QT_BINDIR}/qt3to4
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
printsupport_PORT= print/${_QT_RELNAME}-printsupport
|
|
|
|
printsupport_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}PrintSupport.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
qdbus_PORT= devel/${_QT_RELNAME}-qdbus
|
|
|
|
qdbus_PATH= ${QT_BINDIR}/qdbus
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
qdbusviewer_PORT= devel/${_QT_RELNAME}-qdbusviewer
|
|
|
|
qdbusviewer_PATH= ${QT_BINDIR}/qdbusviewer
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
qdoc_PORT= devel/${_QT_RELNAME}-qdoc
|
|
|
|
qdoc_PATH= ${QT_BINDIR}/qdoc
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
qdoc3_PORT= devel/${_QT_RELNAME}-qdoc3
|
|
|
|
qdoc3_PATH= ${QT_BINDIR}/qdoc3
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
qev_PORT= x11/${_QT_RELNAME}-qev
|
|
|
|
qev_PATH= ${QT_BINDIR}/qev
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
qmake_PORT= devel/qmake${_QT_VERSION:R:R}
|
|
|
|
qmake_PATH= ${QMAKE}
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
qml_PORT= lang/${_QT_RELNAME}-qml
|
|
|
|
qml_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Qml.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
qmlviewer_PORT= devel/${_QT_RELNAME}-qmlviewer
|
|
|
|
qmlviewer_PATH= ${QT_BINDIR}/qmlviewer
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
qt3support_PORT= devel/${_QT_RELNAME}-qt3support
|
|
|
|
qt3support_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}3Support.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
qtconfig_PORT= misc/${_QT_RELNAME}-qtconfig
|
|
|
|
qtconfig_PATH= ${QT_BINDIR}/qtconfig${_QT_BINSUFX}
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
qtestlib_PORT= ${testlib_PORT}
|
|
|
|
qtestlib_PATH= ${testlib_PATH}
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
quick_PORT= x11-toolkits/${_QT_RELNAME}-quick
|
|
|
|
quick_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Quick.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-07-28 21:23:20 +00:00
|
|
|
quickcontrols_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols
|
|
|
|
quickcontrols_PATH= ${QT_QMLDIR}/QtQuick/Controls/qmldir
|
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
qvfb_PORT= devel/${_QT_RELNAME}-qvfb
|
|
|
|
qvfb_PATH= ${QT_BINDIR}/qvfb${_QT_BINSUFX}
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
rcc_PORT= devel/${_QT_RELNAME}-rcc
|
|
|
|
rcc_PATH= ${RCC}
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
script_PORT= devel/${_QT_RELNAME}-script
|
|
|
|
script_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Script.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
scripttools_PORT= devel/${_QT_RELNAME}-scripttools
|
|
|
|
scripttools_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}ScriptTools.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
Update Qt5 ports to 5.3.2.
Proudly presented by the KDE on FreeBSD team, with several guest stars.
This update took way longer than initially expected due to us previously
accumulating assumptions and changes to Qt's build system that finally bit
us back with the 5.3 release series, so we had to do a fair amount of
cleanup.
New ports:
- comms/qt5-serialport: Qt functions to access serial ports, originally
based on work by Fernando Apesteguia. [1]
- devel/qt5-qdoc: Qt documentation generator, the Qt5 equivalent of
devel/qt4-qdoc3. Originally worked on by Tobias Berner.
It had already been half-split from devel/qt5-buildtools,
we just needed to finish the work.
Dead ports:
- devel/qt5-qmldevtools: Merged into lang/qt5-qml.
Minor changes:
- devel/qt5: Add x11/qt5-x11extras and the new ports to the dependency list.
- graphics/qt5-imageformats: The port now supports the JPEG2000, WEBP,
Direct Draw Surface and ICNS formats.
- multimedia/qt5-multimedia: The ALSA and PULSEAUDIO options are now
mutually exclusive due to changes introduced in
Qt 5.3.0 (the ALSA code is now a proper plugin
that is only built if PulseAudio is not used).
- x11/qt5-x11extras: Add USE_LDCONFIG since the port installs a shared
library.
The big changes:
- bsd.qt.mk: Set QMAKESPEC instead of QMAKEPATH. [3]
QMAKEPATH does much more than we want now that we call qmake from the top
of ${WRKSRC}. qmake uses QMAKEPATH when evaluating the QMAKE_MKSPECS
property, which is in turn used by qt_config.pri to load the .pri files in
mkspecs/modules.
In practice, this means that if people have an older Qt installation those
files will be used and QT_CONFIG will have values such as "gui" even if
one is building a port like textproc/qt5-xml, which passes -no-gui to the
configure script. Consequently, unintended code paths may be enabled or
the configuration step can just fail if the .pro files expect values that
are not present in the system-wide, older .pri files.
We avoid all those problems if we use QMAKESPEC, as qmake does not take
its value into account when evaluating the QMAKE_MKSPECS property and will
only parse the files in the mkspec's directory (mkspecs/freebsd-clang, for
example, instead of all the files in mkspecs).
- Stop explicitly passing ${LOCALBASE} to the compiler. [3]
qmake's behavior has changed in Qt 5, and the paths set in QMAKE_INCDIR
and QMAKE_LIBDIR in the mkspecs are passed before any others, such as the
ones in the build directory themselves.
In practice, this means that we end up with linker calls like this:
c++ -o libfoo.so foo.o bar.o -L/usr/local/lib -L/wrkdir/build/lib
-lQt5Gui -lQt5Core
So if one already has Qt installed in the system, the older, already
present version of the libraries in /usr/local/lib will be used instead of
the newly-built ones in /wrkdir/build/lib.
QTBUG-40825 discusses this behavior upstream, but there has been no
agreement on a solution yet.
For now, the solution adopted is to make the compiler and the linker aware
of those paths but only try them last after all others, and this is
achieved by setting the CPATH and LIBRARY_PATH environment variables when
qmake is being used.
In addition to setting them in CONFIGURE_ENV and MAKE_ENV, we also need to
stop changing QMAKE_INCDIR and QMAKE_LIBDIR as well as filter those paths
from the pkg-config calls qtbase's configure script makes.
- Call qmake from the root of the ${WRKSRC}.
In Qt 5.3, Qt's build infrastructure has undergone some changes that make
our previous approach of calling qmake from the directories we want to
build stop working. Things would break even more in Qt 5.4, in which
qtbase's configure script does not accept the -process, -fully-process and
-dont-process arguments anymore (it always behaves as if -process had been
used).
Bite the bullet and start calling qmake from ${WRKSRC}. The largest part of
this change involves changing lines in Makefiles from
WRKSRC_SUBDIR= foo/bar
to
BUILD_WRKSRC= ${WRKSRC}/foo/bar
INSTALL_WRKSRC= ${WRKSRC}/foo/bar
as well as adding patches to .pro files to avoid entering other
subdirectories and removing post-configure targets that are not necessary
anymore.
Since qmake needs to be called from the top of ${WRKSRC} anyway, we can
also simplify the configuration process for the qtbase ports a little.
Looking at r10019 it is not clear why we started calling qmake in the
pre-configure target in addition to the post-configure one (while also
skipping it in do-configure), but we can now drop this call since letting
configure behave as if -process had been passed means it will call qmake
on its own and overwrite the files generated by the pre-configure call. We
still need to call qmake in post-configure though, as the configure script
does not pass -recursive when calling qmake and we need to be able to call
make from any subdirectory when building.
PR: 194762 [1]
PR: 194566 # exp-run with base GCC and clang
PR: 194088 [3]
2014-11-05 09:39:21 +00:00
|
|
|
serialport_PORT= comms/${_QT_RELNAME}-serialport
|
|
|
|
serialport_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}SerialPort.so
|
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
sql_PORT= databases/${_QT_RELNAME}-sql
|
|
|
|
sql_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Sql.so
|
|
|
|
|
|
|
|
sql-pgsql_PATH= ${QT_PLUGINDIR}/sqldrivers/libqsqlpsql.so
|
|
|
|
|
|
|
|
.if ${_QT_VERSION:M4*}
|
|
|
|
sql-sqlite2_PORT= databases/${_QT_RELNAME}-sqlite-plugin
|
2013-02-03 17:21:56 +00:00
|
|
|
.endif
|
2014-01-06 16:16:52 +00:00
|
|
|
|
|
|
|
sql-sqlite3_PATH= ${QT_PLUGINDIR}/sqldrivers/libqsqlite.so
|
|
|
|
|
|
|
|
.for db in ibase mysql odbc pgsql sqlite2 sqlite3
|
|
|
|
.if ${_QT_VERSION:M4*}
|
|
|
|
sql-${db}_PORT?= databases/${_QT_RELNAME}-${db}-plugin
|
2013-02-03 17:21:56 +00:00
|
|
|
.else
|
2014-01-06 16:16:52 +00:00
|
|
|
sql-${db}_PORT?= databases/${_QT_RELNAME}-sqldrivers-${db}
|
2013-02-03 17:21:56 +00:00
|
|
|
.endif
|
2014-01-06 16:16:52 +00:00
|
|
|
sql-${db}_PATH?= ${QT_PLUGINDIR}/sqldrivers/libqsql${db:C/^sql//}.so
|
|
|
|
.endfor
|
2013-02-03 17:21:56 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
svg_PORT= graphics/${_QT_RELNAME}-svg
|
|
|
|
svg_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Svg.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
testlib_PORT= devel/${_QT_RELNAME}-testlib
|
|
|
|
testlib_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Test.so
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
uic_PORT= devel/${_QT_RELNAME}-uic
|
|
|
|
uic_PATH= ${UIC}
|
|
|
|
|
|
|
|
uic3_PORT= devel/${_QT_RELNAME}-uic3
|
|
|
|
uic3_PATH= ${QT_BINDIR}/uic3
|
|
|
|
|
|
|
|
uitools_PORT= devel/${_QT_RELNAME}-uitools
|
|
|
|
uitools_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}UiTools.a
|
|
|
|
|
|
|
|
webkit_PORT= www/webkit-${_QT_RELNAME}
|
|
|
|
webkit_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}WebKit.so
|
|
|
|
|
|
|
|
widgets_PORT= x11-toolkits/${_QT_RELNAME}-widgets
|
|
|
|
widgets_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Widgets.so
|
|
|
|
|
2014-09-29 21:24:18 +00:00
|
|
|
x11extras_PORT= x11/${_QT_RELNAME}-x11extras
|
|
|
|
x11extras_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}X11Extras.so
|
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
xml_PORT= textproc/${_QT_RELNAME}-xml
|
|
|
|
xml_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Xml.so
|
|
|
|
|
|
|
|
xmlpatterns_PORT= textproc/${_QT_RELNAME}-xmlpatterns
|
|
|
|
xmlpatterns_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}XmlPatterns.so
|
|
|
|
|
|
|
|
xmlpatterns-tool_PORT= textproc/${_QT_RELNAME}-xmlpatterns-tool
|
|
|
|
xmlpatterns-tool_PATH= ${QT_BINDIR}/xmlpatterns
|
|
|
|
|
|
|
|
_USE_QT_ALL+= ${_USE_QT${_QT_VERSION:R:R}_ONLY}
|
|
|
|
.for comp in ${_USE_QT_ALL}
|
|
|
|
${comp}_BUILD_DEPENDS?= ${${comp}_PATH}:${PORTSDIR}/${${comp}_PORT}
|
|
|
|
${comp}_RUN_DEPENDS?= ${${comp}_PATH}:${PORTSDIR}/${${comp}_PORT}
|
|
|
|
${comp}_build_BUILD_DEPENDS?= ${${comp}_BUILD_DEPENDS}
|
|
|
|
${comp}_run_RUN_DEPENDS?= ${${comp}_RUN_DEPENDS}
|
|
|
|
_USE_QT_ALL_SUFFIXED+= ${comp} ${comp}_build ${comp}_run
|
2007-07-16 10:12:15 +00:00
|
|
|
.endfor
|
2010-01-21 21:13:21 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
_USE_QT= ${USE_QT${_QT_VERSION:R:R}}
|
|
|
|
.for comp in ${_USE_QT:O:u}
|
|
|
|
. if ${_USE_QT_ALL_SUFFIXED:M${comp}}
|
|
|
|
BUILD_DEPENDS+= ${${comp}_BUILD_DEPENDS}
|
|
|
|
RUN_DEPENDS+= ${${comp}_RUN_DEPENDS}
|
|
|
|
. else
|
|
|
|
IGNORE?= can't be installed: unknown USE_QT${_QT_VERSION:R:R} component '${comp}' #'
|
|
|
|
. endif
|
|
|
|
.endfor
|
|
|
|
|
|
|
|
.if defined(QT_DIST) && ! ${_QT_VERSION:M4*}
|
|
|
|
. if ${QT_DIST} == "base"
|
|
|
|
# qtbase requires some tools to be symlinked to the build directory.
|
|
|
|
_QT_TOOLS= # empty
|
|
|
|
. if ${PORTNAME} != "qmake"
|
|
|
|
_QT_TOOLS+= ${QMAKE}
|
|
|
|
. endif
|
|
|
|
. if ${PORTNAME} != "buildtools"
|
Update Qt5 ports to 5.3.2.
Proudly presented by the KDE on FreeBSD team, with several guest stars.
This update took way longer than initially expected due to us previously
accumulating assumptions and changes to Qt's build system that finally bit
us back with the 5.3 release series, so we had to do a fair amount of
cleanup.
New ports:
- comms/qt5-serialport: Qt functions to access serial ports, originally
based on work by Fernando Apesteguia. [1]
- devel/qt5-qdoc: Qt documentation generator, the Qt5 equivalent of
devel/qt4-qdoc3. Originally worked on by Tobias Berner.
It had already been half-split from devel/qt5-buildtools,
we just needed to finish the work.
Dead ports:
- devel/qt5-qmldevtools: Merged into lang/qt5-qml.
Minor changes:
- devel/qt5: Add x11/qt5-x11extras and the new ports to the dependency list.
- graphics/qt5-imageformats: The port now supports the JPEG2000, WEBP,
Direct Draw Surface and ICNS formats.
- multimedia/qt5-multimedia: The ALSA and PULSEAUDIO options are now
mutually exclusive due to changes introduced in
Qt 5.3.0 (the ALSA code is now a proper plugin
that is only built if PulseAudio is not used).
- x11/qt5-x11extras: Add USE_LDCONFIG since the port installs a shared
library.
The big changes:
- bsd.qt.mk: Set QMAKESPEC instead of QMAKEPATH. [3]
QMAKEPATH does much more than we want now that we call qmake from the top
of ${WRKSRC}. qmake uses QMAKEPATH when evaluating the QMAKE_MKSPECS
property, which is in turn used by qt_config.pri to load the .pri files in
mkspecs/modules.
In practice, this means that if people have an older Qt installation those
files will be used and QT_CONFIG will have values such as "gui" even if
one is building a port like textproc/qt5-xml, which passes -no-gui to the
configure script. Consequently, unintended code paths may be enabled or
the configuration step can just fail if the .pro files expect values that
are not present in the system-wide, older .pri files.
We avoid all those problems if we use QMAKESPEC, as qmake does not take
its value into account when evaluating the QMAKE_MKSPECS property and will
only parse the files in the mkspec's directory (mkspecs/freebsd-clang, for
example, instead of all the files in mkspecs).
- Stop explicitly passing ${LOCALBASE} to the compiler. [3]
qmake's behavior has changed in Qt 5, and the paths set in QMAKE_INCDIR
and QMAKE_LIBDIR in the mkspecs are passed before any others, such as the
ones in the build directory themselves.
In practice, this means that we end up with linker calls like this:
c++ -o libfoo.so foo.o bar.o -L/usr/local/lib -L/wrkdir/build/lib
-lQt5Gui -lQt5Core
So if one already has Qt installed in the system, the older, already
present version of the libraries in /usr/local/lib will be used instead of
the newly-built ones in /wrkdir/build/lib.
QTBUG-40825 discusses this behavior upstream, but there has been no
agreement on a solution yet.
For now, the solution adopted is to make the compiler and the linker aware
of those paths but only try them last after all others, and this is
achieved by setting the CPATH and LIBRARY_PATH environment variables when
qmake is being used.
In addition to setting them in CONFIGURE_ENV and MAKE_ENV, we also need to
stop changing QMAKE_INCDIR and QMAKE_LIBDIR as well as filter those paths
from the pkg-config calls qtbase's configure script makes.
- Call qmake from the root of the ${WRKSRC}.
In Qt 5.3, Qt's build infrastructure has undergone some changes that make
our previous approach of calling qmake from the directories we want to
build stop working. Things would break even more in Qt 5.4, in which
qtbase's configure script does not accept the -process, -fully-process and
-dont-process arguments anymore (it always behaves as if -process had been
used).
Bite the bullet and start calling qmake from ${WRKSRC}. The largest part of
this change involves changing lines in Makefiles from
WRKSRC_SUBDIR= foo/bar
to
BUILD_WRKSRC= ${WRKSRC}/foo/bar
INSTALL_WRKSRC= ${WRKSRC}/foo/bar
as well as adding patches to .pro files to avoid entering other
subdirectories and removing post-configure targets that are not necessary
anymore.
Since qmake needs to be called from the top of ${WRKSRC} anyway, we can
also simplify the configuration process for the qtbase ports a little.
Looking at r10019 it is not clear why we started calling qmake in the
pre-configure target in addition to the post-configure one (while also
skipping it in do-configure), but we can now drop this call since letting
configure behave as if -process had been passed means it will call qmake
on its own and overwrite the files generated by the pre-configure call. We
still need to call qmake in post-configure though, as the configure script
does not pass -recursive when calling qmake and we need to be able to call
make from any subdirectory when building.
PR: 194762 [1]
PR: 194566 # exp-run with base GCC and clang
PR: 194088 [3]
2014-11-05 09:39:21 +00:00
|
|
|
_QT_TOOLS+= ${MOC} ${RCC}
|
|
|
|
. endif
|
|
|
|
. if ${PORTNAME} != "qdoc"
|
|
|
|
_QT_TOOLS+= qdoc
|
2014-01-06 16:16:52 +00:00
|
|
|
. endif
|
|
|
|
. if ${PORTNAME} != "dbus"
|
|
|
|
_QT_TOOLS+= qdbuscpp2xml qdbusxml2cpp
|
|
|
|
. endif
|
|
|
|
. if ${PORTNAME} != "widgets"
|
|
|
|
_QT_TOOLS+= ${UIC}
|
2010-01-21 21:13:21 +00:00
|
|
|
. endif
|
2007-07-16 10:12:15 +00:00
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
pre-configure: qtbase-pre-configure
|
|
|
|
qtbase-pre-configure:
|
|
|
|
. for tool in ${_QT_TOOLS}
|
|
|
|
@${TEST} -e ${QT_BINDIR}/${tool:T} && \
|
|
|
|
${LN} -sf ${QT_BINDIR}/${tool:T} ${CONFIGURE_WRKSRC}/bin/${tool:T} || \
|
|
|
|
${TRUE}
|
|
|
|
. endfor
|
|
|
|
|
Update Qt5 ports to 5.3.2.
Proudly presented by the KDE on FreeBSD team, with several guest stars.
This update took way longer than initially expected due to us previously
accumulating assumptions and changes to Qt's build system that finally bit
us back with the 5.3 release series, so we had to do a fair amount of
cleanup.
New ports:
- comms/qt5-serialport: Qt functions to access serial ports, originally
based on work by Fernando Apesteguia. [1]
- devel/qt5-qdoc: Qt documentation generator, the Qt5 equivalent of
devel/qt4-qdoc3. Originally worked on by Tobias Berner.
It had already been half-split from devel/qt5-buildtools,
we just needed to finish the work.
Dead ports:
- devel/qt5-qmldevtools: Merged into lang/qt5-qml.
Minor changes:
- devel/qt5: Add x11/qt5-x11extras and the new ports to the dependency list.
- graphics/qt5-imageformats: The port now supports the JPEG2000, WEBP,
Direct Draw Surface and ICNS formats.
- multimedia/qt5-multimedia: The ALSA and PULSEAUDIO options are now
mutually exclusive due to changes introduced in
Qt 5.3.0 (the ALSA code is now a proper plugin
that is only built if PulseAudio is not used).
- x11/qt5-x11extras: Add USE_LDCONFIG since the port installs a shared
library.
The big changes:
- bsd.qt.mk: Set QMAKESPEC instead of QMAKEPATH. [3]
QMAKEPATH does much more than we want now that we call qmake from the top
of ${WRKSRC}. qmake uses QMAKEPATH when evaluating the QMAKE_MKSPECS
property, which is in turn used by qt_config.pri to load the .pri files in
mkspecs/modules.
In practice, this means that if people have an older Qt installation those
files will be used and QT_CONFIG will have values such as "gui" even if
one is building a port like textproc/qt5-xml, which passes -no-gui to the
configure script. Consequently, unintended code paths may be enabled or
the configuration step can just fail if the .pro files expect values that
are not present in the system-wide, older .pri files.
We avoid all those problems if we use QMAKESPEC, as qmake does not take
its value into account when evaluating the QMAKE_MKSPECS property and will
only parse the files in the mkspec's directory (mkspecs/freebsd-clang, for
example, instead of all the files in mkspecs).
- Stop explicitly passing ${LOCALBASE} to the compiler. [3]
qmake's behavior has changed in Qt 5, and the paths set in QMAKE_INCDIR
and QMAKE_LIBDIR in the mkspecs are passed before any others, such as the
ones in the build directory themselves.
In practice, this means that we end up with linker calls like this:
c++ -o libfoo.so foo.o bar.o -L/usr/local/lib -L/wrkdir/build/lib
-lQt5Gui -lQt5Core
So if one already has Qt installed in the system, the older, already
present version of the libraries in /usr/local/lib will be used instead of
the newly-built ones in /wrkdir/build/lib.
QTBUG-40825 discusses this behavior upstream, but there has been no
agreement on a solution yet.
For now, the solution adopted is to make the compiler and the linker aware
of those paths but only try them last after all others, and this is
achieved by setting the CPATH and LIBRARY_PATH environment variables when
qmake is being used.
In addition to setting them in CONFIGURE_ENV and MAKE_ENV, we also need to
stop changing QMAKE_INCDIR and QMAKE_LIBDIR as well as filter those paths
from the pkg-config calls qtbase's configure script makes.
- Call qmake from the root of the ${WRKSRC}.
In Qt 5.3, Qt's build infrastructure has undergone some changes that make
our previous approach of calling qmake from the directories we want to
build stop working. Things would break even more in Qt 5.4, in which
qtbase's configure script does not accept the -process, -fully-process and
-dont-process arguments anymore (it always behaves as if -process had been
used).
Bite the bullet and start calling qmake from ${WRKSRC}. The largest part of
this change involves changing lines in Makefiles from
WRKSRC_SUBDIR= foo/bar
to
BUILD_WRKSRC= ${WRKSRC}/foo/bar
INSTALL_WRKSRC= ${WRKSRC}/foo/bar
as well as adding patches to .pro files to avoid entering other
subdirectories and removing post-configure targets that are not necessary
anymore.
Since qmake needs to be called from the top of ${WRKSRC} anyway, we can
also simplify the configuration process for the qtbase ports a little.
Looking at r10019 it is not clear why we started calling qmake in the
pre-configure target in addition to the post-configure one (while also
skipping it in do-configure), but we can now drop this call since letting
configure behave as if -process had been passed means it will call qmake
on its own and overwrite the files generated by the pre-configure call. We
still need to call qmake in post-configure though, as the configure script
does not pass -recursive when calling qmake and we need to be able to call
make from any subdirectory when building.
PR: 194762 [1]
PR: 194566 # exp-run with base GCC and clang
PR: 194088 [3]
2014-11-05 09:39:21 +00:00
|
|
|
# Add ${LOCALBASE}/lib to DEFAULT_LIBDIRS, which we use to filter out
|
|
|
|
# certain paths from pkg-config calls (see the explanation in
|
|
|
|
# devel/qt5/files/patch-configure) as well as for setting
|
|
|
|
# QMAKE_DEFAULT_LIBDIR in mkspecs/qconfig.pri. Part of the solution for
|
|
|
|
# ports/194088.
|
|
|
|
post-patch: qtbase-post-patch
|
|
|
|
qtbase-post-patch:
|
|
|
|
${REINPLACE_CMD} -e "/DEFAULT_LIBDIRS=/ s,\\\\\"\\\\n,\\\\n${LOCALBASE}/lib&," \
|
|
|
|
${WRKSRC}/configure
|
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
. if ${PORTNAME} != "qmake"
|
|
|
|
_QMAKE= ${CONFIGURE_WRKSRC}/bin/qmake
|
|
|
|
|
|
|
|
post-configure: qmake-configure
|
|
|
|
. endif
|
|
|
|
. endif # ${QT_DIST} == "base"
|
|
|
|
|
Update Qt5 ports to 5.3.2.
Proudly presented by the KDE on FreeBSD team, with several guest stars.
This update took way longer than initially expected due to us previously
accumulating assumptions and changes to Qt's build system that finally bit
us back with the 5.3 release series, so we had to do a fair amount of
cleanup.
New ports:
- comms/qt5-serialport: Qt functions to access serial ports, originally
based on work by Fernando Apesteguia. [1]
- devel/qt5-qdoc: Qt documentation generator, the Qt5 equivalent of
devel/qt4-qdoc3. Originally worked on by Tobias Berner.
It had already been half-split from devel/qt5-buildtools,
we just needed to finish the work.
Dead ports:
- devel/qt5-qmldevtools: Merged into lang/qt5-qml.
Minor changes:
- devel/qt5: Add x11/qt5-x11extras and the new ports to the dependency list.
- graphics/qt5-imageformats: The port now supports the JPEG2000, WEBP,
Direct Draw Surface and ICNS formats.
- multimedia/qt5-multimedia: The ALSA and PULSEAUDIO options are now
mutually exclusive due to changes introduced in
Qt 5.3.0 (the ALSA code is now a proper plugin
that is only built if PulseAudio is not used).
- x11/qt5-x11extras: Add USE_LDCONFIG since the port installs a shared
library.
The big changes:
- bsd.qt.mk: Set QMAKESPEC instead of QMAKEPATH. [3]
QMAKEPATH does much more than we want now that we call qmake from the top
of ${WRKSRC}. qmake uses QMAKEPATH when evaluating the QMAKE_MKSPECS
property, which is in turn used by qt_config.pri to load the .pri files in
mkspecs/modules.
In practice, this means that if people have an older Qt installation those
files will be used and QT_CONFIG will have values such as "gui" even if
one is building a port like textproc/qt5-xml, which passes -no-gui to the
configure script. Consequently, unintended code paths may be enabled or
the configuration step can just fail if the .pro files expect values that
are not present in the system-wide, older .pri files.
We avoid all those problems if we use QMAKESPEC, as qmake does not take
its value into account when evaluating the QMAKE_MKSPECS property and will
only parse the files in the mkspec's directory (mkspecs/freebsd-clang, for
example, instead of all the files in mkspecs).
- Stop explicitly passing ${LOCALBASE} to the compiler. [3]
qmake's behavior has changed in Qt 5, and the paths set in QMAKE_INCDIR
and QMAKE_LIBDIR in the mkspecs are passed before any others, such as the
ones in the build directory themselves.
In practice, this means that we end up with linker calls like this:
c++ -o libfoo.so foo.o bar.o -L/usr/local/lib -L/wrkdir/build/lib
-lQt5Gui -lQt5Core
So if one already has Qt installed in the system, the older, already
present version of the libraries in /usr/local/lib will be used instead of
the newly-built ones in /wrkdir/build/lib.
QTBUG-40825 discusses this behavior upstream, but there has been no
agreement on a solution yet.
For now, the solution adopted is to make the compiler and the linker aware
of those paths but only try them last after all others, and this is
achieved by setting the CPATH and LIBRARY_PATH environment variables when
qmake is being used.
In addition to setting them in CONFIGURE_ENV and MAKE_ENV, we also need to
stop changing QMAKE_INCDIR and QMAKE_LIBDIR as well as filter those paths
from the pkg-config calls qtbase's configure script makes.
- Call qmake from the root of the ${WRKSRC}.
In Qt 5.3, Qt's build infrastructure has undergone some changes that make
our previous approach of calling qmake from the directories we want to
build stop working. Things would break even more in Qt 5.4, in which
qtbase's configure script does not accept the -process, -fully-process and
-dont-process arguments anymore (it always behaves as if -process had been
used).
Bite the bullet and start calling qmake from ${WRKSRC}. The largest part of
this change involves changing lines in Makefiles from
WRKSRC_SUBDIR= foo/bar
to
BUILD_WRKSRC= ${WRKSRC}/foo/bar
INSTALL_WRKSRC= ${WRKSRC}/foo/bar
as well as adding patches to .pro files to avoid entering other
subdirectories and removing post-configure targets that are not necessary
anymore.
Since qmake needs to be called from the top of ${WRKSRC} anyway, we can
also simplify the configuration process for the qtbase ports a little.
Looking at r10019 it is not clear why we started calling qmake in the
pre-configure target in addition to the post-configure one (while also
skipping it in do-configure), but we can now drop this call since letting
configure behave as if -process had been passed means it will call qmake
on its own and overwrite the files generated by the pre-configure call. We
still need to call qmake in post-configure though, as the configure script
does not pass -recursive when calling qmake and we need to be able to call
make from any subdirectory when building.
PR: 194762 [1]
PR: 194566 # exp-run with base GCC and clang
PR: 194088 [3]
2014-11-05 09:39:21 +00:00
|
|
|
# Qt 5.3.2 introduced a check in mkspecs/features/create_cmake.prf that
|
|
|
|
# requires tests/auto/cmake to be present, otherwise the configure stage will
|
|
|
|
# fail.
|
|
|
|
# Since we cannot extract tests/auto/cmake/ and exclude tests/ at the same
|
|
|
|
# time, we have to disable the check in a cache file (the only way to get this
|
|
|
|
# value through to the configure script in qtbase).
|
|
|
|
pre-configure: qt5-pre-configure
|
|
|
|
qt5-pre-configure:
|
|
|
|
${ECHO_CMD} 'CMAKE_MODULE_TESTS = -' > ${WRKSRC}/.qmake.cache
|
|
|
|
|
2014-01-06 16:16:52 +00:00
|
|
|
pre-install: qt-pre-install
|
|
|
|
qt-pre-install:
|
|
|
|
# Search both in CONFIGURE_WRKSRC and WRKSRC, as the former is not
|
|
|
|
# a subdirectory of the latter for out-of-source builds.
|
|
|
|
@${FIND} ${WRKSRC} ${CONFIGURE_WRKSRC} -name "Makefile*" -type f | \
|
|
|
|
${XARGS} ${REINPLACE_CMD} -e 's,${PREFIX}/${QT_LIBDIR_REL}/pkgconfig,${PREFIX}/libdata/pkgconfig,g'
|
|
|
|
|
|
|
|
post-install: qt-post-install
|
|
|
|
qt-post-install:
|
|
|
|
. if ${QT_DEFINES:N-*}
|
|
|
|
# We can't use SUB_FILES with a shared pkg-deinstall.in.
|
|
|
|
# We need it to be a script instead of a group of @unexecs, otherwise
|
|
|
|
# qconfig-modules.h cleanup will be run in pre-deinstall stage, which is
|
|
|
|
# useless. This will probably be replaced by a Keywords/ script in the future.
|
|
|
|
@${SED} -e 's,%%QT_MODNAME%%,${QT_MODNAME},g' \
|
|
|
|
-e 's,%%QT_INCDIR%%,${QT_INCDIR},g' \
|
|
|
|
${.CURDIR:H:H}/devel/${_QT_RELNAME}/${FILESDIR:T}/${PKGDEINSTALL:T}.in > \
|
|
|
|
${PKGDEINSTALL}
|
|
|
|
@${MKDIR} ${STAGEDIR}${QT_INCDIR}/QtCore/modules
|
|
|
|
@${ECHO_CMD} -n \
|
|
|
|
> ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
|
|
|
|
. for def in ${QT_DEFINES:N-*:O:u}
|
|
|
|
@${ECHO_CMD} "#if !defined(QT_${def}) && !defined(QT_NO_${def})" \
|
|
|
|
>> ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
|
|
|
|
${ECHO_CMD} "# define QT_${def}" \
|
|
|
|
>> ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
|
|
|
|
@${ECHO_CMD} "#endif" \
|
|
|
|
>> ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
|
|
|
|
@${ECHO_CMD} \
|
|
|
|
>> ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
|
|
|
|
. endfor
|
2014-10-29 22:43:21 +00:00
|
|
|
@${ECHO_CMD} "${QT_PREFIX}/${QT_INCDIR_REL}/QtCore/modules/qconfig-${QT_MODNAME}.h" \
|
|
|
|
>> ${TMPPLIST}
|
|
|
|
@${ECHO_CMD} "@exec echo '#include <QtCore/modules/qconfig-${QT_MODNAME}.h>' >> ${QT_PREFIX}/${QT_INCDIR_REL}/QtCore/qconfig-modules.h" \
|
2014-01-06 16:16:52 +00:00
|
|
|
>> ${TMPPLIST}
|
|
|
|
. endif # ${QT_DEFINES:N-*}
|
|
|
|
. if ${QT_CONFIG:N-*}
|
|
|
|
@${MKDIR} ${STAGEDIR}${QT_MKSPECDIR}/modules
|
|
|
|
${ECHO_CMD} "QT_CONFIG += ${QT_CONFIG:N-*:O:u}" \
|
|
|
|
> ${STAGEDIR}${QT_MKSPECDIR}/modules/qt_config_${QT_MODNAME}.pri
|
2014-10-29 22:43:21 +00:00
|
|
|
@${ECHO_CMD} "${QT_PREFIX}/${QT_MKSPECDIR_REL}/modules/qt_config_${QT_MODNAME}.pri" \
|
2014-01-06 16:16:52 +00:00
|
|
|
>> ${TMPPLIST}
|
|
|
|
. endif # ${QT_CONFIG:N-*}
|
|
|
|
.endif # defined(QT_DIST) && ! ${_QT_VERSION:M4*}
|
|
|
|
|
|
|
|
.endif # defined(_POSTMKINCLUDED) && !defined(Qt_Post_Include)
|