aboutsummaryrefslogtreecommitdiff
path: root/devel/clang
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2009-10-24 23:30:19 +0000
committerBrooks Davis <brooks@FreeBSD.org>2009-10-24 23:30:19 +0000
commitc17defb20171b7b4717ca46633c311f7c3d3e5ca (patch)
treee378b3b91bb4a0ef1365b2c1cb78438c85b49c79 /devel/clang
parent95e3ccce00139d07a42ae452916cf042c4b664bc (diff)
downloadports-c17defb20171b7b4717ca46633c311f7c3d3e5ca.tar.gz
ports-c17defb20171b7b4717ca46633c311f7c3d3e5ca.zip
Notes
Diffstat (limited to 'devel/clang')
-rw-r--r--devel/clang/Makefile116
-rw-r--r--devel/clang/distinfo6
-rw-r--r--devel/clang/files/patch-Makefile14
-rw-r--r--devel/clang/pkg-descr4
-rw-r--r--devel/clang/pkg-plist42
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%%