diff options
author | Brooks Davis <brooks@FreeBSD.org> | 2009-10-24 23:30:19 +0000 |
---|---|---|
committer | Brooks Davis <brooks@FreeBSD.org> | 2009-10-24 23:30:19 +0000 |
commit | c17defb20171b7b4717ca46633c311f7c3d3e5ca (patch) | |
tree | e378b3b91bb4a0ef1365b2c1cb78438c85b49c79 /devel/clang | |
parent | 95e3ccce00139d07a42ae452916cf042c4b664bc (diff) | |
download | ports-c17defb20171b7b4717ca46633c311f7c3d3e5ca.tar.gz ports-c17defb20171b7b4717ca46633c311f7c3d3e5ca.zip |
Notes
Diffstat (limited to 'devel/clang')
-rw-r--r-- | devel/clang/Makefile | 116 | ||||
-rw-r--r-- | devel/clang/distinfo | 6 | ||||
-rw-r--r-- | devel/clang/files/patch-Makefile | 14 | ||||
-rw-r--r-- | devel/clang/pkg-descr | 4 | ||||
-rw-r--r-- | devel/clang/pkg-plist | 42 |
5 files changed, 182 insertions, 0 deletions
diff --git a/devel/clang/Makefile b/devel/clang/Makefile new file mode 100644 index 000000000000..6fa882432464 --- /dev/null +++ b/devel/clang/Makefile @@ -0,0 +1,116 @@ +# New ports collection makefile for: clang +# Date created: 24 Oct 2009 +# Whom: Brooks Davis +# +# $FreeBSD$ +# + +PORTNAME= clang +PORTVERSION= 2.6 +CATEGORIES= devel lang +MASTER_SITES= http://llvm.org/releases/${PORTVERSION}/ +DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ + ${LLVM_SOURCE} +EXTRACT_ONLY= ${LLVM_SOURCE} + +MAINTAINER= brooks@FreeBSD.org +COMMENT= C, Objective-C, and (soon) C++ compiler + +CLANG_NAME= clang-${PORTVERSION} +CLANG_SOURCE= ${CLANG_NAME}${EXTRACT_SUFX} +LLVM_NAME= llvm-${PORTVERSION} +LLVM_SOURCE= ${LLVM_NAME}${EXTRACT_SUFX} + +WRKSRC= ${WRKDIR}/${LLVM_NAME} +INSTALL_WRKSRC= ${WRKSRC}/tools/clang + +BUILD_DEPENDS+= llvm=2.6:${PORTSDIR}/devel/llvm +RUN_DEPENDS+= llvm=2.6:${PORTSDIR}/devel/llvm +.if defined(PACKAGE_BUILDING) || defined(MAINTAINER_MODE) +BUILD_DEPENDS+= runtest:${PORTSDIR}/misc/dejagnu +.endif +.if defined(MAINTAINER_MODE) +BUILD_DEPENDS+= f2c:${PORTSDIR}/lang/f2c +.endif + +GNU_CONFIGURE= yes +USE_GMAKE= yes +USE_PERL5_BUILD=yes +MAKE_JOBS_SAFE= yes + +.if defined(MAINTAINER_MODE) +CONFIGURE_ARGS+= --with-f2c=${LOCALBASE} +.else +CONFIGURE_ARGS+= --enable-optimized +.endif + +.if defined(NOPORTDOCS) +DOCSRCDIR= +.else +DOCSRCDIR= docs +.endif + +MAN1= clang.1 + +.include <bsd.port.pre.mk> + +.if ${ARCH} == "sparc64" +BROKEN= Does not compile on sparc64 +.endif + +post-extract: + cd ${WRKSRC}/tools && \ + tar xf ${DISTDIR}/${CLANG_SOURCE} && \ + ${MV} ${CLANG_NAME} clang + +post-patch: + ${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|%%DOCSRCDIR%%|${DOCSRCDIR}|' \ + ${WRKSRC}/Makefile + ${REINPLACE_CMD} -e 's|/usr/bin/env perl|${PERL}|' \ + ${WRKSRC}/tools/clang/utils/ccc-analyzer \ + ${WRKSRC}/tools/clang/utils/scan-build + +post-install: + @${INSTALL_SCRIPT} ${WRKSRC}/tools/clang/utils/ccc-analyzer \ + ${PREFIX}/bin + @${INSTALL_SCRIPT} ${WRKSRC}/tools/clang/utils/scan-build \ + ${PREFIX}/bin + @${MKDIR} ${DATADIR} + @${INSTALL_DATA} ${WRKSRC}/tools/clang/utils/scanview.css ${DATADIR} + @${INSTALL_DATA} ${WRKSRC}/tools/clang/utils/sorttable.js ${DATADIR} + +TEST_CMD= '(cd ${WRKSRC}/test; ${SETENV} ${MAKE_ENV} ${GMAKE} check)' +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 + +PLIST_FILE_LIST= bin/ccc-analyzer \ + bin/clang \ + bin/scan-build \ + libexec/clang-cc +PLIST_DIR_LIST= lib/clang +build-plist: + ${RM} -f ${PLIST} + cd ${PREFIX} && \ + (ls ${PLIST_FILE_LIST}; ${FIND} ${PLIST_DIR_LIST} -type f) | \ + ${SORT} >> ${PLIST} + ${FIND} ${DATADIR} ${DOCSDIR} -type f | \ + ${SED} -e 's|${DATADIR}|%%DATADIR%%|' \ + -e 's|${DOCSDIR}|%%PORTDOCS%%%%DOCSDIR%%|' | ${SORT} >> ${PLIST} + cd ${PREFIX} && \ + ${FIND} ${PLIST_DIR_LIST} -type d | \ + ${SORT} -r | ${SED} -e 's|^|@dirrm |' >> ${PLIST} + ${FIND} ${DOCSDIR} -type d | ${SORT} -r | \ + ${SED} -e 's|${DATADIR}|%%DATADIR%%|' \ + -e 's|${DOCSDIR}|%%DOCSDIR%%|' \ + -e 's|^|%%PORTDOCS%%@dirrm |' >> ${PLIST} + +.include <bsd.port.post.mk> diff --git a/devel/clang/distinfo b/devel/clang/distinfo new file mode 100644 index 000000000000..2ca85665166e --- /dev/null +++ b/devel/clang/distinfo @@ -0,0 +1,6 @@ +MD5 (llvm-2.6.tar.gz) = 34a11e807add0f4555f691944e1a404a +SHA256 (llvm-2.6.tar.gz) = 4cd9257350c5ff8b9b139d19497e2396c0604eef0e5d6504f5c1463b09bf2d84 +SIZE (llvm-2.6.tar.gz) = 7790380 +MD5 (clang-2.6.tar.gz) = 09d696bf23bb4a3cf6af3c7341cdd946 +SHA256 (clang-2.6.tar.gz) = 98e22f4f5877fb3c73abb9ddcb3065ba9c94a21146387da7f905e6fd559d39ea +SIZE (clang-2.6.tar.gz) = 3857138 diff --git a/devel/clang/files/patch-Makefile b/devel/clang/files/patch-Makefile new file mode 100644 index 000000000000..59fe73be2c8e --- /dev/null +++ b/devel/clang/files/patch-Makefile @@ -0,0 +1,14 @@ + +$FreeBSD$ + +--- Makefile.orig ++++ Makefile +@@ -24,7 +24,7 @@ + OPTIONAL_DIRS := + else + DIRS := lib/System lib/Support utils lib/VMCore lib tools/llvm-config \ +- tools runtime docs ++ tools runtime %%DOCSRCDIR%% + OPTIONAL_DIRS := examples projects bindings + endif + diff --git a/devel/clang/pkg-descr b/devel/clang/pkg-descr new file mode 100644 index 000000000000..37b1d8e486d6 --- /dev/null +++ b/devel/clang/pkg-descr @@ -0,0 +1,4 @@ +The goal of the Clang project is to create a new C, C++, Objective C and +Objective C++ front-end for the LLVM compiler. + +WWW: http://clang.llvm.org/ diff --git a/devel/clang/pkg-plist b/devel/clang/pkg-plist new file mode 100644 index 000000000000..53fbbda13f19 --- /dev/null +++ b/devel/clang/pkg-plist @@ -0,0 +1,42 @@ +bin/ccc-analyzer +bin/clang +bin/scan-build +lib/clang/1.0/include/emmintrin.h +lib/clang/1.0/include/float.h +lib/clang/1.0/include/iso646.h +lib/clang/1.0/include/limits.h +lib/clang/1.0/include/mm_malloc.h +lib/clang/1.0/include/mmintrin.h +lib/clang/1.0/include/pmmintrin.h +lib/clang/1.0/include/stdarg.h +lib/clang/1.0/include/stdbool.h +lib/clang/1.0/include/stddef.h +lib/clang/1.0/include/stdint.h +lib/clang/1.0/include/tgmath.h +lib/clang/1.0/include/tmmintrin.h +lib/clang/1.0/include/xmmintrin.h +libexec/clang-cc +%%DATADIR%%/scanview.css +%%DATADIR%%/sorttable.js +%%PORTDOCS%%%%DOCSDIR%%/html.tar.gz +%%PORTDOCS%%%%DOCSDIR%%/html/AnalyzerRegions.html +%%PORTDOCS%%%%DOCSDIR%%/html/DriverInternals.html +%%PORTDOCS%%%%DOCSDIR%%/html/InternalsManual.html +%%PORTDOCS%%%%DOCSDIR%%/html/LanguageExtensions.html +%%PORTDOCS%%%%DOCSDIR%%/html/PCHInternals.html +%%PORTDOCS%%%%DOCSDIR%%/html/PTHInternals.html +%%PORTDOCS%%%%DOCSDIR%%/html/UsersManual.html +%%PORTDOCS%%%%DOCSDIR%%/html/clang/clang.html +%%PORTDOCS%%%%DOCSDIR%%/html/clang/manpage.css +%%PORTDOCS%%%%DOCSDIR%%/html/doxygen.css +%%PORTDOCS%%%%DOCSDIR%%/html/index.html +%%PORTDOCS%%%%DOCSDIR%%/html/libIndex.html +%%PORTDOCS%%%%DOCSDIR%%/ps/clang.ps +@dirrm lib/clang/1.0/include +@dirrm lib/clang/1.0 +@dirrm lib/clang +%%PORTDOCS%%@dirrm %%DOCSDIR%%/ps +%%PORTDOCS%%@dirrm %%DOCSDIR%%/html/img +%%PORTDOCS%%@dirrm %%DOCSDIR%%/html/clang +%%PORTDOCS%%@dirrm %%DOCSDIR%%/html +%%PORTDOCS%%@dirrm %%DOCSDIR%% |