aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authorbrooks <brooks@FreeBSD.org>2009-10-25 07:30:19 +0800
committerbrooks <brooks@FreeBSD.org>2009-10-25 07:30:19 +0800
commit9771dc9ce6ae0974a158f4eb1177ed0a741d4f66 (patch)
treef2496d81ac9380527e641d179e3ed421af869725 /lang
parent6b03a854e9799addbf65aecb6f52d4c637d4fe19 (diff)
downloadfreebsd-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/Makefile116
-rw-r--r--lang/clang-devel/distinfo6
-rw-r--r--lang/clang-devel/files/patch-Makefile14
-rw-r--r--lang/clang-devel/pkg-descr4
-rw-r--r--lang/clang-devel/pkg-plist42
-rw-r--r--lang/clang/Makefile116
-rw-r--r--lang/clang/distinfo6
-rw-r--r--lang/clang/files/patch-Makefile14
-rw-r--r--lang/clang/pkg-descr4
-rw-r--r--lang/clang/pkg-plist42
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%%