diff options
author | brooks <brooks@FreeBSD.org> | 2009-10-25 07:30:19 +0800 |
---|---|---|
committer | brooks <brooks@FreeBSD.org> | 2009-10-25 07:30:19 +0800 |
commit | 9771dc9ce6ae0974a158f4eb1177ed0a741d4f66 (patch) | |
tree | f2496d81ac9380527e641d179e3ed421af869725 /lang | |
parent | 6b03a854e9799addbf65aecb6f52d4c637d4fe19 (diff) | |
download | freebsd-ports-gnome-9771dc9ce6ae0974a158f4eb1177ed0a741d4f66.tar.gz freebsd-ports-gnome-9771dc9ce6ae0974a158f4eb1177ed0a741d4f66.tar.zst freebsd-ports-gnome-9771dc9ce6ae0974a158f4eb1177ed0a741d4f66.zip |
Add a port of the clang C, Objective-C, and (soon) C++ compiler version
2.6.
NOTE: this port is slightly evil and both depends on llvm and builds all
of it. We hope to find the correct make string to fix this, but wanted
make clang available now.
Diffstat (limited to 'lang')
-rw-r--r-- | lang/clang-devel/Makefile | 116 | ||||
-rw-r--r-- | lang/clang-devel/distinfo | 6 | ||||
-rw-r--r-- | lang/clang-devel/files/patch-Makefile | 14 | ||||
-rw-r--r-- | lang/clang-devel/pkg-descr | 4 | ||||
-rw-r--r-- | lang/clang-devel/pkg-plist | 42 | ||||
-rw-r--r-- | lang/clang/Makefile | 116 | ||||
-rw-r--r-- | lang/clang/distinfo | 6 | ||||
-rw-r--r-- | lang/clang/files/patch-Makefile | 14 | ||||
-rw-r--r-- | lang/clang/pkg-descr | 4 | ||||
-rw-r--r-- | lang/clang/pkg-plist | 42 |
10 files changed, 364 insertions, 0 deletions
diff --git a/lang/clang-devel/Makefile b/lang/clang-devel/Makefile new file mode 100644 index 000000000000..6fa882432464 --- /dev/null +++ b/lang/clang-devel/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/lang/clang-devel/distinfo b/lang/clang-devel/distinfo new file mode 100644 index 000000000000..2ca85665166e --- /dev/null +++ b/lang/clang-devel/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/lang/clang-devel/files/patch-Makefile b/lang/clang-devel/files/patch-Makefile new file mode 100644 index 000000000000..59fe73be2c8e --- /dev/null +++ b/lang/clang-devel/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/lang/clang-devel/pkg-descr b/lang/clang-devel/pkg-descr new file mode 100644 index 000000000000..37b1d8e486d6 --- /dev/null +++ b/lang/clang-devel/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/lang/clang-devel/pkg-plist b/lang/clang-devel/pkg-plist new file mode 100644 index 000000000000..53fbbda13f19 --- /dev/null +++ b/lang/clang-devel/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%% diff --git a/lang/clang/Makefile b/lang/clang/Makefile new file mode 100644 index 000000000000..6fa882432464 --- /dev/null +++ b/lang/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/lang/clang/distinfo b/lang/clang/distinfo new file mode 100644 index 000000000000..2ca85665166e --- /dev/null +++ b/lang/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/lang/clang/files/patch-Makefile b/lang/clang/files/patch-Makefile new file mode 100644 index 000000000000..59fe73be2c8e --- /dev/null +++ b/lang/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/lang/clang/pkg-descr b/lang/clang/pkg-descr new file mode 100644 index 000000000000..37b1d8e486d6 --- /dev/null +++ b/lang/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/lang/clang/pkg-plist b/lang/clang/pkg-plist new file mode 100644 index 000000000000..53fbbda13f19 --- /dev/null +++ b/lang/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%% |