Index: head/devel/llvm34/Makefile =================================================================== --- head/devel/llvm34/Makefile (revision 402594) +++ head/devel/llvm34/Makefile (revision 402595) @@ -1,285 +1,289 @@ # $FreeBSD$ PORTNAME= llvm PORTVERSION= 3.4.2 PORTREVISION= 2 CATEGORIES= devel lang MASTER_SITES= http://llvm.org/releases/${PORTVERSION}/ DISTNAME= ${PORTNAME}-${PORTVERSION}.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-${PORTVERSION}.src USES= execinfo gmake perl5 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-${DISTVERSION:C/([0-9]\.[0-9]).*/\1/:C/rc[0-9]//}.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= CMAKE 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 +.if ${ARCH} == powerpc +USE_GCC= yes +.endif + # 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:${PORTSDIR}/devel/cmake PORTDATA+= cmake .endif .if ${PORT_OPTIONS:MDOCS} || ${PORT_OPTIONS:MMANPAGES} BUILD_DEPENDS+= sphinx-build:${PORTSDIR}/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:${PORTSDIR}/devel/binutils RUN_DEPENDS+= ld.gold:${PORTSDIR}/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-prof.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 ${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" ${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} -f ${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} ${FIND} ${STAGEDIR}${LLVM_PREFIX} -type d | \ ${SED} -e 's|${STAGEDIR}${PREFIX}/||' | \ ${SORT} -r | ${SED} -e 's|^|@dirrm |' \ -e 's|${LLVM_SUFFIX}|%%LLVM_SUFFIX%%|' >> ${PLIST} echo "%%LIT%%@dirrm %%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%" >> \ ${PLIST} echo "%%LIT%%@dirrm %%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/formats" >> \ ${PLIST} ${FIND} ${STAGEDIR}${DOCSDIR} -type d | \ ${SED} -e 's|${STAGEDIR}${DOCSDIR}|%%PORTDOCS%%@dirrm %%DOCSDIR%%|' | \ ${SORT} -r >> ${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/graphics/openimageio/Makefile =================================================================== --- head/graphics/openimageio/Makefile (revision 402594) +++ head/graphics/openimageio/Makefile (revision 402595) @@ -1,112 +1,116 @@ # Created by: Shane Ambler # $FreeBSD$ PORTNAME= openimageio PORTVERSION= 1.5.20 DISTVERSIONPREFIX= Release- PORTREVISION?= 2 CATEGORIES?= graphics multimedia MAINTAINER?= FreeBSD@Shaneware.biz COMMENT?= OpenImageIO graphics library LICENSE= BSD3CLAUSE USE_GITHUB= yes GH_ACCOUNT= OpenImageIO GH_PROJECT= oiio # fbm also installs bin/idiff CONFLICTS= fbm-[0-9]* USES= cmake:outsource CMAKE_ARGS= -DBUILDSTATIC:BOOL=OFF \ -DLINKSTATIC:BOOL=OFF \ -DNOTHREADS:BOOL=OFF \ -DSTOP_ON_WARNING:BOOL=OFF \ -DUSE_CPP11:BOOL=OFF \ -DUSE_OPENSSL:BOOL=OFF CXXFLAGS+= -D__STDC_CONSTANT_MACROS OPTIONS_DEFINE= DOCS FFMPEG FREETYPE GIF IMAGEVIEWER OCIO OPENCV \ OPENJPEG RAW TEST OPTIONS_DEFAULT= FREETYPE GIF OCIO OPENJPEG OPTIONS_SUB= yes FFMPEG_DESC= Use FFmpeg to support extra file types IMAGEVIEWER_DESC= Build image viewer (requires Qt) OCIO_DESC= Color management support DOCS_CMAKE_ON= -DINSTALL_DOCS:BOOL=ON DOCS_CMAKE_OFF= -DINSTALL_DOCS:BOOL=OFF FFMPEG_CMAKE_ON= -DUSE_FFMPEG:BOOL=ON FFMPEG_CMAKE_OFF= -DUSE_FFMPEG:BOOL=OFF FFMPEG_LIB_DEPENDS= libavutil.so:${PORTSDIR}/multimedia/ffmpeg FREETYPE_CMAKE_ON= -DUSE_FREETYPE:BOOL=ON FREETYPE_CMAKE_OFF= -DUSE_FREETYPE:BOOL=OFF FREETYPE_LIB_DEPENDS= libfreetype.so:${PORTSDIR}/print/freetype2 GIF_CMAKE_ON= -DUSE_GIF:BOOL=ON GIF_CMAKE_OFF= -DUSE_GIF:BOOL=OFF GIF_LIB_DEPENDS= libgif.so:${PORTSDIR}/graphics/giflib IMAGEVIEWER_CMAKE_ON= -DUSE_QT:BOOL=ON -DUSE_OPENGL:BOOL=ON IMAGEVIEWER_CMAKE_OFF= -DUSE_OPENGL:BOOL=OFF -DUSE_QT:BOOL=OFF IMAGEVIEWER_USE= GL=glew QT4=corelib,gui,opengl,qmake_build,moc_build,rcc_build,uic_build OCIO_CMAKE_ON= -DUSE_OCIO:BOOL=ON OCIO_CMAKE_OFF= -DUSE_OCIO:BOOL=OFF OCIO_LIB_DEPENDS= libOpenColorIO.so:${PORTSDIR}/graphics/opencolorio OPENCV_CMAKE_ON= -DUSE_OPENCV:BOOL=ON OPENCV_CMAKE_OFF= -DUSE_OPENCV:BOOL=OFF OPENCV_LIB_DEPENDS= libopencv_highgui.so:${PORTSDIR}/graphics/opencv OPENJPEG_CMAKE_ON= -DUSE_OPENJPEG:BOOL=ON OPENJPEG_CMAKE_OFF= -DUSE_OPENJPEG:BOOL=OFF OPENJPEG_LIB_DEPENDS= libopenjpeg.so:${PORTSDIR}/graphics/openjpeg15 RAW_CMAKE_ON= -DUSE_LIBRAW:BOOL=ON RAW_CMAKE_OFF= -DUSE_LIBRAW:BOOL=OFF RAW_LIB_DEPENDS= libraw_r.so:${PORTSDIR}/graphics/libraw TEST_CMAKE_ON= -DOIIO_BUILD_TESTS:BOOL=ON TEST_CMAKE_OFF= -DOIIO_BUILD_TESTS:BOOL=OFF PLIST_SUB+= LIBVERS=${PORTVERSION} .include +.if ${ARCH} == powerpc +USE_GCC= yes +.endif + .if ${SLAVE_PORT} == no LIB_DEPENDS+= libIlmImf.so:${PORTSDIR}/graphics/OpenEXR \ libboost_thread.so:${PORTSDIR}/devel/boost-libs \ libhdf5.so:${PORTSDIR}/science/hdf5 \ libwebp.so:${PORTSDIR}/graphics/webp USE_LDCONFIG= yes CMAKE_ARGS+= -DUSE_PYTHON:BOOL=OFF -DUSE_PYTHON3:BOOL=OFF \ -DOIIO_BUILD_TOOLS:BOOL=ON .else LIB_DEPENDS= libOpenImageIO.so:${PORTSDIR}/graphics/openimageio \ libboost_python.so:${PORTSDIR}/devel/boost-python-libs PLIST= ${PKGDIR}/pkg-plist-pybind #while oiio supports py3, ports doesn't have py3 support for boost-python yet USES+= python:2 CMAKE_ARGS+= -DUSE_PYTHON:BOOL=ON -DUSE_PYTHON3:BOOL=OFF \ -DOIIO_BUILD_TOOLS:BOOL=OFF .endif post-patch: @${REINPLACE_CMD} -e 's|share/doc/OpenImageIO|${DOCSDIR}|g' \ ${WRKSRC}/CMakeLists.txt post-install: .if ${SLAVE_PORT} == no ${LN} -sf libOpenImageIO.so.1.5 \ ${STAGEDIR}${PREFIX}/lib/libOpenImageIO.so.1 ${LN} -sf libOpenImageIO_Util.so.1.5 \ ${STAGEDIR}${PREFIX}/lib/libOpenImageIO_Util.so.1 .endif .include Index: head/graphics/openimageio/files/patch-src_libOpenImageIO_CMakeLists.txt =================================================================== --- head/graphics/openimageio/files/patch-src_libOpenImageIO_CMakeLists.txt (nonexistent) +++ head/graphics/openimageio/files/patch-src_libOpenImageIO_CMakeLists.txt (revision 402595) @@ -0,0 +1,13 @@ +--- src/libOpenImageIO/CMakeLists.txt.orig 2015-09-28 18:00:17 UTC ++++ src/libOpenImageIO/CMakeLists.txt +@@ -272,6 +272,10 @@ if (EMBEDPLUGINS) + endif () + endif () + ++if (CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8) ++ target_link_libraries (OpenImageIO atomic) ++endif () ++ + link_ilmbase (OpenImageIO) + + if (USE_EXTERNAL_PUGIXML) Property changes on: head/graphics/openimageio/files/patch-src_libOpenImageIO_CMakeLists.txt ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/graphics/openshadinglanguage/Makefile =================================================================== --- head/graphics/openshadinglanguage/Makefile (revision 402594) +++ head/graphics/openshadinglanguage/Makefile (revision 402595) @@ -1,42 +1,46 @@ # Created by: Shane Ambler # $FreeBSD$ PORTNAME= openshadinglanguage PORTVERSION= 1.6.6 DISTVERSIONPREFIX= Release- CATEGORIES= graphics devel MAINTAINER= FreeBSD@Shaneware.biz COMMENT= Advanced shading language for production GI renderers LICENSE= BSD3CLAUSE BUILD_DEPENDS= llvm-config34:${PORTSDIR}/devel/llvm34 \ clang34>=3.4_1:${PORTSDIR}/lang/clang34 LIB_DEPENDS= libboost_thread.so:${PORTSDIR}/devel/boost-libs \ libIlmImf.so:${PORTSDIR}/graphics/OpenEXR \ libOpenImageIO.so:${PORTSDIR}/graphics/openimageio RUN_DEPENDS= llvm-config34:${PORTSDIR}/devel/llvm34 USE_GITHUB= yes GH_ACCOUNT= imageworks GH_PROJECT= OpenShadingLanguage CMAKE_ARGS= -DLLVM_CONFIG:STRING="${LOCALBASE}/bin/llvm-config34" \ -DENABLERTTI:BOOL=ON USE_LDCONFIG= yes USES= bison cmake:outsource .include +.if ${ARCH} == powerpc +USE_GCC= yes +.endif + .if ${OSVERSION} < 1000033 BUILD_DEPENDS+= flex>=2.5.37:${PORTSDIR}/textproc/flex CMAKE_ARGS+= -DFLEX_EXECUTABLE:STRING=${LOCALBASE}/bin/flex CXXFLAGS+= -I${LOCALBASE}/include/flex .endif post-patch: @${REINPLACE_CMD} -e 's,/bin/bash,/bin/sh,' \ ${WRKSRC}/src/liboslexec/serialize-bc.bash .include Index: head/lang/clang34/Makefile =================================================================== --- head/lang/clang34/Makefile (revision 402594) +++ head/lang/clang34/Makefile (revision 402595) @@ -1,209 +1,213 @@ # $FreeBSD$ PORTNAME= clang DISTVERSION= 3.4.2 PORTREVISION= 4 CATEGORIES= lang devel MASTER_SITES= http://llvm.org/releases/${PORTVERSION}/ PKGNAMESUFFIX= ${LLVM_SUFFIX} DISTNAME= ${CLANG_NAME} DISTFILES= ${CLANG_SOURCE} \ ${LLVM_SOURCE} MAINTAINER= brooks@FreeBSD.org COMMENT= C, Objective-C, and C++ compiler CLANG_NAME= cfe-${DISTVERSION}.src CLANG_SOURCE= ${CLANG_NAME}${EXTRACT_SUFX} CLANG_EXTRACT= cfe-${DISTVERSION}.src LLVM_NAME= llvm-${DISTVERSION}.src LLVM_SOURCE= ${LLVM_NAME}${EXTRACT_SUFX} LLVM_EXTRACT= llvm-${DISTVERSION}.src LIBNAME= libLLVM-${DISTVERSION:C/([0-9]\.[0-9]).*/\1/:C/rc[0-9]//}.so WRKSRC= ${WRKDIR}/${LLVM_EXTRACT} BUILD_WRKSRC= ${WRKSRC}/tools/clang INSTALL_WRKSRC= ${WRKSRC}/tools/clang BUILD_DEPENDS+= llc${LLVM_SUFFIX}:${PORTSDIR}/devel/llvm${LLVM_SUFFIX} RUN_DEPENDS+= llc${LLVM_SUFFIX}:${PORTSDIR}/devel/llvm${LLVM_SUFFIX} LLVM_SUFFIX= ${PORTVERSION:C/([0-9]\.[0-9]).*/\1/:S/.//g:C/r.//} LLVM_PREFIX= ${PREFIX}/llvm${LLVM_SUFFIX} DATADIR= ${PREFIX}/share/${PORTNAME}${LLVM_SUFFIX} DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${LLVM_SUFFIX} PYTHONLIBDIR= ${LLVM_PREFIX}/lib/python GNU_CONFIGURE= yes GNU_CONFIGURE_PREFIX= ${LLVM_PREFIX} USES= gmake libedit perl5 python USE_LDCONFIG= yes MAKE_ARGS= CLANG_TBLGEN=${WRKSRC}/${RELTYPE}/bin/clang-tblgen \ LLVMIncDir=${LLVM_PREFIX}/include \ LLVMToolDir=${LLVM_PREFIX}/bin \ LLVMLibDir=${LLVM_PREFIX}/lib SUB_FILES= llvm-wrapper.sh SUB_LIST= LLVM_PREFIX="${LLVM_PREFIX}" LLVM_SUFFIX="${LLVM_SUFFIX}" OPTIONS_DEFINE= ASSERTS DOCS ASSERTS_DESC= Enable assertions (thread unsafe) CONFIGURE_ARGS+= --enable-optimized --enable-shared # Build some docs manually later CONFIGURE_ARGS+= --disable-docs PLIST_SUB+= LLVM_SUFFIX=${LLVM_SUFFIX} \ PORTVERSION=${PORTVERSION} COMMANDS= c++-analyzer \ c-index-test \ ccc-analyzer \ clang \ clang++ \ clang-check \ clang-cpp \ clang-format \ clang-tblgen \ scan-build \ scan-view FIRST_COMMAND= ${COMMANDS:C/^/XXXX/1:MXXXX*:C/^XXXX//} PORTDATA= scanview.css \ sorttable.js .include +.if ${ARCH} == powerpc +USE_GCC= yes +.endif + # 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 RELTYPE= Release+Asserts .else CONFIGURE_ARGS+= --disable-assertions RELTYPE= Release .endif .include .if ${PORT_OPTIONS:MASSERTS} pre-fetch: @if [ "`llvm-config${LLVM_SUFFIX} --build-mode`" != ${RELTYPE} ]; then \ ${ECHO_MSG} ;\ ${ECHO_MSG} ASSERTS option enabled, but devel/llvm${LLVM_SUFFIX} was compiled without ASSERTS. ;\ ${ECHO_MSG} Correct options mismatch to proceed. ;\ ${ECHO_MSG} ;\ false ;\ fi .endif post-extract: ${RM} -f ${BUILD_WRKSRC} ${MV} ${WRKDIR}/${CLANG_EXTRACT} ${BUILD_WRKSRC} 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|/usr/local/|${LOCALBASE}/|g' \ ${WRKSRC}/tools/clang/lib/Frontend/InitHeaderSearch.cpp ${REINPLACE_CMD} -e 's|%%DATADIR%%|${DATADIR}/|g' \ -e 's|%%LLVM_SUFFIX%%|${LLVM_SUFFIX}|g' \ ${WRKSRC}/tools/clang/tools/scan-build/scan-build pre-build: ${LN} -sf ${LLVM_PREFIX}/include/llvm/IR/Intrinsics.gen \ ${WRKSRC}/include/llvm/IR/ ${MKDIR} ${WRKSRC}/${RELTYPE}/lib ${LN} -sf ${LLVM_PREFIX}/lib/${LIBNAME} ${WRKSRC}/${RELTYPE}/lib/ ${LN} -sf ${LLVM_PREFIX}/lib/libLLVMTableGen.a ${WRKSRC}/${RELTYPE}/lib/ ${LN} -sf ${LLVM_PREFIX}/lib/libLLVMSupport.a ${WRKSRC}/${RELTYPE}/lib/ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC}/utils/unittest post-build: ${SETENV} ${MAKE_ENV} \ ${MAKE_CMD} -C ${WRKSRC}/tools/clang/docs/tools man ${SETENV} ${MAKE_ENV} \ ${MAKE_CMD} -C ${WRKSRC}/tools/clang/docs/tools html ps post-install: ${STRIP_CMD} ${STAGEDIR}${LLVM_PREFIX}/lib/libclang.so ${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/clang \ ${STAGEDIR}${LLVM_PREFIX}/bin/clang-cpp ${INSTALL_SCRIPT} ${WRKDIR}/llvm-wrapper.sh \ ${STAGEDIR}${PREFIX}/bin/${FIRST_COMMAND}${LLVM_SUFFIX} ${INSTALL_SCRIPT} ${WRKSRC}/tools/clang/tools/scan-build/ccc-analyzer \ ${WRKSRC}/tools/clang/tools/scan-build/c++-analyzer \ ${WRKSRC}/tools/clang/tools/scan-build/scan-build \ ${WRKSRC}/tools/clang/tools/scan-view/scan-view \ ${STAGEDIR}${LLVM_PREFIX}/bin/ ${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKSRC}/tools/clang/tools/scan-build/scanview.css \ ${WRKSRC}/tools/clang/tools/scan-build/sorttable.js \ ${STAGEDIR}${DATADIR} .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 cd ${WRKSRC}/tools/clang/docs/tools && \ ${MAKE_CMD} DESTDIR=${STAGEDIR}/ install-html install-ps ${MKDIR} ${STAGEDIR}${PYTHONLIBDIR} ${MKDIR} ${STAGEDIR}${PYTHONLIBDIR}/Resources ${INSTALL_SCRIPT} ${WRKSRC}/tools/clang/tools/scan-view/*.py \ ${STAGEDIR}${PYTHONLIBDIR} ${INSTALL_SCRIPT} ${WRKSRC}/tools/clang/tools/scan-view/Resources/* \ ${STAGEDIR}${PYTHONLIBDIR}/Resources ${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKSRC}/tools/clang/tools/scan-build/scanview.css \ ${WRKSRC}/tools/clang/tools/scan-build/sorttable.js \ ${STAGEDIR}${DATADIR} ${INSTALL_MAN} ${WRKSRC}/tools/clang/docs/tools/clang.1 \ ${STAGEDIR}${MANPREFIX}/man/man1/clang${LLVM_SUFFIX}.1 ${INSTALL_MAN} ${WRKSRC}/tools/clang/tools/scan-build/scan-build.1 \ ${STAGEDIR}${MANPREFIX}/man/man1/scan-build${LLVM_SUFFIX}.1 PLIST_FILE_LIST= ${COMMANDS:S|^|bin/|} \ lib/libclang* PLIST_DIR_LIST= include/clang \ include/clang-c \ lib/clang \ lib/python build-plist: ${RM} -f ${PLIST} .for command in ${COMMANDS} ${ECHO_CMD} bin/${command}%%LLVM_SUFFIX%% >> ${PLIST} .endfor (ls ${PLIST_FILE_LIST:S|^|${STAGEDIR}${LLVM_PREFIX}/|}; \ ${FIND} ${PLIST_DIR_LIST:S|^|${STAGEDIR}${LLVM_PREFIX}/|} -type f) \ | ${SED} -e 's|${STAGEDIR}${PREFIX}/||' \ -e 's|${LLVM_SUFFIX}|%%LLVM_SUFFIX%%|' | ${SORT} >> ${PLIST} echo man/man1/clang%%LLVM_SUFFIX%%.1.gz >> ${PLIST} echo man/man1/scan-build%%LLVM_SUFFIX%%.1.gz >> ${PLIST} ${FIND} ${STAGEDIR}${DOCSDIR} -type f | \ ${SED} -e 's|${STAGEDIR}${DOCSDIR}|%%PORTDOCS%%%%DOCSDIR%%|' | \ ${SORT} >> ${PLIST} >> ${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/cfe/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} | \ ${SED} -e 's;^--- ;--- tools/clang/;' | \ ${SED} -e 's;^+++ ;+++ tools/clang/;' >> \ ${_PATCH_FILE} .endif .include