jsg asked about the gcc4 frontend for llvm.

inline is a diff to take ports/devel/llvm to 2.5 release
(note that this loses clang for now). when you've switched
to this version of llvm, there's a preliminary port of the
gcc4.2 frontend attached to play with. it's Makefile/distinfo
only at this point.

it's still building here on i386, it may still error out in
the build (so it's obviously totally untested at runtime) but
it's got quite far already, so I thought I'd send it over
before I sleep.

llvm-gcc4 will almost certainly fail on amd64 at the moment.

many parts cribbed from bro...@freebsd's port and lang/gcc/4.2.

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/llvm/Makefile,v
retrieving revision 1.9
diff -N -u -p Makefile
--- Makefile    17 May 2009 09:40:53 -0000      1.9
+++ Makefile    3 Jun 2009 02:44:20 -0000
@@ -2,18 +2,17 @@
 
 COMMENT =      Low Level Virtual Machine (LLVM) compiler infrastructure
 
-SVN_SNAPDATE = 2009-02-05
-SNAPDATE =     ${SVN_SNAPDATE:S/-//g}
-V =            2.5.snap${SNAPDATE}
+V =            2.5
 DISTNAME =     llvm-$V
-PKGNAME =      ${DISTNAME}p1
-EXTRACT_SUFX = .tar.bz2
 
 CATEGORIES =   devel
 
 HOMEPAGE =     http://www.llvm.org/
 
-ONLY_FOR_ARCHS =i386 amd64 powerpc
+# has built on these
+ONLY_FOR_ARCHS =i386 amd64 powerpc hppa
+# definitely doesn't work yet
+NOT_FOR_ARCHS =        sparc64
 
 # BSD
 PERMIT_PACKAGE_CDROM = Yes
@@ -23,11 +22,8 @@ PERMIT_DISTFILES_FTP =       Yes
 
 WANTLIB =      c m pthread
 
-# llvm+clang repackaged from SVN.
-MASTER_SITES = http://spacehopper.org/mirrors/
-#MASTER_SITES =        ${MASTER_SITE_FREEBSD_LOCAL:=brooks/}
+MASTER_SITES = http://llvm.org/releases/$V/
 
-# also supports cmake, but requires v2.6.1
 MODULES =      gcc4 lang/python
 MODGCC4_LANGS =        c c++
 MODGCC4_ARCHES =*
@@ -56,9 +52,6 @@ MODGNU_CONFIG_GUESS_DIRS =  ${WRKSRC}/autoconf
 
 pre-configure:
        @perl -pi -e s,-lpthread,-pthread,g ${WRKSRC}/configure
-       @perl -pi -e 's,#!/usr/bin/env python,#!${MODPY_BIN},' \
-           ${WRKSRC}/tools/clang/tools/ccc/ccc
-       @${SUBST_CMD} ${WRKSRC}/tools/clang/utils/scan-build
        @ln -s ${MODPY_BIN} ${WRKDIR}/bin/python
 
 # XXX googletest doesn't build
@@ -66,11 +59,5 @@ pre-configure:
 post-install:
        @${INSTALL_DATA_DIR} ${PREFIX}/share/llvm
        @${INSTALL_DATA_DIR} ${WRKINST}/${MODPY_SITEPKG}
-       @${INSTALL_SCRIPT} ${WRKSRC}/tools/clang/utils/ccc-analyzer \
-           ${WRKSRC}/tools/clang/utils/scan-build ${PREFIX}/bin
-       @${INSTALL_DATA} ${WRKSRC}/tools/clang/utils/sorttable.js 
${PREFIX}/share/llvm
-       @${INSTALL_DATA} ${WRKSRC}/tools/clang/utils/scanview.css 
${PREFIX}/share/llvm
-       @mv ${PREFIX}/bin/ccclib ${WRKINST}/${MODPY_SITEPKG}/ccclib
-       @chown -R ${SHAREOWN}:${SHAREGRP} ${WRKINST}/${MODPY_SITEPKG}/ccclib
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/llvm/distinfo,v
retrieving revision 1.2
diff -N -u -p distinfo
--- distinfo    8 Feb 2009 22:55:43 -0000       1.2
+++ distinfo    3 Jun 2009 02:44:20 -0000
@@ -1,5 +1,5 @@
-MD5 (llvm-2.5.snap20090205.tar.bz2) = 4smvw+BRJf1e6OCfdUi/Aw==
-RMD160 (llvm-2.5.snap20090205.tar.bz2) = LLNFGe/+cpt0auqhhgmNC4opahE=
-SHA1 (llvm-2.5.snap20090205.tar.bz2) = qglqHRg7Ff+xVXQ0SJCjABRX024=
-SHA256 (llvm-2.5.snap20090205.tar.bz2) = 
pHuAooPhh87QpHPMiv+tClCAnAqWdG0zQHK2boS+6ac=
-SIZE (llvm-2.5.snap20090205.tar.bz2) = 7011566
+MD5 (llvm-2.5.tar.gz) = Vd8uqGZcgJStLvhRh7n8dA==
+RMD160 (llvm-2.5.tar.gz) = LJBLjQvM5WXtERFLkhMhoEBOI/4=
+SHA1 (llvm-2.5.tar.gz) = Z/S6zp5kzDklVYOqg3Rw2bneCqU=
+SHA256 (llvm-2.5.tar.gz) = jz1p5jvF0e4sLuSf8HzLfgcAcKDpN4E9KmF5ueLhc+0=
+SIZE (llvm-2.5.tar.gz) = 6660609
Index: patches/patch-tools_clang_lib_Lex_Lexer_cpp
===================================================================
RCS file: /cvs/ports/devel/llvm/patches/patch-tools_clang_lib_Lex_Lexer_cpp,v
retrieving revision 1.2
diff -N -u -p patches/patch-tools_clang_lib_Lex_Lexer_cpp
--- patches/patch-tools_clang_lib_Lex_Lexer_cpp 8 Feb 2009 22:55:43 -0000       
1.2
+++ /dev/null   1 Nov 2007 14:18:14 -0000
@@ -1,11 +0,0 @@
-$OpenBSD: patch-tools_clang_lib_Lex_Lexer_cpp,v 1.2 2009/02/08 22:55:43 sthen 
Exp $
---- tools/clang/lib/Lex/Lexer.cpp.orig Thu Feb  5 13:23:01 2009
-+++ tools/clang/lib/Lex/Lexer.cpp      Thu Feb  5 16:07:01 2009
-@@ -975,6 +975,7 @@ static bool isEndOfBlockCommentWithEscapedNewLine(cons
-   return true;
- }
- 
-+#undef __SSE2__
- #ifdef __SSE2__
- #include <emmintrin.h>
- #elif __ALTIVEC__
Index: patches/patch-tools_clang_utils_scan-build
===================================================================
RCS file: /cvs/ports/devel/llvm/patches/patch-tools_clang_utils_scan-build,v
retrieving revision 1.2
diff -N -u -p patches/patch-tools_clang_utils_scan-build
--- patches/patch-tools_clang_utils_scan-build  8 Feb 2009 22:55:43 -0000       
1.2
+++ /dev/null   1 Nov 2007 14:18:14 -0000
@@ -1,21 +0,0 @@
-$OpenBSD: patch-tools_clang_utils_scan-build,v 1.2 2009/02/08 22:55:43 sthen 
Exp $
---- tools/clang/utils/scan-build.orig  Thu Feb  5 13:22:38 2009
-+++ tools/clang/utils/scan-build       Thu Feb  5 16:07:01 2009
-@@ -402,7 +402,7 @@ sub CopyFiles {
- 
-   my $Dir = shift;
- 
--  my $JS = Cwd::realpath("$RealBin/sorttable.js");
-+  my $JS = Cwd::realpath("${LOCALBASE}/share/llvm/sorttable.js");
-   
-   DieDiag("Cannot find 'sorttable.js'.\n")
-     if (! -r $JS);  
-@@ -412,7 +412,7 @@ sub CopyFiles {
-   DieDiag("Could not copy 'sorttable.js' to '$Dir'.\n")
-     if (! -r "$Dir/sorttable.js");
-     
--  my $CSS = Cwd::realpath("$RealBin/scanview.css");
-+  my $CSS = Cwd::realpath("${LOCALBASE}/share/llvm/scanview.css");
-   
-   DieDiag("Cannot find 'scanview.css'.\n")
-     if (! -r $CSS);
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/llvm/pkg/PLIST,v
retrieving revision 1.4
diff -N -u -p pkg/PLIST
--- pkg/PLIST   8 Feb 2009 22:55:43 -0000       1.4
+++ pkg/PLIST   3 Jun 2009 02:44:20 -0000
@@ -1,20 +1,5 @@
 @comment $OpenBSD: PLIST,v 1.4 2009/02/08 22:55:43 sthen Exp $
-Headers/
-...@comment Headers/.dir
-Headers/emmintrin.h
-Headers/float.h
-Headers/iso646.h
-Headers/mm_malloc.h
-Headers/mmintrin.h
-Headers/stdarg.h
-Headers/stdbool.h
-Headers/stddef.h
-...@comment bin/.dir
-Headers/xmmintrin.h
 @bin bin/bugpoint
-bin/ccc
-bin/ccc-analyzer
-...@bin bin/clang
 bin/gccas
 bin/gccld
 @bin bin/llc
@@ -34,7 +19,6 @@ bin/llvm-config
 @bin bin/llvm-stub
 @bin bin/llvmc
 @bin bin/opt
-bin/scan-build
 include/llvm/
 include/llvm-c/
 include/llvm-c/Analysis.h
@@ -345,7 +329,6 @@ include/llvm/Target/TargetFrameInfo.h
 include/llvm/Target/TargetInstrDesc.h
 include/llvm/Target/TargetInstrInfo.h
 include/llvm/Target/TargetInstrItineraries.h
-include/llvm/Target/TargetIntrinsicInfo.h
 include/llvm/Target/TargetJITInfo.h
 include/llvm/Target/TargetLowering.h
 include/llvm/Target/TargetMachOWriterInfo.h
@@ -380,7 +363,6 @@ include/llvm/Use.h
 include/llvm/User.h
 include/llvm/Value.h
 include/llvm/ValueSymbolTable.h
-...@comment lib/.dir
 lib/LLVMARMAsmPrinter.o
 lib/LLVMARMCodeGen.o
 lib/LLVMAlphaAsmPrinter.o
@@ -422,38 +404,8 @@ lib/libLLVMTarget.a
 lib/libLLVMTransformUtils.a
 lib/libLLVMipa.a
 lib/libLLVMipo.a
-lib/libclangAST.a
-lib/libclangAnalysis.a
-lib/libclangBasic.a
-lib/libclangCodeGen.a
-lib/libclangDriver.a
-lib/libclangLex.a
-lib/libclangParse.a
-lib/libclangRewrite.a
-lib/libclangSema.a
 lib/plugin_llvmc_Base.o
 lib/plugin_llvmc_Clang.o
-lib/python${MODPY_VERSION}/site-packages/ccclib/
-lib/python${MODPY_VERSION}/site-packages/ccclib/Arguments.py
-lib/python${MODPY_VERSION}/site-packages/ccclib/Arguments.pyc
-lib/python${MODPY_VERSION}/site-packages/ccclib/Driver.py
-lib/python${MODPY_VERSION}/site-packages/ccclib/Driver.pyc
-lib/python${MODPY_VERSION}/site-packages/ccclib/HostInfo.py
-lib/python${MODPY_VERSION}/site-packages/ccclib/HostInfo.pyc
-lib/python${MODPY_VERSION}/site-packages/ccclib/Jobs.py
-lib/python${MODPY_VERSION}/site-packages/ccclib/Jobs.pyc
-lib/python${MODPY_VERSION}/site-packages/ccclib/Phases.py
-lib/python${MODPY_VERSION}/site-packages/ccclib/Phases.pyc
-lib/python${MODPY_VERSION}/site-packages/ccclib/ToolChain.py
-lib/python${MODPY_VERSION}/site-packages/ccclib/ToolChain.pyc
-lib/python${MODPY_VERSION}/site-packages/ccclib/Tools.py
-lib/python${MODPY_VERSION}/site-packages/ccclib/Tools.pyc
-lib/python${MODPY_VERSION}/site-packages/ccclib/Types.py
-lib/python${MODPY_VERSION}/site-packages/ccclib/Types.pyc
-lib/python${MODPY_VERSION}/site-packages/ccclib/Util.py
-lib/python${MODPY_VERSION}/site-packages/ccclib/Util.pyc
-lib/python${MODPY_VERSION}/site-packages/ccclib/__init__.py
-lib/python${MODPY_VERSION}/site-packages/ccclib/__init__.pyc
 share/doc/llvm/
 share/doc/llvm/html/
 share/doc/llvm/html.tar.gz
@@ -502,7 +454,6 @@ share/doc/llvm/html/GettingStarted.html
 share/doc/llvm/html/GettingStartedVS.html
 share/doc/llvm/html/HowToReleaseLLVM.html
 share/doc/llvm/html/HowToSubmitABug.html
-share/doc/llvm/html/InternalsManual.html
 share/doc/llvm/html/LangRef.html
 share/doc/llvm/html/Lexicon.html
 share/doc/llvm/html/LinkTimeOptimization.html
@@ -568,8 +519,6 @@ share/doc/llvm/ps/llvmgxx.ps
 share/doc/llvm/ps/opt.ps
 share/doc/llvm/ps/tblgen.ps
 share/llvm/
-share/llvm/scanview.css
-share/llvm/sorttable.js
 share/man/
 share/man/man1/
 @man share/man/man1/bugpoint.1

Attachment: llvm-gcc4.tgz
Description: application/tar-gz

Reply via email to