aboutsummaryrefslogblamecommitdiff
path: root/Mk/bsd.qt.mk
blob: d00341ea373d48ffac44c4f3f39f8898509245ae (plain) (tree)
1
2
3
4
5

                                      
 

           











                                                                                  
 
                                                         
                                       


                                 
                                                 


                                                          





                                                                                                    

                                              
                                                           
                   
                                                    
 
                                              

                                                        
                                                             

                                              




                                                       
                                                          





                                                                    


                                                       
                             
                                                  

                                 


                                                       
 
                                                 
                      
                        


                                                


                                      
                        


                        

                           




                                                    
 
                            

                                             
                                                

                                        
                                    

                                                          




                                                                               
 


                                               
            
      
           
 

                                                              

             
                                                                      
 
                             
 

                                                                                 


                                                                                             
                                                                                        

                                                                                            
 

                                                                            
 

                                                      
 















































































                                                                      
     
                                     
      



                                                   
     
                                                 
      























































































                                                                                        
       









                                                                 


      
#-*- mode: Makefile; tab-width: 4; -*-
# ex:ts=4
#
# $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):
# WITH_KDE_PHONON	- If set, standalone phonon will be used instead of Qt.
#				Required for KDE 4.4.0
# 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}" CPPFLAGS="${CPPFLAGS} ${QTCPPFLAGS}" LIBS="${QTCFGLIBS}" \
		QMAKE="${QMAKE}" QMAKESPEC="${QMAKESPEC}" QTDIR="${QT_PREFIX}"
MAKE_ENV+=	QMAKESPEC="${QMAKESPEC}"
.endif # !defined(QT_NONSTANDARD)

.if defined(QT_DIST)
MD5_FILE=	${PORTSDIR}/devel/qt4/distinfo
MASTER_SITES=	${MASTER_SITE_QT}
DISTNAME=	qt-everywhere-opensource-src-${QT4_VERSION}
DIST_SUBDIR=	KDE
#CONFLICTS+=	Currently there are no conflicts \o/

CONFIGURE_ARGS+=-fast -platform ${QMAKESPEC} \
		-L${PREFIX}/${QT_LIBDIR_REL} \
		-qt-gif -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} \
		-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

PLIST_SUB+=	SHLIB_VER=${QT4_VERSION} \
		SHLIB_SHVER=${QT4_VERSION:C/.[0-9]+$//}

.if defined(PACKAGE_BUILDING)
CONFIGURE_ARGS+=-no-mmx -no-3dnow -no-sse -no-sse2
.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
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
QMAKESPEC?=	${QT_PREFIX}/share/qt4/mkspecs/freebsd-g++
QMAKEFLAGS+=	QMAKE_CC="${CC}" QMAKE_CXX="${CXX}" QMAKE_LINK_SHLIB="${CXX}" \
		QMAKE_LINK="${CXX}" QMAKE_CFLAGS="${CFLAGS}" \
		QMAKE_CXXFLAGS="${CXXFLAGS}" \
		QMAKE_CFLAGS_THREAD="${PTHREAD_CFLAGS}" \
		QMAKE_LFLAGS_THREAD="${PTHREAD_LIBS}"

.if ${OSVERSION} < 700042 && ${ARCH} == "amd64"
QTCPPFLAGS?=	-fno-gcse
.else
QTCPPFLAGS?=
.endif
QTCGFLIBS?=

.endif # !defined(_POSTMKINCLUDED) && !defined(Qt_Pre_Include)

#
# QT4 version
# Don't forget to update ${PORTSDIR}/devel/qt4/files/patch-configure !
#
QT4_VERSION?=		4.6.1

_QT_COMPONENTS_ALL=	accessible assistant assistant-adp assistantclient \
			clucene codecs-cn codecs-jp codecs-kr codecs-tw corelib \
			dbus demo designer doc help help-tools gui iconengines imageformats \
			inputmethods linguist l10n makeqpf moc multimedia network \
			opengl pixeltool porting phonon phonon-gst qdbusviewer 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

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

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

.if defined(WITH_KDE_PHONON)
phonon_PORT=	multimedia/phonon
.else
phonon_PORT=	multimedia/qt4-phonon
.endif
phonon_DEPENDS=	${QT_LIBDIR}/libphonon.so

.if defined(WITH_KDE_PHONON)
phonon-gst_PORT=	multimedia/phonon-gstreamer
.else
phonon-gst_PORT=	multimedia/qt4-phonon-gst
.endif
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

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

.for component in ${_QT_COMPONENTS_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}

_QT_COMPONENTS_ALL_SUFFIXED+=	${component} ${component}_build ${component}_run
.endfor

.if defined(QT_COMPONENTS)
. for component in ${QT_COMPONENTS:O:u}
.  if ${_QT_COMPONENTS_ALL_SUFFIXED:M${component}}!= ""
BUILD_DEPENDS+=	${${component}_BUILD_DEPENDS}
RUN_DEPENDS+=	${${component}_RUN_DEPENDS}
.  else
IGNORE=	can't be installed: unknown Qt 4 component '${component}'
.  endif
. endfor
.endif

.endif