summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrochner <drochner@pkgsrc.org>2009-11-16 23:24:37 +0000
committerdrochner <drochner@pkgsrc.org>2009-11-16 23:24:37 +0000
commitb335f185c08875955f922b9cdd80910d2e4e12f8 (patch)
tree2b5998d93c8e3611c4dd8c85eca6ec1fa833ac97
parentb617078b7e06c1a51074347b08a46eff69a87382 (diff)
downloadpkgsrc-b335f185c08875955f922b9cdd80910d2e4e12f8.tar.gz
add clang-2.6, a C compiler based om LLVM, based on Adam Hoka's llvm
pkg in pkgsrc-wip (This installs all the LLVM bits too, so it conflicts with a pure llvm pkg, but it is not easily separated.)
-rw-r--r--lang/clang/DESCR22
-rw-r--r--lang/clang/Makefile39
-rw-r--r--lang/clang/PLIST595
-rw-r--r--lang/clang/distinfo11
-rw-r--r--lang/clang/patches/patch-ac54
-rw-r--r--lang/clang/patches/patch-ad18
-rw-r--r--lang/clang/patches/patch-ae22
7 files changed, 761 insertions, 0 deletions
diff --git a/lang/clang/DESCR b/lang/clang/DESCR
new file mode 100644
index 00000000000..9bf02c2c5d8
--- /dev/null
+++ b/lang/clang/DESCR
@@ -0,0 +1,22 @@
+Low Level Virtual Machine (LLVM) is:
+
+A compilation strategy designed to enable effective program optimization across
+the entire lifetime of a program. LLVM supports effective optimization at
+compile time, link-time (particularly interprocedural), run-time and offline
+(i.e., after software is installed), while remaining transparent to developers
+and maintaining compatibility with existing build scripts.
+
+A virtual instruction set - LLVM is a low-level object code representation that
+uses simple RISC-like instructions, but provides rich, language-independent,
+type information and dataflow (SSA) information about operands. This combination
+enables sophisticated transformations on object code, while remaining
+light-weight enough to be attached to the executable. This combination is key to
+allowing link-time, run-time, and offline transformations.
+
+A compiler infrastructure - LLVM is also a collection of source code that
+implements the language and compilation strategy. The primary components of the
+LLVM infrastructure are a GCC-based C & C++ front-end, a link-time optimization
+framework with a growing set of global and interprocedural analyses and
+transformations, static back-ends for the X86, X86-64, PowerPC 32/64, ARM,
+Thumb, IA-64, Alpha and SPARC architectures, a back-end which emits portable C
+code, and a Just-In-Time compiler for X86, X86-64, PowerPC 32/64 processors.
diff --git a/lang/clang/Makefile b/lang/clang/Makefile
new file mode 100644
index 00000000000..2baf367da55
--- /dev/null
+++ b/lang/clang/Makefile
@@ -0,0 +1,39 @@
+# $NetBSD: Makefile,v 1.1.1.1 2009/11/16 23:24:37 drochner Exp $
+#
+
+DISTNAME= clang-2.6
+CATEGORIES= lang
+MASTER_SITES= http://llvm.org/releases/${PKGVERSION_NOREV}/
+DISTFILES= llvm-2.6.tar.gz clang-2.6.tar.gz
+
+MAINTAINER= adam.hoka@gmail.com
+HOMEPAGE= http://llvm.org/
+COMMENT= Low Level Virtual Machine compiler infrastructure
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+WRKSRC= ${WRKDIR}/llvm-2.6
+GNU_CONFIGURE= yes
+USE_TOOLS+= gmake perl:build chown
+USE_LANGUAGES+= c c++
+MAKE_DIRS+= etc/llvm
+USE_LIBTOOL= yes
+
+CONFIGURE_ARGS= --enable-bindings=none # no OCaml, please!
+
+INSTALLATION_DIRS= bin lib
+
+# This should be changed!
+CONFIGURE_ARGS+= --enable-targets=host-only
+#CONFIGURE_ARGS+= --disable-optimized
+
+CHECK_PORTABILITY_SKIP= utils/buildit/build_llvm
+CHECK_PORTABILITY_SKIP+= utils/buildit/.svn/text-base/build_llvm.svn-base
+
+TEST_TARGET= check unittests
+
+post-extract:
+ ${MV} ${WRKDIR}/clang-2.6 ${WRKDIR}/llvm-2.6/tools/clang
+
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/lang/clang/PLIST b/lang/clang/PLIST
new file mode 100644
index 00000000000..2148795a4ba
--- /dev/null
+++ b/lang/clang/PLIST
@@ -0,0 +1,595 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2009/11/16 23:24:37 drochner Exp $
+bin/bugpoint
+bin/clang
+bin/gccas
+bin/gccld
+bin/llc
+bin/lli
+bin/llvm-ar
+bin/llvm-as
+bin/llvm-bcanalyzer
+bin/llvm-config
+bin/llvm-db
+bin/llvm-dis
+bin/llvm-extract
+bin/llvm-ld
+bin/llvm-link
+bin/llvm-nm
+bin/llvm-prof
+bin/llvm-ranlib
+bin/llvm-stub
+bin/llvmc
+bin/opt
+bin/tblgen
+include/llvm-c/Analysis.h
+include/llvm-c/BitReader.h
+include/llvm-c/BitWriter.h
+include/llvm-c/Core.h
+include/llvm-c/ExecutionEngine.h
+include/llvm-c/LinkTimeOptimizer.h
+include/llvm-c/Target.h
+include/llvm-c/Transforms/IPO.h
+include/llvm-c/Transforms/Scalar.h
+include/llvm-c/lto.h
+include/llvm/ADT/APFloat.h
+include/llvm/ADT/APInt.h
+include/llvm/ADT/APSInt.h
+include/llvm/ADT/BitVector.h
+include/llvm/ADT/DenseMap.h
+include/llvm/ADT/DenseMapInfo.h
+include/llvm/ADT/DenseSet.h
+include/llvm/ADT/DepthFirstIterator.h
+include/llvm/ADT/EquivalenceClasses.h
+include/llvm/ADT/FoldingSet.h
+include/llvm/ADT/GraphTraits.h
+include/llvm/ADT/HashExtras.h
+include/llvm/ADT/ImmutableList.h
+include/llvm/ADT/ImmutableMap.h
+include/llvm/ADT/ImmutableSet.h
+include/llvm/ADT/IndexedMap.h
+include/llvm/ADT/IntrusiveRefCntPtr.h
+include/llvm/ADT/OwningPtr.h
+include/llvm/ADT/PointerIntPair.h
+include/llvm/ADT/PointerUnion.h
+include/llvm/ADT/PostOrderIterator.h
+include/llvm/ADT/PriorityQueue.h
+include/llvm/ADT/SCCIterator.h
+include/llvm/ADT/STLExtras.h
+include/llvm/ADT/ScopedHashTable.h
+include/llvm/ADT/SetOperations.h
+include/llvm/ADT/SetVector.h
+include/llvm/ADT/SmallPtrSet.h
+include/llvm/ADT/SmallSet.h
+include/llvm/ADT/SmallString.h
+include/llvm/ADT/SmallVector.h
+include/llvm/ADT/SparseBitVector.h
+include/llvm/ADT/Statistic.h
+include/llvm/ADT/StringExtras.h
+include/llvm/ADT/StringMap.h
+include/llvm/ADT/StringRef.h
+include/llvm/ADT/StringSet.h
+include/llvm/ADT/Trie.h
+include/llvm/ADT/Triple.h
+include/llvm/ADT/Twine.h
+include/llvm/ADT/UniqueVector.h
+include/llvm/ADT/VectorExtras.h
+include/llvm/ADT/ilist.h
+include/llvm/ADT/ilist_node.h
+include/llvm/ADT/iterator.cmake
+include/llvm/ADT/iterator.h
+include/llvm/AbstractTypeUser.h
+include/llvm/Analysis/AliasAnalysis.h
+include/llvm/Analysis/AliasSetTracker.h
+include/llvm/Analysis/CFGPrinter.h
+include/llvm/Analysis/CallGraph.h
+include/llvm/Analysis/CaptureTracking.h
+include/llvm/Analysis/ConstantFolding.h
+include/llvm/Analysis/ConstantsScanner.h
+include/llvm/Analysis/DebugInfo.h
+include/llvm/Analysis/DominatorInternals.h
+include/llvm/Analysis/Dominators.h
+include/llvm/Analysis/FindUsedTypes.h
+include/llvm/Analysis/IVUsers.h
+include/llvm/Analysis/Interval.h
+include/llvm/Analysis/IntervalIterator.h
+include/llvm/Analysis/IntervalPartition.h
+include/llvm/Analysis/LibCallAliasAnalysis.h
+include/llvm/Analysis/LibCallSemantics.h
+include/llvm/Analysis/LiveValues.h
+include/llvm/Analysis/LoopDependenceAnalysis.h
+include/llvm/Analysis/LoopInfo.h
+include/llvm/Analysis/LoopPass.h
+include/llvm/Analysis/LoopVR.h
+include/llvm/Analysis/MemoryDependenceAnalysis.h
+include/llvm/Analysis/Passes.h
+include/llvm/Analysis/PointerTracking.h
+include/llvm/Analysis/PostDominators.h
+include/llvm/Analysis/ProfileInfo.h
+include/llvm/Analysis/ProfileInfoLoader.h
+include/llvm/Analysis/ProfileInfoTypes.h
+include/llvm/Analysis/ScalarEvolution.h
+include/llvm/Analysis/ScalarEvolutionExpander.h
+include/llvm/Analysis/ScalarEvolutionExpressions.h
+include/llvm/Analysis/SparsePropagation.h
+include/llvm/Analysis/Trace.h
+include/llvm/Analysis/ValueTracking.h
+include/llvm/Analysis/Verifier.h
+include/llvm/Argument.h
+include/llvm/Assembly/AsmAnnotationWriter.h
+include/llvm/Assembly/Parser.h
+include/llvm/Assembly/PrintModulePass.h
+include/llvm/Assembly/Writer.h
+include/llvm/Attributes.h
+include/llvm/AutoUpgrade.h
+include/llvm/BasicBlock.h
+include/llvm/Bitcode/Archive.h
+include/llvm/Bitcode/BitCodes.h
+include/llvm/Bitcode/BitstreamReader.h
+include/llvm/Bitcode/BitstreamWriter.h
+include/llvm/Bitcode/Deserialize.h
+include/llvm/Bitcode/LLVMBitCodes.h
+include/llvm/Bitcode/ReaderWriter.h
+include/llvm/Bitcode/Serialization.h
+include/llvm/Bitcode/SerializationFwd.h
+include/llvm/Bitcode/Serialize.h
+include/llvm/CMakeLists.txt
+include/llvm/CallGraphSCCPass.h
+include/llvm/CallingConv.h
+include/llvm/CodeGen/AsmPrinter.h
+include/llvm/CodeGen/BinaryObject.h
+include/llvm/CodeGen/BreakCriticalMachineEdge.h
+include/llvm/CodeGen/CallingConvLower.h
+include/llvm/CodeGen/DAGISelHeader.h
+include/llvm/CodeGen/Dump.h
+include/llvm/CodeGen/DwarfWriter.h
+include/llvm/CodeGen/ELFRelocation.h
+include/llvm/CodeGen/FastISel.h
+include/llvm/CodeGen/FileWriters.h
+include/llvm/CodeGen/GCMetadata.h
+include/llvm/CodeGen/GCMetadataPrinter.h
+include/llvm/CodeGen/GCStrategy.h
+include/llvm/CodeGen/GCs.h
+include/llvm/CodeGen/IntrinsicLowering.h
+include/llvm/CodeGen/JITCodeEmitter.h
+include/llvm/CodeGen/LatencyPriorityQueue.h
+include/llvm/CodeGen/LazyLiveness.h
+include/llvm/CodeGen/LinkAllAsmWriterComponents.h
+include/llvm/CodeGen/LinkAllCodegenComponents.h
+include/llvm/CodeGen/LiveInterval.h
+include/llvm/CodeGen/LiveIntervalAnalysis.h
+include/llvm/CodeGen/LiveStackAnalysis.h
+include/llvm/CodeGen/LiveVariables.h
+include/llvm/CodeGen/MachORelocation.h
+include/llvm/CodeGen/MachineBasicBlock.h
+include/llvm/CodeGen/MachineCodeEmitter.h
+include/llvm/CodeGen/MachineCodeInfo.h
+include/llvm/CodeGen/MachineConstantPool.h
+include/llvm/CodeGen/MachineDominators.h
+include/llvm/CodeGen/MachineFrameInfo.h
+include/llvm/CodeGen/MachineFunction.h
+include/llvm/CodeGen/MachineFunctionAnalysis.h
+include/llvm/CodeGen/MachineFunctionPass.h
+include/llvm/CodeGen/MachineInstr.h
+include/llvm/CodeGen/MachineInstrBuilder.h
+include/llvm/CodeGen/MachineJumpTableInfo.h
+include/llvm/CodeGen/MachineLocation.h
+include/llvm/CodeGen/MachineLoopInfo.h
+include/llvm/CodeGen/MachineMemOperand.h
+include/llvm/CodeGen/MachineModuleInfo.h
+include/llvm/CodeGen/MachineOperand.h
+include/llvm/CodeGen/MachinePassRegistry.h
+include/llvm/CodeGen/MachineRegisterInfo.h
+include/llvm/CodeGen/MachineRelocation.h
+include/llvm/CodeGen/ObjectCodeEmitter.h
+include/llvm/CodeGen/Passes.h
+include/llvm/CodeGen/PseudoSourceValue.h
+include/llvm/CodeGen/RegAllocRegistry.h
+include/llvm/CodeGen/RegisterCoalescer.h
+include/llvm/CodeGen/RegisterScavenging.h
+include/llvm/CodeGen/RuntimeLibcalls.h
+include/llvm/CodeGen/ScheduleDAG.h
+include/llvm/CodeGen/ScheduleHazardRecognizer.h
+include/llvm/CodeGen/SchedulerRegistry.h
+include/llvm/CodeGen/SelectionDAG.h
+include/llvm/CodeGen/SelectionDAGISel.h
+include/llvm/CodeGen/SelectionDAGNodes.h
+include/llvm/CodeGen/ValueTypes.h
+include/llvm/CodeGen/ValueTypes.td
+include/llvm/CompilerDriver/Action.h
+include/llvm/CompilerDriver/BuiltinOptions.h
+include/llvm/CompilerDriver/Common.td
+include/llvm/CompilerDriver/CompilationGraph.h
+include/llvm/CompilerDriver/Error.h
+include/llvm/CompilerDriver/ForceLinkage.h
+include/llvm/CompilerDriver/ForceLinkageMacros.h
+include/llvm/CompilerDriver/Main.inc
+include/llvm/CompilerDriver/Plugin.h
+include/llvm/CompilerDriver/Tool.h
+include/llvm/Config/AsmParsers.def
+include/llvm/Config/AsmPrinters.def
+include/llvm/Config/Targets.def
+include/llvm/Config/alloca.h
+include/llvm/Config/config.h
+include/llvm/Config/config.h.cmake
+include/llvm/Constant.h
+include/llvm/Constants.h
+include/llvm/Debugger/Debugger.h
+include/llvm/Debugger/InferiorProcess.h
+include/llvm/Debugger/ProgramInfo.h
+include/llvm/Debugger/RuntimeInfo.h
+include/llvm/Debugger/SourceFile.h
+include/llvm/Debugger/SourceLanguage.h
+include/llvm/DerivedTypes.h
+include/llvm/ExecutionEngine/ExecutionEngine.h
+include/llvm/ExecutionEngine/GenericValue.h
+include/llvm/ExecutionEngine/Interpreter.h
+include/llvm/ExecutionEngine/JIT.h
+include/llvm/ExecutionEngine/JITEventListener.h
+include/llvm/ExecutionEngine/JITMemoryManager.h
+include/llvm/Function.h
+include/llvm/GlobalAlias.h
+include/llvm/GlobalValue.h
+include/llvm/GlobalVariable.h
+include/llvm/InlineAsm.h
+include/llvm/InstrTypes.h
+include/llvm/Instruction.def
+include/llvm/Instruction.h
+include/llvm/Instructions.h
+include/llvm/IntrinsicInst.h
+include/llvm/Intrinsics.gen
+include/llvm/Intrinsics.h
+include/llvm/Intrinsics.td
+include/llvm/IntrinsicsARM.td
+include/llvm/IntrinsicsAlpha.td
+include/llvm/IntrinsicsBlackfin.td
+include/llvm/IntrinsicsCellSPU.td
+include/llvm/IntrinsicsPowerPC.td
+include/llvm/IntrinsicsX86.td
+include/llvm/IntrinsicsXCore.td
+include/llvm/LLVMContext.h
+include/llvm/LinkAllPasses.h
+include/llvm/LinkAllVMCore.h
+include/llvm/Linker.h
+include/llvm/MC/MCAsmLexer.h
+include/llvm/MC/MCAsmParser.h
+include/llvm/MC/MCAssembler.h
+include/llvm/MC/MCContext.h
+include/llvm/MC/MCInst.h
+include/llvm/MC/MCSection.h
+include/llvm/MC/MCSectionELF.h
+include/llvm/MC/MCSectionMachO.h
+include/llvm/MC/MCStreamer.h
+include/llvm/MC/MCSymbol.h
+include/llvm/MC/MCValue.h
+include/llvm/MC/SectionKind.h
+include/llvm/Metadata.h
+include/llvm/Module.h
+include/llvm/ModuleProvider.h
+include/llvm/OperandTraits.h
+include/llvm/Operator.h
+include/llvm/Pass.h
+include/llvm/PassAnalysisSupport.h
+include/llvm/PassManager.h
+include/llvm/PassManagers.h
+include/llvm/PassSupport.h
+include/llvm/Support/AIXDataTypesFix.h
+include/llvm/Support/AlignOf.h
+include/llvm/Support/Allocator.h
+include/llvm/Support/CFG.h
+include/llvm/Support/CallSite.h
+include/llvm/Support/Casting.h
+include/llvm/Support/CommandLine.h
+include/llvm/Support/Compiler.h
+include/llvm/Support/ConstantFolder.h
+include/llvm/Support/ConstantRange.h
+include/llvm/Support/DOTGraphTraits.h
+include/llvm/Support/DataFlow.h
+include/llvm/Support/DataTypes.h
+include/llvm/Support/DataTypes.h.cmake
+include/llvm/Support/Debug.h
+include/llvm/Support/DebugLoc.h
+include/llvm/Support/Dwarf.h
+include/llvm/Support/DynamicLinker.h
+include/llvm/Support/ELF.h
+include/llvm/Support/ErrorHandling.h
+include/llvm/Support/FileUtilities.h
+include/llvm/Support/Format.h
+include/llvm/Support/FormattedStream.h
+include/llvm/Support/GetElementPtrTypeIterator.h
+include/llvm/Support/GraphWriter.h
+include/llvm/Support/IRBuilder.h
+include/llvm/Support/InstIterator.h
+include/llvm/Support/InstVisitor.h
+include/llvm/Support/LeakDetector.h
+include/llvm/Support/ManagedStatic.h
+include/llvm/Support/Mangler.h
+include/llvm/Support/MathExtras.h
+include/llvm/Support/MemoryBuffer.h
+include/llvm/Support/MemoryObject.h
+include/llvm/Support/MutexGuard.h
+include/llvm/Support/NoFolder.h
+include/llvm/Support/OutputBuffer.h
+include/llvm/Support/PassNameParser.h
+include/llvm/Support/PatternMatch.h
+include/llvm/Support/PluginLoader.h
+include/llvm/Support/PointerLikeTypeTraits.h
+include/llvm/Support/PredIteratorCache.h
+include/llvm/Support/PrettyStackTrace.h
+include/llvm/Support/Recycler.h
+include/llvm/Support/RecyclingAllocator.h
+include/llvm/Support/Registry.h
+include/llvm/Support/RegistryParser.h
+include/llvm/Support/SlowOperationInformer.h
+include/llvm/Support/SourceMgr.h
+include/llvm/Support/StableBasicBlockNumbering.h
+include/llvm/Support/StandardPasses.h
+include/llvm/Support/Streams.h
+include/llvm/Support/StringPool.h
+include/llvm/Support/SystemUtils.h
+include/llvm/Support/TargetFolder.h
+include/llvm/Support/Timer.h
+include/llvm/Support/TypeBuilder.h
+include/llvm/Support/ValueHandle.h
+include/llvm/Support/raw_ostream.h
+include/llvm/Support/type_traits.h
+include/llvm/SymbolTableListTraits.h
+include/llvm/System/Alarm.h
+include/llvm/System/Atomic.h
+include/llvm/System/Disassembler.h
+include/llvm/System/DynamicLibrary.h
+include/llvm/System/Errno.h
+include/llvm/System/Host.h
+include/llvm/System/IncludeFile.h
+include/llvm/System/LICENSE.TXT
+include/llvm/System/Memory.h
+include/llvm/System/Mutex.h
+include/llvm/System/Path.h
+include/llvm/System/Process.h
+include/llvm/System/Program.h
+include/llvm/System/RWMutex.h
+include/llvm/System/Signals.h
+include/llvm/System/Solaris.h
+include/llvm/System/ThreadLocal.h
+include/llvm/System/Threading.h
+include/llvm/System/TimeValue.h
+include/llvm/Target/COFFTargetAsmInfo.h
+include/llvm/Target/DarwinTargetAsmInfo.h
+include/llvm/Target/SubtargetFeature.h
+include/llvm/Target/Target.td
+include/llvm/Target/TargetAsmInfo.h
+include/llvm/Target/TargetAsmParser.h
+include/llvm/Target/TargetCallingConv.td
+include/llvm/Target/TargetData.h
+include/llvm/Target/TargetELFWriterInfo.h
+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/TargetLoweringObjectFile.h
+include/llvm/Target/TargetMachOWriterInfo.h
+include/llvm/Target/TargetMachine.h
+include/llvm/Target/TargetOptions.h
+include/llvm/Target/TargetRegisterInfo.h
+include/llvm/Target/TargetRegistry.h
+include/llvm/Target/TargetSchedule.td
+include/llvm/Target/TargetSelect.h
+include/llvm/Target/TargetSelectionDAG.td
+include/llvm/Target/TargetSubtarget.h
+include/llvm/Transforms/IPO.h
+include/llvm/Transforms/IPO/InlinerPass.h
+include/llvm/Transforms/Instrumentation.h
+include/llvm/Transforms/RSProfiling.h
+include/llvm/Transforms/Scalar.h
+include/llvm/Transforms/Utils/AddrModeMatcher.h
+include/llvm/Transforms/Utils/BasicBlockUtils.h
+include/llvm/Transforms/Utils/BasicInliner.h
+include/llvm/Transforms/Utils/Cloning.h
+include/llvm/Transforms/Utils/FunctionUtils.h
+include/llvm/Transforms/Utils/InlineCost.h
+include/llvm/Transforms/Utils/Local.h
+include/llvm/Transforms/Utils/PromoteMemToReg.h
+include/llvm/Transforms/Utils/SSI.h
+include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
+include/llvm/Transforms/Utils/UnrollLoop.h
+include/llvm/Transforms/Utils/ValueMapper.h
+include/llvm/Type.h
+include/llvm/TypeSymbolTable.h
+include/llvm/Use.h
+include/llvm/User.h
+include/llvm/Value.h
+include/llvm/ValueSymbolTable.h
+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
+lib/libCompilerDriver.a
+lib/libLLVMAnalysis.a
+lib/libLLVMArchive.a
+lib/libLLVMAsmParser.a
+lib/libLLVMAsmPrinter.a
+lib/libLLVMBitReader.a
+lib/libLLVMBitWriter.a
+lib/libLLVMCodeGen.a
+lib/libLLVMCore.a
+lib/libLLVMDebugger.a
+lib/libLLVMExecutionEngine.a
+lib/libLLVMHello.so
+lib/libLLVMInstrumentation.a
+lib/libLLVMInterpreter.a
+lib/libLLVMJIT.a
+lib/libLLVMLinker.a
+lib/libLLVMMC.a
+lib/libLLVMScalarOpts.a
+lib/libLLVMSelectionDAG.a
+lib/libLLVMSupport.a
+lib/libLLVMSystem.a
+lib/libLLVMTarget.a
+lib/libLLVMTransformUtils.a
+lib/libLLVMX86AsmParser.a
+lib/libLLVMX86AsmPrinter.a
+lib/libLLVMX86CodeGen.a
+lib/libLLVMX86Info.a
+lib/libLLVMipa.a
+lib/libLLVMipo.a
+lib/libLTO.a
+lib/libLTO.so
+lib/libplugin_llvmc_Base.a
+lib/libplugin_llvmc_Clang.a
+lib/libprofile_rt.so
+libexec/clang-cc
+man/man1/bugpoint.1
+man/man1/clang.1
+man/man1/llc.1
+man/man1/lli.1
+man/man1/llvm-ar.1
+man/man1/llvm-as.1
+man/man1/llvm-bcanalyzer.1
+man/man1/llvm-config.1
+man/man1/llvm-db.1
+man/man1/llvm-dis.1
+man/man1/llvm-extract.1
+man/man1/llvm-ld.1
+man/man1/llvm-link.1
+man/man1/llvm-nm.1
+man/man1/llvm-prof.1
+man/man1/llvm-ranlib.1
+man/man1/llvmc.1
+man/man1/llvmgcc.1
+man/man1/llvmgxx.1
+man/man1/opt.1
+man/man1/tblgen.1
+share/doc/llvm/html.tar.gz
+share/doc/llvm/html/AliasAnalysis.html
+share/doc/llvm/html/AnalyzerRegions.html
+share/doc/llvm/html/BitCodeFormat.html
+share/doc/llvm/html/Bugpoint.html
+share/doc/llvm/html/CFEBuildInstrs.html
+share/doc/llvm/html/CMake.html
+share/doc/llvm/html/CodeGenerator.html
+share/doc/llvm/html/CodingStandards.html
+share/doc/llvm/html/CommandGuide/FileCheck.html
+share/doc/llvm/html/CommandGuide/bugpoint.html
+share/doc/llvm/html/CommandGuide/index.html
+share/doc/llvm/html/CommandGuide/llc.html
+share/doc/llvm/html/CommandGuide/lli.html
+share/doc/llvm/html/CommandGuide/llvm-ar.html
+share/doc/llvm/html/CommandGuide/llvm-as.html
+share/doc/llvm/html/CommandGuide/llvm-bcanalyzer.html
+share/doc/llvm/html/CommandGuide/llvm-config.html
+share/doc/llvm/html/CommandGuide/llvm-db.html
+share/doc/llvm/html/CommandGuide/llvm-dis.html
+share/doc/llvm/html/CommandGuide/llvm-extract.html
+share/doc/llvm/html/CommandGuide/llvm-ld.html
+share/doc/llvm/html/CommandGuide/llvm-link.html
+share/doc/llvm/html/CommandGuide/llvm-nm.html
+share/doc/llvm/html/CommandGuide/llvm-prof.html
+share/doc/llvm/html/CommandGuide/llvm-ranlib.html
+share/doc/llvm/html/CommandGuide/llvmc.html
+share/doc/llvm/html/CommandGuide/llvmgcc.html
+share/doc/llvm/html/CommandGuide/llvmgxx.html
+share/doc/llvm/html/CommandGuide/manpage.css
+share/doc/llvm/html/CommandGuide/opt.html
+share/doc/llvm/html/CommandGuide/tblgen.html
+share/doc/llvm/html/CommandLine.html
+share/doc/llvm/html/CompilerDriver.html
+share/doc/llvm/html/CompilerDriverTutorial.html
+share/doc/llvm/html/CompilerWriterInfo.html
+share/doc/llvm/html/DeveloperPolicy.html
+share/doc/llvm/html/DriverInternals.html
+share/doc/llvm/html/ExceptionHandling.html
+share/doc/llvm/html/ExtendingLLVM.html
+share/doc/llvm/html/FAQ.html
+share/doc/llvm/html/GCCFEBuildInstrs.html
+share/doc/llvm/html/GarbageCollection.html
+share/doc/llvm/html/GetElementPtr.html
+share/doc/llvm/html/GettingStarted.html
+share/doc/llvm/html/GettingStartedVS.html
+share/doc/llvm/html/GoldPlugin.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/LanguageExtensions.html
+share/doc/llvm/html/Lexicon.html
+share/doc/llvm/html/LinkTimeOptimization.html
+share/doc/llvm/html/MakefileGuide.html
+share/doc/llvm/html/PCHInternals.html
+share/doc/llvm/html/PTHInternals.html
+share/doc/llvm/html/Passes.html
+share/doc/llvm/html/ProgrammersManual.html
+share/doc/llvm/html/Projects.html
+share/doc/llvm/html/ReleaseNotes-${PKGVERSION}.html
+share/doc/llvm/html/ReleaseNotes.html
+share/doc/llvm/html/ReleaseNotes-2.6.html
+share/doc/llvm/html/SourceLevelDebugging.html
+share/doc/llvm/html/SystemLibrary.html
+share/doc/llvm/html/TableGenFundamentals.html
+share/doc/llvm/html/TestingGuide.html
+share/doc/llvm/html/UsersManual.html
+share/doc/llvm/html/UsingLibraries.html
+share/doc/llvm/html/WritingAnLLVMBackend.html
+share/doc/llvm/html/WritingAnLLVMPass.html
+share/doc/llvm/html/clang/clang.html
+share/doc/llvm/html/clang/manpage.css
+share/doc/llvm/html/doxygen.css
+share/doc/llvm/html/img/Debugging.gif
+share/doc/llvm/html/img/libdeps.gif
+share/doc/llvm/html/img/lines.gif
+share/doc/llvm/html/img/objdeps.gif
+share/doc/llvm/html/img/venusflytrap.jpg
+share/doc/llvm/html/index.html
+share/doc/llvm/html/libIndex.html
+share/doc/llvm/html/llvm.css
+share/doc/llvm/html/tutorial/JITTutorial1.html
+share/doc/llvm/html/tutorial/JITTutorial2.html
+share/doc/llvm/html/tutorial/LangImpl1.html
+share/doc/llvm/html/tutorial/LangImpl2.html
+share/doc/llvm/html/tutorial/LangImpl3.html
+share/doc/llvm/html/tutorial/LangImpl4.html
+share/doc/llvm/html/tutorial/LangImpl5.html
+share/doc/llvm/html/tutorial/LangImpl6.html
+share/doc/llvm/html/tutorial/LangImpl7.html
+share/doc/llvm/html/tutorial/LangImpl8.html
+share/doc/llvm/html/tutorial/OCamlLangImpl1.html
+share/doc/llvm/html/tutorial/OCamlLangImpl2.html
+share/doc/llvm/html/tutorial/OCamlLangImpl3.html
+share/doc/llvm/html/tutorial/OCamlLangImpl4.html
+share/doc/llvm/html/tutorial/OCamlLangImpl5.html
+share/doc/llvm/html/tutorial/OCamlLangImpl6.html
+share/doc/llvm/html/tutorial/OCamlLangImpl7.html
+share/doc/llvm/html/tutorial/index.html
+share/doc/llvm/ps/FileCheck.ps
+share/doc/llvm/ps/bugpoint.ps
+share/doc/llvm/ps/clang.ps
+share/doc/llvm/ps/llc.ps
+share/doc/llvm/ps/lli.ps
+share/doc/llvm/ps/llvm-ar.ps
+share/doc/llvm/ps/llvm-as.ps
+share/doc/llvm/ps/llvm-bcanalyzer.ps
+share/doc/llvm/ps/llvm-config.ps
+share/doc/llvm/ps/llvm-db.ps
+share/doc/llvm/ps/llvm-dis.ps
+share/doc/llvm/ps/llvm-extract.ps
+share/doc/llvm/ps/llvm-ld.ps
+share/doc/llvm/ps/llvm-link.ps
+share/doc/llvm/ps/llvm-nm.ps
+share/doc/llvm/ps/llvm-prof.ps
+share/doc/llvm/ps/llvm-ranlib.ps
+share/doc/llvm/ps/llvmc.ps
+share/doc/llvm/ps/llvmgcc.ps
+share/doc/llvm/ps/llvmgxx.ps
+share/doc/llvm/ps/opt.ps
+share/doc/llvm/ps/tblgen.ps
diff --git a/lang/clang/distinfo b/lang/clang/distinfo
new file mode 100644
index 00000000000..8a4fe12bcd1
--- /dev/null
+++ b/lang/clang/distinfo
@@ -0,0 +1,11 @@
+$NetBSD: distinfo,v 1.1.1.1 2009/11/16 23:24:37 drochner Exp $
+
+SHA1 (clang-2.6.tar.gz) = 188f29ad3b2c64fcdc791aa34b323ed06452d7ae
+RMD160 (clang-2.6.tar.gz) = b7e44abbf28902ff8e3fd4578a5ff9dd34f40817
+Size (clang-2.6.tar.gz) = 3857138 bytes
+SHA1 (llvm-2.6.tar.gz) = 547471147cbf6d3e49539e01196ffada2c79c250
+RMD160 (llvm-2.6.tar.gz) = 24d58cb052ab5879aae59eaf4885ec41186ee22a
+Size (llvm-2.6.tar.gz) = 7790380 bytes
+SHA1 (patch-ac) = 08bf497cae798e65100fde06e294b4b31eedbec3
+SHA1 (patch-ad) = b7f4da294510666063b655540991f51c9044d618
+SHA1 (patch-ae) = 61b4d1c103ba3a3332ef748998c2a8930028d780
diff --git a/lang/clang/patches/patch-ac b/lang/clang/patches/patch-ac
new file mode 100644
index 00000000000..5c4255d1b5a
--- /dev/null
+++ b/lang/clang/patches/patch-ac
@@ -0,0 +1,54 @@
+$NetBSD: patch-ac,v 1.1.1.1 2009/11/16 23:24:37 drochner Exp $
+
+--- Makefile.rules.orig 2009-09-30 15:03:21.000000000 +0200
++++ Makefile.rules
+@@ -549,11 +549,11 @@ ifdef LOADABLE_MODULE
+ LD.Flags += -module
+ endif
+
+-ifdef SHARED_LIBRARY
+-ifneq ($(DARWIN_MAJVERS),4)
+- LD.Flags += $(RPATH) -Wl,$(LibDir)
+-endif
+-endif
++#ifdef SHARED_LIBRARY
++#ifneq ($(DARWIN_MAJVERS),4)
++# LD.Flags += $(RPATH) -Wl,$(LibDir)
++#endif
++#endif
+
+ ifdef TOOL_VERBOSE
+ C.Flags += -v
+@@ -583,9 +583,9 @@ ifneq ($(HOST_OS),Darwin)
+ ifneq ($(DARWIN_MAJVERS),4)
+ ifdef TOOLNAME
+ ifdef EXAMPLE_TOOL
+- LD.Flags += $(RPATH) -Wl,$(ExmplDir) $(RDYNAMIC)
++ LD.Flags += $(RDYNAMIC)
+ else
+- LD.Flags += $(RPATH) -Wl,$(ToolDir) $(RDYNAMIC)
++ LD.Flags += $(RDYNAMIC)
+ endif
+ endif
+ endif
+@@ -735,9 +735,6 @@ ObjectsBC := $(BaseNameSources:%=$(ObjDi
+ # in the file so they get built before dependencies
+ #---------------------------------------------------------
+
+-$(PROJ_bindir) $(PROJ_libdir) $(PROJ_includedir) $(PROJ_etcdir)::
+- $(Verb) $(MKDIR) $@
+-
+ # To create other directories, as needed, and timestamp their creation
+ %/.dir:
+ $(Verb) $(MKDIR) $* > /dev/null
+@@ -858,7 +855,9 @@ install-local::
+ uninstall-local::
+ $(Echo) UnInstall circumvented with NO_INSTALL
+ else
+-install-local:: $(PROJ_etcdir) $(CONFIG_FILES)
++PROJ_etcdir=${PREFIX}/share/examples/llvm
++install-local:: $(CONFIG_FILES)
++ $(MKDIR) ${PROJ_etcdir}
+ $(Echo) Installing Configuration Files To $(PROJ_etcdir)
+ $(Verb)for file in $(CONFIG_FILES); do \
+ if test -f $(PROJ_OBJ_DIR)/$${file} ; then \
diff --git a/lang/clang/patches/patch-ad b/lang/clang/patches/patch-ad
new file mode 100644
index 00000000000..67f1586e224
--- /dev/null
+++ b/lang/clang/patches/patch-ad
@@ -0,0 +1,18 @@
+$NetBSD: patch-ad,v 1.1.1.1 2009/11/16 23:24:37 drochner Exp $
+
+--- Makefile.config.in.orig 2007-07-03 23:04:11.000000000 +0000
++++ Makefile.config.in
+@@ -79,11 +79,11 @@ LLVMMAKE := $(LLVM_SRC_ROOT)/make
+ PROJ_bindir := $(DESTDIR)$(PROJ_prefix)/bin
+ PROJ_libdir := $(DESTDIR)$(PROJ_prefix)/lib
+ PROJ_datadir := $(DESTDIR)$(PROJ_prefix)/share
+-PROJ_docsdir := $(DESTDIR)$(PROJ_prefix)/docs/llvm
++PROJ_docsdir := $(DESTDIR)$(PROJ_prefix)/share/doc/llvm
+ PROJ_etcdir := $(DESTDIR)$(PROJ_prefix)/etc/llvm
+ PROJ_includedir := $(DESTDIR)$(PROJ_prefix)/include
+ PROJ_infodir := $(DESTDIR)$(PROJ_prefix)/info
+-PROJ_mandir := $(DESTDIR)$(PROJ_prefix)/share/man
++PROJ_mandir := $(DESTDIR)$(PROJ_prefix)/man
+
+ # Determine if we're on a unix type operating system
+ LLVM_ON_UNIX:=@LLVM_ON_UNIX@
diff --git a/lang/clang/patches/patch-ae b/lang/clang/patches/patch-ae
new file mode 100644
index 00000000000..11c73542e8f
--- /dev/null
+++ b/lang/clang/patches/patch-ae
@@ -0,0 +1,22 @@
+$NetBSD: patch-ae,v 1.1.1.1 2009/11/16 23:24:37 drochner Exp $
+
+--- lib/System/Unix/Path.inc.orig 2009-08-05 22:16:55.000000000 +0200
++++ lib/System/Unix/Path.inc
+@@ -279,7 +279,7 @@ Path::GetCurrentDirectory() {
+ return Path(pathname);
+ }
+
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__NetBSD__)
+ static int
+ test_dir(char buf[PATH_MAX], char ret[PATH_MAX],
+ const char *dir, const char *bin)
+@@ -336,7 +336,7 @@ getprogpath(char ret[PATH_MAX], const ch
+ /// GetMainExecutable - Return the path to the main executable, given the
+ /// value of argv[0] from program startup.
+ Path Path::GetMainExecutable(const char *argv0, void *MainAddr) {
+-#if defined(__FreeBSD__)
++#if defined(__FreeBSD__) || defined(__NetBSD__)
+ char exe_path[PATH_MAX];
+
+ if (getprogpath(exe_path, argv0) != NULL)