Index: head/audio/clementine-player/Makefile =================================================================== --- head/audio/clementine-player/Makefile (revision 425999) +++ head/audio/clementine-player/Makefile (revision 426000) @@ -1,207 +1,207 @@ # Created by: Veniamin Gvozdikov # $FreeBSD$ PORTNAME= clementine PORTVERSION= 1.3.1 CATEGORIES= audio PKGNAMESUFFIX= -player MAINTAINER= sbruno@FreeBSD.org COMMENT= Cross-platform music player based on Amarok 1.4 LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= ${LOCALBASE}/include/boost/shared_ptr.hpp:devel/boost-libs LIB_DEPENDS= libtag.so:audio/taglib \ libchromaprint.so:audio/chromaprint \ libprotobuf.so:devel/protobuf \ libqca.so:devel/qca \ libqjson.so:devel/qjson \ libfftw3.so:math/fftw3 \ libechonest.so:audio/libechonest \ libcryptopp.so:security/cryptopp USE_GITHUB= yes GH_ACCOUNT= ${PORTNAME}${PKGNAMESUFFIX} GH_PROJECT= Clementine USES= cmake \ compiler:c++11-lib \ desktop-file-utils \ execinfo \ gettext-tools \ pkgconfig \ sqlite USE_GL= glew CONFLICTS_BUILD= qt-3.* USE_QT4= corelib \ dbus \ gui \ imageformats \ qmake_build \ linguist_build \ moc_build \ network \ opengl \ qtestlib \ rcc_build \ sql \ uic_build \ webkit \ xml USE_GSTREAMER1= cdparanoia \ chromaprint \ faac \ faad \ flac \ lame \ mad \ neon \ shout2 \ soup \ taglib \ twolame \ vorbis INSTALLS_ICONS= yes CFLAGS+= -Wno-inconsistent-missing-override \ -Wno-unused-variable \ -Wno-unused-function CMAKE_ARGS+= -DCMAKE_LIBRARY_PATH:PATH="${LOCALBASE}/lib:${PREFIX}/lib" \ -DENABLE_DBUS=ON \ -DENABLE_SPOTIFY_BLOB=OFF \ -DCRYPTOPP_LIBS=${LOCALBASE}/lib/libcryptopp.so \ -DCRYPTOPP_INCLUDEDIR=${LOCALBASE}/include/cryptopp \ -DCRYPTOPP_LIBDIR=${LOCALBASE}/lib \ -DCRYPTOPP_LDFLAGS=-lcryptopp \ -DCRYPTOPP_LIBRARIES=cryptopp \ -DCRYPTOPP_LIBRARY_DIRS=${LOCALBASE}/lib \ -DCRYPTOPP_cryptopp_INCLUDEDIR=${LOCALBASE}/include/cryptopp \ -DCRYPTOPP_cryptopp_LIBDIR=${LOCALBASE}/lib \ -DCRYPTOPP_FOUND=1 OPTIONS_DEFINE= AMAZON \ AUDIOCD \ BOX \ BREAKPAD \ DEVICEKIT \ DROPBOX \ GIO \ GOOGLE_DRIVE \ GPOD \ LASTFM \ MOODBAR \ MTP \ PULSEAUDIO \ SKYDRIVE \ VISUALISATION \ WIIMOTEDEV OPTIONS_SUB= VISUALISATION AMAZON_DESC= Amazon Drive support AUDIOCD_DESC= Devices: Audio CD support BOX_DESC= Box Drive support BREAKPAD_DESC= Crash reporting DEVICEKIT_DESC= Devices: DeviceKit backend DROPBOX_DESC= Dropbox Support GIO_DESC= Devices: GIO device backend GOOGLE_DRIVE_DESC= Google Drive support GPOD_DESC= iPod support LASTFM_DESC= Support Last.fm service (requires ruby) MOODBAR_DESC= Moodbar Support MTP_DESC= MTP device support PULSEAUDIO_DESC= Enable Pulseaudio Support SKYDRIVE_DESC= Microsoft SkyDrive Support VISUALISATION_DESC= Visualisations from projectM WIIMOTEDEV_DESC= Wiimote support OPTIONS_DEFAULT= AMAZON \ AUDIOCD \ BOX \ DEVICEKIT \ DROPBOX \ GIO \ GOOGLE_DRIVE \ GPOD \ LASTFM \ MOODBAR \ MTP \ SKYDRIVE \ VISUALISATION \ WIIMOTEDEV AMAZON_CMAKE_ON= -DENABLE_AMAZON_CLOUD_DRIVE=ON AMAZON_CMAKE_OFF= -DENABLE_AMAZON_CLOUD_DRIVE=OFF AUDIOCD_LIB_DEPENDS= libcdio.so:sysutils/libcdio AUDIOCD_CMAKE_ON= -DENABLE_AUDIOCD=ON AUDIOCD_CMAKE_OFF= -DENABLE_AUDIOCD=OFF BOX_BUILD_DEPENDS= sparsehash>=2.0.2:devel/sparsehash BOX_CMAKE_ON= -DENABLE_BOX=ON BOX_CMAKE_OFF= -DENABLE_BOX=OFF BREAKPAD_CMAKE_ON= -DENABLE_BREAKPAD=ON BREAKPAD_CMAKE_OFF= -DENABLE_BREAKPAD=OFF DEVICEKIT_CMAKE_ON= -DENABLE_DEVICEKIT=ON DEVICEKIT_CMAKE_OFF= -DENABLE_DEVICEKIT=OFF DROPBOX_BUILD_DEPENDS= sparsehash>=2.0.2:devel/sparsehash DROPBOX_CMAKE_ON= -DENABLE_DROPBOX=ON DROPBOX_CMAKE_OFF= -DENABLE_DROPBOX=OFF GIO_USE= GNOME=glib20 GIO_CMAKE_ON= -DENABLE_GIO=ON GIO_CMAKE_OFF= -DENABLE_GIO=OFF GOOGLE_DRIVE_BUILD_DEPENDS= sparsehash>=2.0.2:devel/sparsehash GOOGLE_DRIVE_CMAKE_ON= -DENABLE_GOOGLE_DRIVE=ON GOOGLE_DRIVE_CMAKE_OFF= -DENABLE_GOOGLE_DRIVE=OFF GPOD_LIB_DEPENDS= libgpod.so:audio/libgpod \ libplist.so:devel/libplist \ libusbmuxd.so:comms/libusbmuxd GPOD_CMAKE_ON= -DENABLE_LIBGPOD=ON GPOD_CMAKE_OFF= -DENABLE_LIBGPOD=OFF LASTFM_LIB_DEPENDS= liblastfm.so:audio/liblastfm LASTFM_CMAKE_ON= -DENABLE_LIBLASTFM=ON LASTFM_CMAKE_OFF= -DENABLE_LIBLASTFM=OFF MOODBAR_CMAKE_ON= -DENABLE_MOODBAR=ON MOODBAR_CMAKE_OFF= -DENABLE_MOODBAR=OFF MTP_LIB_DEPENDS= libmtp.so:multimedia/libmtp MTP_CMAKE_ON= -DENABLE_LIBMTP=ON MTP_CMAKE_OFF= -DENABLE_LIBMTP=OFF PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio PULSEAUDIO_CMAKE_ON= -DENABLE_LIBPULSE=ON PULSEAUDIO_CMAKE_OFF= -DENABLE_LIBPULSE=OFF SKYDRIVE_BUILD_DEPENDS= sparsehash>=2.0.2:devel/sparsehash SKYDRIVE_CMAKE_ON= -DENABLE_SKYDRIVE=ON SKYDRIVE_CMAKE_OFF= -DENABLE_SKYDRIVE=OFF VISUALISATION_CMAKE_ON= -DENABLE_VISUALISATIONS=ON VISUALISATION_CMAKE_OFF=-DENABLE_VISUALISATIONS=OFF WIIMOTEDEV_CMAKE_ON= -DENABLE_WIIMOTEDEV=ON WIIMOTEDEV_CMAKE_OFF= -DENABLE_WIIMOTEDEV=OFF .include -.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 39 -CXXFLAGS+= -Wno-undefined-var-template +.if ${CHOSEN_COMPILER_TYPE} == clang +CXXFLAGS+= -Wno-unknown-warning-option -Wno-undefined-var-template .endif .include Index: head/devel/llvm35/Makefile =================================================================== --- head/devel/llvm35/Makefile (revision 425999) +++ head/devel/llvm35/Makefile (revision 426000) @@ -1,282 +1,282 @@ # $FreeBSD$ PORTNAME= llvm DISTVERSION= 3.5.2 PORTREVISION= 2 CATEGORIES= devel lang MASTER_SITES= http://llvm.org/releases/3.5.2/ DISTNAME= ${PORTNAME}-${DISTVERSION}.src PKGNAMESUFFIX= ${LLVM_SUFFIX} MAINTAINER= brooks@FreeBSD.org COMMENT= Low Level Virtual Machine LLVM_SUFFIX= ${PORTVERSION:C/([0-9]\.[0-9]).*/\1/:S/.//g:C/r.//} LLVM_PREFIX= ${PREFIX}/llvm${LLVM_SUFFIX} DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${LLVM_SUFFIX} DATADIR= ${PREFIX}/share/${PORTNAME}${LLVM_SUFFIX} WRKSRC= ${WRKDIR}/llvm-${DISTVERSION}.src USES= compiler:c++11-lib execinfo gmake perl5 tar:xz libedit GNU_CONFIGURE= yes GNU_CONFIGURE_PREFIX= ${LLVM_PREFIX} USE_LDCONFIG= ${LLVM_PREFIX}/lib SUB_FILES= llvm-wrapper.sh SUB_LIST= LLVM_PREFIX="${LLVM_PREFIX}" LLVM_SUFFIX="${LLVM_SUFFIX}" # Suggested tweaks from http://llvm.org/docs/Packaging.html CONFIGURE_ARGS+= --enable-shared MAKE_ARGS+= REQUIRES_RTTI=1 LIBNAME= libLLVM-3.5.so CONFIGURE_ARGS+= --enable-bindings=none CONFIGURE_ARGS+= --enable-optimized OPTIONS_DEFINE= ASSERTS CMAKE DOCS LIT LTOPLUGIN MANPAGES ASSERTS_DESC= Enable assertions (thread unsafe) CMAKE_DESC= Build cmake support files LIT_DESC= Install lit and FileCheck test tools (requires python) LTOPLUGIN_DESC= Build LTO plugin (requires gold) OPTIONS_DEFAULT= LIT MANPAGES OPTIONS_SUB= yes PLIST_SUB+= LLVM_SUFFIX=${LLVM_SUFFIX} \ PORTVERSION=${PORTVERSION} COMMANDS= bugpoint \ llc \ lli \ llvm-ar \ llvm-as \ llvm-bcanalyzer \ llvm-config \ llvm-cov \ llvm-diff \ llvm-dis \ llvm-dwarfdump \ llvm-extract \ llvm-link \ llvm-mc \ llvm-mcmarkup \ llvm-nm \ llvm-objdump \ llvm-ranlib \ llvm-readobj \ llvm-rtdyld \ llvm-size \ llvm-stress \ llvm-symbolizer \ llvm-tblgen \ macho-dump \ opt FIRST_COMMAND= ${COMMANDS:C/^/XXXX/1:MXXXX*:C/^XXXX//} STRIP_LIBS= BugpointPasses.so \ LLVMHello.so \ ${LIBNAME}.0 \ libLTO.so # Enable AMD r600 backend used by the r600/radeonsi graphics/dri gallium drivers CONFIGURE_ARGS+=--enable-experimental-targets=R600 .include # keep in sync with /usr/src/lib/clang/clang.build.mk CONFIGURE_TARGET:=${ARCH:C/amd64/x86_64/:C/armv6hf/armv6/}-portbld-${OPSYS:tl}${OSREL} .if ${PORT_OPTIONS:MASSERTS} CONFIGURE_ARGS+= --enable-assertions RELEASE_TYPE= Release+Asserts .else CONFIGURE_ARGS+= --disable-assertions RELEASE_TYPE= Release .endif .if ${PORT_OPTIONS:MCMAKE} BUILD_DEPENDS+= cmake:devel/cmake PORTDATA+= cmake .endif .if ${PORT_OPTIONS:MDOCS} || ${PORT_OPTIONS:MMANPAGES} BUILD_DEPENDS+= sphinx-build:textproc/py-sphinx .endif .if ${PORT_OPTIONS:MDOCS} CONFIGURE_ARGS+= --enable-docs .else CONFIGURE_ARGS+= --disable-docs .endif .if ${PORT_OPTIONS:MLIT} MAN1SRCS+= lit.1 USES+= python LIT_COMMANDS= lit llvm-lit FileCheck .else USES+= python:build .endif .if ${PORT_OPTIONS:MLTOPLUGIN} BUILD_DEPENDS+= ld.gold:devel/binutils RUN_DEPENDS+= ld.gold:devel/binutils CONFIGURE_ARGS+= --with-binutils-include=${LOCALBASE}/include PLIST_FILES+= llvm${LLVM_SUFFIX}/lib/LLVMgold.so .endif .if ${PORT_OPTIONS:MMANPAGES} MAN1SRCS+= bugpoint.1 llc.1 lli.1 llvm-ar.1 llvm-as.1 \ llvm-bcanalyzer.1 llvm-config.1 llvm-cov.1 llvm-diff.1 \ llvm-dis.1 llvm-extract.1 llvm-link.1 llvm-nm.1 \ llvm-profdata.1 llvm-stress.1 opt.1 tblgen.1 PLIST_FILES+= ${MAN1SRCS:S|^|man/man1/|:S|.1$|${LLVM_SUFFIX}.1.gz|} .endif NOT_FOR_ARCH= ia64 .include -.if ${PORT_OPTIONS:MCMAKE} && ${COMPILER_TYPE} != clang +.if ${PORT_OPTIONS:MCMAKE} && ${CHOSEN_COMPILER_TYPE} != clang BROKEN= CMake support only works with clang .endif .if ${ARCH} == "aarch64" BROKEN= Does not compile on aarch64 .endif .if ${ARCH} == "amd64" CONFIGURE_ARGS+= --enable-pic --with-pic .endif .if ${ARCH} == "i386" CONFIGURE_ARGS+= --with-optimize-option=-O2 .endif post-patch: ${REINPLACE_CMD} -e 's|${PORTVERSION}svn|${PORTVERSION}|g' \ ${WRKSRC}/configure ${REINPLACE_CMD} -e 's|\(PROJ_docsdir.*:=\).*$$|\1${DOCSDIR}|g' \ ${WRKSRC}/Makefile.config.in ${REINPLACE_CMD} -e 's|\(PROJ_mandir.*:=\).*$$|\1${MANPREFIX}/man|g' \ ${WRKSRC}/Makefile.config.in ${REINPLACE_CMD} -e 's|import lit|import lit${LLVM_SUFFIX}|' \ -e 's|from lit|from lit${LLVM_SUFFIX}|' \ -e 's|lit\.|lit${LLVM_SUFFIX}.|' \ ${WRKSRC}/utils/lit/lit.py ${WRKSRC}/utils/lit/lit/*.py \ ${WRKSRC}/utils/lit/lit/formats/*.py .if ${PORT_OPTIONS:MCMAKE} post-configure: ${MKDIR} ${WRKDIR}/cmake cd ${WRKDIR}/cmake && cmake -G "Unix Makefiles" -DCMAKE_C_COMPILER:STRING="${CC}" -DCMAKE_CXX_COMPILER:STRING="${CXX}" ${WRKSRC} ${REINPLACE_CMD} -e 's|${WRKDIR}/cmake|${LLVM_PREFIX}|' \ -e 's|${WRKSRC}/cmake/modules|${DATADIR}/cmake|' \ ${WRKDIR}/cmake/share/llvm/cmake/LLVMConfig.cmake .endif post-build: .if ${PORT_OPTIONS:MMANPAGES} @cd ${WRKSRC}/docs && ${MAKE_CMD} -f Makefile.sphinx man .endif .if ${PORT_OPTIONS:MDOCS} @cd ${WRKSRC}/docs && ${MAKE_CMD} -f Makefile.sphinx html .endif post-install: ${MV} ${STAGEDIR}${LLVM_PREFIX}/lib/${LIBNAME} \ ${STAGEDIR}${LLVM_PREFIX}/lib/${LIBNAME}.0 ${LN} -sf ${LIBNAME}.0 ${STAGEDIR}${LLVM_PREFIX}/lib/${LIBNAME} ${STRIP_CMD} ${STRIP_LIBS:S|^|${STAGEDIR}${LLVM_PREFIX}/lib/|} ${INSTALL_SCRIPT} ${WRKDIR}/llvm-wrapper.sh \ ${STAGEDIR}${PREFIX}/bin/${FIRST_COMMAND}${LLVM_SUFFIX} .for command in ${COMMANDS:C/^/XXXX/1:NXXXX*} test -e ${STAGEDIR}${LLVM_PREFIX}/bin/${command} ${LN} -f ${STAGEDIR}${PREFIX}/bin/${FIRST_COMMAND}${LLVM_SUFFIX} \ ${STAGEDIR}${PREFIX}/bin/${command}${LLVM_SUFFIX} .endfor .if ${PORT_OPTIONS:MCMAKE} ${MKDIR} ${STAGEDIR}${DATADIR}/cmake ${INSTALL_DATA} ${WRKSRC}/cmake/modules/*.cmake \ ${WRKDIR}/cmake/share/llvm/cmake/*.cmake \ ${STAGEDIR}${DATADIR}/cmake/ .endif .if ${PORT_OPTIONS:MDOCS} ${MKDIR} ${STAGEDIR}${DOCSDIR}/html ${FIND} ${WRKSRC}/docs/_build/html -type f | \ ${XARGS} -I _DOC_ ${INSTALL_DATA} _DOC_ ${STAGEDIR}${DOCSDIR}/html/ .endif .if ${PORT_OPTIONS:MLIT} ${INSTALL_SCRIPT} ${WRKSRC}/utils/lit/lit.py \ ${STAGEDIR}${LLVM_PREFIX}/bin/lit ${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/lit \ ${STAGEDIR}${LLVM_PREFIX}/bin/llvm-lit ${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/lit \ ${STAGEDIR}${PREFIX}/bin/lit${LLVM_SUFFIX} ${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/lit \ ${STAGEDIR}${PREFIX}/bin/llvm-lit${LLVM_SUFFIX} ${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX} ${INSTALL_DATA} ${WRKSRC}/utils/lit/lit/*.py \ ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX} ${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX}/formats ${INSTALL_DATA} ${WRKSRC}/utils/lit/lit/formats/*.py \ ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX}/formats ${INSTALL_PROGRAM} ${WRKSRC}/${RELEASE_TYPE}/bin/FileCheck \ ${STAGEDIR}${LLVM_PREFIX}/bin/ ${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/FileCheck \ ${STAGEDIR}${PREFIX}/bin/FileCheck${LLVM_SUFFIX} .endif .if ${PORT_OPTIONS:MMANPAGES} for man in ${MAN1SRCS}; do \ ${INSTALL_MAN} ${WRKSRC}/docs/_build/man/$${man} \ ${STAGEDIR}${MANPREFIX}/man/man1/$${man%.1}${LLVM_SUFFIX}.1 ; \ done .endif TEST_CMD= '(cd ${WRKSRC}/test; ${SETENV} ${MAKE_ENV} LD_LIBRARY_PATH=${WRKSRC}/Release/lib ${MAKE_CMD} check-local-lit)' regression-test: ${BUILD_COOKIE} if [ `${ID} -u` = 0 ]; then \ ${CHOWN} -R nobody ${WRKSRC}/test; \ su -m nobody -c ${TEST_CMD}; \ else \ ${SH} -c ${TEST_CMD}; \ fi build-plist: ${RM} ${PLIST} .for command in ${COMMANDS} ${ECHO_CMD} bin/${command}%%LLVM_SUFFIX%% >> ${PLIST} .endfor .for command in ${LIT_COMMANDS} ${ECHO_CMD} %%LIT%%bin/${command}%%LLVM_SUFFIX%% >> ${PLIST} ${ECHO_CMD} %%LIT%%${LLVM_PREFIX:S|${PREFIX}/||:C|${LLVM_SUFFIX}|%%LLVM_SUFFIX%%|}/bin/${command} \ >> ${PLIST} .endfor ${FIND} ${STAGEDIR}${LLVM_PREFIX} -type f -o -type l | \ ${GREP} -v 'lit$$' | ${GREP} -v 'FileCheck$$' | \ ${GREP} -v man/man1 | ${SED} -e 's|${STAGEDIR}${PREFIX}/||' \ -e 's|${LLVM_SUFFIX}|%%LLVM_SUFFIX%%|' \ -e 's|${PORTVERSION}|%%PORTVERSION%%|' | \ ${SORT} >> ${PLIST} ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX} -type f | \ ${SED} -e 's|${STAGEDIR}${PYTHON_SITELIBDIR}|%%LIT%%%%PYTHON_SITELIBDIR%%|' \ -e 's|${LLVM_SUFFIX}|%%LLVM_SUFFIX%%|' | \ ${SORT} >> ${PLIST} ${FIND} ${STAGEDIR}${DOCSDIR} -type f | \ ${SED} -e 's|${STAGEDIR}${DOCSDIR}|%%PORTDOCS%%%%DOCSDIR%%|' | \ ${SORT} >> ${PLIST} .if make(svn-patch) .if !defined(PATCH_REV) .error svn-patch requires that PATCH_REV be set .endif _PATCH_FILE=${FILESDIR}/patch-svn-${PATCH_REV} _LLVM_BASE=http://llvm.org/svn/llvm-project/llvm/trunk svn-patch: ${PRINTF} "$$%s$$\n" FreeBSD > ${_PATCH_FILE} svn log -c ${PATCH_REV} ${_LLVM_BASE} >> ${_PATCH_FILE} svn diff -c ${PATCH_REV} ${_LLVM_BASE} >> ${_PATCH_FILE} .endif .include Index: head/devel/llvm36/Makefile =================================================================== --- head/devel/llvm36/Makefile (revision 425999) +++ head/devel/llvm36/Makefile (revision 426000) @@ -1,288 +1,288 @@ # $FreeBSD$ PORTNAME= llvm DISTVERSION= 3.6.2 PORTREVISION= 2 CATEGORIES= devel lang MASTER_SITES= http://llvm.org/releases/3.6.2/ DISTNAME= ${PORTNAME}-${DISTVERSION}.src PKGNAMESUFFIX= ${LLVM_SUFFIX} MAINTAINER= brooks@FreeBSD.org COMMENT= Low Level Virtual Machine LLVM_SUFFIX= ${PORTVERSION:C/([0-9]\.[0-9]).*/\1/:S/.//g:C/r.//} LLVM_RELEASE= ${PORTVERSION:C/([0-9]\.[0-9].[0-9]).*/\1/} LLVM_PREFIX= ${PREFIX}/llvm${LLVM_SUFFIX} DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${LLVM_SUFFIX} DATADIR= ${PREFIX}/share/${PORTNAME}${LLVM_SUFFIX} WRKSRC= ${WRKDIR}/llvm-${DISTVERSION}.src USES= compiler:c++11-lib execinfo gmake perl5 tar:xz libedit GNU_CONFIGURE= yes GNU_CONFIGURE_PREFIX= ${LLVM_PREFIX} USE_LDCONFIG= ${LLVM_PREFIX}/lib SUB_FILES= llvm-wrapper.sh SUB_LIST= LLVM_PREFIX="${LLVM_PREFIX}" LLVM_SUFFIX="${LLVM_SUFFIX}" # Suggested tweaks from http://llvm.org/docs/Packaging.html CONFIGURE_ARGS+= --enable-shared MAKE_ARGS+= REQUIRES_RTTI=1 LIBNAME= libLLVM-${LLVM_RELEASE:C/([0-9]\.[0-9]).*/\1/}.so CONFIGURE_ARGS+= --enable-bindings=none CONFIGURE_ARGS+= --enable-optimized OPTIONS_DEFINE= ASSERTS CMAKE DOCS LIT LTOPLUGIN MANPAGES ASSERTS_DESC= Enable assertions (thread unsafe) CMAKE_DESC= Build cmake support files LIT_DESC= Install lit and FileCheck test tools (requires python) LTOPLUGIN_DESC= Build LTO plugin (requires gold) OPTIONS_DEFAULT= LIT MANPAGES OPTIONS_SUB= yes PLIST_SUB+= LLVM_SUFFIX=${LLVM_SUFFIX} \ LLVM_RELEASE=${LLVM_RELEASE} COMMANDS= bugpoint \ count \ llc \ lli \ lli-child-target \ llvm-ar \ llvm-as \ llvm-bcanalyzer \ llvm-config \ llvm-cov \ llvm-diff \ llvm-dis \ llvm-dsymutil \ llvm-dwarfdump \ llvm-extract \ llvm-link \ llvm-mc \ llvm-mcmarkup \ llvm-nm \ llvm-objdump \ llvm-profdata \ llvm-ranlib \ llvm-readobj \ llvm-rtdyld \ llvm-size \ llvm-stress \ llvm-symbolizer \ llvm-tblgen \ llvm-vtabledump \ macho-dump \ not \ obj2yaml \ opt \ verify-uselistorder \ yaml2obj FIRST_COMMAND= ${COMMANDS:C/^/XXXX/1:MXXXX*:C/^XXXX//} STRIP_LIBS= BugpointPasses.so \ LLVMHello.so \ ${LIBNAME}.0 \ libLTO.so # Enable AMD r600 backend used by the r600/radeonsi graphics/dri gallium drivers CONFIGURE_ARGS+=--enable-experimental-targets=R600 .include # keep in sync with /usr/src/lib/clang/clang.build.mk CONFIGURE_TARGET:=${ARCH:C/amd64/x86_64/:C/armv6hf/armv6/}-portbld-${OPSYS:tl}${OSREL} .if ${PORT_OPTIONS:MASSERTS} CONFIGURE_ARGS+= --enable-assertions RELEASE_TYPE= Release+Asserts .else CONFIGURE_ARGS+= --disable-assertions RELEASE_TYPE= Release .endif .if ${PORT_OPTIONS:MCMAKE} BUILD_DEPENDS+= cmake:devel/cmake PORTDATA+= cmake .endif .if ${PORT_OPTIONS:MDOCS} || ${PORT_OPTIONS:MMANPAGES} BUILD_DEPENDS+= sphinx-build:textproc/py-sphinx .endif .if ${PORT_OPTIONS:MDOCS} CONFIGURE_ARGS+= --enable-docs .else CONFIGURE_ARGS+= --disable-docs .endif .if ${PORT_OPTIONS:MLIT} MAN1SRCS+= lit.1 USES+= python LIT_COMMANDS= lit llvm-lit FileCheck .else USES+= python:build .endif .if ${PORT_OPTIONS:MLTOPLUGIN} BUILD_DEPENDS+= ld.gold:devel/binutils RUN_DEPENDS+= ld.gold:devel/binutils CONFIGURE_ARGS+= --with-binutils-include=${LOCALBASE}/include PLIST_FILES+= llvm${LLVM_SUFFIX}/lib/LLVMgold.so .endif .if ${PORT_OPTIONS:MMANPAGES} MAN1SRCS+= bugpoint.1 llc.1 lli.1 llvm-ar.1 llvm-as.1 \ llvm-bcanalyzer.1 llvm-config.1 llvm-cov.1 llvm-diff.1 \ llvm-dis.1 llvm-extract.1 llvm-link.1 llvm-nm.1 \ llvm-profdata.1 llvm-stress.1 opt.1 tblgen.1 PLIST_FILES+= ${MAN1SRCS:S|^|man/man1/|:S|.1$|${LLVM_SUFFIX}.1.gz|} .endif NOT_FOR_ARCH= ia64 .include -.if ${PORT_OPTIONS:MCMAKE} && ${COMPILER_TYPE} != clang +.if ${PORT_OPTIONS:MCMAKE} && ${CHOSEN_COMPILER_TYPE} != clang BROKEN= CMake support only works with clang .endif .if ${ARCH} == "amd64" CONFIGURE_ARGS+= --enable-pic --with-pic .endif .if ${ARCH} == "i386" CONFIGURE_ARGS+= --with-optimize-option=-O2 .endif post-patch: ${REINPLACE_CMD} -e 's|${LLVM_RELEASE}svn|${LLVM_RELEASE}|g' \ ${WRKSRC}/configure ${REINPLACE_CMD} -e 's|\(PROJ_docsdir.*:=\).*$$|\1${DOCSDIR}|g' \ ${WRKSRC}/Makefile.config.in ${REINPLACE_CMD} -e 's|\(PROJ_mandir.*:=\).*$$|\1${MANPREFIX}/man|g' \ ${WRKSRC}/Makefile.config.in ${REINPLACE_CMD} -e 's|import lit|import lit${LLVM_SUFFIX}|' \ -e 's|from lit|from lit${LLVM_SUFFIX}|' \ -e 's|lit\.|lit${LLVM_SUFFIX}.|' \ ${WRKSRC}/utils/lit/lit.py ${WRKSRC}/utils/lit/lit/*.py \ ${WRKSRC}/utils/lit/lit/formats/*.py .if ${PORT_OPTIONS:MCMAKE} post-configure: ${MKDIR} ${WRKDIR}/cmake cd ${WRKDIR}/cmake && cmake -G "Unix Makefiles" -DCMAKE_C_COMPILER:STRING="${CC}" -DCMAKE_CXX_COMPILER:STRING="${CXX}" ${WRKSRC} ${REINPLACE_CMD} -e 's|${WRKDIR}/cmake|${LLVM_PREFIX}|' \ -e 's|${WRKSRC}/cmake/modules|${DATADIR}/cmake|' \ ${WRKDIR}/cmake/share/llvm/cmake/LLVMConfig.cmake .endif post-build: .if ${PORT_OPTIONS:MMANPAGES} @cd ${WRKSRC}/docs && ${MAKE_CMD} -f Makefile.sphinx man .endif .if ${PORT_OPTIONS:MDOCS} @cd ${WRKSRC}/docs && ${MAKE_CMD} -f Makefile.sphinx html .endif post-install: ${MV} ${STAGEDIR}${LLVM_PREFIX}/lib/${LIBNAME} \ ${STAGEDIR}${LLVM_PREFIX}/lib/${LIBNAME}.0 ${LN} -sf ${LIBNAME}.0 ${STAGEDIR}${LLVM_PREFIX}/lib/${LIBNAME} ${STRIP_CMD} ${STRIP_LIBS:S|^|${STAGEDIR}${LLVM_PREFIX}/lib/|} ${INSTALL_SCRIPT} ${WRKDIR}/llvm-wrapper.sh \ ${STAGEDIR}${PREFIX}/bin/${FIRST_COMMAND}${LLVM_SUFFIX} .for command in ${COMMANDS:C/^/XXXX/1:NXXXX*} test -e ${STAGEDIR}${LLVM_PREFIX}/bin/${command} ${LN} -f ${STAGEDIR}${PREFIX}/bin/${FIRST_COMMAND}${LLVM_SUFFIX} \ ${STAGEDIR}${PREFIX}/bin/${command}${LLVM_SUFFIX} .endfor .if ${PORT_OPTIONS:MCMAKE} ${MKDIR} ${STAGEDIR}${DATADIR}/cmake ${INSTALL_DATA} ${WRKSRC}/cmake/modules/*.cmake \ ${WRKDIR}/cmake/share/llvm/cmake/*.cmake \ ${STAGEDIR}${DATADIR}/cmake/ .endif .if ${PORT_OPTIONS:MDOCS} ${MKDIR} ${STAGEDIR}${DOCSDIR}/html ${FIND} ${WRKSRC}/docs/_build/html -type f | \ ${XARGS} -I _DOC_ ${INSTALL_DATA} _DOC_ ${STAGEDIR}${DOCSDIR}/html/ .endif .if ${PORT_OPTIONS:MLIT} ${INSTALL_SCRIPT} ${WRKSRC}/utils/lit/lit.py \ ${STAGEDIR}${LLVM_PREFIX}/bin/lit ${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/lit \ ${STAGEDIR}${LLVM_PREFIX}/bin/llvm-lit ${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/lit \ ${STAGEDIR}${PREFIX}/bin/lit${LLVM_SUFFIX} ${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/lit \ ${STAGEDIR}${PREFIX}/bin/llvm-lit${LLVM_SUFFIX} ${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX} ${INSTALL_DATA} ${WRKSRC}/utils/lit/lit/*.py \ ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX} ${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX}/formats ${INSTALL_DATA} ${WRKSRC}/utils/lit/lit/formats/*.py \ ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX}/formats ${INSTALL_PROGRAM} ${WRKSRC}/${RELEASE_TYPE}/bin/FileCheck \ ${STAGEDIR}${LLVM_PREFIX}/bin/ ${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/FileCheck \ ${STAGEDIR}${PREFIX}/bin/FileCheck${LLVM_SUFFIX} .endif .if ${PORT_OPTIONS:MMANPAGES} for man in ${MAN1SRCS}; do \ ${INSTALL_MAN} ${WRKSRC}/docs/_build/man/$${man} \ ${STAGEDIR}${MANPREFIX}/man/man1/$${man%.1}${LLVM_SUFFIX}.1 ; \ done .endif TEST_CMD= '(cd ${WRKSRC}/test; ${SETENV} ${MAKE_ENV} LD_LIBRARY_PATH=${WRKSRC}/Release/lib ${MAKE_CMD} check-local-lit)' regression-test: ${BUILD_COOKIE} if [ `${ID} -u` = 0 ]; then \ ${CHOWN} -R nobody ${WRKSRC}/test; \ su -m nobody -c ${TEST_CMD}; \ else \ ${SH} -c ${TEST_CMD}; \ fi build-plist: ${RM} ${PLIST} .for command in ${COMMANDS} ${ECHO_CMD} bin/${command}%%LLVM_SUFFIX%% >> ${PLIST} .endfor .for command in ${LIT_COMMANDS} ${ECHO_CMD} %%LIT%%bin/${command}%%LLVM_SUFFIX%% >> ${PLIST} ${ECHO_CMD} %%LIT%%${LLVM_PREFIX:S|${PREFIX}/||:C|${LLVM_SUFFIX}|%%LLVM_SUFFIX%%|}/bin/${command} \ >> ${PLIST} .endfor ${FIND} ${STAGEDIR}${LLVM_PREFIX} -type f -o -type l | \ ${GREP} -v 'lit$$' | ${GREP} -v 'FileCheck$$' | \ ${GREP} -v man/man1 | ${SED} -e 's|${STAGEDIR}${PREFIX}/||' \ -e 's|${LLVM_SUFFIX}|%%LLVM_SUFFIX%%|' \ -e 's|${LLVM_RELEASE}|%%LLVM_RELEASE%%|' | \ ${SORT} >> ${PLIST} ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX} -type f | \ ${SED} -e 's|${STAGEDIR}${PYTHON_SITELIBDIR}|%%LIT%%%%PYTHON_SITELIBDIR%%|' \ -e 's|${LLVM_SUFFIX}|%%LLVM_SUFFIX%%|' | \ ${SORT} >> ${PLIST} ${FIND} ${STAGEDIR}${DOCSDIR} -type f | \ ${SED} -e 's|${STAGEDIR}${DOCSDIR}|%%PORTDOCS%%%%DOCSDIR%%|' | \ ${SORT} >> ${PLIST} .if make(svn-patch) .if !defined(PATCH_REV) .error svn-patch requires that PATCH_REV be set .endif _PATCH_FILE=${FILESDIR}/patch-svn-${PATCH_REV} _LLVM_BASE=http://llvm.org/svn/llvm-project/llvm/trunk svn-patch: ${PRINTF} "$$%s$$\n" FreeBSD > ${_PATCH_FILE} svn log -c ${PATCH_REV} ${_LLVM_BASE} >> ${_PATCH_FILE} svn diff -c ${PATCH_REV} ${_LLVM_BASE} >> ${_PATCH_FILE} .endif .include