785011bfec
download.qt-project.org is a CDN and should redirect to the closest mirror anyway, but a few more mirrors have been added just in case.
360 lines
11 KiB
Makefile
360 lines
11 KiB
Makefile
# $FreeBSD$
|
|
#
|
|
# Variables:
|
|
# QT_NONSTANDARD - Suppress modification of configure and make environment.
|
|
# QT_DIST - Package being built is part of the Qt distribution.
|
|
#
|
|
# Global switches (add this to /etc/make.conf):
|
|
# QT4_OPTIONS - A list of 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);
|
|
# - Qt style that renders using GTK (QGTKSTYLE).
|
|
|
|
.if !defined(_POSTMKINCLUDED) && !defined(Qt_Pre_Include)
|
|
Qt_Include_MAINTAINER= kde@FreeBSD.org
|
|
Qt_Pre_Include= bsd.qt.mk
|
|
|
|
.if !defined(QT_NONSTANDARD)
|
|
CONFIGURE_ARGS+=--with-qt-includes=${QT_INCDIR} \
|
|
--with-qt-libraries=${QT_LIBDIR} \
|
|
--with-extra-libs=${LOCALBASE}/lib \
|
|
--with-extra-includes=${LOCALBASE}/include
|
|
CONFIGURE_ENV+= MOC="${MOC}" UIC="${UIC}" LIBS="${QTCFGLIBS}" \
|
|
QMAKE="${QMAKE}" QMAKESPEC="${QMAKESPEC}" QTDIR="${QT_PREFIX}"
|
|
CPPFLAGS+= ${QTCPPFLAGS}
|
|
MAKE_ENV+= QMAKESPEC="${QMAKESPEC}"
|
|
.endif # !defined(QT_NONSTANDARD)
|
|
|
|
.if defined(QT_DIST)
|
|
DISTINFO_FILE= ${PORTSDIR}/devel/qt4/distinfo
|
|
MASTER_SITES= ${MASTER_SITE_QT}
|
|
MASTER_SITE_SUBDIR= official_releases/qt/${QT4_VERSION:R}/${QT4_VERSION}
|
|
DISTNAME= qt-everywhere-opensource-src-${QT4_VERSION}
|
|
DIST_SUBDIR= KDE
|
|
#CONFLICTS+= Currently there are no conflicts \o/
|
|
|
|
CONFLICTS_BUILD= qt-3.* qt-copy-3.*
|
|
|
|
# Let configure handle its well known compilers defined in the mkspecs
|
|
# (i.e. `cc` and `c++` are not supported by configure tests).
|
|
CONFIGURE_ENV+= CC="" CXX=""
|
|
|
|
# Keep in sync with devel/qmake4/files/qconfig.cpp
|
|
CONFIGURE_ARGS+=-fast -platform ${QMAKESPEC} \
|
|
-system-libjpeg -system-libpng \
|
|
-system-libmng -system-libtiff -system-zlib \
|
|
-opensource -confirm-license \
|
|
-no-pch \
|
|
-prefix ${PREFIX} \
|
|
-bindir ${PREFIX}/bin \
|
|
-libdir ${PREFIX}/${QT_LIBDIR_REL} \
|
|
-docdir ${PREFIX}/share/doc/qt4 \
|
|
-headerdir ${PREFIX}/${QT_INCDIR_REL} \
|
|
-plugindir ${PREFIX}/${QT_PLUGINDIR_REL} \
|
|
-importdir ${PREFIX}/${QT_LIBDIR_REL}/imports \
|
|
-datadir ${PREFIX}/share/qt4 \
|
|
-translationdir ${PREFIX}/share/qt4/translations \
|
|
-sysconfdir ${PREFIX}/etc/xdg \
|
|
-examplesdir ${PREFIX}/share/examples/qt4/examples \
|
|
-demosdir ${PREFIX}/share/examples/qt4/demos \
|
|
-phonon -no-phonon-backend
|
|
|
|
PLIST_SUB+= SHLIB_VER=${QT4_VERSION:C/-.*//} \
|
|
SHLIB_SHVER=${QT4_VERSION:R}
|
|
|
|
# SIMD support is detected on runtime, no need to disable on build.
|
|
#.if defined(PACKAGE_BUILDING)
|
|
#CONFIGURE_ARGS+=-no-mmx -no-3dnow -no-sse -no-sse2 -no-sse3 \
|
|
# -no-ssse3 -no-sse4.1 -no-sse4.2
|
|
#.endif #defined(PACKAGE_BUILDING)
|
|
|
|
# .if defined(PORTNAME) && ${PORTNAME} != "xmlpatterns"
|
|
# CONFIGURE_ARGS+=-no-exceptions
|
|
# .endif
|
|
|
|
.if defined(WANT_QT_DEBUG) || defined(WITH_DEBUG)
|
|
CONFIGURE_ARGS+=-debug -separate-debug-info
|
|
PLIST_SUB+= DEBUG=""
|
|
.else
|
|
CONFIGURE_ARGS+=-release -no-separate-debug-info
|
|
PLIST_SUB+= DEBUG="@comment "
|
|
.endif
|
|
|
|
.if defined(WANT_QT_VERBOSE_CONFIGURE)
|
|
CONFIGURE_ARGS+=-verbose
|
|
.endif
|
|
.endif #defined(QT_DIST)
|
|
|
|
QT_INCDIR_REL= include/qt4
|
|
QT_LIBDIR_REL= lib/qt4
|
|
QT_PLUGINDIR_REL= lib/qt4/plugins
|
|
|
|
PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_REL} \
|
|
QT_LIBDIR_REL=${QT_LIBDIR_REL} \
|
|
QT_PLUGINDIR_REL=${QT_PLUGINDIR_REL}
|
|
|
|
QT_PREFIX?= ${LOCALBASE}
|
|
QT_INCDIR?= ${QT_PREFIX}/${QT_INCDIR_REL}
|
|
QT_LIBDIR?= ${QT_PREFIX}/${QT_LIBDIR_REL}
|
|
QT_PLUGINDIR?= ${QT_PREFIX}/${QT_PLUGINDIR_REL}
|
|
MOC?= ${QT_PREFIX}/bin/moc-qt4
|
|
UIC?= ${QT_PREFIX}/bin/uic-qt4
|
|
RCC?= ${QT_PREFIX}/bin/rcc
|
|
QMAKE?= ${QT_PREFIX}/bin/qmake-qt4
|
|
QMAKEFLAGS+= QMAKE_CC="${CC}" QMAKE_CXX="${CXX}" \
|
|
QMAKE_LINK="${CXX}" QMAKE_LINK_SHLIB="${CXX}" \
|
|
QMAKE_LINK_C="${CC}" QMAKE_LINK_C_SHLIB="${CC}" \
|
|
QMAKE_CFLAGS="${CFLAGS}" QMAKE_CXXFLAGS="${CXXFLAGS}" \
|
|
QMAKE_CFLAGS_THREAD="${PTHREAD_CFLAGS}" \
|
|
QMAKE_LFLAGS_THREAD="${PTHREAD_LIBS}"
|
|
|
|
QTCPPFLAGS?=
|
|
QTCGFLIBS?=
|
|
|
|
.endif # !defined(_POSTMKINCLUDED) && !defined(Qt_Pre_Include)
|
|
|
|
#
|
|
# QT4 version
|
|
#
|
|
QT4_VERSION?= 4.8.4
|
|
|
|
_USE_QT4_ALL= accessible assistant assistant-adp assistantclient \
|
|
clucene codecs-cn codecs-jp codecs-kr codecs-tw corelib \
|
|
dbus declarative demo designer doc \
|
|
graphicssystems-opengl gui help help-tools \
|
|
iconengines imageformats inputmethods \
|
|
linguist l10n makeqpf moc multimedia network opengl \
|
|
pixeltool porting phonon phonon-gst \
|
|
qdbusviewer qmlviewer qdoc3 qmake qt3support qtconfig qtestlib \
|
|
qvfb rcc script scripttools sql sql-ibase sql-mysql \
|
|
sql-odbc sql-pgsql sql-sqlite2 sql-sqlite3 svg uic uic3 \
|
|
webkit xml xmlpatterns xmlpatterns-tool
|
|
|
|
accessible_PORT= accessibility/qt4-accessible
|
|
accessible_DEPENDS= ${QT_PLUGINDIR}/accessible/libqtaccessiblewidgets.so
|
|
|
|
assistant_PORT= devel/qt4-assistant
|
|
assistant_DEPENDS= ${QT_PREFIX}/bin/assistant-qt4
|
|
|
|
assistant-adp_PORT= devel/qt4-assistant-adp
|
|
assistant-adp_DEPENDS= ${QT_PREFIX}/bin/assistant_adp
|
|
|
|
assistantclient_PORT= devel/qt4-libqtassistantclient
|
|
assistantclient_DEPENDS= ${QT_LIBDIR}/libQtAssistantClient.so
|
|
|
|
clucene_PORT= textproc/qt4-clucene
|
|
clucene_DEPENDS= ${QT_LIBDIR}/libQtCLucene.so
|
|
|
|
codecs-cn_PORT= chinese/qt4-codecs-cn
|
|
codecs-cn_DEPENDS= ${QT_PLUGINDIR}/codecs/libqcncodecs.so
|
|
|
|
codecs-jp_PORT= japanese/qt4-codecs-jp
|
|
codecs-jp_DEPENDS= ${QT_PLUGINDIR}/codecs/libqjpcodecs.so
|
|
|
|
codecs-kr_PORT= korean/qt4-codecs-kr
|
|
codecs-kr_DEPENDS= ${QT_PLUGINDIR}/codecs/libqkrcodecs.so
|
|
|
|
codecs-tw_PORT= chinese/qt4-codecs-tw
|
|
codecs-tw_DEPENDS= ${QT_PLUGINDIR}/codecs/libqtwcodecs.so
|
|
|
|
corelib_PORT= devel/qt4-corelib
|
|
corelib_DEPENDS= ${QT_LIBDIR}/libQtCore.so
|
|
|
|
dbus_PORT= devel/dbus-qt4
|
|
dbus_DEPENDS= ${QT_LIBDIR}/libQtDBus.so
|
|
|
|
declarative_PORT= devel/qt4-declarative
|
|
declarative_DEPENDS= ${QT_LIBDIR}/libQtDeclarative.so
|
|
|
|
demo_PORT= misc/qt4-qtdemo
|
|
demo_DEPENDS= ${QT_PREFIX}/bin/qtdemo
|
|
|
|
designer_PORT= devel/qt4-designer
|
|
designer_DEPENDS= ${QT_PREFIX}/bin/designer-qt4
|
|
|
|
doc_PORT= misc/qt4-doc
|
|
doc_DEPENDS= qt4-doc>=4
|
|
|
|
graphicssystems-opengl_PORT= x11/qt4-graphicssystems-opengl
|
|
graphicssystems-opengl_DEPENDS= ${QT_PLUGINDIR}/graphicssystems/libqglgraphicssystem.so
|
|
|
|
gui_PORT= x11-toolkits/qt4-gui
|
|
gui_DEPENDS= ${QT_LIBDIR}/libQtGui.so
|
|
|
|
help_PORT= devel/qt4-help
|
|
help_DEPENDS= ${QT_LIBDIR}/libQtHelp.so
|
|
|
|
help-tools_PORT= devel/qt4-help-tools
|
|
help-tools_DEPENDS= ${QT_PREFIX}/bin/qhelpgenerator
|
|
|
|
iconengines_PORT= graphics/qt4-iconengines
|
|
iconengines_DEPENDS= ${QT_PLUGINDIR}/iconengines/libqsvgicon.so
|
|
|
|
imageformats_PORT= graphics/qt4-imageformats
|
|
imageformats_DEPENDS= ${QT_PLUGINDIR}/imageformats/libqjpeg.so
|
|
|
|
inputmethods_PORT= x11/qt4-inputmethods
|
|
inputmethods_DEPENDS= ${QT_PLUGINDIR}/inputmethods/libqimsw-multi.so
|
|
|
|
linguist_PORT= devel/qt4-linguist
|
|
linguist_DEPENDS= ${QT_PREFIX}/bin/linguist-qt4
|
|
|
|
l10n_PORT= misc/qt4-l10n
|
|
l10n_DEPENDS= qt4-l10n>=4
|
|
|
|
makeqpf_PORT= devel/qt4-makeqpf
|
|
makeqpf_DEPENDS= ${QT_PREFIX}/bin/makeqpf-qt4
|
|
|
|
moc_PORT= devel/qt4-moc
|
|
moc_DEPENDS= ${MOC}
|
|
|
|
multimedia_PORT= multimedia/qt4-multimedia
|
|
multimedia_DEPENDS= ${QT_LIBDIR}/libQtMultimedia.so
|
|
|
|
network_PORT= net/qt4-network
|
|
network_DEPENDS= ${QT_LIBDIR}/libQtNetwork.so
|
|
|
|
opengl_PORT= x11/qt4-opengl
|
|
opengl_DEPENDS= ${QT_LIBDIR}/libQtOpenGL.so
|
|
|
|
pixeltool_PORT= graphics/qt4-pixeltool
|
|
pixeltool_DEPENDS= ${QT_PREFIX}/bin/pixeltool
|
|
|
|
phonon_PORT= multimedia/phonon
|
|
phonon_DEPENDS= ${QT_LIBDIR}/libphonon.so
|
|
|
|
phonon-gst_PORT= multimedia/phonon-gstreamer
|
|
phonon-gst_DEPENDS= ${QT_PLUGINDIR}/phonon_backend/libphonon_gstreamer.so
|
|
|
|
porting_PORT= devel/qt4-porting
|
|
porting_DEPENDS= ${QT_PREFIX}/bin/qt3to4
|
|
|
|
qdbusviewer_PORT= devel/qt4-qdbusviewer
|
|
qdbusviewer_DEPENDS= ${QT_PREFIX}/bin/qdbusviewer
|
|
|
|
qmlviewer_PORT= devel/qt4-qmlviewer
|
|
qmlviewer_DEPENDS= ${QT_PREFIX}/bin/qmlviewer
|
|
|
|
qdoc3_PORT= devel/qt4-qdoc3
|
|
qdoc3_DEPENDS= ${QT_PREFIX}/bin/qdoc3
|
|
|
|
qmake_PORT= devel/qmake4
|
|
qmake_DEPENDS= ${QMAKE}
|
|
|
|
qt3support_PORT= devel/qt4-qt3support
|
|
qt3support_DEPENDS= ${QT_LIBDIR}/libQt3Support.so
|
|
|
|
qtconfig_PORT= misc/qt4-qtconfig
|
|
qtconfig_DEPENDS= ${QT_PREFIX}/bin/qtconfig-qt4
|
|
|
|
qtestlib_PORT= devel/qt4-qtestlib
|
|
qtestlib_DEPENDS= ${QT_LIBDIR}/libQtTest.so
|
|
|
|
qvfb_PORT= devel/qt4-qvfb
|
|
qvfb_DEPENDS= ${QT_PREFIX}/bin/qvfb-qt4
|
|
|
|
rcc_PORT= devel/qt4-rcc
|
|
rcc_DEPENDS= ${RCC}
|
|
|
|
script_PORT= devel/qt4-script
|
|
script_DEPENDS= ${QT_LIBDIR}/libQtScript.so
|
|
|
|
scripttools_PORT= devel/qt4-scripttools
|
|
scripttools_DEPENDS= ${QT_LIBDIR}/libQtScriptTools.so
|
|
|
|
sql_PORT= databases/qt4-sql
|
|
sql_DEPENDS= ${QT_LIBDIR}/libQtSql.so
|
|
|
|
sql-ibase_PORT= databases/qt4-ibase-plugin
|
|
sql-ibase_DEPENDS= ${QT_PLUGINDIR}/sqldrivers/libqsqlibase.so
|
|
|
|
sql-mysql_PORT= databases/qt4-mysql-plugin
|
|
sql-mysql_DEPENDS= ${QT_PLUGINDIR}/sqldrivers/libqsqlmysql.so
|
|
|
|
sql-odbc_PORT= databases/qt4-odbc-plugin
|
|
sql-odbc_DEPENDS= ${QT_PLUGINDIR}/sqldrivers/libqsqlodbc.so
|
|
|
|
sql-pgsql_PORT= databases/qt4-pgsql-plugin
|
|
sql-pgsql_DEPENDS= ${QT_PLUGINDIR}/sqldrivers/libqsqlpsql.so
|
|
|
|
sql-sqlite2_PORT= databases/qt4-sqlite-plugin
|
|
sql-sqlite2_DEPENDS= ${QT_PLUGINDIR}/sqldrivers/libqsqlite2.so
|
|
|
|
sql-sqlite3_PORT= databases/qt4-sqlite3-plugin
|
|
sql-sqlite3_DEPENDS= ${QT_PLUGINDIR}/sqldrivers/libqsqlite.so
|
|
|
|
svg_PORT= graphics/qt4-svg
|
|
svg_DEPENDS= ${QT_LIBDIR}/libQtSvg.so
|
|
|
|
uic_PORT= devel/qt4-uic
|
|
uic_DEPENDS= ${UIC}
|
|
|
|
uic3_PORT= devel/qt4-uic3
|
|
uic3_DEPENDS= ${QT_PREFIX}/bin/uic3
|
|
|
|
webkit_PORT= www/qt4-webkit
|
|
webkit_DEPENDS= ${QT_LIBDIR}/libQtWebKit.so
|
|
|
|
xml_PORT= textproc/qt4-xml
|
|
xml_DEPENDS= ${QT_LIBDIR}/libQtXml.so
|
|
|
|
xmlpatterns_PORT= textproc/qt4-xmlpatterns
|
|
xmlpatterns_DEPENDS= ${QT_LIBDIR}/libQtXmlPatterns.so
|
|
|
|
xmlpatterns-tool_PORT= textproc/qt4-xmlpatterns-tool
|
|
xmlpatterns-tool_DEPENDS= ${QT_PREFIX}/bin/xmlpatterns
|
|
|
|
.if defined(_POSTMKINCLUDED) && !defined(Qt_Post_Include)
|
|
Qt_Post_Include= bsd.qt.mk
|
|
|
|
#
|
|
# Translate `c++` to its real name and select the appropriate mkspec.
|
|
#
|
|
QMAKE_BASE_COMPILER!= (cc --version 2> /dev/null | ${AWK} 'NR == 1 { gsub(/[()]/, "", $$2); print $$2 }') || ${ECHO_CMD} "gcc"
|
|
.if ${QMAKE_BASE_COMPILER:L} == "gcc"
|
|
QMAKE_BASE_COMPILER= g++
|
|
.endif
|
|
.if ${CXX} == "c++"
|
|
# Why CXX instead of CXX:T? Because if you're setting the full path of
|
|
# `c++` you probably want to define QMAKESPEC by hand too.
|
|
QMAKE_COMPILER= ${QMAKE_BASE_COMPILER}
|
|
.elif ${CXX:T} == "clang++"
|
|
QMAKE_COMPILER= clang
|
|
.elif ${CXX:C/c\+\+/g++/:T} == "llvm-g++"
|
|
QMAKE_COMPILER= llvm
|
|
.elif ${CXX:T} == "icpc"
|
|
QMAKE_COMPILER= icc
|
|
.else
|
|
# Handle all the other cases (mainly g++*).
|
|
QMAKE_COMPILER= ${CXX:C/c\+\+/g++/:T}
|
|
.endif
|
|
.if exists(${QT_PREFIX}/share/qt4/mkspecs/freebsd-${QMAKE_COMPILER})
|
|
QMAKESPEC?= ${QT_PREFIX}/share/qt4/mkspecs/freebsd-${QMAKE_COMPILER}
|
|
.else
|
|
# If something went wrong, default to the base configuration.
|
|
QMAKESPEC?= ${QT_PREFIX}/share/qt4/mkspecs/freebsd-${QMAKE_BASE_COMPILER}
|
|
.endif
|
|
|
|
.for component in ${_USE_QT4_ALL}
|
|
${component}_BUILD_DEPENDS?= ${${component}_DEPENDS}:${PORTSDIR}/${${component}_PORT}
|
|
${component}_RUN_DEPENDS?= ${${component}_DEPENDS}:${PORTSDIR}/${${component}_PORT}
|
|
|
|
${component}_build_BUILD_DEPENDS?= ${${component}_BUILD_DEPENDS}
|
|
${component}_run_RUN_DEPENDS?= ${${component}_RUN_DEPENDS}
|
|
|
|
_USE_QT4_ALL_SUFFIXED+= ${component} ${component}_build ${component}_run
|
|
.endfor
|
|
|
|
.if defined(USE_QT4)
|
|
. for component in ${USE_QT4:O:u}
|
|
. if ${_USE_QT4_ALL_SUFFIXED:M${component}}!= ""
|
|
BUILD_DEPENDS+= ${${component}_BUILD_DEPENDS}
|
|
RUN_DEPENDS+= ${${component}_RUN_DEPENDS}
|
|
. else
|
|
IGNORE= can't be installed: unknown USE_QT4 component '${component}'
|
|
. endif
|
|
. endfor
|
|
.endif
|
|
|
|
.endif
|