From 1eceb8da2fb806be19d458c48ebd9da74acb41fa Mon Sep 17 00:00:00 2001 From: kenmays Date: Sat, 20 Oct 2018 03:33:27 -0700 Subject: [PATCH] LLVM: Remove older patches/recipes < LLVM v5.0.0. (#3234) --- sys-devel/llvm/llvm-3.0.recipe | 155 --- sys-devel/llvm/llvm-3.2.recipe | 91 -- sys-devel/llvm/llvm-3.3.recipe | 55 - sys-devel/llvm/llvm-3.4.1.recipe | 214 ---- sys-devel/llvm/llvm-3.4.2.recipe | 214 ---- sys-devel/llvm/llvm-3.4.recipe | 88 -- sys-devel/llvm/llvm-3.5.0.recipe | 226 ---- sys-devel/llvm/llvm-3.5.1.recipe | 338 ----- sys-devel/llvm/llvm-3.5.2.recipe | 363 ------ sys-devel/llvm/llvm-3.7.0.recipe | 472 ------- sys-devel/llvm/llvm-3.7.1.recipe | 365 ------ sys-devel/llvm/llvm-3.8.0.recipe | 397 ------ sys-devel/llvm/llvm-3.8.1.recipe | 411 ------- sys-devel/llvm/llvm-3.9.0.recipe | 422 ------- sys-devel/llvm/llvm-3.9.1.recipe | 422 ------- sys-devel/llvm/llvm-4.0.1.recipe | 472 ------- sys-devel/llvm/llvm-6.0.0~git.recipe | 497 -------- sys-devel/llvm/patches/clang-3.5.1.patchset | 302 ----- sys-devel/llvm/patches/clang-3.5.2.patchset | 302 ----- sys-devel/llvm/patches/clang-3.7.0.patchset | 319 ----- sys-devel/llvm/patches/clang-3.7.1.patchset | 319 ----- sys-devel/llvm/patches/clang-3.8.0.patchset | 293 ----- sys-devel/llvm/patches/clang-3.8.1.patchset | 416 ------- sys-devel/llvm/patches/clang-3.9.0.patchset | 151 --- sys-devel/llvm/patches/clang-3.9.1.patchset | 151 --- sys-devel/llvm/patches/clang-4.0.1.patchset | 161 --- .../llvm/patches/clang-6.0.0~git.patchset | 174 --- sys-devel/llvm/patches/llvm-3.4.1.patchset | 48 - sys-devel/llvm/patches/llvm-3.4.2.patchset | 437 ------- sys-devel/llvm/patches/llvm-3.4.patchset | 25 - sys-devel/llvm/patches/llvm-3.5.0.patchset | 1084 ----------------- sys-devel/llvm/patches/llvm-3.5.1.patchset | 95 -- sys-devel/llvm/patches/llvm-3.5.2.patchset | 95 -- sys-devel/llvm/patches/llvm-3.7.0.patchset | 95 -- sys-devel/llvm/patches/llvm-3.7.1.patchset | 95 -- sys-devel/llvm/patches/llvm-3.8.0.patchset | 362 ------ sys-devel/llvm/patches/llvm-3.8.1.patchset | 362 ------ sys-devel/llvm/patches/llvm-3.9.0.patchset | 54 - sys-devel/llvm/patches/llvm-3.9.1.patchset | 54 - sys-devel/llvm/patches/llvm-4.0.1.patchset | 74 -- .../llvm/patches/llvm-6.0.0~git.patchset | 77 -- 41 files changed, 10747 deletions(-) delete mode 100644 sys-devel/llvm/llvm-3.0.recipe delete mode 100644 sys-devel/llvm/llvm-3.2.recipe delete mode 100644 sys-devel/llvm/llvm-3.3.recipe delete mode 100644 sys-devel/llvm/llvm-3.4.1.recipe delete mode 100644 sys-devel/llvm/llvm-3.4.2.recipe delete mode 100644 sys-devel/llvm/llvm-3.4.recipe delete mode 100644 sys-devel/llvm/llvm-3.5.0.recipe delete mode 100644 sys-devel/llvm/llvm-3.5.1.recipe delete mode 100644 sys-devel/llvm/llvm-3.5.2.recipe delete mode 100644 sys-devel/llvm/llvm-3.7.0.recipe delete mode 100644 sys-devel/llvm/llvm-3.7.1.recipe delete mode 100644 sys-devel/llvm/llvm-3.8.0.recipe delete mode 100644 sys-devel/llvm/llvm-3.8.1.recipe delete mode 100644 sys-devel/llvm/llvm-3.9.0.recipe delete mode 100644 sys-devel/llvm/llvm-3.9.1.recipe delete mode 100644 sys-devel/llvm/llvm-4.0.1.recipe delete mode 100644 sys-devel/llvm/llvm-6.0.0~git.recipe delete mode 100644 sys-devel/llvm/patches/clang-3.5.1.patchset delete mode 100644 sys-devel/llvm/patches/clang-3.5.2.patchset delete mode 100644 sys-devel/llvm/patches/clang-3.7.0.patchset delete mode 100644 sys-devel/llvm/patches/clang-3.7.1.patchset delete mode 100644 sys-devel/llvm/patches/clang-3.8.0.patchset delete mode 100644 sys-devel/llvm/patches/clang-3.8.1.patchset delete mode 100644 sys-devel/llvm/patches/clang-3.9.0.patchset delete mode 100644 sys-devel/llvm/patches/clang-3.9.1.patchset delete mode 100644 sys-devel/llvm/patches/clang-4.0.1.patchset delete mode 100644 sys-devel/llvm/patches/clang-6.0.0~git.patchset delete mode 100644 sys-devel/llvm/patches/llvm-3.4.1.patchset delete mode 100644 sys-devel/llvm/patches/llvm-3.4.2.patchset delete mode 100644 sys-devel/llvm/patches/llvm-3.4.patchset delete mode 100644 sys-devel/llvm/patches/llvm-3.5.0.patchset delete mode 100644 sys-devel/llvm/patches/llvm-3.5.1.patchset delete mode 100644 sys-devel/llvm/patches/llvm-3.5.2.patchset delete mode 100644 sys-devel/llvm/patches/llvm-3.7.0.patchset delete mode 100644 sys-devel/llvm/patches/llvm-3.7.1.patchset delete mode 100644 sys-devel/llvm/patches/llvm-3.8.0.patchset delete mode 100644 sys-devel/llvm/patches/llvm-3.8.1.patchset delete mode 100644 sys-devel/llvm/patches/llvm-3.9.0.patchset delete mode 100644 sys-devel/llvm/patches/llvm-3.9.1.patchset delete mode 100644 sys-devel/llvm/patches/llvm-4.0.1.patchset delete mode 100644 sys-devel/llvm/patches/llvm-6.0.0~git.patchset diff --git a/sys-devel/llvm/llvm-3.0.recipe b/sys-devel/llvm/llvm-3.0.recipe deleted file mode 100644 index bd61ee01a..000000000 --- a/sys-devel/llvm/llvm-3.0.recipe +++ /dev/null @@ -1,155 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION="The LLVM Project is a collection of modular and reusable compiler \ -and toolchain technologies. Despite its name, LLVM has little to do with \ -traditional virtual machines, though it does provide helpful libraries that \ -can be used to build them. The name \"LLVM\" itself is not an acronym; it is \ -the full name of the project. - -LLVM began as a research project at the University of Illinois, with the goal \ -of providing a modern, SSA-based compilation strategy capable of supporting \ -both static and dynamic compilation of arbitrary programming languages. Since \ -then, LLVM has grown to be an umbrella project consisting of a number of \ -subprojects, many of which are being used in production by a wide variety of \ -commercial and open source projects as well as being widely used in academic \ -research. Code in the LLVM project is licensed under the \"UIUC\" BSD-Style \ -license. - -The primary sub-projects of LLVM are: - -The LLVM Core libraries provide a modern source- and target-independent \ -optimizer, along with code generation support for many popular CPUs (as well \ -as some less common ones!) These libraries are built around a well specified \ -code representation known as the LLVM intermediate representation (\"LLVM \ -IR\"). The LLVM Core libraries are well documented, and it is particularly \ -easy to invent your own language (or port an existing compiler) to use LLVM as \ -an optimizer and code generator. - -Clang is an \"LLVM native\" C/C++/Objective-C compiler, which aims to deliver \ -amazingly fast compiles (e.g. about 3x faster than GCC when compiling \ -Objective-C code in a debug configuration), extremely useful error and warning \ -messages and to provide a platform for building great source level tools. The \ -Clang Static Analyzer is a tool that automatically finds bugs in your code, \ -and is a great example of the sort of tool that can be built using the Clang \ -frontend as a library to parse C/C++ code. - -dragonegg integrates the LLVM optimizers and code generator with the GCC \ -parsers. This allows LLVM to compile Ada, Fortran, and other languages \ -supported by the GCC compiler frontends, and access to C features not \ -supported by Clang (such as OpenMP). - -The LLDB project builds on libraries provided by LLVM and Clang to provide a \ -great native debugger. It uses the Clang ASTs and expression parser, LLVM JIT, \ -LLVM disassembler, etc so that it provides an experience that \"just works\". \ -It is also blazing fast and much more memory efficient than GDB at loading \ -symbols. - -The libc++ and libc++ ABI projects provide a standard conformant and high-\ -performance implementation of the C++ Standard Library, including full support \ -for C++11. - -The compiler-rt project provides highly tuned implementations of the low-level \ -code generator support routines like \"__fixunsdfdi\" and other calls \ -generated when a target doesn't have a short sequence of native instructions \ -to implement a core IR operation. - -The vmkit project is an implementation of the Java and .NET Virtual Machines \ -that is built on LLVM technologies. - -The polly project implements a suite of cache-locality optimizations as well \ -as auto-parallelism and vectorization using a polyhedral model. - -The libclc project aims to implement the OpenCL standard library. - -The klee project implements a \"symbolic virtual machine\" which uses a \ -theorem prover to try to evaluate all dynamic paths through a program in an \ -effort to find bugs and to prove properties of functions. A major feature of \ -klee is that it can produce a testcase in the event that it detects a bug. - -The SAFECode project is a memory safety compiler for C/C++ programs. It \ -instruments code with run-time checks to detect memory safety errors (e.g., \ -buffer overflows) at run-time. It can be used to protect software from \ -security attacks and can also be used as a memory safety error debugging tool \ -like Valgrind. - -In addition to official subprojects of LLVM, there are a broad variety of \ -other projects that use components of LLVM for various tasks. Through these \ -external projects you can use LLVM to compile Ruby, Python, Haskell, Java, D, \ -PHP, Pure, Lua, and a number of other languages. A major strength of LLVM is \ -its versatility, flexibility, and reusability, which is why it is being used \ -for such a wide variety of different tasks: everything from doing light-weight \ -JIT compiles of embedded languages like Lua to compiling Fortran code for \ -massive super computers." -HOMEPAGE="http://www.llvm.org/" -LICENSE="UIUC" -REVISION="1" - -ARCHITECTURES="!x86_gcc2 x86" -SECONDARY_ARCHITECTURES="x86" - -SOURCE_URI="http://llvm.org/releases/3.0/llvm-3.0.tar.gz" -CHECKSUM_SHA256="519eb11d3499ce99c6ffdb8718651fc91425ed7690eac91c8d6853474f7c0477" -COPYRIGHT="2003-2011 University of Illinois at Urbana-Champaign" -SOURCE_DIR="llvm-$portVersion.src" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion compat >= 3 - " -REQUIRES=" - haiku$secondaryArchSuffix - " -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - " -BUILD_PREREQUIRES=" -# cmd:autoconf -# cmd:flex - cmd:groff - cmd:gcc$secondaryArchSuffix - cmd:ld$secondaryArchSuffix - cmd:make -# cmd:makeinfo - cmd:perl -# cmd:sed -# cmd:strip -# cmd:tar - " - -#POLICY WARNING: Invalid top-level package entry "docs" -#POLICY WARNING: Invalid top-level package entry "include" -#POLICY WARNING: Invalid top-level package entry "share" -#POLICY WARNING: no matching provides "cmd:bugpoint" for "bin/bugpoint" -#POLICY WARNING: no matching provides "cmd:llc" for "bin/llc" -#POLICY WARNING: no matching provides "cmd:lli" for "bin/lli" -#POLICY WARNING: no matching provides "cmd:llvm_ar" for "bin/llvm-ar" -#POLICY WARNING: no matching provides "cmd:llvm_as" for "bin/llvm-as" -#POLICY WARNING: no matching provides "cmd:llvm_bcanalyzer" for "bin/llvm-bcanalyzer" -#POLICY WARNING: no matching provides "cmd:llvm_config" for "bin/llvm-config" -#POLICY WARNING: no matching provides "cmd:llvm_cov" for "bin/llvm-cov" -#POLICY WARNING: no matching provides "cmd:llvm_diff" for "bin/llvm-diff" -#POLICY WARNING: no matching provides "cmd:llvm_dis" for "bin/llvm-dis" -#POLICY WARNING: no matching provides "cmd:llvm_dwarfdump" for "bin/llvm-dwarfdump" -#POLICY WARNING: no matching provides "cmd:llvm_extract" for "bin/llvm-extract" -#POLICY WARNING: no matching provides "cmd:llvm_ld" for "bin/llvm-ld" -#POLICY WARNING: no matching provides "cmd:llvm_link" for "bin/llvm-link" -#POLICY WARNING: no matching provides "cmd:llvm_mc" for "bin/llvm-mc" -#POLICY WARNING: no matching provides "cmd:llvm_nm" for "bin/llvm-nm" -#POLICY WARNING: no matching provides "cmd:llvm_objdump" for "bin/llvm-objdump" -#POLICY WARNING: no matching provides "cmd:llvm_prof" for "bin/llvm-prof" -#POLICY WARNING: no matching provides "cmd:llvm_ranlib" for "bin/llvm-ranlib" -#POLICY WARNING: no matching provides "cmd:llvm_rtdyld" for "bin/llvm-rtdyld" -#POLICY WARNING: no matching provides "cmd:llvm_size" for "bin/llvm-size" -#POLICY WARNING: no matching provides "cmd:llvm_stub" for "bin/llvm-stub" -#POLICY WARNING: no matching provides "cmd:llvm_tblgen" for "bin/llvm-tblgen" -#POLICY WARNING: no matching provides "cmd:macho_dump" for "bin/macho-dump" -#POLICY WARNING: no matching provides "cmd:opt" for "bin/opt" - -BUILD() -{ - runConfigure ./configure --enable-optimized - make $jobArgs -} - -INSTALL() -{ - make install -} diff --git a/sys-devel/llvm/llvm-3.2.recipe b/sys-devel/llvm/llvm-3.2.recipe deleted file mode 100644 index 58d6d3a82..000000000 --- a/sys-devel/llvm/llvm-3.2.recipe +++ /dev/null @@ -1,91 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION="LLVM is a collection of modular and reuseable compiler and \ -toolchain technologies." -HOMEPAGE="http://www.llvm.org/" -COPYRIGHT="2003-2012 University of Illinois at Urbana-Champaign" -LICENSE="UIUC" -REVISION="3" -SOURCE_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.gz" -CHECKSUM_SHA256="125090c4d26740f1d5e9838477c931ed7d9ad70d599ba265f46f3a42cb066343" -SOURCE_DIR="llvm-${portVersion}.src" - -ARCHITECTURES="!x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion - cmd:bugpoint - cmd:llc - cmd:lli - cmd:llvm_ar - cmd:llvm_as - cmd:llvm_bcanalyzer - cmd:llvm_config - cmd:llvm_cov - cmd:llvm_diff - cmd:llvm_dis - cmd:llvm_dwarfdump - cmd:llvm_extract - cmd:llvm_link - cmd:llvm_mc - cmd:llvm_mcmarkup - cmd:llvm_nm - cmd:llvm_objdump - cmd:llvm_prof - cmd:llvm_ranlib - cmd:llvm_readobj - cmd:llvm_rtdyld - cmd:llvm_size - cmd:llvm_stress - cmd:llvm_tblgen - cmd:macho_dump - cmd:opt - lib:BugpointPasses - lib:libLTO - lib:libprofile_rt - lib:LLVMHello - " -REQUIRES=" - haiku$secondaryArchSuffix - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - " -BUILD_PREREQUIRES=" - cmd:aclocal - cmd:autoconf - cmd:automake - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:ld$secondaryArchSuffix - cmd:libtoolize$secondaryArchSuffix - cmd:make - cmd:python - cmd:sed - " - -PATCH() -{ - find . -type f -exec sed -i 's/\/usr\/bin\/env/\/bin\/env/g' "{}" \; -} - -BUILD() -{ - # Haiku C++ requires rtti in a lot of central system components - # such as Mesa - export REQUIRES_RTTI=1 - runConfigure ./configure --enable-optimized - make $jobArgs -} - -INSTALL() -{ - make install - - # TODO: $developLibDir doesn't get included in the base package - # llvm is for -devel only, so having a -devel is odd and would break - # how llvm works - #mv $libDir/*.a $developLibdir/ - fixPkgconfig -} diff --git a/sys-devel/llvm/llvm-3.3.recipe b/sys-devel/llvm/llvm-3.3.recipe deleted file mode 100644 index c6aadb23f..000000000 --- a/sys-devel/llvm/llvm-3.3.recipe +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION="LLVM is a collection of modular and reuseable compiler and \ -toolchain technologies." -HOMEPAGE="http://www.llvm.org/" -COPYRIGHT="2003-2012 University of Illinois at Urbana-Champaign" -LICENSE="UIUC" -REVISION="2" -SOURCE_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.gz" -CHECKSUM_SHA256="68766b1e70d05a25e2f502e997a3cb3937187a3296595cf6e0977d5cd6727578" -SOURCE_DIR="llvm-${portVersion}.src" - -ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64" -SECONDARY_ARCHITECTURES="?x86" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion - " -REQUIRES=" - haiku$secondaryArchSuffix - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - " -BUILD_PREREQUIRES=" - cmd:aclocal - cmd:autoconf - cmd:automake - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:ld$secondaryArchSuffix - cmd:libtoolize$secondaryArchSuffix - cmd:make - cmd:python - cmd:sed - " - -PATCH() -{ - find . -type f -exec sed -i 's/\/usr\/bin\/env/\/bin\/env/g' "{}" \; -} - -BUILD() -{ - # Haiku C++ requires rtti in a lot of central system components - # such as Mesa - export REQUIRES_RTTI=1 - runConfigure ./configure --enable-optimized - make $jobArgs -} - -INSTALL() -{ - make install -} diff --git a/sys-devel/llvm/llvm-3.4.1.recipe b/sys-devel/llvm/llvm-3.4.1.recipe deleted file mode 100644 index fc390d646..000000000 --- a/sys-devel/llvm/llvm-3.4.1.recipe +++ /dev/null @@ -1,214 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION="LLVM is a collection of modular and reuseable compiler and \ -toolchain technologies." -HOMEPAGE="http://www.llvm.org/" -COPYRIGHT="2003-2013 University of Illinois at Urbana-Champaign" -LICENSE="UIUC" -REVISION="2" -SOURCE_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.gz" -CHECKSUM_SHA256="7d28bb6eca243a2bb6d65a05743ab915b57958a7770277364e93534b63eef93a" -SOURCE_DIR="llvm-$portVersion.src" -PATCHES="llvm-3.4.1.patchset" - -ARCHITECTURES="!x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion - cmd:bugpoint - cmd:llc - cmd:lli - cmd:lli_child_target - cmd:llvm_ar - cmd:llvm_as - cmd:llvm_bcanalyzer - cmd:llvm_config - cmd:llvm_cov - cmd:llvm_diff - cmd:llvm_dis - cmd:llvm_dwarfdump - cmd:llvm_extract - cmd:llvm_link - cmd:llvm_mc - cmd:llvm_mcmarkup - cmd:llvm_nm - cmd:llvm_objdump - cmd:llvm_ranlib - cmd:llvm_readobj - cmd:llvm_rtdyld - cmd:llvm_size - cmd:llvm_stress - cmd:llvm_symbolizer - cmd:llvm_tblgen - cmd:macho_dump - cmd:opt - devel:libLLVMAArch64AsmParser - devel:libLLVMAArch64AsmPrinter - devel:libLLVMAArch64CodeGen - devel:libLLVMAArch64Desc - devel:libLLVMAArch64Disassembler - devel:libLLVMAArch64Info - devel:libLLVMAArch64Utils - devel:libLLVMAnalysis - devel:libLLVMARMAsmParser - devel:libLLVMARMAsmPrinter - devel:libLLVMARMCodeGen - devel:libLLVMARMDesc - devel:libLLVMARMDisassembler - devel:libLLVMARMInfo - devel:libLLVMAsmParser - devel:libLLVMAsmPrinter - devel:libLLVMBitReader - devel:libLLVMBitWriter - devel:libLLVMCodeGen - devel:libLLVMCore - devel:libLLVMCppBackendCodeGen - devel:libLLVMCppBackendInfo - devel:libLLVMDebugInfo - devel:libLLVMExecutionEngine - devel:libLLVMHexagonAsmPrinter - devel:libLLVMHexagonCodeGen - devel:libLLVMHexagonDesc - devel:libLLVMHexagonInfo - devel:libLLVMInstCombine - devel:libLLVMInstrumentation - devel:libLLVMInterpreter - devel:libLLVMipa - devel:libLLVMipo - devel:libLLVMIRReader - devel:libLLVMJIT - devel:libLLVMLinker - devel:libLLVMLTO - devel:libLLVMMC - devel:libLLVMMCDisassembler - devel:libLLVMMCJIT - devel:libLLVMMCParser - devel:libLLVMMipsAsmParser - devel:libLLVMMipsAsmPrinter - devel:libLLVMMipsCodeGen - devel:libLLVMMipsDesc - devel:libLLVMMipsDisassembler - devel:libLLVMMipsInfo - devel:libLLVMMSP430AsmPrinter - devel:libLLVMMSP430CodeGen - devel:libLLVMMSP430Desc - devel:libLLVMMSP430Info - devel:libLLVMNVPTXAsmPrinter - devel:libLLVMNVPTXCodeGen - devel:libLLVMNVPTXDesc - devel:libLLVMNVPTXInfo - devel:libLLVMObjCARCOpts - devel:libLLVMObject - devel:libLLVMOption - devel:libLLVMPowerPCAsmParser - devel:libLLVMPowerPCAsmPrinter - devel:libLLVMPowerPCCodeGen - devel:libLLVMPowerPCDesc - devel:libLLVMPowerPCInfo - devel:libLLVMR600AsmPrinter - devel:libLLVMR600CodeGen - devel:libLLVMR600Desc - devel:libLLVMR600Info - devel:libLLVMRuntimeDyld - devel:libLLVMScalarOpts - devel:libLLVMSelectionDAG - devel:libLLVMSparcCodeGen - devel:libLLVMSparcDesc - devel:libLLVMSparcInfo - devel:libLLVMSupport - devel:libLLVMSystemZAsmParser - devel:libLLVMSystemZAsmPrinter - devel:libLLVMSystemZCodeGen - devel:libLLVMSystemZDesc - devel:libLLVMSystemZDisassembler - devel:libLLVMSystemZInfo - devel:libLLVMTableGen - devel:libLLVMTarget - devel:libLLVMTransformUtils - devel:libLLVMVectorize - devel:libLLVMX86AsmParser - devel:libLLVMX86AsmPrinter - devel:libLLVMX86CodeGen - devel:libLLVMX86Desc - devel:libLLVMX86Disassembler - devel:libLLVMX86Info - devel:libLLVMX86Utils - devel:libLLVMXCoreAsmPrinter - devel:libLLVMXCoreCodeGen - devel:libLLVMXCoreDesc - devel:libLLVMXCoreDisassembler - devel:libLLVMXCoreInfo - devel:libLTO - lib:BugpointPasses - lib:libLTO - lib:LLVMHello - " -REQUIRES=" - haiku$secondaryArchSuffix - " - -BUILD_REQUIRES=" - " -BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel - cmd:aclocal - cmd:autoconf - cmd:automake - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:grep - cmd:ld$secondaryArchSuffix - cmd:libtoolize$secondaryArchSuffix - cmd:make - cmd:python - cmd:sed - " - -BUILD() -{ - # Haiku C++ requires rtti in a lot of central system components - # such as Mesa - export REQUIRES_RTTI=1 - runConfigure ./configure --enable-optimized - make $jobArgs PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir -} - -INSTALL() -{ - make install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - prepareInstalledDevelLibs libLLVMAArch64AsmParser libLLVMAArch64Disassembler \ - libLLVMAArch64Utils - prepareInstalledDevelLibs libLLVMARMAsmParser libLLVMARMDisassembler - prepareInstalledDevelLibs libLLVMMipsAsmParser libLLVMMipsDisassembler - prepareInstalledDevelLibs libLLVMPowerPCAsmParser - prepareInstalledDevelLibs libLLVMSystemZAsmParser libLLVMSystemZDisassembler - prepareInstalledDevelLibs libLLVMX86AsmParser libLLVMX86Disassembler libLLVMX86Utils - prepareInstalledDevelLibs libLLVMXCoreDisassembler - - prepareInstalledDevelLibs libLLVMSparcCodeGen libLLVMSparcDesc libLLVMSparcInfo - - for arch in AArch64 ARM Hexagon Mips MSP430 NVPTX PowerPC R600 SystemZ X86 XCore - do - prepareInstalledDevelLibs libLLVM${arch}AsmPrinter \ - libLLVM${arch}CodeGen libLLVM${arch}Desc libLLVM${arch}Info - done - - prepareInstalledDevelLibs libLLVMAnalysis libLLVMAsmParser \ - libLLVMAsmPrinter libLLVMBitReader libLLVMBitWriter libLLVMCodeGen \ - libLLVMCore libLLVMCppBackendCodeGen libLLVMCppBackendInfo \ - libLLVMDebugInfo libLLVMExecutionEngine libLLVMIRReader \ - libLLVMInstCombine libLLVMInstrumentation libLLVMInterpreter libLLVMJIT \ - libLLVMLTO libLLVMLinker libLLVMMC libLLVMMCDisassembler libLLVMMCJIT \ - libLLVMMCParser libLLVMObjCARCOpts libLLVMObject libLLVMOption \ - libLLVMRuntimeDyld libLLVMScalarOpts libLLVMSelectionDAG libLLVMSupport \ - libLLVMTableGen libLLVMTarget libLLVMTransformUtils libLLVMVectorize \ - libLLVMipa libLLVMipo libLTO -} - -TEST() -{ - make check -} diff --git a/sys-devel/llvm/llvm-3.4.2.recipe b/sys-devel/llvm/llvm-3.4.2.recipe deleted file mode 100644 index 487e7e337..000000000 --- a/sys-devel/llvm/llvm-3.4.2.recipe +++ /dev/null @@ -1,214 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION="LLVM is a collection of modular and reuseable compiler and \ -toolchain technologies." -HOMEPAGE="http://www.llvm.org/" -COPYRIGHT="2003-2014 University of Illinois at Urbana-Champaign" -LICENSE="UIUC" -REVISION="5" -SOURCE_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.gz" -CHECKSUM_SHA256="17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7" -SOURCE_DIR="llvm-$portVersion.src" -PATCHES="llvm-3.4.2.patchset" - -ARCHITECTURES="!x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion - cmd:bugpoint - cmd:llc - cmd:lli - cmd:lli_child_target - cmd:llvm_ar - cmd:llvm_as - cmd:llvm_bcanalyzer - cmd:llvm_config - cmd:llvm_cov - cmd:llvm_diff - cmd:llvm_dis - cmd:llvm_dwarfdump - cmd:llvm_extract - cmd:llvm_link - cmd:llvm_mc - cmd:llvm_mcmarkup - cmd:llvm_nm - cmd:llvm_objdump - cmd:llvm_ranlib - cmd:llvm_readobj - cmd:llvm_rtdyld - cmd:llvm_size - cmd:llvm_stress - cmd:llvm_symbolizer - cmd:llvm_tblgen - cmd:macho_dump - cmd:opt - devel:libLLVMAArch64AsmParser$secondaryArchSuffix - devel:libLLVMAArch64AsmPrinter$secondaryArchSuffix - devel:libLLVMAArch64CodeGen$secondaryArchSuffix - devel:libLLVMAArch64Desc$secondaryArchSuffix - devel:libLLVMAArch64Disassembler$secondaryArchSuffix - devel:libLLVMAArch64Info$secondaryArchSuffix - devel:libLLVMAArch64Utils$secondaryArchSuffix - devel:libLLVMAnalysis$secondaryArchSuffix - devel:libLLVMARMAsmParser$secondaryArchSuffix - devel:libLLVMARMAsmPrinter$secondaryArchSuffix - devel:libLLVMARMCodeGen$secondaryArchSuffix - devel:libLLVMARMDesc$secondaryArchSuffix - devel:libLLVMARMDisassembler$secondaryArchSuffix - devel:libLLVMARMInfo$secondaryArchSuffix - devel:libLLVMAsmParser$secondaryArchSuffix - devel:libLLVMAsmPrinter$secondaryArchSuffix - devel:libLLVMBitReader$secondaryArchSuffix - devel:libLLVMBitWriter$secondaryArchSuffix - devel:libLLVMCodeGen$secondaryArchSuffix - devel:libLLVMCore$secondaryArchSuffix - devel:libLLVMCppBackendCodeGen$secondaryArchSuffix - devel:libLLVMCppBackendInfo$secondaryArchSuffix - devel:libLLVMDebugInfo$secondaryArchSuffix - devel:libLLVMExecutionEngine$secondaryArchSuffix - devel:libLLVMHexagonAsmPrinter$secondaryArchSuffix - devel:libLLVMHexagonCodeGen$secondaryArchSuffix - devel:libLLVMHexagonDesc$secondaryArchSuffix - devel:libLLVMHexagonInfo$secondaryArchSuffix - devel:libLLVMInstCombine$secondaryArchSuffix - devel:libLLVMInstrumentation$secondaryArchSuffix - devel:libLLVMInterpreter$secondaryArchSuffix - devel:libLLVMipa$secondaryArchSuffix - devel:libLLVMipo$secondaryArchSuffix - devel:libLLVMIRReader$secondaryArchSuffix - devel:libLLVMJIT$secondaryArchSuffix - devel:libLLVMLinker$secondaryArchSuffix - devel:libLLVMLTO$secondaryArchSuffix - devel:libLLVMMC$secondaryArchSuffix - devel:libLLVMMCDisassembler$secondaryArchSuffix - devel:libLLVMMCJIT$secondaryArchSuffix - devel:libLLVMMCParser$secondaryArchSuffix - devel:libLLVMMipsAsmParser$secondaryArchSuffix - devel:libLLVMMipsAsmPrinter$secondaryArchSuffix - devel:libLLVMMipsCodeGen$secondaryArchSuffix - devel:libLLVMMipsDesc$secondaryArchSuffix - devel:libLLVMMipsDisassembler$secondaryArchSuffix - devel:libLLVMMipsInfo$secondaryArchSuffix - devel:libLLVMMSP430AsmPrinter$secondaryArchSuffix - devel:libLLVMMSP430CodeGen$secondaryArchSuffix - devel:libLLVMMSP430Desc$secondaryArchSuffix - devel:libLLVMMSP430Info$secondaryArchSuffix - devel:libLLVMNVPTXAsmPrinter$secondaryArchSuffix - devel:libLLVMNVPTXCodeGen$secondaryArchSuffix - devel:libLLVMNVPTXDesc$secondaryArchSuffix - devel:libLLVMNVPTXInfo$secondaryArchSuffix - devel:libLLVMObjCARCOpts$secondaryArchSuffix - devel:libLLVMObject$secondaryArchSuffix - devel:libLLVMOption$secondaryArchSuffix - devel:libLLVMPowerPCAsmParser$secondaryArchSuffix - devel:libLLVMPowerPCAsmPrinter$secondaryArchSuffix - devel:libLLVMPowerPCCodeGen$secondaryArchSuffix - devel:libLLVMPowerPCDesc$secondaryArchSuffix - devel:libLLVMPowerPCInfo$secondaryArchSuffix - devel:libLLVMR600AsmPrinter$secondaryArchSuffix - devel:libLLVMR600CodeGen$secondaryArchSuffix - devel:libLLVMR600Desc$secondaryArchSuffix - devel:libLLVMR600Info$secondaryArchSuffix - devel:libLLVMRuntimeDyld$secondaryArchSuffix - devel:libLLVMScalarOpts$secondaryArchSuffix - devel:libLLVMSelectionDAG$secondaryArchSuffix - devel:libLLVMSparcCodeGen$secondaryArchSuffix - devel:libLLVMSparcDesc$secondaryArchSuffix - devel:libLLVMSparcInfo$secondaryArchSuffix - devel:libLLVMSupport$secondaryArchSuffix - devel:libLLVMSystemZAsmParser$secondaryArchSuffix - devel:libLLVMSystemZAsmPrinter$secondaryArchSuffix - devel:libLLVMSystemZCodeGen$secondaryArchSuffix - devel:libLLVMSystemZDesc$secondaryArchSuffix - devel:libLLVMSystemZDisassembler$secondaryArchSuffix - devel:libLLVMSystemZInfo$secondaryArchSuffix - devel:libLLVMTableGen$secondaryArchSuffix - devel:libLLVMTarget$secondaryArchSuffix - devel:libLLVMTransformUtils$secondaryArchSuffix - devel:libLLVMVectorize$secondaryArchSuffix - devel:libLLVMX86AsmParser$secondaryArchSuffix - devel:libLLVMX86AsmPrinter$secondaryArchSuffix - devel:libLLVMX86CodeGen$secondaryArchSuffix - devel:libLLVMX86Desc$secondaryArchSuffix - devel:libLLVMX86Disassembler$secondaryArchSuffix - devel:libLLVMX86Info$secondaryArchSuffix - devel:libLLVMX86Utils$secondaryArchSuffix - devel:libLLVMXCoreAsmPrinter$secondaryArchSuffix - devel:libLLVMXCoreCodeGen$secondaryArchSuffix - devel:libLLVMXCoreDesc$secondaryArchSuffix - devel:libLLVMXCoreDisassembler$secondaryArchSuffix - devel:libLLVMXCoreInfo$secondaryArchSuffix - devel:libLTO$secondaryArchSuffix - lib:BugpointPasses$secondaryArchSuffix - lib:libLTO$secondaryArchSuffix - lib:LLVMHello$secondaryArchSuffix - " -REQUIRES=" - haiku$secondaryArchSuffix - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - " -BUILD_PREREQUIRES=" - cmd:aclocal - cmd:autoconf - cmd:automake - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:grep - cmd:ld$secondaryArchSuffix - cmd:libtoolize$secondaryArchSuffix - cmd:make - cmd:python - cmd:sed - " - -BUILD() -{ - # Haiku C++ requires rtti in a lot of central system components - # such as Mesa - export REQUIRES_RTTI=1 - runConfigure --omit-dirs binDir ./configure --bindir=$prefix/bin --enable-optimized - make $jobArgs PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir -} - -INSTALL() -{ - make install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - prepareInstalledDevelLibs libLLVMAArch64AsmParser libLLVMAArch64Disassembler \ - libLLVMAArch64Utils - prepareInstalledDevelLibs libLLVMARMAsmParser libLLVMARMDisassembler - prepareInstalledDevelLibs libLLVMMipsAsmParser libLLVMMipsDisassembler - prepareInstalledDevelLibs libLLVMPowerPCAsmParser - prepareInstalledDevelLibs libLLVMSystemZAsmParser libLLVMSystemZDisassembler - prepareInstalledDevelLibs libLLVMX86AsmParser libLLVMX86Disassembler libLLVMX86Utils - prepareInstalledDevelLibs libLLVMXCoreDisassembler - - prepareInstalledDevelLibs libLLVMSparcCodeGen libLLVMSparcDesc libLLVMSparcInfo - - for arch in AArch64 ARM Hexagon Mips MSP430 NVPTX PowerPC R600 SystemZ X86 XCore - do - prepareInstalledDevelLibs libLLVM${arch}AsmPrinter \ - libLLVM${arch}CodeGen libLLVM${arch}Desc libLLVM${arch}Info - done - - prepareInstalledDevelLibs libLLVMAnalysis libLLVMAsmParser \ - libLLVMAsmPrinter libLLVMBitReader libLLVMBitWriter libLLVMCodeGen \ - libLLVMCore libLLVMCppBackendCodeGen libLLVMCppBackendInfo \ - libLLVMDebugInfo libLLVMExecutionEngine libLLVMIRReader \ - libLLVMInstCombine libLLVMInstrumentation libLLVMInterpreter libLLVMJIT \ - libLLVMLTO libLLVMLinker libLLVMMC libLLVMMCDisassembler libLLVMMCJIT \ - libLLVMMCParser libLLVMObjCARCOpts libLLVMObject libLLVMOption \ - libLLVMRuntimeDyld libLLVMScalarOpts libLLVMSelectionDAG libLLVMSupport \ - libLLVMTableGen libLLVMTarget libLLVMTransformUtils libLLVMVectorize \ - libLLVMipa libLLVMipo libLTO -} - -TEST() -{ - make check -} diff --git a/sys-devel/llvm/llvm-3.4.recipe b/sys-devel/llvm/llvm-3.4.recipe deleted file mode 100644 index b6d7b73aa..000000000 --- a/sys-devel/llvm/llvm-3.4.recipe +++ /dev/null @@ -1,88 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION=" -LLVM is a collection of modular and reuseable compiler and toolchain \ -technologies." -HOMEPAGE="http://www.llvm.org/" -COPYRIGHT="2003-2012 University of Illinois at Urbana-Champaign" -LICENSE="UIUC" -REVISION="2" -SOURCE_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.gz" -CHECKSUM_SHA256="25a5612d692c48481b9b397e2b55f4870e447966d66c96d655241702d44a2628" -PATCHES="llvm-${portVersion}.patchset" - -ARCHITECTURES="!x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion - cmd:bugpoint - cmd:llc - cmd:lli - cmd:lli_child_target - cmd:llvm_ar - cmd:llvm_as - cmd:llvm_bcanalyzer - cmd:llvm_config - cmd:llvm_cov - cmd:llvm_diff - cmd:llvm_dis - cmd:llvm_dwarfdump - cmd:llvm_extract - cmd:llvm_link - cmd:llvm_mc - cmd:llvm_mcmarkup - cmd:llvm_nm - cmd:llvm_objdump - cmd:llvm_ranlib - cmd:llvm_readobj - cmd:llvm_rtdyld - cmd:llvm_size - cmd:llvm_stress - cmd:llvm_symbolizer - cmd:llvm_tblgen - cmd:macho_dump - cmd:opt - " -REQUIRES=" - haiku$secondaryArchSuffix - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - " -BUILD_PREREQUIRES=" - cmd:aclocal - cmd:autoconf - cmd:automake - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:ld$secondaryArchSuffix - cmd:libtoolize$secondaryArchSuffix - cmd:make - cmd:python - cmd:sed - " - -PATCH() -{ - find . -type f -exec sed -i 's/\/usr\/bin\/env/\/bin\/env/g' "{}" \; -} - -BUILD() -{ - # Haiku C++ requires rtti in a lot of central system components - # such as Mesa - export REQUIRES_RTTI=1 - runConfigure ./configure --enable-optimized - make $jobArgs -} - -INSTALL() -{ - make install -} - -TEST() -{ - make check -} diff --git a/sys-devel/llvm/llvm-3.5.0.recipe b/sys-devel/llvm/llvm-3.5.0.recipe deleted file mode 100644 index 662327fee..000000000 --- a/sys-devel/llvm/llvm-3.5.0.recipe +++ /dev/null @@ -1,226 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION=" -LLVM is a collection of modular and reuseable compiler and and toolchain \ -technologies." -HOMEPAGE="http://www.llvm.org/" -COPYRIGHT="2003-2014 University of Illinois at Urbana-Champaign" -LICENSE="UIUC" -REVISION="2" -SOURCE_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.xz" -CHECKSUM_SHA256="28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03" -SOURCE_DIR="llvm-$portVersion.src" -PATCHES="llvm-${portVersion}.patchset" - -ARCHITECTURES="!x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion - cmd:bugpoint - cmd:count - cmd:FileCheck - cmd:llc - cmd:lli - cmd:lli_child_target - cmd:llvm_ar - cmd:llvm_as - cmd:llvm_bcanalyzer - cmd:llvm_config - cmd:llvm_cov - cmd:llvm_diff - cmd:llvm_dis - cmd:llvm_dwarfdump - cmd:llvm_extract - cmd:llvm_link - cmd:llvm_mc - cmd:llvm_mcmarkup - cmd:llvm_nm - cmd:llvm_objdump - cmd:llvm_profdata - cmd:llvm_ranlib - cmd:llvm_readobj - cmd:llvm_rtdyld - cmd:llvm_size - cmd:llvm_stress - cmd:llvm_symbolizer - cmd:llvm_tblgen - cmd:macho_dump - cmd:not - cmd:opt - devel:libLLVMAArch64AsmParser$secondaryArchSuffix - devel:libLLVMAArch64AsmPrinter$secondaryArchSuffix - devel:libLLVMAArch64CodeGen$secondaryArchSuffix - devel:libLLVMAArch64Desc$secondaryArchSuffix - devel:libLLVMAArch64Disassembler$secondaryArchSuffix - devel:libLLVMAArch64Info$secondaryArchSuffix - devel:libLLVMAArch64Utils$secondaryArchSuffix - devel:libLLVMAnalysis$secondaryArchSuffix - devel:libLLVMARMAsmParser$secondaryArchSuffix - devel:libLLVMARMAsmPrinter$secondaryArchSuffix - devel:libLLVMARMCodeGen$secondaryArchSuffix - devel:libLLVMARMDesc$secondaryArchSuffix - devel:libLLVMARMDisassembler$secondaryArchSuffix - devel:libLLVMARMInfo$secondaryArchSuffix - devel:libLLVMAsmParser$secondaryArchSuffix - devel:libLLVMAsmPrinter$secondaryArchSuffix - devel:libLLVMBitReader$secondaryArchSuffix - devel:libLLVMBitWriter$secondaryArchSuffix - devel:libLLVMCodeGen$secondaryArchSuffix - devel:libLLVMCore$secondaryArchSuffix - devel:libLLVMCppBackendCodeGen$secondaryArchSuffix - devel:libLLVMCppBackendInfo$secondaryArchSuffix - devel:libLLVMDebugInfo$secondaryArchSuffix - devel:libLLVMExecutionEngine$secondaryArchSuffix - devel:libLLVMHexagonAsmPrinter$secondaryArchSuffix - devel:libLLVMHexagonCodeGen$secondaryArchSuffix - devel:libLLVMHexagonDesc$secondaryArchSuffix - devel:libLLVMHexagonInfo$secondaryArchSuffix - devel:libLLVMInstCombine$secondaryArchSuffix - devel:libLLVMInstrumentation$secondaryArchSuffix - devel:libLLVMInterpreter$secondaryArchSuffix - devel:libLLVMipa$secondaryArchSuffix - devel:libLLVMipo$secondaryArchSuffix - devel:libLLVMIRReader$secondaryArchSuffix - devel:libLLVMJIT$secondaryArchSuffix - devel:libLLVMLineEditor$secondaryArchSuffix - devel:libLLVMLinker$secondaryArchSuffix - devel:libLLVMLTO$secondaryArchSuffix - devel:libLLVMMC$secondaryArchSuffix - devel:libLLVMMCAnalysis$secondaryArchSuffix - devel:libLLVMMCDisassembler$secondaryArchSuffix - devel:libLLVMMCJIT$secondaryArchSuffix - devel:libLLVMMCParser$secondaryArchSuffix - devel:libLLVMMipsAsmParser$secondaryArchSuffix - devel:libLLVMMipsAsmPrinter$secondaryArchSuffix - devel:libLLVMMipsCodeGen$secondaryArchSuffix - devel:libLLVMMipsDesc$secondaryArchSuffix - devel:libLLVMMipsDisassembler$secondaryArchSuffix - devel:libLLVMMipsInfo$secondaryArchSuffix - devel:libLLVMMSP430AsmPrinter$secondaryArchSuffix - devel:libLLVMMSP430CodeGen$secondaryArchSuffix - devel:libLLVMMSP430Desc$secondaryArchSuffix - devel:libLLVMMSP430Info$secondaryArchSuffix - devel:libLLVMNVPTXAsmPrinter$secondaryArchSuffix - devel:libLLVMNVPTXCodeGen$secondaryArchSuffix - devel:libLLVMNVPTXDesc$secondaryArchSuffix - devel:libLLVMNVPTXInfo$secondaryArchSuffix - devel:libLLVMObjCARCOpts$secondaryArchSuffix - devel:libLLVMObject$secondaryArchSuffix - devel:libLLVMOption$secondaryArchSuffix - devel:libLLVMPowerPCAsmParser$secondaryArchSuffix - devel:libLLVMPowerPCAsmPrinter$secondaryArchSuffix - devel:libLLVMPowerPCCodeGen$secondaryArchSuffix - devel:libLLVMPowerPCDesc$secondaryArchSuffix - devel:libLLVMPowerPCDisassembler$secondaryArchSuffix - devel:libLLVMPowerPCInfo$secondaryArchSuffix - devel:libLLVMProfileData$secondaryArchSuffix - devel:libLLVMR600AsmPrinter$secondaryArchSuffix - devel:libLLVMR600CodeGen$secondaryArchSuffix - devel:libLLVMR600Desc$secondaryArchSuffix - devel:libLLVMR600Info$secondaryArchSuffix - devel:libLLVMRuntimeDyld$secondaryArchSuffix - devel:libLLVMScalarOpts$secondaryArchSuffix - devel:libLLVMSelectionDAG$secondaryArchSuffix - devel:libLLVMSparcAsmParser$secondaryArchSuffix - devel:libLLVMSparcAsmPrinter$secondaryArchSuffix - devel:libLLVMSparcCodeGen$secondaryArchSuffix - devel:libLLVMSparcDesc$secondaryArchSuffix - devel:libLLVMSparcDisassembler$secondaryArchSuffix - devel:libLLVMSparcInfo$secondaryArchSuffix - devel:libLLVMSupport$secondaryArchSuffix - devel:libLLVMSystemZAsmParser$secondaryArchSuffix - devel:libLLVMSystemZAsmPrinter$secondaryArchSuffix - devel:libLLVMSystemZCodeGen$secondaryArchSuffix - devel:libLLVMSystemZDesc$secondaryArchSuffix - devel:libLLVMSystemZDisassembler$secondaryArchSuffix - devel:libLLVMSystemZInfo$secondaryArchSuffix - devel:libLLVMTableGen$secondaryArchSuffix - devel:libLLVMTarget$secondaryArchSuffix - devel:libLLVMTransformUtils$secondaryArchSuffix - devel:libLLVMVectorize$secondaryArchSuffix - devel:libLLVMX86AsmParser$secondaryArchSuffix - devel:libLLVMX86AsmPrinter$secondaryArchSuffix - devel:libLLVMX86CodeGen$secondaryArchSuffix - devel:libLLVMX86Desc$secondaryArchSuffix - devel:libLLVMX86Disassembler$secondaryArchSuffix - devel:libLLVMX86Info$secondaryArchSuffix - devel:libLLVMX86Utils$secondaryArchSuffix - devel:libLLVMXCoreAsmPrinter$secondaryArchSuffix - devel:libLLVMXCoreCodeGen$secondaryArchSuffix - devel:libLLVMXCoreDesc$secondaryArchSuffix - devel:libLLVMXCoreDisassembler$secondaryArchSuffix - devel:libLLVMXCoreInfo$secondaryArchSuffix - devel:libLTO$secondaryArchSuffix - lib:BugpointPasses$secondaryArchSuffix - lib:libLTO$secondaryArchSuffix - lib:LLVMHello$secondaryArchSuffix - " -REQUIRES=" - haiku$secondaryArchSuffix >= $haikuVersion - " - -BUILD_REQUIRES=" - " -BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel >= $haikuVersion - cmd:aclocal - cmd:autoconf - cmd:automake - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:grep - cmd:ld$secondaryArchSuffix - cmd:libtoolize$secondaryArchSuffix - cmd:make - cmd:python - cmd:sed - " - -BUILD() -{ - # Haiku C++ requires rtti in a lot of central system components - # such as Mesa - export REQUIRES_RTTI=1 - runConfigure ./configure --enable-optimized - make $jobArgs PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir -} - -INSTALL() -{ - make install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - prepareInstalledDevelLibs libLLVMAArch64AsmParser libLLVMAArch64Disassembler \ - libLLVMAArch64Utils - prepareInstalledDevelLibs libLLVMARMAsmParser libLLVMARMDisassembler - prepareInstalledDevelLibs libLLVMMipsAsmParser libLLVMMipsDisassembler - prepareInstalledDevelLibs libLLVMPowerPCAsmParser libLLVMPowerPCDisassembler - prepareInstalledDevelLibs libLLVMSystemZAsmParser libLLVMSystemZDisassembler - prepareInstalledDevelLibs libLLVMX86AsmParser libLLVMX86Disassembler libLLVMX86Utils - prepareInstalledDevelLibs libLLVMXCoreDisassembler - prepareInstalledDevelLibs libLLVMSparcAsmParser libLLVMSparcDisassembler - - for arch in AArch64 ARM Hexagon Mips MSP430 NVPTX PowerPC R600 SystemZ Sparc X86 XCore - do - prepareInstalledDevelLibs libLLVM${arch}AsmPrinter \ - libLLVM${arch}CodeGen libLLVM${arch}Desc libLLVM${arch}Info - done - - prepareInstalledDevelLibs libLLVMAnalysis libLLVMAsmParser \ - libLLVMAsmPrinter libLLVMBitReader libLLVMBitWriter libLLVMCodeGen \ - libLLVMCore libLLVMCppBackendCodeGen libLLVMCppBackendInfo \ - libLLVMDebugInfo libLLVMExecutionEngine libLLVMIRReader \ - libLLVMInstCombine libLLVMInstrumentation libLLVMInterpreter libLLVMJIT \ - libLLVMLTO libLLVMLinker libLLVMLineEditor libLLVMMC libLLVMMCAnalysis \ - libLLVMMCDisassembler libLLVMMCJIT libLLVMMCParser libLLVMObjCARCOpts \ - libLLVMObject libLLVMOption libLLVMProfileData libLLVMRuntimeDyld \ - libLLVMScalarOpts libLLVMSelectionDAG libLLVMSupport libLLVMTableGen \ - libLLVMTarget libLLVMTransformUtils libLLVMVectorize libLLVMipa \ - libLLVMipo libLTO -} - -TEST() -{ - make check -} diff --git a/sys-devel/llvm/llvm-3.5.1.recipe b/sys-devel/llvm/llvm-3.5.1.recipe deleted file mode 100644 index 518c801e8..000000000 --- a/sys-devel/llvm/llvm-3.5.1.recipe +++ /dev/null @@ -1,338 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION=" -LLVM is a collection of modular and reuseable compiler and and toolchain \ -technologies. -" -HOMEPAGE="http://www.llvm.org/" -COPYRIGHT="2003-2014 University of Illinois at Urbana-Champaign" -LICENSE="UIUC" -REVISION="3" -SOURCE_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.xz" -CHECKSUM_SHA256="bf3275d2d7890015c8d8f5e6f4f882f8cf3bf51967297ebe74111d6d8b53be15" -SOURCE_DIR="llvm-$portVersion.src" -SOURCE_URI_2="http://llvm.org/releases/${portVersion}/cfe-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_2="6773f3f9cf815631cc7e779ec134ddd228dc8e9a250e1ea3a910610c59eb8f5c" -SOURCE_URI_3="http://llvm.org/releases/${portVersion}/clang-tools-extra-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_3="e8d011250389cfc36eb51557ca25ae66ab08173e8d53536a0747356105d72906" -PATCHES="llvm-${portVersion}.patchset" -PATCHES_2="clang-${portVersion}.patchset" - -ARCHITECTURES="!x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion - cmd:bugpoint - cmd:count - cmd:FileCheck - cmd:llc - cmd:lli - cmd:lli_child_target - cmd:llvm_ar - cmd:llvm_as - cmd:llvm_bcanalyzer - cmd:llvm_config - cmd:llvm_cov - cmd:llvm_diff - cmd:llvm_dis - cmd:llvm_dwarfdump - cmd:llvm_extract - cmd:llvm_link - cmd:llvm_mc - cmd:llvm_mcmarkup - cmd:llvm_nm - cmd:llvm_objdump - cmd:llvm_profdata - cmd:llvm_ranlib - cmd:llvm_readobj - cmd:llvm_rtdyld - cmd:llvm_size - cmd:llvm_stress - cmd:llvm_symbolizer - cmd:llvm_tblgen - cmd:macho_dump - cmd:not - cmd:opt - devel:libLLVMAArch64AsmParser$secondaryArchSuffix - devel:libLLVMAArch64AsmPrinter$secondaryArchSuffix - devel:libLLVMAArch64CodeGen$secondaryArchSuffix - devel:libLLVMAArch64Desc$secondaryArchSuffix - devel:libLLVMAArch64Disassembler$secondaryArchSuffix - devel:libLLVMAArch64Info$secondaryArchSuffix - devel:libLLVMAArch64Utils$secondaryArchSuffix - devel:libLLVMAnalysis$secondaryArchSuffix - devel:libLLVMARMAsmParser$secondaryArchSuffix - devel:libLLVMARMAsmPrinter$secondaryArchSuffix - devel:libLLVMARMCodeGen$secondaryArchSuffix - devel:libLLVMARMDesc$secondaryArchSuffix - devel:libLLVMARMDisassembler$secondaryArchSuffix - devel:libLLVMARMInfo$secondaryArchSuffix - devel:libLLVMAsmParser$secondaryArchSuffix - devel:libLLVMAsmPrinter$secondaryArchSuffix - devel:libLLVMBitReader$secondaryArchSuffix - devel:libLLVMBitWriter$secondaryArchSuffix - devel:libLLVMCodeGen$secondaryArchSuffix - devel:libLLVMCore$secondaryArchSuffix - devel:libLLVMCppBackendCodeGen$secondaryArchSuffix - devel:libLLVMCppBackendInfo$secondaryArchSuffix - devel:libLLVMDebugInfo$secondaryArchSuffix - devel:libLLVMExecutionEngine$secondaryArchSuffix - devel:libLLVMHexagonAsmPrinter$secondaryArchSuffix - devel:libLLVMHexagonCodeGen$secondaryArchSuffix - devel:libLLVMHexagonDesc$secondaryArchSuffix - devel:libLLVMHexagonInfo$secondaryArchSuffix - devel:libLLVMInstCombine$secondaryArchSuffix - devel:libLLVMInstrumentation$secondaryArchSuffix - devel:libLLVMInterpreter$secondaryArchSuffix - devel:libLLVMipa$secondaryArchSuffix - devel:libLLVMipo$secondaryArchSuffix - devel:libLLVMIRReader$secondaryArchSuffix - devel:libLLVMJIT$secondaryArchSuffix - devel:libLLVMLineEditor$secondaryArchSuffix - devel:libLLVMLinker$secondaryArchSuffix - devel:libLLVMLTO$secondaryArchSuffix - devel:libLLVMMC$secondaryArchSuffix - devel:libLLVMMCAnalysis$secondaryArchSuffix - devel:libLLVMMCDisassembler$secondaryArchSuffix - devel:libLLVMMCJIT$secondaryArchSuffix - devel:libLLVMMCParser$secondaryArchSuffix - devel:libLLVMMipsAsmParser$secondaryArchSuffix - devel:libLLVMMipsAsmPrinter$secondaryArchSuffix - devel:libLLVMMipsCodeGen$secondaryArchSuffix - devel:libLLVMMipsDesc$secondaryArchSuffix - devel:libLLVMMipsDisassembler$secondaryArchSuffix - devel:libLLVMMipsInfo$secondaryArchSuffix - devel:libLLVMMSP430AsmPrinter$secondaryArchSuffix - devel:libLLVMMSP430CodeGen$secondaryArchSuffix - devel:libLLVMMSP430Desc$secondaryArchSuffix - devel:libLLVMMSP430Info$secondaryArchSuffix - devel:libLLVMNVPTXAsmPrinter$secondaryArchSuffix - devel:libLLVMNVPTXCodeGen$secondaryArchSuffix - devel:libLLVMNVPTXDesc$secondaryArchSuffix - devel:libLLVMNVPTXInfo$secondaryArchSuffix - devel:libLLVMObjCARCOpts$secondaryArchSuffix - devel:libLLVMObject$secondaryArchSuffix - devel:libLLVMOption$secondaryArchSuffix - devel:libLLVMPowerPCAsmParser$secondaryArchSuffix - devel:libLLVMPowerPCAsmPrinter$secondaryArchSuffix - devel:libLLVMPowerPCCodeGen$secondaryArchSuffix - devel:libLLVMPowerPCDesc$secondaryArchSuffix - devel:libLLVMPowerPCDisassembler$secondaryArchSuffix - devel:libLLVMPowerPCInfo$secondaryArchSuffix - devel:libLLVMProfileData$secondaryArchSuffix - devel:libLLVMR600AsmPrinter$secondaryArchSuffix - devel:libLLVMR600CodeGen$secondaryArchSuffix - devel:libLLVMR600Desc$secondaryArchSuffix - devel:libLLVMR600Info$secondaryArchSuffix - devel:libLLVMRuntimeDyld$secondaryArchSuffix - devel:libLLVMScalarOpts$secondaryArchSuffix - devel:libLLVMSelectionDAG$secondaryArchSuffix - devel:libLLVMSparcAsmParser$secondaryArchSuffix - devel:libLLVMSparcAsmPrinter$secondaryArchSuffix - devel:libLLVMSparcCodeGen$secondaryArchSuffix - devel:libLLVMSparcDesc$secondaryArchSuffix - devel:libLLVMSparcDisassembler$secondaryArchSuffix - devel:libLLVMSparcInfo$secondaryArchSuffix - devel:libLLVMSupport$secondaryArchSuffix - devel:libLLVMSystemZAsmParser$secondaryArchSuffix - devel:libLLVMSystemZAsmPrinter$secondaryArchSuffix - devel:libLLVMSystemZCodeGen$secondaryArchSuffix - devel:libLLVMSystemZDesc$secondaryArchSuffix - devel:libLLVMSystemZDisassembler$secondaryArchSuffix - devel:libLLVMSystemZInfo$secondaryArchSuffix - devel:libLLVMTableGen$secondaryArchSuffix - devel:libLLVMTarget$secondaryArchSuffix - devel:libLLVMTransformUtils$secondaryArchSuffix - devel:libLLVMVectorize$secondaryArchSuffix - devel:libLLVMX86AsmParser$secondaryArchSuffix - devel:libLLVMX86AsmPrinter$secondaryArchSuffix - devel:libLLVMX86CodeGen$secondaryArchSuffix - devel:libLLVMX86Desc$secondaryArchSuffix - devel:libLLVMX86Disassembler$secondaryArchSuffix - devel:libLLVMX86Info$secondaryArchSuffix - devel:libLLVMX86Utils$secondaryArchSuffix - devel:libLLVMXCoreAsmPrinter$secondaryArchSuffix - devel:libLLVMXCoreCodeGen$secondaryArchSuffix - devel:libLLVMXCoreDesc$secondaryArchSuffix - devel:libLLVMXCoreDisassembler$secondaryArchSuffix - devel:libLLVMXCoreInfo$secondaryArchSuffix - devel:libLTO$secondaryArchSuffix - lib:BugpointPasses$secondaryArchSuffix - lib:libLTO$secondaryArchSuffix - lib:LLVMHello$secondaryArchSuffix - " -REQUIRES=" - haiku$secondaryArchSuffix >= $haikuVersion - " - -PROVIDES_clang=" - llvm${secondaryArchSuffix}_clang = $portVersion - cmd:c_index_test = $portVersion - cmd:clang = $portVersion - cmd:clang++ = $portVersion - cmd:clang_apply_replacements = $portVersion - cmd:clang_check = $portVersion - cmd:clang_format = $portVersion - cmd:clang_modernize = $portVersion - cmd:clang_query = $portVersion - cmd:clang_tblgen = $portVersion - cmd:clang_tidy = $portVersion - cmd:pp_trace = $portVersion - devel:libclang$secondaryArchSuffix = $portVersion - devel:libclanganalysis$secondaryArchSuffix = $portVersion - devel:libclangapplyreplacements$secondaryArchSuffix = $portVersion - devel:libclangarcmigrate$secondaryArchSuffix = $portVersion - devel:libclangast$secondaryArchSuffix = $portVersion - devel:libclangastmatchers$secondaryArchSuffix = $portVersion - devel:libclangbasic$secondaryArchSuffix = $portVersion - devel:libclangcodegen$secondaryArchSuffix = $portVersion - devel:libclangdriver$secondaryArchSuffix = $portVersion - devel:libclangdynamicastmatchers$secondaryArchSuffix = $portVersion - devel:libclangedit$secondaryArchSuffix = $portVersion - devel:libclangformat$secondaryArchSuffix = $portVersion - devel:libclangfrontend$secondaryArchSuffix = $portVersion - devel:libclangfrontendtool$secondaryArchSuffix = $portVersion - devel:libclangindex$secondaryArchSuffix = $portVersion - devel:libclanglex$secondaryArchSuffix = $portVersion - devel:libclangparse$secondaryArchSuffix = $portVersion - devel:libclangquery$secondaryArchSuffix = $portVersion - devel:libclangrewrite$secondaryArchSuffix = $portVersion - devel:libclangrewritefrontend$secondaryArchSuffix = $portVersion - devel:libclangsema$secondaryArchSuffix = $portVersion - devel:libclangserialization$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercheckers$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercore$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzerfrontend$secondaryArchSuffix = $portVersion - devel:libclangtidy$secondaryArchSuffix = $portVersion - devel:libclangtidygooglemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyllvmmodule$secondaryArchSuffix = $portVersion - devel:libclangtidymiscmodule$secondaryArchSuffix = $portVersion - devel:libclangtooling$secondaryArchSuffix = $portVersion - devel:libmodernizecore$secondaryArchSuffix = $portVersion - lib:libclang$secondaryArchSuffix = $portVersion - " -REQUIRES_clang=" - haiku$secondaryArchSuffix - " - -PROVIDES_clang_analysis=" - llvm${secondaryArchSuffix}_clang_analysis = $portVersion - cmd:scan_build$secondaryArchSuffix = $portVersion - cmd:scan_view$secondaryArchSuffix = $portVersion - " -REQUIRES_clang_analysis=" - llvm${secondaryArchSuffix}_clang == $portVersion base - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - " -BUILD_PREREQUIRES=" - cmd:aclocal - cmd:autoconf - cmd:automake - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:grep - cmd:groff - cmd:ld$secondaryArchSuffix - cmd:libtoolize$secondaryArchSuffix - cmd:make - cmd:python - cmd:sed - " - -BUILD() -{ - # Add clang tools - mkdir -p tools/clang - cp -rd $sourceDir2/cfe-${portVersion}.src/* tools/clang/ - - # Add clang tools's tool's (really llvm?) - mkdir -p tools/clang/tools/extra - cp -rd $sourceDir3/clang-tools-extra-${portVersion}.src/* tools/clang/tools/extra - - # Haiku C++ requires rtti in a lot of central system components - # such as Mesa - export REQUIRES_RTTI=1 - runConfigure ./configure --enable-optimized - make $jobArgs PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir -} - -INSTALL() -{ - mkdir -p $developDir - mkdir -p $docDir - mkdir -p $binDir - - make install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - prepareInstalledDevelLibs libLLVMAArch64AsmParser libLLVMAArch64Disassembler \ - libLLVMAArch64Utils - prepareInstalledDevelLibs libLLVMARMAsmParser libLLVMARMDisassembler - prepareInstalledDevelLibs libLLVMMipsAsmParser libLLVMMipsDisassembler - prepareInstalledDevelLibs libLLVMPowerPCAsmParser libLLVMPowerPCDisassembler - prepareInstalledDevelLibs libLLVMSystemZAsmParser libLLVMSystemZDisassembler - prepareInstalledDevelLibs libLLVMX86AsmParser libLLVMX86Disassembler libLLVMX86Utils - prepareInstalledDevelLibs libLLVMXCoreDisassembler - prepareInstalledDevelLibs libLLVMSparcAsmParser libLLVMSparcDisassembler - - for arch in AArch64 ARM Hexagon Mips MSP430 NVPTX PowerPC R600 SystemZ Sparc X86 XCore - do - prepareInstalledDevelLibs libLLVM${arch}AsmPrinter \ - libLLVM${arch}CodeGen libLLVM${arch}Desc libLLVM${arch}Info - done - - prepareInstalledDevelLibs libLLVMAnalysis libLLVMAsmParser \ - libLLVMAsmPrinter libLLVMBitReader libLLVMBitWriter libLLVMCodeGen \ - libLLVMCore libLLVMCppBackendCodeGen libLLVMCppBackendInfo \ - libLLVMDebugInfo libLLVMExecutionEngine libLLVMIRReader \ - libLLVMInstCombine libLLVMInstrumentation libLLVMInterpreter libLLVMJIT \ - libLLVMLTO libLLVMLinker libLLVMLineEditor libLLVMMC libLLVMMCAnalysis \ - libLLVMMCDisassembler libLLVMMCJIT libLLVMMCParser libLLVMObjCARCOpts \ - libLLVMObject libLLVMOption libLLVMProfileData libLLVMRuntimeDyld \ - libLLVMScalarOpts libLLVMSelectionDAG libLLVMSupport libLLVMTableGen \ - libLLVMTarget libLLVMTransformUtils libLLVMVectorize libLLVMipa \ - libLLVMipo libLTO - - make -C tools/clang install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - # Install static analysis tools - mkdir -p $developDir/tools/clang$secondaryArchSuffix - cp -Ra tools/clang/tools/scan-build $developDir/tools/clang$secondaryArchSuffix/ - cp -Ra tools/clang/tools/scan-view $developDir/tools/clang$secondaryArchSuffix/ - - ln -s $developDir/tools/clang$secondaryArchSuffix/scan-build/scan-build $binDir/scan-build - ln -s $developDir/tools/clang$secondaryArchSuffix/scan-view/scan-view $binDir/scan-view - ln -s $binDir/clang $developDir/tools/clang$secondaryArchSuffix/scan-build/clang - - prepareInstalledDevelLibs libclang* libmodernizeCore - - mv $prefix/include/* $includeDir/ - rmdir $prefix/include - - # analysis package - packageEntries clang \ - $binDir/c-index-test \ - $binDir/clang* \ - $binDir/pp-trace \ - $includeDir/clang* \ - $libDir/libclang* \ - $developLibDir/libclang* \ - $developLibDir/libmodernizeCore* \ - $manDir/man1/clang.1 - - # analysis package - packageEntries clang_analysis \ - $binDir/scan-build \ - $binDir/scan-view \ - $developDir/tools/clang$secondaryArchSuffix -} - -TEST() -{ - make check -} diff --git a/sys-devel/llvm/llvm-3.5.2.recipe b/sys-devel/llvm/llvm-3.5.2.recipe deleted file mode 100644 index 0a1808963..000000000 --- a/sys-devel/llvm/llvm-3.5.2.recipe +++ /dev/null @@ -1,363 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION="LLVM is a collection of modular and reuseable compiler and and \ -toolchain technologies.The LLVM compiler system for C and C++ includes the \ -following: - -- Front-ends for C, C++, Objective-C, Fortran, etc. based on the GCC 4.2 \ -parsers. They support the ANSI-standard C and C++ languages to the same \ -degree that GCC supports them. Additionally, many GCC extensions are \ -supported. -- A stable implementation of the LLVM instruction set, which serves as both \ -the online and offline code representation, together with assembly (ASCII) \ -and bytecode (binary) readers and writers, and a verifier. -- A powerful pass-management system that automatically sequences passes \ -(including analysis, transformation, and code-generation passes) based on \ -their dependences, and pipelines them for efficiency. -- A wide range of global scalar optimizations. -- A link-time interprocedural optimization framework with a rich set of \ -analyses and transformations, including sophisticated whole-program pointer \ -analysis, call graph construction, and support for profile-guided optimizations. -- An easily retargettable code generator, which currently supports X86, \ -X86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, \ -SystemZ, and XCore. -- A Just-In-Time (JIT) code generation system, which currently supports X86, \ -X86-64, ARM, AArch64, Mips, SystemZ, PowerPC, and PowerPC-64. -- Support for generating DWARF debugging information. -- A C back-end useful for testing and for generating native code on targets \ -other than the ones listed above. -- A profiling system similar to gprof. -- A test framework with a number of benchmark codes and applications. -- APIs and debugging tools to simplify rapid development of LLVM components." -HOMEPAGE="http://www.llvm.org/" -COPYRIGHT="2003-2014 University of Illinois at Urbana-Champaign" -LICENSE="UIUC" -REVISION="3" -SOURCE_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.xz" -CHECKSUM_SHA256="44196156d5749eb4b4224fe471a29cc3984df92570a4a89fa859f7394fc0c575" -SOURCE_DIR="llvm-$portVersion.src" -SOURCE_URI_2="http://llvm.org/releases/${portVersion}/cfe-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_2="4feb575f74fb3a74b6245400460230141bf610f235ef3a25008cfe6137828620" -SOURCE_URI_3="http://llvm.org/releases/${portVersion}/clang-tools-extra-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_3="f21a374d74b194d8c984546266491b518859b5f12ed9abd49337b8060d3fc004" -PATCHES="llvm-${portVersion}.patchset" -PATCHES_2="clang-${portVersion}.patchset" - -ARCHITECTURES="!x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion - cmd:bugpoint - cmd:count - cmd:FileCheck - cmd:llc - cmd:lli - cmd:lli_child_target - cmd:llvm_ar - cmd:llvm_as - cmd:llvm_bcanalyzer - cmd:llvm_config - cmd:llvm_cov - cmd:llvm_diff - cmd:llvm_dis - cmd:llvm_dwarfdump - cmd:llvm_extract - cmd:llvm_link - cmd:llvm_mc - cmd:llvm_mcmarkup - cmd:llvm_nm - cmd:llvm_objdump - cmd:llvm_profdata - cmd:llvm_ranlib - cmd:llvm_readobj - cmd:llvm_rtdyld - cmd:llvm_size - cmd:llvm_stress - cmd:llvm_symbolizer - cmd:llvm_tblgen - cmd:macho_dump - cmd:not - cmd:opt - devel:libLLVMAArch64AsmParser$secondaryArchSuffix - devel:libLLVMAArch64AsmPrinter$secondaryArchSuffix - devel:libLLVMAArch64CodeGen$secondaryArchSuffix - devel:libLLVMAArch64Desc$secondaryArchSuffix - devel:libLLVMAArch64Disassembler$secondaryArchSuffix - devel:libLLVMAArch64Info$secondaryArchSuffix - devel:libLLVMAArch64Utils$secondaryArchSuffix - devel:libLLVMAnalysis$secondaryArchSuffix - devel:libLLVMARMAsmParser$secondaryArchSuffix - devel:libLLVMARMAsmPrinter$secondaryArchSuffix - devel:libLLVMARMCodeGen$secondaryArchSuffix - devel:libLLVMARMDesc$secondaryArchSuffix - devel:libLLVMARMDisassembler$secondaryArchSuffix - devel:libLLVMARMInfo$secondaryArchSuffix - devel:libLLVMAsmParser$secondaryArchSuffix - devel:libLLVMAsmPrinter$secondaryArchSuffix - devel:libLLVMBitReader$secondaryArchSuffix - devel:libLLVMBitWriter$secondaryArchSuffix - devel:libLLVMCodeGen$secondaryArchSuffix - devel:libLLVMCore$secondaryArchSuffix - devel:libLLVMCppBackendCodeGen$secondaryArchSuffix - devel:libLLVMCppBackendInfo$secondaryArchSuffix - devel:libLLVMDebugInfo$secondaryArchSuffix - devel:libLLVMExecutionEngine$secondaryArchSuffix - devel:libLLVMHexagonAsmPrinter$secondaryArchSuffix - devel:libLLVMHexagonCodeGen$secondaryArchSuffix - devel:libLLVMHexagonDesc$secondaryArchSuffix - devel:libLLVMHexagonInfo$secondaryArchSuffix - devel:libLLVMInstCombine$secondaryArchSuffix - devel:libLLVMInstrumentation$secondaryArchSuffix - devel:libLLVMInterpreter$secondaryArchSuffix - devel:libLLVMipa$secondaryArchSuffix - devel:libLLVMipo$secondaryArchSuffix - devel:libLLVMIRReader$secondaryArchSuffix - devel:libLLVMJIT$secondaryArchSuffix - devel:libLLVMLineEditor$secondaryArchSuffix - devel:libLLVMLinker$secondaryArchSuffix - devel:libLLVMLTO$secondaryArchSuffix - devel:libLLVMMC$secondaryArchSuffix - devel:libLLVMMCAnalysis$secondaryArchSuffix - devel:libLLVMMCDisassembler$secondaryArchSuffix - devel:libLLVMMCJIT$secondaryArchSuffix - devel:libLLVMMCParser$secondaryArchSuffix - devel:libLLVMMipsAsmParser$secondaryArchSuffix - devel:libLLVMMipsAsmPrinter$secondaryArchSuffix - devel:libLLVMMipsCodeGen$secondaryArchSuffix - devel:libLLVMMipsDesc$secondaryArchSuffix - devel:libLLVMMipsDisassembler$secondaryArchSuffix - devel:libLLVMMipsInfo$secondaryArchSuffix - devel:libLLVMMSP430AsmPrinter$secondaryArchSuffix - devel:libLLVMMSP430CodeGen$secondaryArchSuffix - devel:libLLVMMSP430Desc$secondaryArchSuffix - devel:libLLVMMSP430Info$secondaryArchSuffix - devel:libLLVMNVPTXAsmPrinter$secondaryArchSuffix - devel:libLLVMNVPTXCodeGen$secondaryArchSuffix - devel:libLLVMNVPTXDesc$secondaryArchSuffix - devel:libLLVMNVPTXInfo$secondaryArchSuffix - devel:libLLVMObjCARCOpts$secondaryArchSuffix - devel:libLLVMObject$secondaryArchSuffix - devel:libLLVMOption$secondaryArchSuffix - devel:libLLVMPowerPCAsmParser$secondaryArchSuffix - devel:libLLVMPowerPCAsmPrinter$secondaryArchSuffix - devel:libLLVMPowerPCCodeGen$secondaryArchSuffix - devel:libLLVMPowerPCDesc$secondaryArchSuffix - devel:libLLVMPowerPCDisassembler$secondaryArchSuffix - devel:libLLVMPowerPCInfo$secondaryArchSuffix - devel:libLLVMProfileData$secondaryArchSuffix - devel:libLLVMR600AsmPrinter$secondaryArchSuffix - devel:libLLVMR600CodeGen$secondaryArchSuffix - devel:libLLVMR600Desc$secondaryArchSuffix - devel:libLLVMR600Info$secondaryArchSuffix - devel:libLLVMRuntimeDyld$secondaryArchSuffix - devel:libLLVMScalarOpts$secondaryArchSuffix - devel:libLLVMSelectionDAG$secondaryArchSuffix - devel:libLLVMSparcAsmParser$secondaryArchSuffix - devel:libLLVMSparcAsmPrinter$secondaryArchSuffix - devel:libLLVMSparcCodeGen$secondaryArchSuffix - devel:libLLVMSparcDesc$secondaryArchSuffix - devel:libLLVMSparcDisassembler$secondaryArchSuffix - devel:libLLVMSparcInfo$secondaryArchSuffix - devel:libLLVMSupport$secondaryArchSuffix - devel:libLLVMSystemZAsmParser$secondaryArchSuffix - devel:libLLVMSystemZAsmPrinter$secondaryArchSuffix - devel:libLLVMSystemZCodeGen$secondaryArchSuffix - devel:libLLVMSystemZDesc$secondaryArchSuffix - devel:libLLVMSystemZDisassembler$secondaryArchSuffix - devel:libLLVMSystemZInfo$secondaryArchSuffix - devel:libLLVMTableGen$secondaryArchSuffix - devel:libLLVMTarget$secondaryArchSuffix - devel:libLLVMTransformUtils$secondaryArchSuffix - devel:libLLVMVectorize$secondaryArchSuffix - devel:libLLVMX86AsmParser$secondaryArchSuffix - devel:libLLVMX86AsmPrinter$secondaryArchSuffix - devel:libLLVMX86CodeGen$secondaryArchSuffix - devel:libLLVMX86Desc$secondaryArchSuffix - devel:libLLVMX86Disassembler$secondaryArchSuffix - devel:libLLVMX86Info$secondaryArchSuffix - devel:libLLVMX86Utils$secondaryArchSuffix - devel:libLLVMXCoreAsmPrinter$secondaryArchSuffix - devel:libLLVMXCoreCodeGen$secondaryArchSuffix - devel:libLLVMXCoreDesc$secondaryArchSuffix - devel:libLLVMXCoreDisassembler$secondaryArchSuffix - devel:libLLVMXCoreInfo$secondaryArchSuffix - devel:libLTO$secondaryArchSuffix - lib:BugpointPasses$secondaryArchSuffix - lib:libLTO$secondaryArchSuffix - lib:LLVMHello$secondaryArchSuffix - " -REQUIRES=" - haiku$secondaryArchSuffix - " - -PROVIDES_clang=" - llvm${secondaryArchSuffix}_clang = $portVersion - cmd:c_index_test = $portVersion - cmd:clang = $portVersion - cmd:clang++ = $portVersion - cmd:clang_apply_replacements = $portVersion - cmd:clang_check = $portVersion - cmd:clang_format = $portVersion - cmd:clang_modernize = $portVersion - cmd:clang_query = $portVersion - cmd:clang_tblgen = $portVersion - cmd:clang_tidy = $portVersion - cmd:pp_trace = $portVersion - devel:libclang$secondaryArchSuffix = $portVersion - devel:libclanganalysis$secondaryArchSuffix = $portVersion - devel:libclangapplyreplacements$secondaryArchSuffix = $portVersion - devel:libclangarcmigrate$secondaryArchSuffix = $portVersion - devel:libclangast$secondaryArchSuffix = $portVersion - devel:libclangastmatchers$secondaryArchSuffix = $portVersion - devel:libclangbasic$secondaryArchSuffix = $portVersion - devel:libclangcodegen$secondaryArchSuffix = $portVersion - devel:libclangdriver$secondaryArchSuffix = $portVersion - devel:libclangdynamicastmatchers$secondaryArchSuffix = $portVersion - devel:libclangedit$secondaryArchSuffix = $portVersion - devel:libclangformat$secondaryArchSuffix = $portVersion - devel:libclangfrontend$secondaryArchSuffix = $portVersion - devel:libclangfrontendtool$secondaryArchSuffix = $portVersion - devel:libclangindex$secondaryArchSuffix = $portVersion - devel:libclanglex$secondaryArchSuffix = $portVersion - devel:libclangparse$secondaryArchSuffix = $portVersion - devel:libclangquery$secondaryArchSuffix = $portVersion - devel:libclangrewrite$secondaryArchSuffix = $portVersion - devel:libclangrewritefrontend$secondaryArchSuffix = $portVersion - devel:libclangsema$secondaryArchSuffix = $portVersion - devel:libclangserialization$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercheckers$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercore$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzerfrontend$secondaryArchSuffix = $portVersion - devel:libclangtidy$secondaryArchSuffix = $portVersion - devel:libclangtidygooglemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyllvmmodule$secondaryArchSuffix = $portVersion - devel:libclangtidymiscmodule$secondaryArchSuffix = $portVersion - devel:libclangtooling$secondaryArchSuffix = $portVersion - devel:libmodernizecore$secondaryArchSuffix = $portVersion - lib:libclang$secondaryArchSuffix = $portVersion - " -REQUIRES_clang=" - haiku$secondaryArchSuffix - " - -PROVIDES_clang_analysis=" - llvm${secondaryArchSuffix}_clang_analysis = $portVersion - cmd:scan_build$secondaryArchSuffix = $portVersion - cmd:scan_view$secondaryArchSuffix = $portVersion - " -REQUIRES_clang_analysis=" - llvm${secondaryArchSuffix}_clang == $portVersion base - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - " -BUILD_PREREQUIRES=" - cmd:aclocal - cmd:autoconf - cmd:automake - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:grep - cmd:groff - cmd:ld$secondaryArchSuffix - cmd:libtoolize$secondaryArchSuffix - cmd:make - cmd:python - cmd:sed - " - -BUILD() -{ - # Add clang tools - mkdir -p tools/clang - cp -rd $sourceDir2/cfe-${portVersion}.src/* tools/clang/ - - # Add clang tools's tool's (really llvm?) - mkdir -p tools/clang/tools/extra - cp -rd $sourceDir3/clang-tools-extra-${portVersion}.src/* tools/clang/tools/extra - - # Haiku C++ requires rtti in a lot of central system components - # such as Mesa - export REQUIRES_RTTI=1 - runConfigure ./configure --enable-optimized - make $jobArgs PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir -} - -INSTALL() -{ - mkdir -p $developDir - mkdir -p $docDir - mkdir -p $binDir - - make install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - prepareInstalledDevelLibs libLLVMAArch64AsmParser libLLVMAArch64Disassembler \ - libLLVMAArch64Utils - prepareInstalledDevelLibs libLLVMARMAsmParser libLLVMARMDisassembler - prepareInstalledDevelLibs libLLVMMipsAsmParser libLLVMMipsDisassembler - prepareInstalledDevelLibs libLLVMPowerPCAsmParser libLLVMPowerPCDisassembler - prepareInstalledDevelLibs libLLVMSystemZAsmParser libLLVMSystemZDisassembler - prepareInstalledDevelLibs libLLVMX86AsmParser libLLVMX86Disassembler libLLVMX86Utils - prepareInstalledDevelLibs libLLVMXCoreDisassembler - prepareInstalledDevelLibs libLLVMSparcAsmParser libLLVMSparcDisassembler - - for arch in AArch64 ARM Hexagon Mips MSP430 NVPTX PowerPC R600 SystemZ Sparc X86 XCore - do - prepareInstalledDevelLibs libLLVM${arch}AsmPrinter \ - libLLVM${arch}CodeGen libLLVM${arch}Desc libLLVM${arch}Info - done - - prepareInstalledDevelLibs libLLVMAnalysis libLLVMAsmParser \ - libLLVMAsmPrinter libLLVMBitReader libLLVMBitWriter libLLVMCodeGen \ - libLLVMCore libLLVMCppBackendCodeGen libLLVMCppBackendInfo \ - libLLVMDebugInfo libLLVMExecutionEngine libLLVMIRReader \ - libLLVMInstCombine libLLVMInstrumentation libLLVMInterpreter libLLVMJIT \ - libLLVMLTO libLLVMLinker libLLVMLineEditor libLLVMMC libLLVMMCAnalysis \ - libLLVMMCDisassembler libLLVMMCJIT libLLVMMCParser libLLVMObjCARCOpts \ - libLLVMObject libLLVMOption libLLVMProfileData libLLVMRuntimeDyld \ - libLLVMScalarOpts libLLVMSelectionDAG libLLVMSupport libLLVMTableGen \ - libLLVMTarget libLLVMTransformUtils libLLVMVectorize libLLVMipa \ - libLLVMipo libLTO - - make -C tools/clang install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - # Install static analysis tools - mkdir -p $developDir/tools/clang$secondaryArchSuffix - cp -Ra tools/clang/tools/scan-build $developDir/tools/clang$secondaryArchSuffix/ - cp -Ra tools/clang/tools/scan-view $developDir/tools/clang$secondaryArchSuffix/ - - ln -s $developDir/tools/clang$secondaryArchSuffix/scan-build/scan-build $binDir/scan-build - ln -s $developDir/tools/clang$secondaryArchSuffix/scan-view/scan-view $binDir/scan-view - ln -s $binDir/clang $developDir/tools/clang$secondaryArchSuffix/scan-build/clang - - prepareInstalledDevelLibs libclang* libmodernizeCore - - mv $prefix/include/* $includeDir/ - rmdir $prefix/include - - # analysis package - packageEntries clang \ - $binDir/c-index-test \ - $binDir/clang* \ - $binDir/pp-trace \ - $includeDir/clang* \ - $libDir/libclang* \ - $developLibDir/libclang* \ - $developLibDir/libmodernizeCore* \ - $manDir/man1/clang.1 - - # analysis package - packageEntries clang_analysis \ - $binDir/scan-build \ - $binDir/scan-view \ - $developDir/tools/clang$secondaryArchSuffix -} - -TEST() -{ - make check -} diff --git a/sys-devel/llvm/llvm-3.7.0.recipe b/sys-devel/llvm/llvm-3.7.0.recipe deleted file mode 100644 index d5de299d8..000000000 --- a/sys-devel/llvm/llvm-3.7.0.recipe +++ /dev/null @@ -1,472 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION="LLVM is a collection of modular and reuseable compiler and and \ -toolchain technologies.The LLVM compiler system for C and C++ includes the \ -following: - -- Front-ends for C, C++, Objective-C, Fortran, etc. based on the GCC 4.2 \ -parsers. They support the ANSI-standard C and C++ languages to the same \ -degree that GCC supports them. Additionally, many GCC extensions are \ -supported. -- A stable implementation of the LLVM instruction set, which serves as both \ -the online and offline code representation, together with assembly (ASCII) \ -and bytecode (binary) readers and writers, and a verifier. -- A powerful pass-management system that automatically sequences passes \ -(including analysis, transformation, and code-generation passes) based on \ -their dependences, and pipelines them for efficiency. -- A wide range of global scalar optimizations. -- A link-time interprocedural optimization framework with a rich set of \ -analyses and transformations, including sophisticated whole-program pointer \ -analysis, call graph construction, and support for profile-guided optimizations. -- An easily retargettable code generator, which currently supports X86, \ -X86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, \ -SystemZ, and XCore. -- A Just-In-Time (JIT) code generation system, which currently supports X86, \ -X86-64, ARM, AArch64, Mips, SystemZ, PowerPC, and PowerPC-64. -- Support for generating DWARF debugging information. -- A C back-end useful for testing and for generating native code on targets \ -other than the ones listed above. -- A profiling system similar to gprof. -- A test framework with a number of benchmark codes and applications. -- APIs and debugging tools to simplify rapid development of LLVM components." -HOMEPAGE="http://www.llvm.org/" -COPYRIGHT="2003-2014 University of Illinois at Urbana-Champaign" -LICENSE="UIUC" -REVISION="3" -SOURCE_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.xz" -CHECKSUM_SHA256="ab45895f9dcdad1e140a3a79fd709f64b05ad7364e308c0e582c5b02e9cc3153" -SOURCE_DIR="llvm-$portVersion.src" -SOURCE_URI_2="http://llvm.org/releases/${portVersion}/cfe-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_2="4ed740c5a91df1c90a4118c5154851d6a475f39a91346bdf268c1c29c13aa1cc" -SOURCE_URI_3="http://llvm.org/releases/${portVersion}/clang-tools-extra-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_3="8ae8a0a3a96b7a700412d67df0af172cb2fc1326beec575fcc0f71d2e72709cd" -PATCHES="llvm-${portVersion}.patchset" -PATCHES_2="clang-${portVersion}.patchset" - -ARCHITECTURES="!x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion - cmd:bugpoint - cmd:count - cmd:FileCheck - cmd:llc - cmd:lli - cmd:lli_child_target - cmd:llvm_ar - cmd:llvm_as - cmd:llvm_bcanalyzer - cmd:llvm_config - cmd:llvm_cov - cmd:llvm_cxxdump - cmd:llvm_diff - cmd:llvm_dis - cmd:llvm_dsymutil - cmd:llvm_dwarfdump - cmd:llvm_extract - cmd:llvm_link - cmd:llvm_mc - cmd:llvm_mcmarkup - cmd:llvm_nm - cmd:llvm_objdump - cmd:llvm_pdbdump - cmd:llvm_profdata - cmd:llvm_ranlib - cmd:llvm_readobj - cmd:llvm_rtdyld - cmd:llvm_size - cmd:llvm_stress - cmd:llvm_symbolizer - cmd:llvm_tblgen - cmd:macho_dump - cmd:not - cmd:obj2yaml - cmd:opt - cmd:verify_uselistorder - cmd:yaml2obj - devel:libLLVMAArch64AsmParser$secondaryArchSuffix - devel:libLLVMAArch64AsmPrinter$secondaryArchSuffix - devel:libLLVMAArch64CodeGen$secondaryArchSuffix - devel:libLLVMAArch64Desc$secondaryArchSuffix - devel:libLLVMAArch64Disassembler$secondaryArchSuffix - devel:libLLVMAArch64Info$secondaryArchSuffix - devel:libLLVMAArch64Utils$secondaryArchSuffix - devel:libLLVMAMDGPUAsmParser$secondaryArchSuffix - devel:libLLVMAMDGPUAsmPrinter$secondaryArchSuffix - devel:libLLVMAMDGPUCodeGen$secondaryArchSuffix - devel:libLLVMAMDGPUDesc$secondaryArchSuffix - devel:libLLVMAMDGPUInfo$secondaryArchSuffix - devel:libLLVMAMDGPUUtils$secondaryArchSuffix - devel:libLLVMAnalysis$secondaryArchSuffix - devel:libLLVMARMAsmParser$secondaryArchSuffix - devel:libLLVMARMAsmPrinter$secondaryArchSuffix - devel:libLLVMARMCodeGen$secondaryArchSuffix - devel:libLLVMARMDesc$secondaryArchSuffix - devel:libLLVMARMDisassembler$secondaryArchSuffix - devel:libLLVMARMInfo$secondaryArchSuffix - devel:libLLVMAsmParser$secondaryArchSuffix - devel:libLLVMAsmPrinter$secondaryArchSuffix - devel:libLLVMBitReader$secondaryArchSuffix - devel:libLLVMBitWriter$secondaryArchSuffix - devel:libLLVMBPFAsmPrinter$secondaryArchSuffix - devel:libLLVMBPFCodeGen$secondaryArchSuffix - devel:libLLVMBPFDesc$secondaryArchSuffix - devel:libLLVMBPFInfo$secondaryArchSuffix - devel:libLLVMCodeGen$secondaryArchSuffix - devel:libLLVMCore$secondaryArchSuffix - devel:libLLVMCppBackendCodeGen$secondaryArchSuffix - devel:libLLVMCppBackendInfo$secondaryArchSuffix - devel:libLLVMDebugInfoDWARF$secondaryArchSuffix - devel:libLLVMDebugInfoPDB$secondaryArchSuffix - devel:libLLVMExecutionEngine$secondaryArchSuffix - devel:libLLVMHexagonCodeGen$secondaryArchSuffix - devel:libLLVMHexagonDesc$secondaryArchSuffix - devel:libLLVMHexagonDisassembler$secondaryArchSuffix - devel:libLLVMHexagonInfo$secondaryArchSuffix - devel:libLLVMInstCombine$secondaryArchSuffix - devel:libLLVMInstrumentation$secondaryArchSuffix - devel:libLLVMInterpreter$secondaryArchSuffix - devel:libLLVMipa$secondaryArchSuffix - devel:libLLVMipo$secondaryArchSuffix - devel:libLLVMIRReader$secondaryArchSuffix - devel:libLLVMLibDriver$secondaryArchSuffix - devel:libLLVMLineEditor$secondaryArchSuffix - devel:libLLVMLinker$secondaryArchSuffix - devel:libLLVMLTO$secondaryArchSuffix - devel:libLLVMMC$secondaryArchSuffix - devel:libLLVMMCDisassembler$secondaryArchSuffix - devel:libLLVMMCJIT$secondaryArchSuffix - devel:libLLVMMCParser$secondaryArchSuffix - devel:libLLVMMipsAsmParser$secondaryArchSuffix - devel:libLLVMMipsAsmPrinter$secondaryArchSuffix - devel:libLLVMMipsCodeGen$secondaryArchSuffix - devel:libLLVMMipsDesc$secondaryArchSuffix - devel:libLLVMMipsDisassembler$secondaryArchSuffix - devel:libLLVMMipsInfo$secondaryArchSuffix - devel:libLLVMMIRParser$secondaryArchSuffix - devel:libLLVMMSP430AsmPrinter$secondaryArchSuffix - devel:libLLVMMSP430CodeGen$secondaryArchSuffix - devel:libLLVMMSP430Desc$secondaryArchSuffix - devel:libLLVMMSP430Info$secondaryArchSuffix - devel:libLLVMNVPTXAsmPrinter$secondaryArchSuffix - devel:libLLVMNVPTXCodeGen$secondaryArchSuffix - devel:libLLVMNVPTXDesc$secondaryArchSuffix - devel:libLLVMNVPTXInfo$secondaryArchSuffix - devel:libLLVMObjCARCOpts$secondaryArchSuffix - devel:libLLVMObject$secondaryArchSuffix - devel:libLLVMOption$secondaryArchSuffix - devel:libLLVMOrcJIT$secondaryArchSuffix - devel:libLLVMPasses$secondaryArchSuffix - devel:libLLVMPowerPCAsmParser$secondaryArchSuffix - devel:libLLVMPowerPCAsmPrinter$secondaryArchSuffix - devel:libLLVMPowerPCCodeGen$secondaryArchSuffix - devel:libLLVMPowerPCDesc$secondaryArchSuffix - devel:libLLVMPowerPCDisassembler$secondaryArchSuffix - devel:libLLVMPowerPCInfo$secondaryArchSuffix - devel:libLLVMProfileData$secondaryArchSuffix - devel:libLLVMRuntimeDyld$secondaryArchSuffix - devel:libLLVMScalarOpts$secondaryArchSuffix - devel:libLLVMSelectionDAG$secondaryArchSuffix - devel:libLLVMSparcAsmParser$secondaryArchSuffix - devel:libLLVMSparcAsmPrinter$secondaryArchSuffix - devel:libLLVMSparcCodeGen$secondaryArchSuffix - devel:libLLVMSparcDesc$secondaryArchSuffix - devel:libLLVMSparcDisassembler$secondaryArchSuffix - devel:libLLVMSparcInfo$secondaryArchSuffix - devel:libLLVMSupport$secondaryArchSuffix - devel:libLLVMSystemZAsmParser$secondaryArchSuffix - devel:libLLVMSystemZAsmPrinter$secondaryArchSuffix - devel:libLLVMSystemZCodeGen$secondaryArchSuffix - devel:libLLVMSystemZDesc$secondaryArchSuffix - devel:libLLVMSystemZDisassembler$secondaryArchSuffix - devel:libLLVMSystemZInfo$secondaryArchSuffix - devel:libLLVMTableGen$secondaryArchSuffix - devel:libLLVMTarget$secondaryArchSuffix - devel:libLLVMTransformUtils$secondaryArchSuffix - devel:libLLVMVectorize$secondaryArchSuffix - devel:libLLVMX86AsmParser$secondaryArchSuffix - devel:libLLVMX86AsmPrinter$secondaryArchSuffix - devel:libLLVMX86CodeGen$secondaryArchSuffix - devel:libLLVMX86Desc$secondaryArchSuffix - devel:libLLVMX86Disassembler$secondaryArchSuffix - devel:libLLVMX86Info$secondaryArchSuffix - devel:libLLVMX86Utils$secondaryArchSuffix - devel:libLLVMXCoreAsmPrinter$secondaryArchSuffix - devel:libLLVMXCoreCodeGen$secondaryArchSuffix - devel:libLLVMXCoreDesc$secondaryArchSuffix - devel:libLLVMXCoreDisassembler$secondaryArchSuffix - devel:libLLVMXCoreInfo$secondaryArchSuffix - devel:libLTO$secondaryArchSuffix - lib:BugpointPasses$secondaryArchSuffix - lib:libLTO$secondaryArchSuffix - lib:LLVMHello$secondaryArchSuffix - " -REQUIRES=" - haiku$secondaryArchSuffix - " - -PROVIDES_clang=" - llvm${secondaryArchSuffix}_clang = $portVersion - cmd:clang = $portVersion - cmd:clang++ = $portVersion - cmd:clang_apply_replacements = $portVersion - cmd:clang_check = $portVersion - cmd:clang_format = $portVersion - cmd:clang_modernize = $portVersion - cmd:clang_query = $portVersion - cmd:clang_rename = $portVersion - cmd:clang_tblgen = $portVersion - cmd:clang_tidy = $portVersion - cmd:pp_trace = $portVersion - devel:libclang$secondaryArchSuffix = $portVersion - devel:libclanganalysis$secondaryArchSuffix = $portVersion - devel:libclangapplyreplacements$secondaryArchSuffix = $portVersion - devel:libclangarcmigrate$secondaryArchSuffix = $portVersion - devel:libclangast$secondaryArchSuffix = $portVersion - devel:libclangastmatchers$secondaryArchSuffix = $portVersion - devel:libclangbasic$secondaryArchSuffix = $portVersion - devel:libclangcodegen$secondaryArchSuffix = $portVersion - devel:libclangdriver$secondaryArchSuffix = $portVersion - devel:libclangdynamicastmatchers$secondaryArchSuffix = $portVersion - devel:libclangedit$secondaryArchSuffix = $portVersion - devel:libclangformat$secondaryArchSuffix = $portVersion - devel:libclangfrontend$secondaryArchSuffix = $portVersion - devel:libclangfrontendtool$secondaryArchSuffix = $portVersion - devel:libclangindex$secondaryArchSuffix = $portVersion - devel:libclanglex$secondaryArchSuffix = $portVersion - devel:libclangparse$secondaryArchSuffix = $portVersion - devel:libclangquery$secondaryArchSuffix = $portVersion - devel:libclangrename$secondaryArchSuffix = $portVersion - devel:libclangrewrite$secondaryArchSuffix = $portVersion - devel:libclangrewritefrontend$secondaryArchSuffix = $portVersion - devel:libclangsema$secondaryArchSuffix = $portVersion - devel:libclangserialization$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercheckers$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercore$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzerfrontend$secondaryArchSuffix = $portVersion - devel:libclangtidy$secondaryArchSuffix = $portVersion - devel:libclangtidygooglemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyllvmmodule$secondaryArchSuffix = $portVersion - devel:libclangtidymiscmodule$secondaryArchSuffix = $portVersion - devel:libclangtidyreadability$secondaryArchSuffix = $portVersion - devel:libclangtidyutils$secondaryArchSuffix = $portVersion - devel:libclangtooling$secondaryArchSuffix = $portVersion - devel:libclangtoolingcore$secondaryArchSuffix = $portVersion - devel:libmodernizecore$secondaryArchSuffix = $portVersion - lib:libclang$secondaryArchSuffix = $portVersion - " -REQUIRES_clang=" - haiku$secondaryArchSuffix - " - -PROVIDES_clang_analysis=" - llvm${secondaryArchSuffix}_clang_analysis = $portVersion - cmd:scan_build$secondaryArchSuffix = $portVersion - cmd:scan_view$secondaryArchSuffix = $portVersion - " -REQUIRES_clang_analysis=" - llvm${secondaryArchSuffix}_clang == $portVersion base - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - " -BUILD_PREREQUIRES=" - cmd:aclocal - cmd:autoconf - cmd:automake - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:grep - cmd:groff - cmd:ld$secondaryArchSuffix - cmd:libtoolize$secondaryArchSuffix - cmd:make - cmd:python - cmd:sed - " - -BUILD() -{ - # Add clang tools - mkdir -p tools/clang - cp -rd $sourceDir2/cfe-${portVersion}.src/* tools/clang/ - - # Add clang tools's tool's (really llvm?) - mkdir -p tools/clang/tools/extra - cp -rd $sourceDir3/clang-tools-extra-${portVersion}.src/* tools/clang/tools/extra - - mkdir -p build; cd build - # Haiku C++ requires rtti in a lot of central system components - # such as Mesa - export REQUIRES_RTTI=1 - runConfigure ../configure --enable-optimized - make $jobArgs PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir -} - -INSTALL() -{ - cd build - mkdir -p $developDir - mkdir -p $docDir - mkdir -p $binDir - - make install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - # You can try and be fancy here parsing each arch in a for loop... but - # not all arches contain the same libraries. The inventory for each arch - # also changes between releases... so lets KISS. - prepareInstalledDevelLibs \ - libLLVMAArch64AsmParser \ - libLLVMAArch64AsmPrinter \ - libLLVMAArch64CodeGen \ - libLLVMAArch64Desc \ - libLLVMAArch64Disassembler \ - libLLVMAArch64Info \ - libLLVMAArch64Utils \ - libLLVMAMDGPUAsmParser \ - libLLVMAMDGPUAsmPrinter \ - libLLVMAMDGPUCodeGen \ - libLLVMAMDGPUDesc \ - libLLVMAMDGPUInfo \ - libLLVMAMDGPUUtils \ - libLLVMARMAsmParser \ - libLLVMARMAsmPrinter \ - libLLVMARMCodeGen \ - libLLVMARMDesc \ - libLLVMARMDisassembler \ - libLLVMARMInfo \ - libLLVMAnalysis \ - libLLVMAsmParser \ - libLLVMAsmPrinter \ - libLLVMBPFAsmPrinter \ - libLLVMBPFCodeGen \ - libLLVMBPFDesc \ - libLLVMBPFInfo \ - libLLVMBitReader \ - libLLVMBitWriter \ - libLLVMCodeGen \ - libLLVMCore \ - libLLVMCppBackendCodeGen \ - libLLVMCppBackendInfo \ - libLLVMDebugInfoDWARF \ - libLLVMDebugInfoPDB \ - libLLVMExecutionEngine \ - libLLVMHexagonCodeGen \ - libLLVMHexagonDesc \ - libLLVMHexagonDisassembler \ - libLLVMHexagonInfo \ - libLLVMIRReader \ - libLLVMInstCombine \ - libLLVMInstrumentation \ - libLLVMInterpreter \ - libLLVMLTO \ - libLLVMLibDriver \ - libLLVMLineEditor \ - libLLVMLinker \ - libLLVMMC \ - libLLVMMCDisassembler \ - libLLVMMCJIT \ - libLLVMMCParser \ - libLLVMMIRParser \ - libLLVMMSP430AsmPrinter \ - libLLVMMSP430CodeGen \ - libLLVMMSP430Desc \ - libLLVMMSP430Info \ - libLLVMMipsAsmParser \ - libLLVMMipsAsmPrinter \ - libLLVMMipsCodeGen \ - libLLVMMipsDesc \ - libLLVMMipsDisassembler \ - libLLVMMipsInfo \ - libLLVMNVPTXAsmPrinter \ - libLLVMNVPTXCodeGen \ - libLLVMNVPTXDesc \ - libLLVMNVPTXInfo \ - libLLVMObjCARCOpts \ - libLLVMObject \ - libLLVMOption \ - libLLVMOrcJIT \ - libLLVMPasses \ - libLLVMPowerPCAsmParser \ - libLLVMPowerPCAsmPrinter \ - libLLVMPowerPCCodeGen \ - libLLVMPowerPCDesc \ - libLLVMPowerPCDisassembler \ - libLLVMPowerPCInfo \ - libLLVMProfileData \ - libLLVMRuntimeDyld \ - libLLVMScalarOpts \ - libLLVMSelectionDAG \ - libLLVMSparcAsmParser \ - libLLVMSparcAsmPrinter \ - libLLVMSparcCodeGen \ - libLLVMSparcDesc \ - libLLVMSparcDisassembler \ - libLLVMSparcInfo \ - libLLVMSupport \ - libLLVMSystemZAsmParser \ - libLLVMSystemZAsmPrinter \ - libLLVMSystemZCodeGen \ - libLLVMSystemZDesc \ - libLLVMSystemZDisassembler \ - libLLVMSystemZInfo \ - libLLVMTableGen \ - libLLVMTarget \ - libLLVMTransformUtils \ - libLLVMVectorize \ - libLLVMX86AsmParser \ - libLLVMX86AsmPrinter \ - libLLVMX86CodeGen \ - libLLVMX86Desc \ - libLLVMX86Disassembler \ - libLLVMX86Info \ - libLLVMX86Utils \ - libLLVMXCoreAsmPrinter \ - libLLVMXCoreCodeGen \ - libLLVMXCoreDesc \ - libLLVMXCoreDisassembler \ - libLLVMXCoreInfo \ - libLLVMipa \ - libLLVMipo \ - libLTO - - make -C tools/clang install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - # Install static analysis tools - mkdir -p $developDir/tools/clang$secondaryArchSuffix - cp -Ra ../tools/clang/tools/scan-build $developDir/tools/clang$secondaryArchSuffix/ - cp -Ra ../tools/clang/tools/scan-view $developDir/tools/clang$secondaryArchSuffix/ - - ln -s $developDir/tools/clang$secondaryArchSuffix/scan-build/scan-build $binDir/scan-build - ln -s $developDir/tools/clang$secondaryArchSuffix/scan-view/scan-view $binDir/scan-view - ln -s $binDir/clang $developDir/tools/clang$secondaryArchSuffix/scan-build/clang - - prepareInstalledDevelLibs libclang* libmodernizeCore - - mv $prefix/include/* $includeDir/ - rmdir $prefix/include - - # analysis package - packageEntries clang \ - $binDir/clang* \ - $binDir/pp-trace \ - $includeDir/clang* \ - $libDir/libclang* \ - $developLibDir/libclang* \ - $developLibDir/libmodernizeCore* - - # analysis package - packageEntries clang_analysis \ - $binDir/scan-build \ - $binDir/scan-view \ - $developDir/tools/clang$secondaryArchSuffix -} - -TEST() -{ - make check -} diff --git a/sys-devel/llvm/llvm-3.7.1.recipe b/sys-devel/llvm/llvm-3.7.1.recipe deleted file mode 100644 index 350bb180a..000000000 --- a/sys-devel/llvm/llvm-3.7.1.recipe +++ /dev/null @@ -1,365 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION="LLVM is a collection of modular and reuseable compiler and and \ -toolchain technologies.The LLVM compiler system for C and C++ includes the \ -following: - -- Front-ends for C, C++, Objective-C, Fortran, etc. based on the GCC 4.2 \ -parsers. They support the ANSI-standard C and C++ languages to the same \ -degree that GCC supports them. Additionally, many GCC extensions are \ -supported. -- A stable implementation of the LLVM instruction set, which serves as both \ -the online and offline code representation, together with assembly (ASCII) \ -and bytecode (binary) readers and writers, and a verifier. -- A powerful pass-management system that automatically sequences passes \ -(including analysis, transformation, and code-generation passes) based on \ -their dependences, and pipelines them for efficiency. -- A wide range of global scalar optimizations. -- A link-time interprocedural optimization framework with a rich set of \ -analyses and transformations, including sophisticated whole-program pointer \ -analysis, call graph construction, and support for profile-guided optimizations. -- An easily retargettable code generator, which currently supports X86, \ -X86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, \ -SystemZ, and XCore. -- A Just-In-Time (JIT) code generation system, which currently supports X86, \ -X86-64, ARM, AArch64, Mips, SystemZ, PowerPC, and PowerPC-64. -- Support for generating DWARF debugging information. -- A C back-end useful for testing and for generating native code on targets \ -other than the ones listed above. -- A profiling system similar to gprof. -- A test framework with a number of benchmark codes and applications. -- APIs and debugging tools to simplify rapid development of LLVM components." -HOMEPAGE="http://www.llvm.org/" -COPYRIGHT="2003-2014 University of Illinois at Urbana-Champaign" -LICENSE="UIUC" -REVISION="2" -SOURCE_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.xz" -CHECKSUM_SHA256="be7794ed0cec42d6c682ca8e3517535b54555a3defabec83554dbc74db545ad5" -SOURCE_DIR="llvm-$portVersion.src" -SOURCE_URI_2="http://llvm.org/releases/${portVersion}/cfe-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_2="56e2164c7c2a1772d5ed2a3e57485ff73ff06c97dff12edbeea1acc4412b0674" -SOURCE_URI_3="http://llvm.org/releases/${portVersion}/clang-tools-extra-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_3="4a91edaccad1ce984c7c49a4a87db186b7f7b21267b2b03bcf4bd7820715bc6b" -PATCHES="llvm-${portVersion}.patchset" -PATCHES_2="clang-${portVersion}.patchset" - -ARCHITECTURES="!x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion - cmd:bugpoint - cmd:count - cmd:FileCheck - cmd:llc - cmd:lli - cmd:lli_child_target - cmd:llvm_ar - cmd:llvm_as - cmd:llvm_bcanalyzer - cmd:llvm_config - cmd:llvm_cov - cmd:llvm_cxxdump - cmd:llvm_diff - cmd:llvm_dis - cmd:llvm_dsymutil - cmd:llvm_dwarfdump - cmd:llvm_extract - cmd:llvm_link - cmd:llvm_mc - cmd:llvm_mcmarkup - cmd:llvm_nm - cmd:llvm_objdump - cmd:llvm_pdbdump - cmd:llvm_profdata - cmd:llvm_ranlib - cmd:llvm_readobj - cmd:llvm_rtdyld - cmd:llvm_size - cmd:llvm_stress - cmd:llvm_symbolizer - cmd:llvm_tblgen - cmd:macho_dump - cmd:not - cmd:obj2yaml - cmd:opt - cmd:verify_uselistorder - cmd:yaml2obj - devel:libLLVMAArch64AsmParser$secondaryArchSuffix - devel:libLLVMAArch64AsmPrinter$secondaryArchSuffix - devel:libLLVMAArch64CodeGen$secondaryArchSuffix - devel:libLLVMAArch64Desc$secondaryArchSuffix - devel:libLLVMAArch64Disassembler$secondaryArchSuffix - devel:libLLVMAArch64Info$secondaryArchSuffix - devel:libLLVMAArch64Utils$secondaryArchSuffix - devel:libLLVMAMDGPUAsmParser$secondaryArchSuffix - devel:libLLVMAMDGPUAsmPrinter$secondaryArchSuffix - devel:libLLVMAMDGPUCodeGen$secondaryArchSuffix - devel:libLLVMAMDGPUDesc$secondaryArchSuffix - devel:libLLVMAMDGPUInfo$secondaryArchSuffix - devel:libLLVMAMDGPUUtils$secondaryArchSuffix - devel:libLLVMAnalysis$secondaryArchSuffix - devel:libLLVMARMAsmParser$secondaryArchSuffix - devel:libLLVMARMAsmPrinter$secondaryArchSuffix - devel:libLLVMARMCodeGen$secondaryArchSuffix - devel:libLLVMARMDesc$secondaryArchSuffix - devel:libLLVMARMDisassembler$secondaryArchSuffix - devel:libLLVMARMInfo$secondaryArchSuffix - devel:libLLVMAsmParser$secondaryArchSuffix - devel:libLLVMAsmPrinter$secondaryArchSuffix - devel:libLLVMBitReader$secondaryArchSuffix - devel:libLLVMBitWriter$secondaryArchSuffix - devel:libLLVMBPFAsmPrinter$secondaryArchSuffix - devel:libLLVMBPFCodeGen$secondaryArchSuffix - devel:libLLVMBPFDesc$secondaryArchSuffix - devel:libLLVMBPFInfo$secondaryArchSuffix - devel:libLLVMCodeGen$secondaryArchSuffix - devel:libLLVMCore$secondaryArchSuffix - devel:libLLVMCppBackendCodeGen$secondaryArchSuffix - devel:libLLVMCppBackendInfo$secondaryArchSuffix - devel:libLLVMDebugInfoDWARF$secondaryArchSuffix - devel:libLLVMDebugInfoPDB$secondaryArchSuffix - devel:libLLVMExecutionEngine$secondaryArchSuffix - devel:libLLVMHexagonCodeGen$secondaryArchSuffix - devel:libLLVMHexagonDesc$secondaryArchSuffix - devel:libLLVMHexagonDisassembler$secondaryArchSuffix - devel:libLLVMHexagonInfo$secondaryArchSuffix - devel:libLLVMInstCombine$secondaryArchSuffix - devel:libLLVMInstrumentation$secondaryArchSuffix - devel:libLLVMInterpreter$secondaryArchSuffix - devel:libLLVMipa$secondaryArchSuffix - devel:libLLVMipo$secondaryArchSuffix - devel:libLLVMIRReader$secondaryArchSuffix - devel:libLLVMLibDriver$secondaryArchSuffix - devel:libLLVMLineEditor$secondaryArchSuffix - devel:libLLVMLinker$secondaryArchSuffix - devel:libLLVMLTO$secondaryArchSuffix - devel:libLLVMMC$secondaryArchSuffix - devel:libLLVMMCDisassembler$secondaryArchSuffix - devel:libLLVMMCJIT$secondaryArchSuffix - devel:libLLVMMCParser$secondaryArchSuffix - devel:libLLVMMipsAsmParser$secondaryArchSuffix - devel:libLLVMMipsAsmPrinter$secondaryArchSuffix - devel:libLLVMMipsCodeGen$secondaryArchSuffix - devel:libLLVMMipsDesc$secondaryArchSuffix - devel:libLLVMMipsDisassembler$secondaryArchSuffix - devel:libLLVMMipsInfo$secondaryArchSuffix - devel:libLLVMMIRParser$secondaryArchSuffix - devel:libLLVMMSP430AsmPrinter$secondaryArchSuffix - devel:libLLVMMSP430CodeGen$secondaryArchSuffix - devel:libLLVMMSP430Desc$secondaryArchSuffix - devel:libLLVMMSP430Info$secondaryArchSuffix - devel:libLLVMNVPTXAsmPrinter$secondaryArchSuffix - devel:libLLVMNVPTXCodeGen$secondaryArchSuffix - devel:libLLVMNVPTXDesc$secondaryArchSuffix - devel:libLLVMNVPTXInfo$secondaryArchSuffix - devel:libLLVMObjCARCOpts$secondaryArchSuffix - devel:libLLVMObject$secondaryArchSuffix - devel:libLLVMOption$secondaryArchSuffix - devel:libLLVMOrcJIT$secondaryArchSuffix - devel:libLLVMPasses$secondaryArchSuffix - devel:libLLVMPowerPCAsmParser$secondaryArchSuffix - devel:libLLVMPowerPCAsmPrinter$secondaryArchSuffix - devel:libLLVMPowerPCCodeGen$secondaryArchSuffix - devel:libLLVMPowerPCDesc$secondaryArchSuffix - devel:libLLVMPowerPCDisassembler$secondaryArchSuffix - devel:libLLVMPowerPCInfo$secondaryArchSuffix - devel:libLLVMProfileData$secondaryArchSuffix - devel:libLLVMRuntimeDyld$secondaryArchSuffix - devel:libLLVMScalarOpts$secondaryArchSuffix - devel:libLLVMSelectionDAG$secondaryArchSuffix - devel:libLLVMSparcAsmParser$secondaryArchSuffix - devel:libLLVMSparcAsmPrinter$secondaryArchSuffix - devel:libLLVMSparcCodeGen$secondaryArchSuffix - devel:libLLVMSparcDesc$secondaryArchSuffix - devel:libLLVMSparcDisassembler$secondaryArchSuffix - devel:libLLVMSparcInfo$secondaryArchSuffix - devel:libLLVMSupport$secondaryArchSuffix - devel:libLLVMSystemZAsmParser$secondaryArchSuffix - devel:libLLVMSystemZAsmPrinter$secondaryArchSuffix - devel:libLLVMSystemZCodeGen$secondaryArchSuffix - devel:libLLVMSystemZDesc$secondaryArchSuffix - devel:libLLVMSystemZDisassembler$secondaryArchSuffix - devel:libLLVMSystemZInfo$secondaryArchSuffix - devel:libLLVMTableGen$secondaryArchSuffix - devel:libLLVMTarget$secondaryArchSuffix - devel:libLLVMTransformUtils$secondaryArchSuffix - devel:libLLVMVectorize$secondaryArchSuffix - devel:libLLVMX86AsmParser$secondaryArchSuffix - devel:libLLVMX86AsmPrinter$secondaryArchSuffix - devel:libLLVMX86CodeGen$secondaryArchSuffix - devel:libLLVMX86Desc$secondaryArchSuffix - devel:libLLVMX86Disassembler$secondaryArchSuffix - devel:libLLVMX86Info$secondaryArchSuffix - devel:libLLVMX86Utils$secondaryArchSuffix - devel:libLLVMXCoreAsmPrinter$secondaryArchSuffix - devel:libLLVMXCoreCodeGen$secondaryArchSuffix - devel:libLLVMXCoreDesc$secondaryArchSuffix - devel:libLLVMXCoreDisassembler$secondaryArchSuffix - devel:libLLVMXCoreInfo$secondaryArchSuffix - devel:libLTO$secondaryArchSuffix - lib:BugpointPasses$secondaryArchSuffix - lib:libLTO$secondaryArchSuffix - lib:LLVMHello$secondaryArchSuffix - " -REQUIRES=" - haiku$secondaryArchSuffix - " - -PROVIDES_clang=" - llvm${secondaryArchSuffix}_clang = $portVersion - cmd:c_index_test = $portVersion - cmd:clang = $portVersion - cmd:clang++ = $portVersion - cmd:clang_apply_replacements = $portVersion - cmd:clang_check = $portVersion - cmd:clang_format = $portVersion - cmd:clang_modernize = $portVersion - cmd:clang_query = $portVersion - cmd:clang_rename = $portVersion - cmd:clang_tblgen = $portVersion - cmd:clang_tidy = $portVersion - cmd:pp_trace = $portVersion - devel:libclang$secondaryArchSuffix = $portVersion - devel:libclanganalysis$secondaryArchSuffix = $portVersion - devel:libclangapplyreplacements$secondaryArchSuffix = $portVersion - devel:libclangarcmigrate$secondaryArchSuffix = $portVersion - devel:libclangast$secondaryArchSuffix = $portVersion - devel:libclangastmatchers$secondaryArchSuffix = $portVersion - devel:libclangbasic$secondaryArchSuffix = $portVersion - devel:libclangcodegen$secondaryArchSuffix = $portVersion - devel:libclangdriver$secondaryArchSuffix = $portVersion - devel:libclangdynamicastmatchers$secondaryArchSuffix = $portVersion - devel:libclangedit$secondaryArchSuffix = $portVersion - devel:libclangformat$secondaryArchSuffix = $portVersion - devel:libclangfrontend$secondaryArchSuffix = $portVersion - devel:libclangfrontendtool$secondaryArchSuffix = $portVersion - devel:libclangindex$secondaryArchSuffix = $portVersion - devel:libclanglex$secondaryArchSuffix = $portVersion - devel:libclangparse$secondaryArchSuffix = $portVersion - devel:libclangquery$secondaryArchSuffix = $portVersion - devel:libclangrename$secondaryArchSuffix = $portVersion - devel:libclangrewrite$secondaryArchSuffix = $portVersion - devel:libclangrewritefrontend$secondaryArchSuffix = $portVersion - devel:libclangsema$secondaryArchSuffix = $portVersion - devel:libclangserialization$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercheckers$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercore$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzerfrontend$secondaryArchSuffix = $portVersion - devel:libclangtidy$secondaryArchSuffix = $portVersion - devel:libclangtidygooglemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyllvmmodule$secondaryArchSuffix = $portVersion - devel:libclangtidymiscmodule$secondaryArchSuffix = $portVersion - devel:libclangtidyreadability$secondaryArchSuffix = $portVersion - devel:libclangtidyutils$secondaryArchSuffix = $portVersion - devel:libclangtooling$secondaryArchSuffix = $portVersion - devel:libclangtoolingcore$secondaryArchSuffix = $portVersion - devel:libmodernizecore$secondaryArchSuffix = $portVersion - lib:libclang$secondaryArchSuffix = $portVersion - " -REQUIRES_clang=" - haiku$secondaryArchSuffix - " - -PROVIDES_clang_analysis=" - llvm${secondaryArchSuffix}_clang_analysis = $portVersion - cmd:scan_build$secondaryArchSuffix = $portVersion - cmd:scan_view$secondaryArchSuffix = $portVersion - " -REQUIRES_clang_analysis=" - llvm${secondaryArchSuffix}_clang == $portVersion base - cmd:python - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - " -BUILD_PREREQUIRES=" - cmd:aclocal - cmd:autoconf - cmd:automake - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:grep - cmd:groff - cmd:ld$secondaryArchSuffix - cmd:libtoolize$secondaryArchSuffix - cmd:make - cmd:python - cmd:sed - " - -BUILD() -{ - # Add clang tools - mkdir -p tools/clang - cp -rd $sourceDir2/cfe-${portVersion}.src/* tools/clang/ - - # Add clang tools's tool's (really llvm?) - mkdir -p tools/clang/tools/extra - cp -rd $sourceDir3/clang-tools-extra-${portVersion}.src/* tools/clang/tools/extra - - mkdir -p build; cd build - # Haiku C++ requires rtti in a lot of central system components - # such as Mesa - export REQUIRES_RTTI=1 - runConfigure ../configure --enable-optimized - make $jobArgs PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir -} - -INSTALL() -{ - cd build - mkdir -p $developDir - mkdir -p $docDir - mkdir -p $binDir - - make install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - # You can try and be fancy here parsing each arch in a for loop... but - # not all arches contain the same libraries. The inventory for each arch - # also changes between releases... so lets KISS. - prepareInstalledDevelLibs \ - libLLVM* \ - libLTO - - make -C tools/clang install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - # Install static analysis tools - mkdir -p $developDir/tools/clang$secondaryArchSuffix - cp -Ra ../tools/clang/tools/scan-build $developDir/tools/clang$secondaryArchSuffix/ - cp -Ra ../tools/clang/tools/scan-view $developDir/tools/clang$secondaryArchSuffix/ - - ln -s $developDir/tools/clang$secondaryArchSuffix/scan-build/scan-build $binDir/scan-build - ln -s $developDir/tools/clang$secondaryArchSuffix/scan-view/scan-view $binDir/scan-view - ln -s $binDir/clang $developDir/tools/clang$secondaryArchSuffix/scan-build/clang - - prepareInstalledDevelLibs libclang* libmodernizeCore - - mv $prefix/include/* $includeDir/ - rmdir $prefix/include - - # analysis package - packageEntries clang \ - $binDir/c-index-test \ - $binDir/clang* \ - $binDir/pp-trace \ - $includeDir/clang* \ - $libDir/libclang* \ - $libDir/clang \ - $developLibDir/libclang* \ - $developLibDir/libmodernizeCore* - - # analysis package - packageEntries clang_analysis \ - $binDir/scan-build \ - $binDir/scan-view \ - $developDir/tools/clang$secondaryArchSuffix -} - -TEST() -{ - make check -} diff --git a/sys-devel/llvm/llvm-3.8.0.recipe b/sys-devel/llvm/llvm-3.8.0.recipe deleted file mode 100644 index e347e0a86..000000000 --- a/sys-devel/llvm/llvm-3.8.0.recipe +++ /dev/null @@ -1,397 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION="LLVM is a collection of modular and reuseable compiler and and \ -toolchain technologies.The LLVM compiler system for C and C++ includes the \ -following: - -- Front-ends for C, C++, Objective-C, Fortran, etc. based on the GCC 4.2 \ -parsers. They support the ANSI-standard C and C++ languages to the same \ -degree that GCC supports them. Additionally, many GCC extensions are \ -supported. -- A stable implementation of the LLVM instruction set, which serves as both \ -the online and offline code representation, together with assembly (ASCII) \ -and bytecode (binary) readers and writers, and a verifier. -- A powerful pass-management system that automatically sequences passes \ -(including analysis, transformation, and code-generation passes) based on \ -their dependences, and pipelines them for efficiency. -- A wide range of global scalar optimizations. -- A link-time interprocedural optimization framework with a rich set of \ -analyses and transformations, including sophisticated whole-program pointer \ -analysis, call graph construction, and support for profile-guided optimizations. -- An easily retargettable code generator, which currently supports X86, \ -X86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, \ -SystemZ, and XCore. -- A Just-In-Time (JIT) code generation system, which currently supports X86, \ -X86-64, ARM, AArch64, Mips, SystemZ, PowerPC, and PowerPC-64. -- Support for generating DWARF debugging information. -- A C back-end useful for testing and for generating native code on targets \ -other than the ones listed above. -- A profiling system similar to gprof. -- A test framework with a number of benchmark codes and applications. -- APIs and debugging tools to simplify rapid development of LLVM components." -HOMEPAGE="http://www.llvm.org/" -COPYRIGHT="2003-2014 University of Illinois at Urbana-Champaign" -LICENSE="UIUC" -REVISION="2" -SOURCE_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.xz" -CHECKSUM_SHA256="555b028e9ee0f6445ff8f949ea10e9cd8be0d084840e21fbbe1d31d51fc06e46" -SOURCE_DIR="llvm-${portVersion}.src" -SOURCE_URI_2="http://llvm.org/releases/${portVersion}/cfe-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_2="04149236de03cf05232d68eb7cb9c50f03062e339b68f4f8a03b650a11536cf9" -SOURCE_DIR_2="cfe-${portVersion}.src" -SOURCE_URI_3="http://llvm.org/releases/${portVersion}/clang-tools-extra-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_3="afbda810106a6e64444bc164b921be928af46829117c95b996f2678ce4cb1ec4" -SOURCE_DIR_3="clang-tools-extra-${portVersion}.src" -PATCHES="llvm-${portVersion}.patchset" -PATCHES_2="clang-${portVersion}.patchset" - -ARCHITECTURES="!x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion - cmd:bugpoint - cmd:count - cmd:FileCheck - cmd:llc - cmd:lli - cmd:lli_child_target - cmd:llvm_ar - cmd:llvm_as - cmd:llvm_bcanalyzer - cmd:llvm_c_test - cmd:llvm_config - cmd:llvm_cov - cmd:llvm_cxxdump - cmd:llvm_diff - cmd:llvm_dis - cmd:llvm_dsymutil - cmd:llvm_dwarfdump - cmd:llvm_dwp - cmd:llvm_extract - cmd:llvm_lib - cmd:llvm_link - cmd:llvm_lto - cmd:llvm_mc - cmd:llvm_mcmarkup - cmd:llvm_nm - cmd:llvm_objdump - cmd:llvm_pdbdump - cmd:llvm_profdata - cmd:llvm_ranlib - cmd:llvm_readobj - cmd:llvm_rtdyld - cmd:llvm_size - cmd:llvm_split - cmd:llvm_stress - cmd:llvm_symbolizer - cmd:llvm_tblgen - cmd:macho_dump - cmd:not - cmd:obj2yaml - cmd:opt - cmd:sancov - cmd:verify_uselistorder - cmd:yaml2obj - devel:libLLVMAArch64AsmParser$secondaryArchSuffix - devel:libLLVMAArch64AsmPrinter$secondaryArchSuffix - devel:libLLVMAArch64CodeGen$secondaryArchSuffix - devel:libLLVMAArch64Desc$secondaryArchSuffix - devel:libLLVMAArch64Disassembler$secondaryArchSuffix - devel:libLLVMAArch64Info$secondaryArchSuffix - devel:libLLVMAArch64Utils$secondaryArchSuffix - devel:libLLVMAMDGPUAsmParser$secondaryArchSuffix - devel:libLLVMAMDGPUAsmPrinter$secondaryArchSuffix - devel:libLLVMAMDGPUCodeGen$secondaryArchSuffix - devel:libLLVMAMDGPUDesc$secondaryArchSuffix - devel:libLLVMAMDGPUInfo$secondaryArchSuffix - devel:libLLVMAMDGPUUtils$secondaryArchSuffix - devel:libLLVMAnalysis$secondaryArchSuffix - devel:libLLVMARMAsmParser$secondaryArchSuffix - devel:libLLVMARMAsmPrinter$secondaryArchSuffix - devel:libLLVMARMCodeGen$secondaryArchSuffix - devel:libLLVMARMDesc$secondaryArchSuffix - devel:libLLVMARMDisassembler$secondaryArchSuffix - devel:libLLVMARMInfo$secondaryArchSuffix - devel:libLLVMAsmParser$secondaryArchSuffix - devel:libLLVMAsmPrinter$secondaryArchSuffix - devel:libLLVMBitReader$secondaryArchSuffix - devel:libLLVMBitWriter$secondaryArchSuffix - devel:libLLVMBPFAsmPrinter$secondaryArchSuffix - devel:libLLVMBPFCodeGen$secondaryArchSuffix - devel:libLLVMBPFDesc$secondaryArchSuffix - devel:libLLVMBPFInfo$secondaryArchSuffix - devel:libLLVMCodeGen$secondaryArchSuffix - devel:libLLVMCore$secondaryArchSuffix - devel:libLLVMCppBackendCodeGen$secondaryArchSuffix - devel:libLLVMCppBackendInfo$secondaryArchSuffix - devel:libLLVMDebugInfoCodeView$secondaryArchSuffix - devel:libLLVMDebugInfoDWARF$secondaryArchSuffix - devel:libLLVMDebugInfoPDB$secondaryArchSuffix - devel:libLLVMExecutionEngine$secondaryArchSuffix - devel:libLLVMHexagonAsmParser$secondaryArchSuffix - devel:libLLVMHexagonCodeGen$secondaryArchSuffix - devel:libLLVMHexagonDesc$secondaryArchSuffix - devel:libLLVMHexagonDisassembler$secondaryArchSuffix - devel:libLLVMHexagonInfo$secondaryArchSuffix - devel:libLLVMInstCombine$secondaryArchSuffix - devel:libLLVMInstrumentation$secondaryArchSuffix - devel:libLLVMInterpreter$secondaryArchSuffix - devel:libLLVMipo$secondaryArchSuffix - devel:libLLVMIRReader$secondaryArchSuffix - devel:libLLVMLibDriver$secondaryArchSuffix - devel:libLLVMLineEditor$secondaryArchSuffix - devel:libLLVMLinker$secondaryArchSuffix - devel:libLLVMLTO$secondaryArchSuffix - devel:libLLVMMC$secondaryArchSuffix - devel:libLLVMMCDisassembler$secondaryArchSuffix - devel:libLLVMMCJIT$secondaryArchSuffix - devel:libLLVMMCParser$secondaryArchSuffix - devel:libLLVMMipsAsmParser$secondaryArchSuffix - devel:libLLVMMipsAsmPrinter$secondaryArchSuffix - devel:libLLVMMipsCodeGen$secondaryArchSuffix - devel:libLLVMMipsDesc$secondaryArchSuffix - devel:libLLVMMipsDisassembler$secondaryArchSuffix - devel:libLLVMMipsInfo$secondaryArchSuffix - devel:libLLVMMIRParser$secondaryArchSuffix - devel:libLLVMMSP430AsmPrinter$secondaryArchSuffix - devel:libLLVMMSP430CodeGen$secondaryArchSuffix - devel:libLLVMMSP430Desc$secondaryArchSuffix - devel:libLLVMMSP430Info$secondaryArchSuffix - devel:libLLVMNVPTXAsmPrinter$secondaryArchSuffix - devel:libLLVMNVPTXCodeGen$secondaryArchSuffix - devel:libLLVMNVPTXDesc$secondaryArchSuffix - devel:libLLVMNVPTXInfo$secondaryArchSuffix - devel:libLLVMObjCARCOpts$secondaryArchSuffix - devel:libLLVMObject$secondaryArchSuffix - devel:libLLVMOption$secondaryArchSuffix - devel:libLLVMOrcJIT$secondaryArchSuffix - devel:libLLVMPasses$secondaryArchSuffix - devel:libLLVMPowerPCAsmParser$secondaryArchSuffix - devel:libLLVMPowerPCAsmPrinter$secondaryArchSuffix - devel:libLLVMPowerPCCodeGen$secondaryArchSuffix - devel:libLLVMPowerPCDesc$secondaryArchSuffix - devel:libLLVMPowerPCDisassembler$secondaryArchSuffix - devel:libLLVMPowerPCInfo$secondaryArchSuffix - devel:libLLVMProfileData$secondaryArchSuffix - devel:libLLVMRuntimeDyld$secondaryArchSuffix - devel:libLLVMScalarOpts$secondaryArchSuffix - devel:libLLVMSelectionDAG$secondaryArchSuffix - devel:libLLVMSparcAsmParser$secondaryArchSuffix - devel:libLLVMSparcAsmPrinter$secondaryArchSuffix - devel:libLLVMSparcCodeGen$secondaryArchSuffix - devel:libLLVMSparcDesc$secondaryArchSuffix - devel:libLLVMSparcDisassembler$secondaryArchSuffix - devel:libLLVMSparcInfo$secondaryArchSuffix - devel:libLLVMSupport$secondaryArchSuffix - devel:libLLVMSymbolize$secondaryArchSuffix - devel:libLLVMSystemZAsmParser$secondaryArchSuffix - devel:libLLVMSystemZAsmPrinter$secondaryArchSuffix - devel:libLLVMSystemZCodeGen$secondaryArchSuffix - devel:libLLVMSystemZDesc$secondaryArchSuffix - devel:libLLVMSystemZDisassembler$secondaryArchSuffix - devel:libLLVMSystemZInfo$secondaryArchSuffix - devel:libLLVMTableGen$secondaryArchSuffix - devel:libLLVMTarget$secondaryArchSuffix - devel:libLLVMTransformUtils$secondaryArchSuffix - devel:libLLVMVectorize$secondaryArchSuffix - devel:libLLVMX86AsmParser$secondaryArchSuffix - devel:libLLVMX86AsmPrinter$secondaryArchSuffix - devel:libLLVMX86CodeGen$secondaryArchSuffix - devel:libLLVMX86Desc$secondaryArchSuffix - devel:libLLVMX86Disassembler$secondaryArchSuffix - devel:libLLVMX86Info$secondaryArchSuffix - devel:libLLVMX86Utils$secondaryArchSuffix - devel:libLLVMXCoreAsmPrinter$secondaryArchSuffix - devel:libLLVMXCoreCodeGen$secondaryArchSuffix - devel:libLLVMXCoreDesc$secondaryArchSuffix - devel:libLLVMXCoreDisassembler$secondaryArchSuffix - devel:libLLVMXCoreInfo$secondaryArchSuffix - devel:libLTO$secondaryArchSuffix - lib:BugpointPasses$secondaryArchSuffix - lib:libLTO$secondaryArchSuffix - lib:LLVMHello$secondaryArchSuffix - " -REQUIRES=" - haiku$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -PROVIDES_clang=" - llvm${secondaryArchSuffix}_clang = $portVersion - cmd:c_index_test = $portVersion - cmd:clang = $portVersion - cmd:clang++ = $portVersion - cmd:clang_3.8 = $portVersion - cmd:clang_apply_replacements = $portVersion - cmd:clang_check = $portVersion - cmd:clang_cl = $portVersion - cmd:clang_format = $portVersion - cmd:clang_modernize = $portVersion - cmd:clang_query = $portVersion - cmd:clang_rename = $portVersion - cmd:clang_tblgen = $portVersion - cmd:clang_tidy = $portVersion - cmd:git_clang_format = $portVersion - cmd:modularize = $portVersion - devel:libclang$secondaryArchSuffix = $portVersion - devel:libclanganalysis$secondaryArchSuffix = $portVersion - devel:libclangapplyreplacements$secondaryArchSuffix = $portVersion - devel:libclangarcmigrate$secondaryArchSuffix = $portVersion - devel:libclangast$secondaryArchSuffix = $portVersion - devel:libclangastmatchers$secondaryArchSuffix = $portVersion - devel:libclangbasic$secondaryArchSuffix = $portVersion - devel:libclangcodegen$secondaryArchSuffix = $portVersion - devel:libclangdriver$secondaryArchSuffix = $portVersion - devel:libclangdynamicastmatchers$secondaryArchSuffix = $portVersion - devel:libclangedit$secondaryArchSuffix = $portVersion - devel:libclangformat$secondaryArchSuffix = $portVersion - devel:libclangfrontend$secondaryArchSuffix = $portVersion - devel:libclangfrontendtool$secondaryArchSuffix = $portVersion - devel:libclangindex$secondaryArchSuffix = $portVersion - devel:libclanglex$secondaryArchSuffix = $portVersion - devel:libclangparse$secondaryArchSuffix = $portVersion - devel:libclangquery$secondaryArchSuffix = $portVersion - devel:libclangrename$secondaryArchSuffix = $portVersion - devel:libclangrewrite$secondaryArchSuffix = $portVersion - devel:libclangrewritefrontend$secondaryArchSuffix = $portVersion - devel:libclangsema$secondaryArchSuffix = $portVersion - devel:libclangserialization$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercheckers$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercore$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzerfrontend$secondaryArchSuffix = $portVersion - devel:libclangtidy$secondaryArchSuffix = $portVersion - devel:libclangtidycertmodule$secondaryArchSuffix = $portVersion - devel:libclangtidycppcoreguidelinesmodule$secondaryArchSuffix = $portVersion - devel:libclangtidygooglemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyllvmmodule$secondaryArchSuffix = $portVersion - devel:libclangtidymiscmodule$secondaryArchSuffix = $portVersion - devel:libclangtidymodernizemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyperformancemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyreadabilitymodule$secondaryArchSuffix = $portVersion - devel:libclangtidyutils$secondaryArchSuffix = $portVersion - devel:libclangtooling$secondaryArchSuffix = $portVersion - devel:libclangtoolingcore$secondaryArchSuffix = $portVersion - lib:libclang$secondaryArchSuffix = $portVersion - " -REQUIRES_clang=" - haiku$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -PROVIDES_clang_analysis=" - llvm${secondaryArchSuffix}_clang_analysis = $portVersion - cmd:c++_analyzer$secondaryArchSuffix = $portVersion - cmd:ccc_analyzer$secondaryArchSuffix = $portVersion - cmd:scan_build$secondaryArchSuffix = $portVersion - cmd:scan_view$secondaryArchSuffix = $portVersion - " -REQUIRES_clang_analysis=" - llvm${secondaryArchSuffix}_clang == $portVersion base - cmd:python - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - devel:libz$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - cmd:cmake - cmd:diff - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:grep - cmd:groff - cmd:ld$secondaryArchSuffix - cmd:make - cmd:python - cmd:sed - " - -BUILD() -{ - # Add clang tools - mkdir -p tools/clang - cp -rd $sourceDir2/* tools/clang/ - - # Add clang tools's tool's (really llvm?) - mkdir -p tools/clang/tools/extra - cp -rd $sourceDir3/* tools/clang/tools/extra - - mkdir -p build; cd build - # Haiku C++ requires rtti in a lot of central system components - # such as Mesa - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix \ - -DCMAKE_SKIP_RPATH=YES \ - -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_THREADS=NO \ - .. - make $jobArgs PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir -} - -INSTALL() -{ - cd build - mkdir -p $binDir $developDir $dataDir $docDir $includeDir $manDir - - make install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - make -C tools/clang install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - if [ -n $secondaryArchSuffix ]; then - mv $prefix/lib $prefix/lib2 - mkdir -p $libDir - mv $prefix/lib2/* $libDir/ - rmdir $prefix/lib2 - binDir=$prefix/bin - fi - - # You can try and be fancy here parsing each arch in a for loop... but - # not all arches contain the same libraries. The inventory for each arch - # also changes between releases... so lets KISS. - prepareInstalledDevelLibs \ - libLLVM* \ - libLTO \ - libclang* - - mv $prefix/include/* $includeDir/ - mv $prefix/libexec/* $binDir/ - mv $prefix/share/man/* $manDir/ - mv $prefix/share/clang $dataDir/ - mv $prefix/share/llvm $dataDir/ - mv $prefix/share/scan-build $dataDir/ - mv $prefix/share/scan-view $dataDir/ - rmdir $prefix/include $prefix/libexec $prefix/share/man - - sed -i 's|/libexec/|/bin/|' $binDir/scan-build - sed -i 's|/share/|/data/|' $binDir/scan-build $binDir/scan-view - - # clang package - packageEntries clang \ - $binDir/c-index-test \ - $binDir/clang* \ - $binDir/git-clang-format \ - $binDir/modularize \ - $dataDir/clang \ - $includeDir/clang* \ - $libDir/libclang* \ - $libDir/clang \ - $developLibDir/libclang* - - # analysis package - packageEntries clang_analysis \ - $binDir/scan-build \ - $binDir/scan-view \ - $binDir/c++-analyzer \ - $binDir/ccc-analyzer \ - $dataDir/scan-build \ - $dataDir/scan-view \ - $manDir/man1/scan-build.1 -} - -TEST() -{ - cd build - make $jobArgs check -} diff --git a/sys-devel/llvm/llvm-3.8.1.recipe b/sys-devel/llvm/llvm-3.8.1.recipe deleted file mode 100644 index f64dd164b..000000000 --- a/sys-devel/llvm/llvm-3.8.1.recipe +++ /dev/null @@ -1,411 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION="LLVM is a collection of modular and reuseable compiler and and \ -toolchain technologies.The LLVM compiler system for C and C++ includes the \ -following: - -- Front-ends for C, C++, Objective-C, Fortran, etc. based on the GCC 4.2 \ -parsers. They support the ANSI-standard C and C++ languages to the same \ -degree that GCC supports them. Additionally, many GCC extensions are \ -supported. -- A stable implementation of the LLVM instruction set, which serves as both \ -the online and offline code representation, together with assembly (ASCII) \ -and bytecode (binary) readers and writers, and a verifier. -- A powerful pass-management system that automatically sequences passes \ -(including analysis, transformation, and code-generation passes) based on \ -their dependences, and pipelines them for efficiency. -- A wide range of global scalar optimizations. -- A link-time interprocedural optimization framework with a rich set of \ -analyses and transformations, including sophisticated whole-program pointer \ -analysis, call graph construction, and support for profile-guided optimizations. -- An easily retargettable code generator, which currently supports X86, \ -X86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, \ -SystemZ, and XCore. -- A Just-In-Time (JIT) code generation system, which currently supports X86, \ -X86-64, ARM, AArch64, Mips, SystemZ, PowerPC, and PowerPC-64. -- Support for generating DWARF debugging information. -- A C back-end useful for testing and for generating native code on targets \ -other than the ones listed above. -- A profiling system similar to gprof. -- A test framework with a number of benchmark codes and applications. -- APIs and debugging tools to simplify rapid development of LLVM components." -HOMEPAGE="http://www.llvm.org/" -COPYRIGHT="2003-2014 University of Illinois at Urbana-Champaign" -LICENSE="UIUC" -REVISION="3" -SOURCE_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.xz" -CHECKSUM_SHA256="6e82ce4adb54ff3afc18053d6981b6aed1406751b8742582ed50f04b5ab475f9" -SOURCE_DIR="llvm-${portVersion}.src" -SOURCE_URI_2="http://llvm.org/releases/${portVersion}/cfe-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_2="4cd3836dfb4b88b597e075341cae86d61c63ce3963e45c7fe6a8bf59bb382cdf" -SOURCE_DIR_2="cfe-${portVersion}.src" -SOURCE_URI_3="http://llvm.org/releases/${portVersion}/clang-tools-extra-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_3="664a5c60220de9c290bf2a5b03d902ab731a4f95fe73a00856175ead494ec396" -SOURCE_DIR_3="clang-tools-extra-${portVersion}.src" -SOURCE_URI_4="http://llvm.org/releases/${portVersion}/compiler-rt-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_4="0df011dae14d8700499dfc961602ee0a9572fef926202ade5dcdfe7858411e5c" -SOURCE_DIR_4="compiler-rt-${portVersion}.src" -PATCHES="llvm-${portVersion}.patchset" -PATCHES_2="clang-${portVersion}.patchset" - -ARCHITECTURES="!x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion - cmd:bugpoint - cmd:count - cmd:FileCheck - cmd:llc - cmd:lli - cmd:lli_child_target - cmd:llvm_ar - cmd:llvm_as - cmd:llvm_bcanalyzer - cmd:llvm_c_test - cmd:llvm_config - cmd:llvm_cov - cmd:llvm_cxxdump - cmd:llvm_diff - cmd:llvm_dis - cmd:llvm_dsymutil - cmd:llvm_dwarfdump - cmd:llvm_dwp - cmd:llvm_extract - cmd:llvm_lib - cmd:llvm_link - cmd:llvm_lto - cmd:llvm_mc - cmd:llvm_mcmarkup - cmd:llvm_nm - cmd:llvm_objdump - cmd:llvm_pdbdump - cmd:llvm_profdata - cmd:llvm_ranlib - cmd:llvm_readobj - cmd:llvm_rtdyld - cmd:llvm_size - cmd:llvm_split - cmd:llvm_stress - cmd:llvm_symbolizer - cmd:llvm_tblgen - cmd:macho_dump - cmd:not - cmd:obj2yaml - cmd:opt - cmd:sancov - cmd:verify_uselistorder - cmd:yaml2obj - devel:libLLVMAArch64AsmParser$secondaryArchSuffix - devel:libLLVMAArch64AsmPrinter$secondaryArchSuffix - devel:libLLVMAArch64CodeGen$secondaryArchSuffix - devel:libLLVMAArch64Desc$secondaryArchSuffix - devel:libLLVMAArch64Disassembler$secondaryArchSuffix - devel:libLLVMAArch64Info$secondaryArchSuffix - devel:libLLVMAArch64Utils$secondaryArchSuffix - devel:libLLVMAMDGPUAsmParser$secondaryArchSuffix - devel:libLLVMAMDGPUAsmPrinter$secondaryArchSuffix - devel:libLLVMAMDGPUCodeGen$secondaryArchSuffix - devel:libLLVMAMDGPUDesc$secondaryArchSuffix - devel:libLLVMAMDGPUInfo$secondaryArchSuffix - devel:libLLVMAMDGPUUtils$secondaryArchSuffix - devel:libLLVMAnalysis$secondaryArchSuffix - devel:libLLVMARMAsmParser$secondaryArchSuffix - devel:libLLVMARMAsmPrinter$secondaryArchSuffix - devel:libLLVMARMCodeGen$secondaryArchSuffix - devel:libLLVMARMDesc$secondaryArchSuffix - devel:libLLVMARMDisassembler$secondaryArchSuffix - devel:libLLVMARMInfo$secondaryArchSuffix - devel:libLLVMAsmParser$secondaryArchSuffix - devel:libLLVMAsmPrinter$secondaryArchSuffix - devel:libLLVMBitReader$secondaryArchSuffix - devel:libLLVMBitWriter$secondaryArchSuffix - devel:libLLVMBPFAsmPrinter$secondaryArchSuffix - devel:libLLVMBPFCodeGen$secondaryArchSuffix - devel:libLLVMBPFDesc$secondaryArchSuffix - devel:libLLVMBPFInfo$secondaryArchSuffix - devel:libLLVMCodeGen$secondaryArchSuffix - devel:libLLVMCore$secondaryArchSuffix - devel:libLLVMCppBackendCodeGen$secondaryArchSuffix - devel:libLLVMCppBackendInfo$secondaryArchSuffix - devel:libLLVMDebugInfoCodeView$secondaryArchSuffix - devel:libLLVMDebugInfoDWARF$secondaryArchSuffix - devel:libLLVMDebugInfoPDB$secondaryArchSuffix - devel:libLLVMExecutionEngine$secondaryArchSuffix - devel:libLLVMHexagonAsmParser$secondaryArchSuffix - devel:libLLVMHexagonCodeGen$secondaryArchSuffix - devel:libLLVMHexagonDesc$secondaryArchSuffix - devel:libLLVMHexagonDisassembler$secondaryArchSuffix - devel:libLLVMHexagonInfo$secondaryArchSuffix - devel:libLLVMInstCombine$secondaryArchSuffix - devel:libLLVMInstrumentation$secondaryArchSuffix - devel:libLLVMInterpreter$secondaryArchSuffix - devel:libLLVMipo$secondaryArchSuffix - devel:libLLVMIRReader$secondaryArchSuffix - devel:libLLVMLibDriver$secondaryArchSuffix - devel:libLLVMLineEditor$secondaryArchSuffix - devel:libLLVMLinker$secondaryArchSuffix - devel:libLLVMLTO$secondaryArchSuffix - devel:libLLVMMC$secondaryArchSuffix - devel:libLLVMMCDisassembler$secondaryArchSuffix - devel:libLLVMMCJIT$secondaryArchSuffix - devel:libLLVMMCParser$secondaryArchSuffix - devel:libLLVMMipsAsmParser$secondaryArchSuffix - devel:libLLVMMipsAsmPrinter$secondaryArchSuffix - devel:libLLVMMipsCodeGen$secondaryArchSuffix - devel:libLLVMMipsDesc$secondaryArchSuffix - devel:libLLVMMipsDisassembler$secondaryArchSuffix - devel:libLLVMMipsInfo$secondaryArchSuffix - devel:libLLVMMIRParser$secondaryArchSuffix - devel:libLLVMMSP430AsmPrinter$secondaryArchSuffix - devel:libLLVMMSP430CodeGen$secondaryArchSuffix - devel:libLLVMMSP430Desc$secondaryArchSuffix - devel:libLLVMMSP430Info$secondaryArchSuffix - devel:libLLVMNVPTXAsmPrinter$secondaryArchSuffix - devel:libLLVMNVPTXCodeGen$secondaryArchSuffix - devel:libLLVMNVPTXDesc$secondaryArchSuffix - devel:libLLVMNVPTXInfo$secondaryArchSuffix - devel:libLLVMObjCARCOpts$secondaryArchSuffix - devel:libLLVMObject$secondaryArchSuffix - devel:libLLVMOption$secondaryArchSuffix - devel:libLLVMOrcJIT$secondaryArchSuffix - devel:libLLVMPasses$secondaryArchSuffix - devel:libLLVMPowerPCAsmParser$secondaryArchSuffix - devel:libLLVMPowerPCAsmPrinter$secondaryArchSuffix - devel:libLLVMPowerPCCodeGen$secondaryArchSuffix - devel:libLLVMPowerPCDesc$secondaryArchSuffix - devel:libLLVMPowerPCDisassembler$secondaryArchSuffix - devel:libLLVMPowerPCInfo$secondaryArchSuffix - devel:libLLVMProfileData$secondaryArchSuffix - devel:libLLVMRuntimeDyld$secondaryArchSuffix - devel:libLLVMScalarOpts$secondaryArchSuffix - devel:libLLVMSelectionDAG$secondaryArchSuffix - devel:libLLVMSparcAsmParser$secondaryArchSuffix - devel:libLLVMSparcAsmPrinter$secondaryArchSuffix - devel:libLLVMSparcCodeGen$secondaryArchSuffix - devel:libLLVMSparcDesc$secondaryArchSuffix - devel:libLLVMSparcDisassembler$secondaryArchSuffix - devel:libLLVMSparcInfo$secondaryArchSuffix - devel:libLLVMSupport$secondaryArchSuffix - devel:libLLVMSymbolize$secondaryArchSuffix - devel:libLLVMSystemZAsmParser$secondaryArchSuffix - devel:libLLVMSystemZAsmPrinter$secondaryArchSuffix - devel:libLLVMSystemZCodeGen$secondaryArchSuffix - devel:libLLVMSystemZDesc$secondaryArchSuffix - devel:libLLVMSystemZDisassembler$secondaryArchSuffix - devel:libLLVMSystemZInfo$secondaryArchSuffix - devel:libLLVMTableGen$secondaryArchSuffix - devel:libLLVMTarget$secondaryArchSuffix - devel:libLLVMTransformUtils$secondaryArchSuffix - devel:libLLVMVectorize$secondaryArchSuffix - devel:libLLVMX86AsmParser$secondaryArchSuffix - devel:libLLVMX86AsmPrinter$secondaryArchSuffix - devel:libLLVMX86CodeGen$secondaryArchSuffix - devel:libLLVMX86Desc$secondaryArchSuffix - devel:libLLVMX86Disassembler$secondaryArchSuffix - devel:libLLVMX86Info$secondaryArchSuffix - devel:libLLVMX86Utils$secondaryArchSuffix - devel:libLLVMXCoreAsmPrinter$secondaryArchSuffix - devel:libLLVMXCoreCodeGen$secondaryArchSuffix - devel:libLLVMXCoreDesc$secondaryArchSuffix - devel:libLLVMXCoreDisassembler$secondaryArchSuffix - devel:libLLVMXCoreInfo$secondaryArchSuffix - devel:libLTO$secondaryArchSuffix - lib:BugpointPasses$secondaryArchSuffix - lib:libLTO$secondaryArchSuffix - lib:LLVMHello$secondaryArchSuffix - " -REQUIRES=" - haiku$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -PROVIDES_clang=" - llvm${secondaryArchSuffix}_clang = $portVersion - cmd:c_index_test = $portVersion - cmd:clang = $portVersion - cmd:clang++ = $portVersion - cmd:clang_3.8 = $portVersion - cmd:clang_apply_replacements = $portVersion - cmd:clang_check = $portVersion - cmd:clang_cl = $portVersion - cmd:clang_format = $portVersion - cmd:clang_modernize = $portVersion - cmd:clang_query = $portVersion - cmd:clang_rename = $portVersion - cmd:clang_tblgen = $portVersion - cmd:clang_tidy = $portVersion - cmd:git_clang_format = $portVersion - cmd:modularize = $portVersion - devel:libclang$secondaryArchSuffix = $portVersion - devel:libclanganalysis$secondaryArchSuffix = $portVersion - devel:libclangapplyreplacements$secondaryArchSuffix = $portVersion - devel:libclangarcmigrate$secondaryArchSuffix = $portVersion - devel:libclangast$secondaryArchSuffix = $portVersion - devel:libclangastmatchers$secondaryArchSuffix = $portVersion - devel:libclangbasic$secondaryArchSuffix = $portVersion - devel:libclangcodegen$secondaryArchSuffix = $portVersion - devel:libclangdriver$secondaryArchSuffix = $portVersion - devel:libclangdynamicastmatchers$secondaryArchSuffix = $portVersion - devel:libclangedit$secondaryArchSuffix = $portVersion - devel:libclangformat$secondaryArchSuffix = $portVersion - devel:libclangfrontend$secondaryArchSuffix = $portVersion - devel:libclangfrontendtool$secondaryArchSuffix = $portVersion - devel:libclangindex$secondaryArchSuffix = $portVersion - devel:libclanglex$secondaryArchSuffix = $portVersion - devel:libclangparse$secondaryArchSuffix = $portVersion - devel:libclangquery$secondaryArchSuffix = $portVersion - devel:libclangrename$secondaryArchSuffix = $portVersion - devel:libclangrewrite$secondaryArchSuffix = $portVersion - devel:libclangrewritefrontend$secondaryArchSuffix = $portVersion - devel:libclangsema$secondaryArchSuffix = $portVersion - devel:libclangserialization$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercheckers$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercore$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzerfrontend$secondaryArchSuffix = $portVersion - devel:libclangtidy$secondaryArchSuffix = $portVersion - devel:libclangtidycertmodule$secondaryArchSuffix = $portVersion - devel:libclangtidycppcoreguidelinesmodule$secondaryArchSuffix = $portVersion - devel:libclangtidygooglemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyllvmmodule$secondaryArchSuffix = $portVersion - devel:libclangtidymiscmodule$secondaryArchSuffix = $portVersion - devel:libclangtidymodernizemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyperformancemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyreadabilitymodule$secondaryArchSuffix = $portVersion - devel:libclangtidyutils$secondaryArchSuffix = $portVersion - devel:libclangtooling$secondaryArchSuffix = $portVersion - devel:libclangtoolingcore$secondaryArchSuffix = $portVersion - lib:libclang$secondaryArchSuffix = $portVersion - " -REQUIRES_clang=" - haiku$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -PROVIDES_clang_analysis=" - llvm${secondaryArchSuffix}_clang_analysis = $portVersion - cmd:c++_analyzer = $portVersion - cmd:ccc_analyzer = $portVersion - cmd:scan_build = $portVersion - cmd:scan_view = $portVersion - " -REQUIRES_clang_analysis=" - llvm${secondaryArchSuffix}_clang == $portVersion base - cmd:python - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - devel:libz$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - cmd:cmake - cmd:diff - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:grep - cmd:groff - cmd:ld$secondaryArchSuffix - cmd:make - cmd:python - cmd:sed - " - -BUILD() -{ - # Add clang tools - mkdir -p tools/clang - cp -rd $sourceDir2/* tools/clang/ - - # Add clang tools's tool's (really llvm?) - mkdir -p tools/clang/tools/extra - cp -rd $sourceDir3/* tools/clang/tools/extra - - mkdir -p projects/compiler-rt - cp -rd $sourceDir4/* projects/compiler-rt - - local cmakeFlags - if [ -n "$secondaryArchSuffix" ]; then - cmakeFlags=-DHAIKU_HYBRID_SECONDARY="\"${effectiveTargetArchitecture}\"" - fi - - mkdir -p build; cd build - # Haiku C++ requires rtti in a lot of central system components - # such as Mesa - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix \ - -DCMAKE_SKIP_RPATH=YES $cmakeFlags \ - -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_THREADS=NO \ - .. - make $jobArgs PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir -} - -INSTALL() -{ - cd build - mkdir -p $binDir $developDir $dataDir $docDir $includeDir $manDir - - make install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - make -C tools/clang install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - make -C projects/compiler-rt install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - if [ -n $secondaryArchSuffix ]; then - mv $prefix/lib $prefix/lib2 - mkdir -p $libDir - mv $prefix/lib2/* $libDir/ - rmdir $prefix/lib2 - binDir=$prefix/bin - fi - - # You can try and be fancy here parsing each arch in a for loop... but - # not all arches contain the same libraries. The inventory for each arch - # also changes between releases... so lets KISS. - prepareInstalledDevelLibs \ - libLLVM* \ - libLTO \ - libclang* - - mv $prefix/include/* $includeDir/ - mv $prefix/libexec/* $binDir/ - mv $prefix/share/man/* $manDir/ - mv $prefix/share/clang $dataDir/ - mv $prefix/share/llvm $dataDir/ - mv $prefix/share/scan-build $dataDir/ - mv $prefix/share/scan-view $dataDir/ - rmdir $prefix/include $prefix/libexec $prefix/share/man $prefix/share - - sed -i 's|/libexec/|/bin/|' $binDir/scan-build - sed -i 's|/share/|/data/|' $binDir/scan-build $binDir/scan-view - - # clang package - packageEntries clang \ - $binDir/c-index-test \ - $binDir/clang* \ - $binDir/git-clang-format \ - $binDir/modularize \ - $dataDir/clang \ - $includeDir/clang* \ - $libDir/libclang* \ - $libDir/clang \ - $developLibDir/libclang* - - # analysis package - packageEntries clang_analysis \ - $binDir/scan-build \ - $binDir/scan-view \ - $binDir/c++-analyzer \ - $binDir/ccc-analyzer \ - $dataDir/scan-build \ - $dataDir/scan-view \ - $manDir/man1/scan-build.1 -} - -TEST() -{ - cd build - make $jobArgs check -} diff --git a/sys-devel/llvm/llvm-3.9.0.recipe b/sys-devel/llvm/llvm-3.9.0.recipe deleted file mode 100644 index 618699f29..000000000 --- a/sys-devel/llvm/llvm-3.9.0.recipe +++ /dev/null @@ -1,422 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION="LLVM is a collection of modular and reuseable compiler and and \ -toolchain technologies.The LLVM compiler system for C and C++ includes the \ -following: - -- Front-ends for C, C++, Objective-C, Fortran, etc. based on the GCC 4.2 \ -parsers. They support the ANSI-standard C and C++ languages to the same \ -degree that GCC supports them. Additionally, many GCC extensions are \ -supported. -- A stable implementation of the LLVM instruction set, which serves as both \ -the online and offline code representation, together with assembly (ASCII) \ -and bytecode (binary) readers and writers, and a verifier. -- A powerful pass-management system that automatically sequences passes \ -(including analysis, transformation, and code-generation passes) based on \ -their dependences, and pipelines them for efficiency. -- A wide range of global scalar optimizations. -- A link-time interprocedural optimization framework with a rich set of \ -analyses and transformations, including sophisticated whole-program pointer \ -analysis, call graph construction, and support for profile-guided optimizations. -- An easily retargettable code generator, which currently supports X86, \ -X86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, \ -SystemZ, and XCore. -- A Just-In-Time (JIT) code generation system, which currently supports X86, \ -X86-64, ARM, AArch64, Mips, SystemZ, PowerPC, and PowerPC-64. -- Support for generating DWARF debugging information. -- A C back-end useful for testing and for generating native code on targets \ -other than the ones listed above. -- A profiling system similar to gprof. -- A test framework with a number of benchmark codes and applications. -- APIs and debugging tools to simplify rapid development of LLVM components." -HOMEPAGE="http://www.llvm.org/" -COPYRIGHT="2003-2014 University of Illinois at Urbana-Champaign" -LICENSE="UIUC" -REVISION="1" -SOURCE_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.xz" -CHECKSUM_SHA256="66c73179da42cee1386371641241f79ded250e117a79f571bbd69e56daa48948" -SOURCE_DIR="llvm-${portVersion}.src" -SOURCE_URI_2="http://llvm.org/releases/${portVersion}/cfe-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_2="7596a7c7d9376d0c89e60028fe1ceb4d3e535e8ea8b89e0eb094e0dcb3183d28" -SOURCE_DIR_2="cfe-${portVersion}.src" -SOURCE_URI_3="http://llvm.org/releases/${portVersion}/clang-tools-extra-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_3="5b7aec46ec8e999ec683c87ad744082e1133781ee4b01905b4bdae5d20785f14" -SOURCE_DIR_3="clang-tools-extra-${portVersion}.src" -SOURCE_URI_4="http://llvm.org/releases/${portVersion}/compiler-rt-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_4="e0e5224fcd5740b61e416c549dd3dcda92f10c524216c1edb5e979e42078a59a" -SOURCE_DIR_4="compiler-rt-${portVersion}.src" -PATCHES="llvm-${portVersion}.patchset" -PATCHES_2="clang-${portVersion}.patchset" - -ARCHITECTURES="!x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion - cmd:bugpoint - cmd:count - cmd:FileCheck - cmd:find_all_symbols - cmd:llc - cmd:lli - cmd:lli_child_target - cmd:llvm_ar - cmd:llvm_as - cmd:llvm_bcanalyzer - cmd:llvm_c_test - cmd:llvm_config - cmd:llvm_cov - cmd:llvm_cxxdump - cmd:llvm_diff - cmd:llvm_dis - cmd:llvm_dsymutil - cmd:llvm_dwarfdump - cmd:llvm_dwp - cmd:llvm_extract - cmd:llvm_lib - cmd:llvm_link - cmd:llvm_lto - cmd:llvm_mc - cmd:llvm_mcmarkup - cmd:llvm_nm - cmd:llvm_objdump - cmd:llvm_pdbdump - cmd:llvm_profdata - cmd:llvm_ranlib - cmd:llvm_readobj - cmd:llvm_rtdyld - cmd:llvm_size - cmd:llvm_split - cmd:llvm_stress - cmd:llvm_symbolizer - cmd:llvm_tblgen - cmd:macho_dump - cmd:not - cmd:obj2yaml - cmd:opt - cmd:sancov - cmd:sanstats - cmd:verify_uselistorder - cmd:yaml2obj - devel:libfindAllSymbols$secondaryArchSuffix - devel:libLLVMAArch64AsmParser$secondaryArchSuffix - devel:libLLVMAArch64AsmPrinter$secondaryArchSuffix - devel:libLLVMAArch64CodeGen$secondaryArchSuffix - devel:libLLVMAArch64Desc$secondaryArchSuffix - devel:libLLVMAArch64Disassembler$secondaryArchSuffix - devel:libLLVMAArch64Info$secondaryArchSuffix - devel:libLLVMAArch64Utils$secondaryArchSuffix - devel:libLLVMAMDGPUAsmParser$secondaryArchSuffix - devel:libLLVMAMDGPUAsmPrinter$secondaryArchSuffix - devel:libLLVMAMDGPUCodeGen$secondaryArchSuffix - devel:libLLVMAMDGPUDesc$secondaryArchSuffix - devel:libLLVMAMDGPUDisassembler$secondaryArchSuffix - devel:libLLVMAMDGPUInfo$secondaryArchSuffix - devel:libLLVMAMDGPUUtils$secondaryArchSuffix - devel:libLLVMAnalysis$secondaryArchSuffix - devel:libLLVMARMAsmParser$secondaryArchSuffix - devel:libLLVMARMAsmPrinter$secondaryArchSuffix - devel:libLLVMARMCodeGen$secondaryArchSuffix - devel:libLLVMARMDesc$secondaryArchSuffix - devel:libLLVMARMDisassembler$secondaryArchSuffix - devel:libLLVMARMInfo$secondaryArchSuffix - devel:libLLVMAsmParser$secondaryArchSuffix - devel:libLLVMAsmPrinter$secondaryArchSuffix - devel:libLLVMBitReader$secondaryArchSuffix - devel:libLLVMBitWriter$secondaryArchSuffix - devel:libLLVMBPFAsmPrinter$secondaryArchSuffix - devel:libLLVMBPFCodeGen$secondaryArchSuffix - devel:libLLVMBPFDesc$secondaryArchSuffix - devel:libLLVMBPFInfo$secondaryArchSuffix - devel:libLLVMCodeGen$secondaryArchSuffix - devel:libLLVMCore$secondaryArchSuffix - devel:libLLVMCoverage$secondaryArchSuffix - devel:libLLVMCppBackendCodeGen$secondaryArchSuffix - devel:libLLVMCppBackendInfo$secondaryArchSuffix - devel:libLLVMDebugInfoCodeView$secondaryArchSuffix - devel:libLLVMDebugInfoDWARF$secondaryArchSuffix - devel:libLLVMDebugInfoPDB$secondaryArchSuffix - devel:libLLVMExecutionEngine$secondaryArchSuffix - devel:libLLVMGlobalISel$secondaryArchSuffix - devel:libLLVMHexagonAsmParser$secondaryArchSuffix - devel:libLLVMHexagonCodeGen$secondaryArchSuffix - devel:libLLVMHexagonDesc$secondaryArchSuffix - devel:libLLVMHexagonDisassembler$secondaryArchSuffix - devel:libLLVMHexagonInfo$secondaryArchSuffix - devel:libLLVMInstCombine$secondaryArchSuffix - devel:libLLVMInstrumentation$secondaryArchSuffix - devel:libLLVMInterpreter$secondaryArchSuffix - devel:libLLVMipo$secondaryArchSuffix - devel:libLLVMIRReader$secondaryArchSuffix - devel:libLLVMLibDriver$secondaryArchSuffix - devel:libLLVMLineEditor$secondaryArchSuffix - devel:libLLVMLinker$secondaryArchSuffix - devel:libLLVMLTO$secondaryArchSuffix - devel:libLLVMMC$secondaryArchSuffix - devel:libLLVMMCDisassembler$secondaryArchSuffix - devel:libLLVMMCJIT$secondaryArchSuffix - devel:libLLVMMCParser$secondaryArchSuffix - devel:libLLVMMipsAsmParser$secondaryArchSuffix - devel:libLLVMMipsAsmPrinter$secondaryArchSuffix - devel:libLLVMMipsCodeGen$secondaryArchSuffix - devel:libLLVMMipsDesc$secondaryArchSuffix - devel:libLLVMMipsDisassembler$secondaryArchSuffix - devel:libLLVMMipsInfo$secondaryArchSuffix - devel:libLLVMMIRParser$secondaryArchSuffix - devel:libLLVMMSP430AsmPrinter$secondaryArchSuffix - devel:libLLVMMSP430CodeGen$secondaryArchSuffix - devel:libLLVMMSP430Desc$secondaryArchSuffix - devel:libLLVMMSP430Info$secondaryArchSuffix - devel:libLLVMNVPTXAsmPrinter$secondaryArchSuffix - devel:libLLVMNVPTXCodeGen$secondaryArchSuffix - devel:libLLVMNVPTXDesc$secondaryArchSuffix - devel:libLLVMNVPTXInfo$secondaryArchSuffix - devel:libLLVMObjCARCOpts$secondaryArchSuffix - devel:libLLVMObject$secondaryArchSuffix - devel:libLLVMObjectYAML$secondaryArchSuffix - devel:libLLVMOption$secondaryArchSuffix - devel:libLLVMOrcJIT$secondaryArchSuffix - devel:libLLVMPasses$secondaryArchSuffix - devel:libLLVMPowerPCAsmParser$secondaryArchSuffix - devel:libLLVMPowerPCAsmPrinter$secondaryArchSuffix - devel:libLLVMPowerPCCodeGen$secondaryArchSuffix - devel:libLLVMPowerPCDesc$secondaryArchSuffix - devel:libLLVMPowerPCDisassembler$secondaryArchSuffix - devel:libLLVMPowerPCInfo$secondaryArchSuffix - devel:libLLVMProfileData$secondaryArchSuffix - devel:libLLVMRuntimeDyld$secondaryArchSuffix - devel:libLLVMScalarOpts$secondaryArchSuffix - devel:libLLVMSelectionDAG$secondaryArchSuffix - devel:libLLVMSparcAsmParser$secondaryArchSuffix - devel:libLLVMSparcAsmPrinter$secondaryArchSuffix - devel:libLLVMSparcCodeGen$secondaryArchSuffix - devel:libLLVMSparcDesc$secondaryArchSuffix - devel:libLLVMSparcDisassembler$secondaryArchSuffix - devel:libLLVMSparcInfo$secondaryArchSuffix - devel:libLLVMSupport$secondaryArchSuffix - devel:libLLVMSymbolize$secondaryArchSuffix - devel:libLLVMSystemZAsmParser$secondaryArchSuffix - devel:libLLVMSystemZAsmPrinter$secondaryArchSuffix - devel:libLLVMSystemZCodeGen$secondaryArchSuffix - devel:libLLVMSystemZDesc$secondaryArchSuffix - devel:libLLVMSystemZDisassembler$secondaryArchSuffix - devel:libLLVMSystemZInfo$secondaryArchSuffix - devel:libLLVMTableGen$secondaryArchSuffix - devel:libLLVMTarget$secondaryArchSuffix - devel:libLLVMTransformUtils$secondaryArchSuffix - devel:libLLVMVectorize$secondaryArchSuffix - devel:libLLVMX86AsmParser$secondaryArchSuffix - devel:libLLVMX86AsmPrinter$secondaryArchSuffix - devel:libLLVMX86CodeGen$secondaryArchSuffix - devel:libLLVMX86Desc$secondaryArchSuffix - devel:libLLVMX86Disassembler$secondaryArchSuffix - devel:libLLVMX86Info$secondaryArchSuffix - devel:libLLVMX86Utils$secondaryArchSuffix - devel:libLLVMXCoreAsmPrinter$secondaryArchSuffix - devel:libLLVMXCoreCodeGen$secondaryArchSuffix - devel:libLLVMXCoreDesc$secondaryArchSuffix - devel:libLLVMXCoreDisassembler$secondaryArchSuffix - devel:libLLVMXCoreInfo$secondaryArchSuffix - devel:libLTO$secondaryArchSuffix - lib:BugpointPasses$secondaryArchSuffix - lib:libLTO$secondaryArchSuffix - lib:LLVMHello$secondaryArchSuffix - " -REQUIRES=" - haiku$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -PROVIDES_clang=" - llvm${secondaryArchSuffix}_clang = $portVersion - cmd:c_index_test = $portVersion - cmd:clang = $portVersion - cmd:clang++ = $portVersion - cmd:clang_3.9 = $portVersion - cmd:clang_apply_replacements = $portVersion - cmd:clang_check = $portVersion - cmd:clang_cl = $portVersion - cmd:clang_format = $portVersion - cmd:clang_include_fixer = $portVersion - cmd:clang_modernize = $portVersion - cmd:clang_query = $portVersion - cmd:clang_rename = $portVersion - cmd:clang_tblgen = $portVersion - cmd:clang_tidy = $portVersion - cmd:git_clang_format = $portVersion - cmd:modularize = $portVersion - devel:libclang$secondaryArchSuffix = $portVersion - devel:libclanganalysis$secondaryArchSuffix = $portVersion - devel:libclangapplyreplacements$secondaryArchSuffix = $portVersion - devel:libclangarcmigrate$secondaryArchSuffix = $portVersion - devel:libclangast$secondaryArchSuffix = $portVersion - devel:libclangastmatchers$secondaryArchSuffix = $portVersion - devel:libclangbasic$secondaryArchSuffix = $portVersion - devel:libclangcodegen$secondaryArchSuffix = $portVersion - devel:libclangdriver$secondaryArchSuffix = $portVersion - devel:libclangdynamicastmatchers$secondaryArchSuffix = $portVersion - devel:libclangedit$secondaryArchSuffix = $portVersion - devel:libclangformat$secondaryArchSuffix = $portVersion - devel:libclangfrontend$secondaryArchSuffix = $portVersion - devel:libclangfrontendtool$secondaryArchSuffix = $portVersion - devel:libclangincludefixer$secondaryArchSuffix = $portVersion - devel:libclangindex$secondaryArchSuffix = $portVersion - devel:libclanglex$secondaryArchSuffix = $portVersion - devel:libclangparse$secondaryArchSuffix = $portVersion - devel:libclangquery$secondaryArchSuffix = $portVersion - devel:libclangrename$secondaryArchSuffix = $portVersion - devel:libclangrewrite$secondaryArchSuffix = $portVersion - devel:libclangrewritefrontend$secondaryArchSuffix = $portVersion - devel:libclangsema$secondaryArchSuffix = $portVersion - devel:libclangserialization$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercheckers$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercore$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzerfrontend$secondaryArchSuffix = $portVersion - devel:libclangtidy$secondaryArchSuffix = $portVersion - devel:libclangtidyboostmodule$secondaryArchSuffix = $portVersion - devel:libclangtidycertmodule$secondaryArchSuffix = $portVersion - devel:libclangtidycppcoreguidelinesmodule$secondaryArchSuffix = $portVersion - devel:libclangtidygooglemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyllvmmodule$secondaryArchSuffix = $portVersion - devel:libclangtidymiscmodule$secondaryArchSuffix = $portVersion - devel:libclangtidymodernizemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyperformancemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyplugin$secondaryArchSuffix = $portVersion - devel:libclangtidyreadabilitymodule$secondaryArchSuffix = $portVersion - devel:libclangtidyutils$secondaryArchSuffix = $portVersion - devel:libclangtooling$secondaryArchSuffix = $portVersion - devel:libclangtoolingcore$secondaryArchSuffix = $portVersion - lib:libclang$secondaryArchSuffix = $portVersion - " -REQUIRES_clang=" - haiku$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -PROVIDES_clang_analysis=" - llvm${secondaryArchSuffix}_clang_analysis = $portVersion - cmd:c++_analyzer = $portVersion - cmd:ccc_analyzer = $portVersion - cmd:scan_build = $portVersion - cmd:scan_view = $portVersion - " -REQUIRES_clang_analysis=" - llvm${secondaryArchSuffix}_clang == $portVersion base - cmd:python - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - devel:libz$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - cmd:cmake - cmd:diff - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:grep - cmd:groff - cmd:ld$secondaryArchSuffix - cmd:make - cmd:python - cmd:sed - " - -BUILD() -{ - # Add clang tools - mkdir -p tools/clang - cp -rd $sourceDir2/* tools/clang/ - - # Add clang tools's tool's (really llvm?) - mkdir -p tools/clang/tools/extra - cp -rd $sourceDir3/* tools/clang/tools/extra - - mkdir -p projects/compiler-rt - cp -rd $sourceDir4/* projects/compiler-rt - - local cmakeFlags - if [ -n "$secondaryArchSuffix" ]; then - cmakeFlags=-DHAIKU_HYBRID_SECONDARY="\"${effectiveTargetArchitecture}\"" - fi - - mkdir -p build; cd build - # Haiku C++ requires rtti in a lot of central system components - # such as Mesa - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix \ - -DCMAKE_SKIP_RPATH=YES $cmakeFlags \ - -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_THREADS=NO \ - .. - make $jobArgs PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir -} - -INSTALL() -{ - cd build - mkdir -p $binDir $developDir $dataDir $docDir $includeDir $manDir - - make install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - make -C tools/clang install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - make -C projects/compiler-rt install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - if [ -n $secondaryArchSuffix ]; then - mv $prefix/lib $prefix/lib2 - mkdir -p $libDir - mv $prefix/lib2/* $libDir/ - rmdir $prefix/lib2 - binDir=$prefix/bin - fi - - # You can try and be fancy here parsing each arch in a for loop... but - # not all arches contain the same libraries. The inventory for each arch - # also changes between releases... so lets KISS. - prepareInstalledDevelLibs \ - libfindAllSymbols \ - libLLVM* \ - libLTO \ - libclang* - - mv $prefix/include/* $includeDir/ - mv $prefix/libexec/* $binDir/ - mv $prefix/share/man/* $manDir/ - mv $prefix/share/clang $dataDir/ - mv $prefix/share/scan-build $dataDir/ - mv $prefix/share/scan-view $dataDir/ - rmdir $prefix/include $prefix/libexec $prefix/share/man $prefix/share - - sed -i 's|/libexec/|/bin/|' $binDir/scan-build - sed -i 's|/share/|/data/|' $binDir/scan-build $binDir/scan-view - - # clang package - packageEntries clang \ - $binDir/c-index-test \ - $binDir/clang* \ - $binDir/git-clang-format \ - $binDir/modularize \ - $dataDir/clang \ - $includeDir/clang* \ - $libDir/libclang* \ - $libDir/clang \ - $developLibDir/libclang* - - # analysis package - packageEntries clang_analysis \ - $binDir/scan-build \ - $binDir/scan-view \ - $binDir/c++-analyzer \ - $binDir/ccc-analyzer \ - $dataDir/scan-build \ - $dataDir/scan-view \ - $manDir/man1/scan-build.1 -} - -TEST() -{ - cd build - make $jobArgs check -} diff --git a/sys-devel/llvm/llvm-3.9.1.recipe b/sys-devel/llvm/llvm-3.9.1.recipe deleted file mode 100644 index d6176604d..000000000 --- a/sys-devel/llvm/llvm-3.9.1.recipe +++ /dev/null @@ -1,422 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION="LLVM is a collection of modular and reuseable compiler and and \ -toolchain technologies.The LLVM compiler system for C and C++ includes the \ -following: - -- Front-ends for C, C++, Objective-C, Fortran, etc. based on the GCC 4.2 \ -parsers. They support the ANSI-standard C and C++ languages to the same \ -degree that GCC supports them. Additionally, many GCC extensions are \ -supported. -- A stable implementation of the LLVM instruction set, which serves as both \ -the online and offline code representation, together with assembly (ASCII) \ -and bytecode (binary) readers and writers, and a verifier. -- A powerful pass-management system that automatically sequences passes \ -(including analysis, transformation, and code-generation passes) based on \ -their dependences, and pipelines them for efficiency. -- A wide range of global scalar optimizations. -- A link-time interprocedural optimization framework with a rich set of \ -analyses and transformations, including sophisticated whole-program pointer \ -analysis, call graph construction, and support for profile-guided optimizations. -- An easily retargettable code generator, which currently supports X86, \ -X86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, \ -SystemZ, and XCore. -- A Just-In-Time (JIT) code generation system, which currently supports X86, \ -X86-64, ARM, AArch64, Mips, SystemZ, PowerPC, and PowerPC-64. -- Support for generating DWARF debugging information. -- A C back-end useful for testing and for generating native code on targets \ -other than the ones listed above. -- A profiling system similar to gprof. -- A test framework with a number of benchmark codes and applications. -- APIs and debugging tools to simplify rapid development of LLVM components." -HOMEPAGE="http://www.llvm.org/" -COPYRIGHT="2003-2014 University of Illinois at Urbana-Champaign" -LICENSE="UIUC" -REVISION="2" -SOURCE_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.xz" -CHECKSUM_SHA256="1fd90354b9cf19232e8f168faf2220e79be555df3aa743242700879e8fd329ee" -SOURCE_DIR="llvm-${portVersion}.src" -SOURCE_URI_2="http://llvm.org/releases/${portVersion}/cfe-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_2="e6c4cebb96dee827fa0470af313dff265af391cb6da8d429842ef208c8f25e63" -SOURCE_DIR_2="cfe-${portVersion}.src" -SOURCE_URI_3="http://llvm.org/releases/${portVersion}/clang-tools-extra-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_3="29a5b65bdeff7767782d4427c7c64d54c3a8684bc6b217b74a70e575e4813635" -SOURCE_DIR_3="clang-tools-extra-${portVersion}.src" -SOURCE_URI_4="http://llvm.org/releases/${portVersion}/compiler-rt-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_4="d30967b1a5fa51a2503474aacc913e69fd05ae862d37bf310088955bdb13ec99" -SOURCE_DIR_4="compiler-rt-${portVersion}.src" -PATCHES="llvm-${portVersion}.patchset" -PATCHES_2="clang-${portVersion}.patchset" - -ARCHITECTURES="!x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion - cmd:bugpoint - cmd:count - cmd:FileCheck - cmd:find_all_symbols - cmd:llc - cmd:lli - cmd:lli_child_target - cmd:llvm_ar - cmd:llvm_as - cmd:llvm_bcanalyzer - cmd:llvm_c_test - cmd:llvm_config - cmd:llvm_cov - cmd:llvm_cxxdump - cmd:llvm_diff - cmd:llvm_dis - cmd:llvm_dsymutil - cmd:llvm_dwarfdump - cmd:llvm_dwp - cmd:llvm_extract - cmd:llvm_lib - cmd:llvm_link - cmd:llvm_lto - cmd:llvm_mc - cmd:llvm_mcmarkup - cmd:llvm_nm - cmd:llvm_objdump - cmd:llvm_pdbdump - cmd:llvm_profdata - cmd:llvm_ranlib - cmd:llvm_readobj - cmd:llvm_rtdyld - cmd:llvm_size - cmd:llvm_split - cmd:llvm_stress - cmd:llvm_symbolizer - cmd:llvm_tblgen - cmd:macho_dump - cmd:not - cmd:obj2yaml - cmd:opt - cmd:sancov - cmd:sanstats - cmd:verify_uselistorder - cmd:yaml2obj - devel:libfindAllSymbols$secondaryArchSuffix - devel:libLLVMAArch64AsmParser$secondaryArchSuffix - devel:libLLVMAArch64AsmPrinter$secondaryArchSuffix - devel:libLLVMAArch64CodeGen$secondaryArchSuffix - devel:libLLVMAArch64Desc$secondaryArchSuffix - devel:libLLVMAArch64Disassembler$secondaryArchSuffix - devel:libLLVMAArch64Info$secondaryArchSuffix - devel:libLLVMAArch64Utils$secondaryArchSuffix - devel:libLLVMAMDGPUAsmParser$secondaryArchSuffix - devel:libLLVMAMDGPUAsmPrinter$secondaryArchSuffix - devel:libLLVMAMDGPUCodeGen$secondaryArchSuffix - devel:libLLVMAMDGPUDesc$secondaryArchSuffix - devel:libLLVMAMDGPUDisassembler$secondaryArchSuffix - devel:libLLVMAMDGPUInfo$secondaryArchSuffix - devel:libLLVMAMDGPUUtils$secondaryArchSuffix - devel:libLLVMAnalysis$secondaryArchSuffix - devel:libLLVMARMAsmParser$secondaryArchSuffix - devel:libLLVMARMAsmPrinter$secondaryArchSuffix - devel:libLLVMARMCodeGen$secondaryArchSuffix - devel:libLLVMARMDesc$secondaryArchSuffix - devel:libLLVMARMDisassembler$secondaryArchSuffix - devel:libLLVMARMInfo$secondaryArchSuffix - devel:libLLVMAsmParser$secondaryArchSuffix - devel:libLLVMAsmPrinter$secondaryArchSuffix - devel:libLLVMBitReader$secondaryArchSuffix - devel:libLLVMBitWriter$secondaryArchSuffix - devel:libLLVMBPFAsmPrinter$secondaryArchSuffix - devel:libLLVMBPFCodeGen$secondaryArchSuffix - devel:libLLVMBPFDesc$secondaryArchSuffix - devel:libLLVMBPFInfo$secondaryArchSuffix - devel:libLLVMCodeGen$secondaryArchSuffix - devel:libLLVMCore$secondaryArchSuffix - devel:libLLVMCoverage$secondaryArchSuffix - devel:libLLVMCppBackendCodeGen$secondaryArchSuffix - devel:libLLVMCppBackendInfo$secondaryArchSuffix - devel:libLLVMDebugInfoCodeView$secondaryArchSuffix - devel:libLLVMDebugInfoDWARF$secondaryArchSuffix - devel:libLLVMDebugInfoPDB$secondaryArchSuffix - devel:libLLVMExecutionEngine$secondaryArchSuffix - devel:libLLVMGlobalISel$secondaryArchSuffix - devel:libLLVMHexagonAsmParser$secondaryArchSuffix - devel:libLLVMHexagonCodeGen$secondaryArchSuffix - devel:libLLVMHexagonDesc$secondaryArchSuffix - devel:libLLVMHexagonDisassembler$secondaryArchSuffix - devel:libLLVMHexagonInfo$secondaryArchSuffix - devel:libLLVMInstCombine$secondaryArchSuffix - devel:libLLVMInstrumentation$secondaryArchSuffix - devel:libLLVMInterpreter$secondaryArchSuffix - devel:libLLVMipo$secondaryArchSuffix - devel:libLLVMIRReader$secondaryArchSuffix - devel:libLLVMLibDriver$secondaryArchSuffix - devel:libLLVMLineEditor$secondaryArchSuffix - devel:libLLVMLinker$secondaryArchSuffix - devel:libLLVMLTO$secondaryArchSuffix - devel:libLLVMMC$secondaryArchSuffix - devel:libLLVMMCDisassembler$secondaryArchSuffix - devel:libLLVMMCJIT$secondaryArchSuffix - devel:libLLVMMCParser$secondaryArchSuffix - devel:libLLVMMipsAsmParser$secondaryArchSuffix - devel:libLLVMMipsAsmPrinter$secondaryArchSuffix - devel:libLLVMMipsCodeGen$secondaryArchSuffix - devel:libLLVMMipsDesc$secondaryArchSuffix - devel:libLLVMMipsDisassembler$secondaryArchSuffix - devel:libLLVMMipsInfo$secondaryArchSuffix - devel:libLLVMMIRParser$secondaryArchSuffix - devel:libLLVMMSP430AsmPrinter$secondaryArchSuffix - devel:libLLVMMSP430CodeGen$secondaryArchSuffix - devel:libLLVMMSP430Desc$secondaryArchSuffix - devel:libLLVMMSP430Info$secondaryArchSuffix - devel:libLLVMNVPTXAsmPrinter$secondaryArchSuffix - devel:libLLVMNVPTXCodeGen$secondaryArchSuffix - devel:libLLVMNVPTXDesc$secondaryArchSuffix - devel:libLLVMNVPTXInfo$secondaryArchSuffix - devel:libLLVMObjCARCOpts$secondaryArchSuffix - devel:libLLVMObject$secondaryArchSuffix - devel:libLLVMObjectYAML$secondaryArchSuffix - devel:libLLVMOption$secondaryArchSuffix - devel:libLLVMOrcJIT$secondaryArchSuffix - devel:libLLVMPasses$secondaryArchSuffix - devel:libLLVMPowerPCAsmParser$secondaryArchSuffix - devel:libLLVMPowerPCAsmPrinter$secondaryArchSuffix - devel:libLLVMPowerPCCodeGen$secondaryArchSuffix - devel:libLLVMPowerPCDesc$secondaryArchSuffix - devel:libLLVMPowerPCDisassembler$secondaryArchSuffix - devel:libLLVMPowerPCInfo$secondaryArchSuffix - devel:libLLVMProfileData$secondaryArchSuffix - devel:libLLVMRuntimeDyld$secondaryArchSuffix - devel:libLLVMScalarOpts$secondaryArchSuffix - devel:libLLVMSelectionDAG$secondaryArchSuffix - devel:libLLVMSparcAsmParser$secondaryArchSuffix - devel:libLLVMSparcAsmPrinter$secondaryArchSuffix - devel:libLLVMSparcCodeGen$secondaryArchSuffix - devel:libLLVMSparcDesc$secondaryArchSuffix - devel:libLLVMSparcDisassembler$secondaryArchSuffix - devel:libLLVMSparcInfo$secondaryArchSuffix - devel:libLLVMSupport$secondaryArchSuffix - devel:libLLVMSymbolize$secondaryArchSuffix - devel:libLLVMSystemZAsmParser$secondaryArchSuffix - devel:libLLVMSystemZAsmPrinter$secondaryArchSuffix - devel:libLLVMSystemZCodeGen$secondaryArchSuffix - devel:libLLVMSystemZDesc$secondaryArchSuffix - devel:libLLVMSystemZDisassembler$secondaryArchSuffix - devel:libLLVMSystemZInfo$secondaryArchSuffix - devel:libLLVMTableGen$secondaryArchSuffix - devel:libLLVMTarget$secondaryArchSuffix - devel:libLLVMTransformUtils$secondaryArchSuffix - devel:libLLVMVectorize$secondaryArchSuffix - devel:libLLVMX86AsmParser$secondaryArchSuffix - devel:libLLVMX86AsmPrinter$secondaryArchSuffix - devel:libLLVMX86CodeGen$secondaryArchSuffix - devel:libLLVMX86Desc$secondaryArchSuffix - devel:libLLVMX86Disassembler$secondaryArchSuffix - devel:libLLVMX86Info$secondaryArchSuffix - devel:libLLVMX86Utils$secondaryArchSuffix - devel:libLLVMXCoreAsmPrinter$secondaryArchSuffix - devel:libLLVMXCoreCodeGen$secondaryArchSuffix - devel:libLLVMXCoreDesc$secondaryArchSuffix - devel:libLLVMXCoreDisassembler$secondaryArchSuffix - devel:libLLVMXCoreInfo$secondaryArchSuffix - devel:libLTO$secondaryArchSuffix - lib:BugpointPasses$secondaryArchSuffix - lib:libLTO$secondaryArchSuffix - lib:LLVMHello$secondaryArchSuffix - " -REQUIRES=" - haiku$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -PROVIDES_clang=" - llvm${secondaryArchSuffix}_clang = $portVersion - cmd:c_index_test = $portVersion - cmd:clang = $portVersion - cmd:clang++ = $portVersion - cmd:clang_3.9 = $portVersion - cmd:clang_apply_replacements = $portVersion - cmd:clang_check = $portVersion - cmd:clang_cl = $portVersion - cmd:clang_format = $portVersion - cmd:clang_include_fixer = $portVersion - cmd:clang_modernize = $portVersion - cmd:clang_query = $portVersion - cmd:clang_rename = $portVersion - cmd:clang_tblgen = $portVersion - cmd:clang_tidy = $portVersion - cmd:git_clang_format = $portVersion - cmd:modularize = $portVersion - devel:libclang$secondaryArchSuffix = $portVersion - devel:libclanganalysis$secondaryArchSuffix = $portVersion - devel:libclangapplyreplacements$secondaryArchSuffix = $portVersion - devel:libclangarcmigrate$secondaryArchSuffix = $portVersion - devel:libclangast$secondaryArchSuffix = $portVersion - devel:libclangastmatchers$secondaryArchSuffix = $portVersion - devel:libclangbasic$secondaryArchSuffix = $portVersion - devel:libclangcodegen$secondaryArchSuffix = $portVersion - devel:libclangdriver$secondaryArchSuffix = $portVersion - devel:libclangdynamicastmatchers$secondaryArchSuffix = $portVersion - devel:libclangedit$secondaryArchSuffix = $portVersion - devel:libclangformat$secondaryArchSuffix = $portVersion - devel:libclangfrontend$secondaryArchSuffix = $portVersion - devel:libclangfrontendtool$secondaryArchSuffix = $portVersion - devel:libclangincludefixer$secondaryArchSuffix = $portVersion - devel:libclangindex$secondaryArchSuffix = $portVersion - devel:libclanglex$secondaryArchSuffix = $portVersion - devel:libclangparse$secondaryArchSuffix = $portVersion - devel:libclangquery$secondaryArchSuffix = $portVersion - devel:libclangrename$secondaryArchSuffix = $portVersion - devel:libclangrewrite$secondaryArchSuffix = $portVersion - devel:libclangrewritefrontend$secondaryArchSuffix = $portVersion - devel:libclangsema$secondaryArchSuffix = $portVersion - devel:libclangserialization$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercheckers$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercore$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzerfrontend$secondaryArchSuffix = $portVersion - devel:libclangtidy$secondaryArchSuffix = $portVersion - devel:libclangtidyboostmodule$secondaryArchSuffix = $portVersion - devel:libclangtidycertmodule$secondaryArchSuffix = $portVersion - devel:libclangtidycppcoreguidelinesmodule$secondaryArchSuffix = $portVersion - devel:libclangtidygooglemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyllvmmodule$secondaryArchSuffix = $portVersion - devel:libclangtidymiscmodule$secondaryArchSuffix = $portVersion - devel:libclangtidymodernizemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyperformancemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyplugin$secondaryArchSuffix = $portVersion - devel:libclangtidyreadabilitymodule$secondaryArchSuffix = $portVersion - devel:libclangtidyutils$secondaryArchSuffix = $portVersion - devel:libclangtooling$secondaryArchSuffix = $portVersion - devel:libclangtoolingcore$secondaryArchSuffix = $portVersion - lib:libclang$secondaryArchSuffix = $portVersion - " -REQUIRES_clang=" - haiku$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -PROVIDES_clang_analysis=" - llvm${secondaryArchSuffix}_clang_analysis = $portVersion - cmd:c++_analyzer = $portVersion - cmd:ccc_analyzer = $portVersion - cmd:scan_build = $portVersion - cmd:scan_view = $portVersion - " -REQUIRES_clang_analysis=" - llvm${secondaryArchSuffix}_clang == $portVersion base - cmd:python - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - devel:libz$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - cmd:cmake - cmd:diff - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:grep - cmd:groff - cmd:ld$secondaryArchSuffix - cmd:make - cmd:python - cmd:sed - " - -BUILD() -{ - # Add clang tools - mkdir -p tools/clang - cp -rd $sourceDir2/* tools/clang/ - - # Add clang tools's tool's (really llvm?) - mkdir -p tools/clang/tools/extra - cp -rd $sourceDir3/* tools/clang/tools/extra - - mkdir -p projects/compiler-rt - cp -rd $sourceDir4/* projects/compiler-rt - - local cmakeFlags - if [ -n "$secondaryArchSuffix" ]; then - cmakeFlags=-DHAIKU_HYBRID_SECONDARY="\"${effectiveTargetArchitecture}\"" - fi - - mkdir -p build; cd build - # Haiku C++ requires rtti in a lot of central system components - # such as Mesa - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix \ - -DCMAKE_SKIP_RPATH=YES $cmakeFlags \ - -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_THREADS=NO \ - .. - make $jobArgs PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir -} - -INSTALL() -{ - cd build - mkdir -p $binDir $developDir $dataDir $docDir $includeDir $manDir - - make install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - make -C tools/clang install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - make -C projects/compiler-rt install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - if [ -n $secondaryArchSuffix ]; then - mv $prefix/lib $prefix/lib2 - mkdir -p $libDir - mv $prefix/lib2/* $libDir/ - rmdir $prefix/lib2 - binDir=$prefix/bin - fi - - # You can try and be fancy here parsing each arch in a for loop... but - # not all arches contain the same libraries. The inventory for each arch - # also changes between releases... so lets KISS. - prepareInstalledDevelLibs \ - libfindAllSymbols \ - libLLVM* \ - libLTO \ - libclang* - - mv $prefix/include/* $includeDir/ - mv $prefix/libexec/* $binDir/ - mv $prefix/share/man/* $manDir/ - mv $prefix/share/clang $dataDir/ - mv $prefix/share/scan-build $dataDir/ - mv $prefix/share/scan-view $dataDir/ - rmdir $prefix/include $prefix/libexec $prefix/share/man $prefix/share - - sed -i 's|/libexec/|/bin/|' $binDir/scan-build - sed -i 's|/share/|/data/|' $binDir/scan-build $binDir/scan-view - - # clang package - packageEntries clang \ - $binDir/c-index-test \ - $binDir/clang* \ - $binDir/git-clang-format \ - $binDir/modularize \ - $dataDir/clang \ - $includeDir/clang* \ - $libDir/libclang* \ - $libDir/clang \ - $developLibDir/libclang* - - # analysis package - packageEntries clang_analysis \ - $binDir/scan-build \ - $binDir/scan-view \ - $binDir/c++-analyzer \ - $binDir/ccc-analyzer \ - $dataDir/scan-build \ - $dataDir/scan-view \ - $manDir/man1/scan-build.1 -} - -TEST() -{ - cd build - make $jobArgs check -} diff --git a/sys-devel/llvm/llvm-4.0.1.recipe b/sys-devel/llvm/llvm-4.0.1.recipe deleted file mode 100644 index d29a17145..000000000 --- a/sys-devel/llvm/llvm-4.0.1.recipe +++ /dev/null @@ -1,472 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION="LLVM is a collection of modular and reuseable compiler and and \ -toolchain technologies.The LLVM compiler system for C and C++ includes the \ -following: - -- Front-ends for C, C++, Objective-C, Fortran, etc. based on the GCC 4.2 \ -parsers. They support the ANSI-standard C and C++ languages to the same \ -degree that GCC supports them. Additionally, many GCC extensions are \ -supported. -- A stable implementation of the LLVM instruction set, which serves as both \ -the online and offline code representation, together with assembly (ASCII) \ -and bytecode (binary) readers and writers, and a verifier. -- A powerful pass-management system that automatically sequences passes \ -(including analysis, transformation, and code-generation passes) based on \ -their dependences, and pipelines them for efficiency. -- A wide range of global scalar optimizations. -- A link-time interprocedural optimization framework with a rich set of \ -analyses and transformations, including sophisticated whole-program pointer \ -analysis, call graph construction, and support for profile-guided optimizations. -- An easily retargettable code generator, which currently supports X86, \ -X86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, \ -SystemZ, and XCore. -- A Just-In-Time (JIT) code generation system, which currently supports X86, \ -X86-64, ARM, AArch64, Mips, SystemZ, PowerPC, and PowerPC-64. -- Support for generating DWARF debugging information. -- A C back-end useful for testing and for generating native code on targets \ -other than the ones listed above. -- A profiling system similar to gprof. -- A test framework with a number of benchmark codes and applications. -- APIs and debugging tools to simplify rapid development of LLVM components." -HOMEPAGE="https://www.llvm.org/" -COPYRIGHT="2003-2014 University of Illinois at Urbana-Champaign" -LICENSE="UIUC" -REVISION="3" -SOURCE_URI="https://releases.llvm.org/${portVersion}/llvm-${portVersion}.src.tar.xz" -CHECKSUM_SHA256="da783db1f82d516791179fe103c71706046561f7972b18f0049242dee6712b51" -SOURCE_DIR="llvm-${portVersion}.src" -SOURCE_URI_2="https://releases.llvm.org/${portVersion}/cfe-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_2="61738a735852c23c3bdbe52d035488cdb2083013f384d67c1ba36fabebd8769b" -SOURCE_DIR_2="cfe-${portVersion}.src" -SOURCE_URI_3="https://releases.llvm.org/${portVersion}/clang-tools-extra-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_3="35d1e64efc108076acbe7392566a52c35df9ec19778eb9eb12245fc7d8b915b6" -SOURCE_DIR_3="clang-tools-extra-${portVersion}.src" -SOURCE_URI_4="https://releases.llvm.org/${portVersion}/compiler-rt-${portVersion}.src.tar.xz" -CHECKSUM_SHA256_4="a3c87794334887b93b7a766c507244a7cdcce1d48b2e9249fc9a94f2c3beb440" -SOURCE_DIR_4="compiler-rt-${portVersion}.src" -PATCHES="llvm-${portVersion}.patchset" -PATCHES_2="clang-${portVersion}.patchset" - -ARCHITECTURES="!x86_gcc2 ?x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion - cmd:bugpoint - cmd:count - cmd:filecheck - cmd:find_all_symbols - cmd:llc - cmd:lli - cmd:lli_child_target - cmd:llvm_ar - cmd:llvm_as - cmd:llvm_bcanalyzer - cmd:llvm_c_test - cmd:llvm_cat - cmd:llvm_config - cmd:llvm_cov - cmd:llvm_cxxdump - cmd:llvm_cxxfilt - cmd:llvm_diff - cmd:llvm_dis - cmd:llvm_dsymutil - cmd:llvm_dwarfdump - cmd:llvm_dwp - cmd:llvm_extract - cmd:llvm_lib - cmd:llvm_link - cmd:llvm_lto - cmd:llvm_lto2 - cmd:llvm_mc - cmd:llvm_mcmarkup - cmd:llvm_modextract - cmd:llvm_nm - cmd:llvm_objdump - cmd:llvm_opt_report - cmd:llvm_pdbdump - cmd:llvm_perfectshuffle - cmd:llvm_profdata - cmd:llvm_ranlib - cmd:llvm_readobj - cmd:llvm_rtdyld - cmd:llvm_size - cmd:llvm_split - cmd:llvm_stress - cmd:llvm_strings - cmd:llvm_symbolizer - cmd:llvm_tblgen - cmd:llvm_xray - cmd:not - cmd:obj2yaml - cmd:opt - cmd:sancov - cmd:sanstats - cmd:verify_uselistorder - cmd:yaml2obj - cmd:yaml_bench - devel:libfindAllSymbols$secondaryArchSuffix - devel:libLLVM$secondaryArchSuffix - devel:libLLVM_$portVersion$secondaryArchSuffix - devel:libLLVM_4.0$secondaryArchSuffix - devel:libLLVMAArch64AsmParser$secondaryArchSuffix - devel:libLLVMAArch64AsmPrinter$secondaryArchSuffix - devel:libLLVMAArch64CodeGen$secondaryArchSuffix - devel:libLLVMAArch64Desc$secondaryArchSuffix - devel:libLLVMAArch64Disassembler$secondaryArchSuffix - devel:libLLVMAArch64Info$secondaryArchSuffix - devel:libLLVMAArch64Utils$secondaryArchSuffix - devel:libLLVMAMDGPUAsmParser$secondaryArchSuffix - devel:libLLVMAMDGPUAsmPrinter$secondaryArchSuffix - devel:libLLVMAMDGPUCodeGen$secondaryArchSuffix - devel:libLLVMAMDGPUDesc$secondaryArchSuffix - devel:libLLVMAMDGPUDisassembler$secondaryArchSuffix - devel:libLLVMAMDGPUInfo$secondaryArchSuffix - devel:libLLVMAMDGPUUtils$secondaryArchSuffix - devel:libLLVMAnalysis$secondaryArchSuffix - devel:libLLVMARMAsmParser$secondaryArchSuffix - devel:libLLVMARMAsmPrinter$secondaryArchSuffix - devel:libLLVMARMCodeGen$secondaryArchSuffix - devel:libLLVMARMDesc$secondaryArchSuffix - devel:libLLVMARMDisassembler$secondaryArchSuffix - devel:libLLVMARMInfo$secondaryArchSuffix - devel:libLLVMAsmParser$secondaryArchSuffix - devel:libLLVMAsmPrinter$secondaryArchSuffix - devel:libLLVMBitReader$secondaryArchSuffix - devel:libLLVMBitWriter$secondaryArchSuffix - devel:libLLVMBPFAsmPrinter$secondaryArchSuffix - devel:libLLVMBPFCodeGen$secondaryArchSuffix - devel:libLLVMBPFDesc$secondaryArchSuffix - devel:libLLVMBPFDisassembler$secondaryArchSuffix - devel:libLLVMBPFInfo$secondaryArchSuffix - devel:libLLVMCodeGen$secondaryArchSuffix - devel:libLLVMCore$secondaryArchSuffix - devel:libLLVMCoroutines$secondaryArchSuffix - devel:libLLVMCoverage$secondaryArchSuffix - devel:libLLVMDebugInfoCodeView$secondaryArchSuffix - devel:libLLVMDebugInfoDWARF$secondaryArchSuffix - devel:libLLVMDebugInfoMSF$secondaryArchSuffix - devel:libLLVMDebugInfoPDB$secondaryArchSuffix - devel:libLLVMDemangle$secondaryArchSuffix - devel:libLLVMExecutionEngine$secondaryArchSuffix - devel:libLLVMGlobalISel$secondaryArchSuffix - devel:libLLVMHexagonAsmParser$secondaryArchSuffix - devel:libLLVMHexagonCodeGen$secondaryArchSuffix - devel:libLLVMHexagonDesc$secondaryArchSuffix - devel:libLLVMHexagonDisassembler$secondaryArchSuffix - devel:libLLVMHexagonInfo$secondaryArchSuffix - devel:libLLVMInstCombine$secondaryArchSuffix - devel:libLLVMInstrumentation$secondaryArchSuffix - devel:libLLVMInterpreter$secondaryArchSuffix - devel:libLLVMipo$secondaryArchSuffix - devel:libLLVMIRReader$secondaryArchSuffix - devel:libLLVMLanaiAsmParser$secondaryArchSuffix - devel:libLLVMLanaiCodeGen$secondaryArchSuffix - devel:libLLVMLanaiDesc$secondaryArchSuffix - devel:libLLVMLanaiDisassembler$secondaryArchSuffix - devel:libLLVMLanaiInfo$secondaryArchSuffix - devel:libLLVMLanaiInstPrinter$secondaryArchSuffix - devel:libLLVMLibDriver$secondaryArchSuffix - devel:libLLVMLineEditor$secondaryArchSuffix - devel:libLLVMLinker$secondaryArchSuffix - devel:libLLVMLTO$secondaryArchSuffix - devel:libLLVMMC$secondaryArchSuffix - devel:libLLVMMCDisassembler$secondaryArchSuffix - devel:libLLVMMCJIT$secondaryArchSuffix - devel:libLLVMMCParser$secondaryArchSuffix - devel:libLLVMMipsAsmParser$secondaryArchSuffix - devel:libLLVMMipsAsmPrinter$secondaryArchSuffix - devel:libLLVMMipsCodeGen$secondaryArchSuffix - devel:libLLVMMipsDesc$secondaryArchSuffix - devel:libLLVMMipsDisassembler$secondaryArchSuffix - devel:libLLVMMipsInfo$secondaryArchSuffix - devel:libLLVMMIRParser$secondaryArchSuffix - devel:libLLVMMSP430AsmPrinter$secondaryArchSuffix - devel:libLLVMMSP430CodeGen$secondaryArchSuffix - devel:libLLVMMSP430Desc$secondaryArchSuffix - devel:libLLVMMSP430Info$secondaryArchSuffix - devel:libLLVMNVPTXAsmPrinter$secondaryArchSuffix - devel:libLLVMNVPTXCodeGen$secondaryArchSuffix - devel:libLLVMNVPTXDesc$secondaryArchSuffix - devel:libLLVMNVPTXInfo$secondaryArchSuffix - devel:libLLVMObjCARCOpts$secondaryArchSuffix - devel:libLLVMObject$secondaryArchSuffix - devel:libLLVMObjectYAML$secondaryArchSuffix - devel:libLLVMOption$secondaryArchSuffix - devel:libLLVMOrcJIT$secondaryArchSuffix - devel:libLLVMPasses$secondaryArchSuffix - devel:libLLVMPowerPCAsmParser$secondaryArchSuffix - devel:libLLVMPowerPCAsmPrinter$secondaryArchSuffix - devel:libLLVMPowerPCCodeGen$secondaryArchSuffix - devel:libLLVMPowerPCDesc$secondaryArchSuffix - devel:libLLVMPowerPCDisassembler$secondaryArchSuffix - devel:libLLVMPowerPCInfo$secondaryArchSuffix - devel:libLLVMProfileData$secondaryArchSuffix - devel:libLLVMRISCVCodeGen$secondaryArchSuffix - devel:libLLVMRISCVDesc$secondaryArchSuffix - devel:libLLVMRISCVInfo$secondaryArchSuffix - devel:libLLVMRuntimeDyld$secondaryArchSuffix - devel:libLLVMScalarOpts$secondaryArchSuffix - devel:libLLVMSelectionDAG$secondaryArchSuffix - devel:libLLVMSparcAsmParser$secondaryArchSuffix - devel:libLLVMSparcAsmPrinter$secondaryArchSuffix - devel:libLLVMSparcCodeGen$secondaryArchSuffix - devel:libLLVMSparcDesc$secondaryArchSuffix - devel:libLLVMSparcDisassembler$secondaryArchSuffix - devel:libLLVMSparcInfo$secondaryArchSuffix - devel:libLLVMSupport$secondaryArchSuffix - devel:libLLVMSymbolize$secondaryArchSuffix - devel:libLLVMSystemZAsmParser$secondaryArchSuffix - devel:libLLVMSystemZAsmPrinter$secondaryArchSuffix - devel:libLLVMSystemZCodeGen$secondaryArchSuffix - devel:libLLVMSystemZDesc$secondaryArchSuffix - devel:libLLVMSystemZDisassembler$secondaryArchSuffix - devel:libLLVMSystemZInfo$secondaryArchSuffix - devel:libLLVMTableGen$secondaryArchSuffix - devel:libLLVMTarget$secondaryArchSuffix - devel:libLLVMTransformUtils$secondaryArchSuffix - devel:libLLVMVectorize$secondaryArchSuffix - devel:libLLVMX86AsmParser$secondaryArchSuffix - devel:libLLVMX86AsmPrinter$secondaryArchSuffix - devel:libLLVMX86CodeGen$secondaryArchSuffix - devel:libLLVMX86Desc$secondaryArchSuffix - devel:libLLVMX86Disassembler$secondaryArchSuffix - devel:libLLVMX86Info$secondaryArchSuffix - devel:libLLVMX86Utils$secondaryArchSuffix - devel:libLLVMXCoreAsmPrinter$secondaryArchSuffix - devel:libLLVMXCoreCodeGen$secondaryArchSuffix - devel:libLLVMXCoreDesc$secondaryArchSuffix - devel:libLLVMXCoreDisassembler$secondaryArchSuffix - devel:libLLVMXCoreInfo$secondaryArchSuffix - devel:libLLVMXRay$secondaryArchSuffix - devel:libLTO$secondaryArchSuffix - lib:BugpointPasses$secondaryArchSuffix - lib:LLVMHello$secondaryArchSuffix - " -REQUIRES=" - haiku$secondaryArchSuffix - lib:libLLVM_4.0$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -PROVIDES_clang=" - llvm${secondaryArchSuffix}_clang = $portVersion - cmd:c_index_test = $portVersion - cmd:clang = $portVersion - cmd:clang++ = $portVersion - cmd:clang_4.0 = $portVersion - cmd:clang_apply_replacements = $portVersion - cmd:clang_change_namespace = $portVersion - cmd:clang_check = $portVersion - cmd:clang_cl = $portVersion - cmd:clang_cpp = $portVersion - cmd:clang_format = $portVersion - cmd:clang_import_test = $portVersion - cmd:clang_include_fixer = $portVersion - cmd:clang_offload_bundler = $portVersion - cmd:clang_query = $portVersion - cmd:clang_rename = $portVersion - cmd:clang_reorder_fields = $portVersion - cmd:clang_tidy = $portVersion - cmd:git_clang_format = $portVersion - cmd:modularize = $portVersion - devel:libclang$secondaryArchSuffix = $portVersion - devel:libclanganalysis$secondaryArchSuffix = $portVersion - devel:libclangapplyreplacements$secondaryArchSuffix = $portVersion - devel:libclangarcmigrate$secondaryArchSuffix = $portVersion - devel:libclangast$secondaryArchSuffix = $portVersion - devel:libclangastmatchers$secondaryArchSuffix = $portVersion - devel:libclangbasic$secondaryArchSuffix = $portVersion - devel:libclangchangenamespace$secondaryArchSuffix = $portVersion - devel:libclangcodegen$secondaryArchSuffix = $portVersion - devel:libclangdriver$secondaryArchSuffix = $portVersion - devel:libclangdynamicastmatchers$secondaryArchSuffix = $portVersion - devel:libclangedit$secondaryArchSuffix = $portVersion - devel:libclangformat$secondaryArchSuffix = $portVersion - devel:libclangfrontend$secondaryArchSuffix = $portVersion - devel:libclangfrontendtool$secondaryArchSuffix = $portVersion - devel:libclangincludefixer$secondaryArchSuffix = $portVersion - devel:libclangincludefixerplugin$secondaryArchSuffix = $portVersion - devel:libclangindex$secondaryArchSuffix = $portVersion - devel:libclanglex$secondaryArchSuffix = $portVersion - devel:libclangmove$secondaryArchSuffix = $portVersion - devel:libclangparse$secondaryArchSuffix = $portVersion - devel:libclangquery$secondaryArchSuffix = $portVersion - devel:libclangrename$secondaryArchSuffix = $portVersion - devel:libclangreorderfields$secondaryArchSuffix = $portVersion - devel:libclangrewrite$secondaryArchSuffix = $portVersion - devel:libclangrewritefrontend$secondaryArchSuffix = $portVersion - devel:libclangsema$secondaryArchSuffix = $portVersion - devel:libclangserialization$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercheckers$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercore$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzerfrontend$secondaryArchSuffix = $portVersion - devel:libclangtidy$secondaryArchSuffix = $portVersion - devel:libclangtidyboostmodule$secondaryArchSuffix = $portVersion - devel:libclangtidycertmodule$secondaryArchSuffix = $portVersion - devel:libclangtidycppcoreguidelinesmodule$secondaryArchSuffix = $portVersion - devel:libclangtidygooglemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyllvmmodule$secondaryArchSuffix = $portVersion - devel:libclangtidymiscmodule$secondaryArchSuffix = $portVersion - devel:libclangtidymodernizemodule$secondaryArchSuffix = $portVersion - devel:libclangtidympimodule$secondaryArchSuffix = $portVersion - devel:libclangtidyperformancemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyplugin$secondaryArchSuffix = $portVersion - devel:libclangtidyreadability$secondaryArchSuffix = $portVersion - devel:libclangtidyreadabilitymodule$secondaryArchSuffix = $portVersion - devel:libclangtidyutils$secondaryArchSuffix = $portVersion - devel:libclangtooling$secondaryArchSuffix = $portVersion - devel:libclangtoolingcore$secondaryArchSuffix = $portVersion - lib:libclang$secondaryArchSuffix = $portVersion - " -REQUIRES_clang=" - haiku$secondaryArchSuffix - lib:libLLVM_4.0$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -PROVIDES_clang_analysis=" - llvm${secondaryArchSuffix}_clang_analysis = $portVersion - cmd:c++_analyzer = $portVersion - cmd:ccc_analyzer = $portVersion - cmd:scan_build = $portVersion - cmd:scan_view = $portVersion - " -REQUIRES_clang_analysis=" - llvm${secondaryArchSuffix}_clang == $portVersion base - cmd:python - " - -PROVIDES_libs=" - llvm${secondaryArchSuffix}_libs = $portVersion - lib:libLLVM_4.0$secondaryArchSuffix - lib:libLTO$secondaryArchSuffix -" -REQUIRES_libs=" - haiku$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - devel:libz$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - cmd:cmake - cmd:diff - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:grep - cmd:groff - cmd:ld$secondaryArchSuffix - cmd:make - cmd:python - cmd:sed - " - -BUILD() -{ - # Add clang tools - mkdir -p tools/clang - cp -rd $sourceDir2/* tools/clang/ - - # Add clang tools's tool's (really llvm?) - mkdir -p tools/clang/tools/extra - cp -rd $sourceDir3/* tools/clang/tools/extra - - mkdir -p projects/compiler-rt - cp -rd $sourceDir4/* projects/compiler-rt - - local cmakeFlags - if [ -n "$secondaryArchSuffix" ]; then - cmakeFlags=-DHAIKU_HYBRID_SECONDARY="\"${effectiveTargetArchitecture}\"" - fi - - mkdir -p build; cd build - # Haiku C++ requires rtti in a lot of central system components - # such as Mesa - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix \ - -DCMAKE_SKIP_RPATH=YES $cmakeFlags -DLLVM_INSTALL_UTILS=ON \ - -DLLVM_ENABLE_RTTI=ON -DLLVM_LINK_LLVM_DYLIB=YES \ - .. - make $jobArgs PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir -} - -INSTALL() -{ - cd build - mkdir -p $binDir $developDir $dataDir $docDir $includeDir $manDir - - make install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - make -C tools/clang install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - make -C projects/compiler-rt install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - if [ -n $secondaryArchSuffix ]; then - mv $prefix/lib $prefix/lib2 - mkdir -p $libDir - mv $prefix/lib2/* $libDir/ - rmdir $prefix/lib2 - binDir=$prefix/bin - fi - - # You can try and be fancy here parsing each arch in a for loop... but - # not all arches contain the same libraries. The inventory for each arch - # also changes between releases... so lets KISS. - prepareInstalledDevelLibs \ - libfindAllSymbols \ - libLLVM* \ - libLTO \ - libclang* - - mv $prefix/include/* $includeDir/ - mv $prefix/libexec/* $binDir/ - mv $prefix/share/man/* $manDir/ - mv $prefix/share/clang $dataDir/ - mv $prefix/share/scan-build $dataDir/ - mv $prefix/share/scan-view $dataDir/ - rmdir $prefix/include $prefix/libexec $prefix/share/man $prefix/share - - sed -i 's|/libexec/|/bin/|' $binDir/scan-build - sed -i 's|/share/|/data/|' $binDir/scan-build $binDir/scan-view - - # clang package - packageEntries clang \ - $binDir/c-index-test \ - $binDir/clang* \ - $binDir/git-clang-format \ - $binDir/modularize \ - $dataDir/clang \ - $includeDir/clang* \ - $libDir/libclang* \ - $libDir/clang \ - $libDir/cmake/clang \ - $developLibDir/libclang* - - # analysis package - packageEntries clang_analysis \ - $binDir/scan-build \ - $binDir/scan-view \ - $binDir/c++-analyzer \ - $binDir/ccc-analyzer \ - $dataDir/scan-build \ - $dataDir/scan-view \ - $manDir/man1/scan-build.1 - - # libs package - packageEntries libs \ - $libDir/libLLVM* \ - $libDir/libLTO* -} - -TEST() -{ - cd build - make $jobArgs check - make $jobArgs check-clang -} diff --git a/sys-devel/llvm/llvm-6.0.0~git.recipe b/sys-devel/llvm/llvm-6.0.0~git.recipe deleted file mode 100644 index 7473c96c2..000000000 --- a/sys-devel/llvm/llvm-6.0.0~git.recipe +++ /dev/null @@ -1,497 +0,0 @@ -SUMMARY="Modular and reuseable compiler and toolchain technologies" -DESCRIPTION="LLVM is a collection of modular and reuseable compiler and and \ -toolchain technologies.The LLVM compiler system for C and C++ includes the \ -following: - -- Front-ends for C, C++, Objective-C, Fortran, etc. based on the GCC 4.2 \ -parsers. They support the ANSI-standard C and C++ languages to the same \ -degree that GCC supports them. Additionally, many GCC extensions are \ -supported. -- A stable implementation of the LLVM instruction set, which serves as both \ -the online and offline code representation, together with assembly (ASCII) \ -and bytecode (binary) readers and writers, and a verifier. -- A powerful pass-management system that automatically sequences passes \ -(including analysis, transformation, and code-generation passes) based on \ -their dependences, and pipelines them for efficiency. -- A wide range of global scalar optimizations. -- A link-time interprocedural optimization framework with a rich set of \ -analyses and transformations, including sophisticated whole-program pointer \ -analysis, call graph construction, and support for profile-guided optimizations. -- An easily retargettable code generator, which currently supports X86, \ -X86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, \ -SystemZ, and XCore. -- A Just-In-Time (JIT) code generation system, which currently supports X86, \ -X86-64, ARM, AArch64, Mips, SystemZ, PowerPC, and PowerPC-64. -- Support for generating DWARF debugging information. -- A C back-end useful for testing and for generating native code on targets \ -other than the ones listed above. -- A profiling system similar to gprof. -- A test framework with a number of benchmark codes and applications. -- APIs and debugging tools to simplify rapid development of LLVM components." -HOMEPAGE="https://www.llvm.org/" -COPYRIGHT="2003-2014 University of Illinois at Urbana-Champaign" -LICENSE="UIUC" -REVISION="1" -srcGitRev="343595467c91e2db33e7e157adc87b2e53ddbe1a" -SOURCE_URI="https://github.com/llvm-mirror/llvm/archive/$srcGitRev.tar.gz" -CHECKSUM_SHA256="74a9b0a4dfd65082acb134ef865ee82f4e77dfbd33bb14458253a7937232ed7e" -SOURCE_FILENAME="llvm-${srcGitRev}.tar.gz" -SOURCE_DIR="llvm-$srcGitRev" -srcGitRev_2="ad56fa864310d75036da71597ca7381aada68c09" -SOURCE_URI_2="https://github.com/llvm-mirror/clang/archive/$srcGitRev_2.tar.gz" -CHECKSUM_SHA256_2="fac6ac3e82a5b34a483d37c9aca82e514c58cebcf5b0520160de6efd5a53e351" -SOURCE_FILENAME_2="clang-${srcGitRev_2}.tar.gz" -SOURCE_DIR_2="clang-$srcGitRev_2" -srcGitRev_3="b294d892d607ba534dc900a5e165c72ce1070fe3" -SOURCE_URI_3="https://github.com/llvm-mirror/clang-tools-extra/archive/$srcGitRev_3.tar.gz" -CHECKSUM_SHA256_3="a937b55593e920bd5e46d9ad42ba1404e2d3ea7c40a49830604ae703b41796e6" -SOURCE_FILENAME_3="clang-tools-extra-${srcGitRev_3}.tar.gz" -SOURCE_DIR_3="clang-tools-extra-$srcGitRev_3" -srcGitRev_4="e7f4e4a3486317ee6287dc272427e0ae009f5362" -SOURCE_URI_4="https://github.com/llvm-mirror/compiler-rt/archive/$srcGitRev_4.tar.gz" -CHECKSUM_SHA256_4="22b1e58b1cba4116a48a05f8019bc7d697956517665a4ba36ce27469a379cbe5" -SOURCE_FILENAME_4="compiler-rt-${srcGitRev_4}.tar.gz" -SOURCE_DIR_4="compiler-rt-$srcGitRev_4" -PATCHES="llvm-$portVersion.patchset" -PATCHES_2="clang-$portVersion.patchset" - -ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64" -SECONDARY_ARCHITECTURES="!x86" - -PROVIDES=" - llvm$secondaryArchSuffix = $portVersion - cmd:bugpoint - cmd:find_all_symbols - cmd:llc - cmd:lli - cmd:llvm_ar - cmd:llvm_as - cmd:llvm_bcanalyzer - cmd:llvm_c_test - cmd:llvm_cat - cmd:llvm_config - cmd:llvm_cov - cmd:llvm_cvtres - cmd:llvm_cxxdump - cmd:llvm_cxxfilt - cmd:llvm_diff - cmd:llvm_dis - cmd:llvm_dlltool - cmd:llvm_dsymutil - cmd:llvm_dwarfdump - cmd:llvm_dwp - cmd:llvm_extract - cmd:llvm_lib - cmd:llvm_link - cmd:llvm_lto - cmd:llvm_lto2 - cmd:llvm_mc - cmd:llvm_mcmarkup - cmd:llvm_modextract - cmd:llvm_mt - cmd:llvm_nm - cmd:llvm_objcopy - cmd:llvm_objdump - cmd:llvm_opt_report - cmd:llvm_pdbdump - cmd:llvm_pdbutil - cmd:llvm_profdata - cmd:llvm_ranlib - cmd:llvm_rc - cmd:llvm_readelf - cmd:llvm_readobj - cmd:llvm_rtdyld - cmd:llvm_size - cmd:llvm_split - cmd:llvm_stress - cmd:llvm_strings - cmd:llvm_symbolizer - cmd:llvm_tblgen - cmd:llvm_xray - cmd:obj2yaml - cmd:opt - cmd:sancov - cmd:sanstats - cmd:verify_uselistorder - cmd:yaml2obj - devel:libfindAllSymbols$secondaryArchSuffix - devel:libLLVM$secondaryArchSuffix - devel:libLLVM_6.0.0svn$secondaryArchSuffix - devel:libLLVM_6.0svn$secondaryArchSuffix - devel:libLLVMAArch64AsmParser$secondaryArchSuffix - devel:libLLVMAArch64AsmPrinter$secondaryArchSuffix - devel:libLLVMAArch64CodeGen$secondaryArchSuffix - devel:libLLVMAArch64Desc$secondaryArchSuffix - devel:libLLVMAArch64Disassembler$secondaryArchSuffix - devel:libLLVMAArch64Info$secondaryArchSuffix - devel:libLLVMAArch64Utils$secondaryArchSuffix - devel:libLLVMAMDGPUAsmParser$secondaryArchSuffix - devel:libLLVMAMDGPUAsmPrinter$secondaryArchSuffix - devel:libLLVMAMDGPUCodeGen$secondaryArchSuffix - devel:libLLVMAMDGPUDesc$secondaryArchSuffix - devel:libLLVMAMDGPUDisassembler$secondaryArchSuffix - devel:libLLVMAMDGPUInfo$secondaryArchSuffix - devel:libLLVMAMDGPUUtils$secondaryArchSuffix - devel:libLLVMAnalysis$secondaryArchSuffix - devel:libLLVMARMAsmParser$secondaryArchSuffix - devel:libLLVMARMAsmPrinter$secondaryArchSuffix - devel:libLLVMARMCodeGen$secondaryArchSuffix - devel:libLLVMARMDesc$secondaryArchSuffix - devel:libLLVMARMDisassembler$secondaryArchSuffix - devel:libLLVMARMInfo$secondaryArchSuffix - devel:libLLVMARMUtils$secondaryArchSuffix - devel:libLLVMAsmParser$secondaryArchSuffix - devel:libLLVMAsmPrinter$secondaryArchSuffix - devel:libLLVMBinaryFormat$secondaryArchSuffix - devel:libLLVMBitReader$secondaryArchSuffix - devel:libLLVMBitWriter$secondaryArchSuffix - devel:libLLVMBPFAsmParser$secondaryArchSuffix - devel:libLLVMBPFAsmPrinter$secondaryArchSuffix - devel:libLLVMBPFCodeGen$secondaryArchSuffix - devel:libLLVMBPFDesc$secondaryArchSuffix - devel:libLLVMBPFDisassembler$secondaryArchSuffix - devel:libLLVMBPFInfo$secondaryArchSuffix - devel:libLLVMCodeGen$secondaryArchSuffix - devel:libLLVMCore$secondaryArchSuffix - devel:libLLVMCoroutines$secondaryArchSuffix - devel:libLLVMCoverage$secondaryArchSuffix - devel:libLLVMDebugInfoCodeView$secondaryArchSuffix - devel:libLLVMDebugInfoDWARF$secondaryArchSuffix - devel:libLLVMDebugInfoMSF$secondaryArchSuffix - devel:libLLVMDebugInfoPDB$secondaryArchSuffix - devel:libLLVMDemangle$secondaryArchSuffix - devel:libLLVMDlltoolDriver$secondaryArchSuffix - devel:libLLVMExecutionEngine$secondaryArchSuffix - devel:libLLVMFuzzMutate$secondaryArchSuffix - devel:libLLVMGlobalISel$secondaryArchSuffix - devel:libLLVMHexagonAsmParser$secondaryArchSuffix - devel:libLLVMHexagonCodeGen$secondaryArchSuffix - devel:libLLVMHexagonDesc$secondaryArchSuffix - devel:libLLVMHexagonDisassembler$secondaryArchSuffix - devel:libLLVMHexagonInfo$secondaryArchSuffix - devel:libLLVMInstCombine$secondaryArchSuffix - devel:libLLVMInstrumentation$secondaryArchSuffix - devel:libLLVMInterpreter$secondaryArchSuffix - devel:libLLVMipo$secondaryArchSuffix - devel:libLLVMIRReader$secondaryArchSuffix - devel:libLLVMLanaiAsmParser$secondaryArchSuffix - devel:libLLVMLanaiAsmPrinter$secondaryArchSuffix - devel:libLLVMLanaiCodeGen$secondaryArchSuffix - devel:libLLVMLanaiDesc$secondaryArchSuffix - devel:libLLVMLanaiDisassembler$secondaryArchSuffix - devel:libLLVMLanaiInfo$secondaryArchSuffix - devel:libLLVMLanaiInstPrinter$secondaryArchSuffix - devel:libLLVMLibDriver$secondaryArchSuffix - devel:libLLVMLineEditor$secondaryArchSuffix - devel:libLLVMLinker$secondaryArchSuffix - devel:libLLVMLTO$secondaryArchSuffix - devel:libLLVMMC$secondaryArchSuffix - devel:libLLVMMCDisassembler$secondaryArchSuffix - devel:libLLVMMCJIT$secondaryArchSuffix - devel:libLLVMMCParser$secondaryArchSuffix - devel:libLLVMMipsAsmParser$secondaryArchSuffix - devel:libLLVMMipsAsmPrinter$secondaryArchSuffix - devel:libLLVMMipsCodeGen$secondaryArchSuffix - devel:libLLVMMipsDesc$secondaryArchSuffix - devel:libLLVMMipsDisassembler$secondaryArchSuffix - devel:libLLVMMipsInfo$secondaryArchSuffix - devel:libLLVMMIRParser$secondaryArchSuffix - devel:libLLVMMSP430AsmPrinter$secondaryArchSuffix - devel:libLLVMMSP430CodeGen$secondaryArchSuffix - devel:libLLVMMSP430Desc$secondaryArchSuffix - devel:libLLVMMSP430Info$secondaryArchSuffix - devel:libLLVMNVPTXAsmPrinter$secondaryArchSuffix - devel:libLLVMNVPTXCodeGen$secondaryArchSuffix - devel:libLLVMNVPTXDesc$secondaryArchSuffix - devel:libLLVMNVPTXInfo$secondaryArchSuffix - devel:libLLVMObjCARCOpts$secondaryArchSuffix - devel:libLLVMObject$secondaryArchSuffix - devel:libLLVMObjectYAML$secondaryArchSuffix - devel:libLLVMOption$secondaryArchSuffix - devel:libLLVMOrcJIT$secondaryArchSuffix - devel:libLLVMPasses$secondaryArchSuffix - devel:libLLVMPowerPCAsmParser$secondaryArchSuffix - devel:libLLVMPowerPCAsmPrinter$secondaryArchSuffix - devel:libLLVMPowerPCCodeGen$secondaryArchSuffix - devel:libLLVMPowerPCDesc$secondaryArchSuffix - devel:libLLVMPowerPCDisassembler$secondaryArchSuffix - devel:libLLVMPowerPCInfo$secondaryArchSuffix - devel:libLLVMProfileData$secondaryArchSuffix - devel:libLLVMRISCVCodeGen$secondaryArchSuffix - devel:libLLVMRISCVDesc$secondaryArchSuffix - devel:libLLVMRISCVInfo$secondaryArchSuffix - devel:libLLVMRuntimeDyld$secondaryArchSuffix - devel:libLLVMScalarOpts$secondaryArchSuffix - devel:libLLVMSelectionDAG$secondaryArchSuffix - devel:libLLVMSparcAsmParser$secondaryArchSuffix - devel:libLLVMSparcAsmPrinter$secondaryArchSuffix - devel:libLLVMSparcCodeGen$secondaryArchSuffix - devel:libLLVMSparcDesc$secondaryArchSuffix - devel:libLLVMSparcDisassembler$secondaryArchSuffix - devel:libLLVMSparcInfo$secondaryArchSuffix - devel:libLLVMSupport$secondaryArchSuffix - devel:libLLVMSymbolize$secondaryArchSuffix - devel:libLLVMSystemZAsmParser$secondaryArchSuffix - devel:libLLVMSystemZAsmPrinter$secondaryArchSuffix - devel:libLLVMSystemZCodeGen$secondaryArchSuffix - devel:libLLVMSystemZDesc$secondaryArchSuffix - devel:libLLVMSystemZDisassembler$secondaryArchSuffix - devel:libLLVMSystemZInfo$secondaryArchSuffix - devel:libLLVMTableGen$secondaryArchSuffix - devel:libLLVMTarget$secondaryArchSuffix - devel:libLLVMTransformUtils$secondaryArchSuffix - devel:libLLVMVectorize$secondaryArchSuffix - devel:libLLVMWindowsManifest$secondaryArchSuffix - devel:libLLVMX86AsmParser$secondaryArchSuffix - devel:libLLVMX86AsmPrinter$secondaryArchSuffix - devel:libLLVMX86CodeGen$secondaryArchSuffix - devel:libLLVMX86Desc$secondaryArchSuffix - devel:libLLVMX86Disassembler$secondaryArchSuffix - devel:libLLVMX86Info$secondaryArchSuffix - devel:libLLVMX86Utils$secondaryArchSuffix - devel:libLLVMXCoreAsmPrinter$secondaryArchSuffix - devel:libLLVMXCoreCodeGen$secondaryArchSuffix - devel:libLLVMXCoreDesc$secondaryArchSuffix - devel:libLLVMXCoreDisassembler$secondaryArchSuffix - devel:libLLVMXCoreInfo$secondaryArchSuffix - devel:libLLVMXRay$secondaryArchSuffix - devel:libLTO$secondaryArchSuffix - lib:BugpointPasses$secondaryArchSuffix - lib:LLVMHello$secondaryArchSuffix - " -REQUIRES=" - haiku$secondaryArchSuffix - lib:libLLVM_6.0svn$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -PROVIDES_clang=" - llvm${secondaryArchSuffix}_clang = $portVersion - cmd:c_index_test = $portVersion - cmd:clang = $portVersion - cmd:clang++ = $portVersion - cmd:clang_6.0 = $portVersion - cmd:clang_apply_replacements = $portVersion - cmd:clang_change_namespace = $portVersion - cmd:clang_check = $portVersion - cmd:clang_cl = $portVersion - cmd:clang_cpp = $portVersion - cmd:clang_format = $portVersion - cmd:clang_import_test = $portVersion - cmd:clang_include_fixer = $portVersion - cmd:clang_offload_bundler = $portVersion - cmd:clang_query = $portVersion - cmd:clang_refactor = $portVersion - cmd:clang_rename = $portVersion - cmd:clang_reorder_fields = $portVersion - cmd:clang_tidy = $portVersion - cmd:clangd = $portVersion - cmd:git_clang_format = $portVersion - cmd:modularize = $portVersion - devel:libclang$secondaryArchSuffix = $portVersion - devel:libclanganalysis$secondaryArchSuffix = $portVersion - devel:libclangapplyreplacements$secondaryArchSuffix = $portVersion - devel:libclangarcmigrate$secondaryArchSuffix = $portVersion - devel:libclangast$secondaryArchSuffix = $portVersion - devel:libclangastmatchers$secondaryArchSuffix = $portVersion - devel:libclangbasic$secondaryArchSuffix = $portVersion - devel:libclangchangenamespace$secondaryArchSuffix = $portVersion - devel:libclangcodegen$secondaryArchSuffix = $portVersion - devel:libclangdaemon$secondaryArchSuffix = $portVersion - devel:libclangdriver$secondaryArchSuffix = $portVersion - devel:libclangdynamicastmatchers$secondaryArchSuffix = $portVersion - devel:libclangedit$secondaryArchSuffix = $portVersion - devel:libclangformat$secondaryArchSuffix = $portVersion - devel:libclangfrontend$secondaryArchSuffix = $portVersion - devel:libclangfrontendtool$secondaryArchSuffix = $portVersion - devel:libclangincludefixer$secondaryArchSuffix = $portVersion - devel:libclangincludefixerplugin$secondaryArchSuffix = $portVersion - devel:libclangindex$secondaryArchSuffix = $portVersion - devel:libclanglex$secondaryArchSuffix = $portVersion - devel:libclangmove$secondaryArchSuffix = $portVersion - devel:libclangparse$secondaryArchSuffix = $portVersion - devel:libclangquery$secondaryArchSuffix = $portVersion - devel:libclangrename$secondaryArchSuffix = $portVersion - devel:libclangreorderfields$secondaryArchSuffix = $portVersion - devel:libclangrewrite$secondaryArchSuffix = $portVersion - devel:libclangrewritefrontend$secondaryArchSuffix = $portVersion - devel:libclangsema$secondaryArchSuffix = $portVersion - devel:libclangserialization$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercheckers$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzercore$secondaryArchSuffix = $portVersion - devel:libclangstaticanalyzerfrontend$secondaryArchSuffix = $portVersion - devel:libclangtidy$secondaryArchSuffix = $portVersion - devel:libclangtidyandroidmodule$secondaryArchSuffix = $portVersion - devel:libclangtidyboostmodule$secondaryArchSuffix = $portVersion - devel:libclangtidybugpronemodule$secondaryArchSuffix = $portVersion - devel:libclangtidycertmodule$secondaryArchSuffix = $portVersion - devel:libclangtidycppcoreguidelinesmodule$secondaryArchSuffix = $portVersion - devel:libclangtidygooglemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyhicppmodule$secondaryArchSuffix = $portVersion - devel:libclangtidyllvmmodule$secondaryArchSuffix = $portVersion - devel:libclangtidymiscmodule$secondaryArchSuffix = $portVersion - devel:libclangtidymodernizemodule$secondaryArchSuffix = $portVersion - devel:libclangtidympimodule$secondaryArchSuffix = $portVersion - devel:libclangtidyperformancemodule$secondaryArchSuffix = $portVersion - devel:libclangtidyplugin$secondaryArchSuffix = $portVersion - devel:libclangtidyreadability$secondaryArchSuffix = $portVersion - devel:libclangtidyreadabilitymodule$secondaryArchSuffix = $portVersion - devel:libclangtidyutils$secondaryArchSuffix = $portVersion - devel:libclangtooling$secondaryArchSuffix = $portVersion - devel:libclangtoolingastdiff$secondaryArchSuffix = $portVersion - devel:libclangtoolingcore$secondaryArchSuffix = $portVersion - devel:libclangtoolingrefactor$secondaryArchSuffix = $portVersion - lib:libclang$secondaryArchSuffix = $portVersion - " -REQUIRES_clang=" - haiku$secondaryArchSuffix - lib:libLLVM_6.0svn$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -PROVIDES_clang_analysis=" - llvm${secondaryArchSuffix}_clang_analysis = $portVersion - cmd:c++_analyzer = $portVersion - cmd:ccc_analyzer = $portVersion - cmd:scan_build = $portVersion - cmd:scan_view = $portVersion - " -REQUIRES_clang_analysis=" - llvm${secondaryArchSuffix}_clang == $portVersion base - cmd:python - " - -PROVIDES_libs=" - llvm${secondaryArchSuffix}_libs = $portVersion - lib:libLLVM_6.0svn$secondaryArchSuffix - lib:libLTO$secondaryArchSuffix -" -REQUIRES_libs=" - haiku$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - devel:libz$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - cmd:cmake - cmd:diff - cmd:find - cmd:gcc$secondaryArchSuffix - cmd:grep - cmd:groff - cmd:ld$secondaryArchSuffix - cmd:make - cmd:python - cmd:sed - " - -BUILD() -{ - # Add clang tools - mkdir -p tools/clang - cp -rd $sourceDir2/* tools/clang/ - - # Add clang tools's tool's (really llvm?) - mkdir -p tools/clang/tools/extra - cp -rd $sourceDir3/* tools/clang/tools/extra - - mkdir -p projects/compiler-rt - cp -rd $sourceDir4/* projects/compiler-rt - - local cmakeFlags - if [ -n "$secondaryArchSuffix" ]; then - cmakeFlags=-DHAIKU_HYBRID_SECONDARY="\"${effectiveTargetArchitecture}\"" - fi - - mkdir -p build; cd build - # Haiku C++ requires rtti in a lot of central system components - # such as Mesa - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix \ - -DCMAKE_SKIP_RPATH=YES $cmakeFlags \ - -DLLVM_ENABLE_RTTI=ON -DLLVM_LINK_LLVM_DYLIB=YES \ - .. - make $jobArgs PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir -} - -INSTALL() -{ - cd build - mkdir -p $binDir $developDir $dataDir $docDir $includeDir $manDir - - make install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - make -C tools/clang install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - make -C projects/compiler-rt install PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ - PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir - - if [ -n $secondaryArchSuffix ]; then - mv $prefix/lib $prefix/lib2 - mkdir -p $libDir - mv $prefix/lib2/* $libDir/ - rmdir $prefix/lib2 - binDir=$prefix/bin - fi - - # You can try and be fancy here parsing each arch in a for loop... but - # not all arches contain the same libraries. The inventory for each arch - # also changes between releases... so lets KISS. - prepareInstalledDevelLibs \ - libfindAllSymbols \ - libLLVM* \ - libLTO \ - libclang* - - mv $prefix/include/* $includeDir/ - mv $prefix/libexec/* $binDir/ - mv $prefix/share/man/* $manDir/ - mv $prefix/share/clang $dataDir/ - mv $prefix/share/opt-viewer $dataDir/ - mv $prefix/share/scan-build $dataDir/ - mv $prefix/share/scan-view $dataDir/ - rmdir $prefix/include $prefix/libexec $prefix/share/man $prefix/share - - sed -i 's|/libexec/|/bin/|' $binDir/scan-build - sed -i 's|/share/|/data/|' $binDir/scan-build $binDir/scan-view - - # clang package - packageEntries clang \ - $binDir/c-index-test \ - $binDir/clang* \ - $binDir/git-clang-format \ - $binDir/modularize \ - $dataDir/clang \ - $includeDir/clang* \ - $libDir/libclang* \ - $libDir/clang \ - $libDir/cmake/clang \ - $developLibDir/libclang* - - # analysis package - packageEntries clang_analysis \ - $binDir/scan-build \ - $binDir/scan-view \ - $binDir/c++-analyzer \ - $binDir/ccc-analyzer \ - $dataDir/scan-build \ - $dataDir/scan-view \ - $manDir/man1/scan-build.1 - - # libs package - packageEntries libs \ - $libDir/libLLVM* \ - $libDir/libLTO* -} - -TEST() -{ - cd build - make $jobArgs check - make $jobArgs check-clang -} diff --git a/sys-devel/llvm/patches/clang-3.5.1.patchset b/sys-devel/llvm/patches/clang-3.5.1.patchset deleted file mode 100644 index a785b4309..000000000 --- a/sys-devel/llvm/patches/clang-3.5.1.patchset +++ /dev/null @@ -1,302 +0,0 @@ -From 5cee69285df1bff7c1a8911e2a866457af414f50 Mon Sep 17 00:00:00 2001 -From: Alexander von Gluck IV -Date: Sun, 1 Feb 2015 15:13:57 +0000 -Subject: haiku: fix header search paths - -* /boot/develop no longer exists -* /boot/common no longer exists - -diff --git a/cfe-3.5.1.src/lib/Frontend/InitHeaderSearch.cpp b/cfe-3.5.1.src/lib/Frontend/InitHeaderSearch.cpp -index d2edc94..f91346b 100644 ---- a/cfe-3.5.1.src/lib/Frontend/InitHeaderSearch.cpp -+++ b/cfe-3.5.1.src/lib/Frontend/InitHeaderSearch.cpp -@@ -271,38 +271,41 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - llvm_unreachable("Include management is handled in the driver."); - - case llvm::Triple::Haiku: -- AddPath("/boot/common/include", System, false); -- AddPath("/boot/develop/headers/os", System, false); -- AddPath("/boot/develop/headers/os/app", System, false); -- AddPath("/boot/develop/headers/os/arch", System, false); -- AddPath("/boot/develop/headers/os/device", System, false); -- AddPath("/boot/develop/headers/os/drivers", System, false); -- AddPath("/boot/develop/headers/os/game", System, false); -- AddPath("/boot/develop/headers/os/interface", System, false); -- AddPath("/boot/develop/headers/os/kernel", System, false); -- AddPath("/boot/develop/headers/os/locale", System, false); -- AddPath("/boot/develop/headers/os/mail", System, false); -- AddPath("/boot/develop/headers/os/media", System, false); -- AddPath("/boot/develop/headers/os/midi", System, false); -- AddPath("/boot/develop/headers/os/midi2", System, false); -- AddPath("/boot/develop/headers/os/net", System, false); -- AddPath("/boot/develop/headers/os/storage", System, false); -- AddPath("/boot/develop/headers/os/support", System, false); -- AddPath("/boot/develop/headers/os/translation", System, false); -- AddPath("/boot/develop/headers/os/add-ons/graphics", System, false); -- AddPath("/boot/develop/headers/os/add-ons/input_server", System, false); -- AddPath("/boot/develop/headers/os/add-ons/screen_saver", System, false); -- AddPath("/boot/develop/headers/os/add-ons/tracker", System, false); -- AddPath("/boot/develop/headers/os/be_apps/Deskbar", System, false); -- AddPath("/boot/develop/headers/os/be_apps/NetPositive", System, false); -- AddPath("/boot/develop/headers/os/be_apps/Tracker", System, false); -- AddPath("/boot/develop/headers/cpp", System, false); -- AddPath("/boot/develop/headers/cpp/i586-pc-haiku", System, false); -- AddPath("/boot/develop/headers/3rdparty", System, false); -- AddPath("/boot/develop/headers/bsd", System, false); -- AddPath("/boot/develop/headers/glibc", System, false); -- AddPath("/boot/develop/headers/posix", System, false); -- AddPath("/boot/develop/headers", System, false); -+ AddPath("/boot/system/non-packaged/develop/headers", System, false); -+ AddPath("/boot/system/develop/headers/os", System, false); -+ AddPath("/boot/system/develop/headers/os/app", System, false); -+ AddPath("/boot/system/develop/headers/os/arch", System, false); -+ AddPath("/boot/system/develop/headers/os/device", System, false); -+ AddPath("/boot/system/develop/headers/os/drivers", System, false); -+ AddPath("/boot/system/develop/headers/os/game", System, false); -+ AddPath("/boot/system/develop/headers/os/interface", System, false); -+ AddPath("/boot/system/develop/headers/os/kernel", System, false); -+ AddPath("/boot/system/develop/headers/os/locale", System, false); -+ AddPath("/boot/system/develop/headers/os/mail", System, false); -+ AddPath("/boot/system/develop/headers/os/media", System, false); -+ AddPath("/boot/system/develop/headers/os/midi", System, false); -+ AddPath("/boot/system/develop/headers/os/midi2", System, false); -+ AddPath("/boot/system/develop/headers/os/net", System, false); -+ AddPath("/boot/system/develop/headers/os/opengl", System, false); -+ AddPath("/boot/system/develop/headers/os/storage", System, false); -+ AddPath("/boot/system/develop/headers/os/support", System, false); -+ AddPath("/boot/system/develop/headers/os/translation", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/graphics", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/input_server", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/mail_daemon", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/registrar", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/screen_saver", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/tracker", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/Deskbar", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/NetPositive", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/Tracker", System, false); -+ AddPath("/boot/system/develop/headers/cpp", System, false); -+ AddPath("/boot/system/develop/headers/cpp/i586-pc-haiku", System, false); -+ AddPath("/boot/system/develop/headers/3rdparty", System, false); -+ AddPath("/boot/system/develop/headers/bsd", System, false); -+ AddPath("/boot/system/develop/headers/glibc", System, false); -+ AddPath("/boot/system/develop/headers/posix", System, false); -+ AddPath("/boot/system/develop/headers", System, false); - break; - case llvm::Triple::RTEMS: - break; --- -2.2.2 - - -From 899e1eb7ee73e55e68c4d139c73e7ddc3859d1c5 Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 1 Feb 2015 15:15:45 +0000 -Subject: libclang: add soname when building on Haiku. - - -diff --git a/cfe-3.5.1.src/tools/libclang/Makefile b/cfe-3.5.1.src/tools/libclang/Makefile -index db3d4f8..149f245 100644 ---- a/cfe-3.5.1.src/tools/libclang/Makefile -+++ b/cfe-3.5.1.src/tools/libclang/Makefile -@@ -33,7 +33,7 @@ USEDLIBS = clangIndex.a clangARCMigrate.a \ - include $(CLANG_LEVEL)/Makefile - - # Add soname to the library. --ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD)) -+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD Haiku)) - LLVMLibsOptions += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT) - endif - --- -2.2.2 - - -From feedddcc5561774a081fecde1feb292a5a410982 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Tue, 22 Dec 2015 22:07:06 +0000 -Subject: don't include c++ headers in C include search paths. - -* define a Haiku toolchain, and add c++ headers path. - -diff --git a/cfe-3.5.1.src/lib/Driver/Driver.cpp b/cfe-3.5.1.src/lib/Driver/Driver.cpp -index ef26bfa..ca1f4c4 100644 ---- a/cfe-3.5.1.src/lib/Driver/Driver.cpp -+++ b/cfe-3.5.1.src/lib/Driver/Driver.cpp -@@ -1982,6 +1982,9 @@ const ToolChain &Driver::getToolChain(const ArgList &Args, - case llvm::Triple::Solaris: - TC = new toolchains::Solaris(*this, Target, Args); - break; -+ case llvm::Triple::Haiku: -+ TC = new toolchains::Haiku(*this, Target, Args); -+ break; - case llvm::Triple::Win32: - switch (Target.getEnvironment()) { - default: -diff --git a/cfe-3.5.1.src/lib/Driver/ToolChains.cpp b/cfe-3.5.1.src/lib/Driver/ToolChains.cpp -index b46f69d..0701013 100644 ---- a/cfe-3.5.1.src/lib/Driver/ToolChains.cpp -+++ b/cfe-3.5.1.src/lib/Driver/ToolChains.cpp -@@ -2429,6 +2429,34 @@ bool TCEToolChain::isPICDefaultForced() const { - return false; - } - -+/// Haiku - Haiku tool chain which can call as(1) and ld(1) directly. -+ -+Haiku::Haiku(const Driver &D, const llvm::Triple& Triple, const ArgList &Args) -+ : Generic_ELF(D, Triple, Args) { -+ -+} -+ -+void Haiku::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, -+ ArgStringList &CC1Args) const { -+ if (DriverArgs.hasArg(options::OPT_nostdlibinc) || -+ DriverArgs.hasArg(options::OPT_nostdincxx)) -+ return; -+ -+ switch (GetCXXStdlibType(DriverArgs)) { -+ case ToolChain::CST_Libstdcxx: -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++"); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++/backward"); -+ -+ StringRef Triple = getTriple().str(); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++/" + -+ Triple); -+ break; -+ } -+} -+ - /// OpenBSD - OpenBSD tool chain which can call as(1) and ld(1) directly. - - OpenBSD::OpenBSD(const Driver &D, const llvm::Triple& Triple, const ArgList &Args) -diff --git a/cfe-3.5.1.src/lib/Driver/ToolChains.h b/cfe-3.5.1.src/lib/Driver/ToolChains.h -index b5df866..add465d 100644 ---- a/cfe-3.5.1.src/lib/Driver/ToolChains.h -+++ b/cfe-3.5.1.src/lib/Driver/ToolChains.h -@@ -528,6 +528,17 @@ protected: - - }; - -+class LLVM_LIBRARY_VISIBILITY Haiku : public Generic_ELF { -+public: -+ Haiku(const Driver &D, const llvm::Triple &Triple, -+ const llvm::opt::ArgList &Args); -+ -+ bool isPIEDefault() const override { return getTriple().getArch() == llvm::Triple::x86_64; } -+ -+ void -+ AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs, -+ llvm::opt::ArgStringList &CC1Args) const override; -+}; - - class LLVM_LIBRARY_VISIBILITY OpenBSD : public Generic_ELF { - public: -diff --git a/cfe-3.5.1.src/lib/Frontend/InitHeaderSearch.cpp b/cfe-3.5.1.src/lib/Frontend/InitHeaderSearch.cpp -index f91346b..f778752 100644 ---- a/cfe-3.5.1.src/lib/Frontend/InitHeaderSearch.cpp -+++ b/cfe-3.5.1.src/lib/Frontend/InitHeaderSearch.cpp -@@ -299,8 +299,6 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - AddPath("/boot/system/develop/headers/os/be_apps/Deskbar", System, false); - AddPath("/boot/system/develop/headers/os/be_apps/NetPositive", System, false); - AddPath("/boot/system/develop/headers/os/be_apps/Tracker", System, false); -- AddPath("/boot/system/develop/headers/cpp", System, false); -- AddPath("/boot/system/develop/headers/cpp/i586-pc-haiku", System, false); - AddPath("/boot/system/develop/headers/3rdparty", System, false); - AddPath("/boot/system/develop/headers/bsd", System, false); - AddPath("/boot/system/develop/headers/glibc", System, false); --- -2.2.2 - - -From b04cceb968495b02dd32d305fca9769f22c02bc3 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Thu, 14 Jan 2016 19:19:14 +0000 -Subject: add Haiku target info for x86_64 - - -diff --git a/cfe-3.5.1.src/lib/Basic/Targets.cpp b/cfe-3.5.1.src/lib/Basic/Targets.cpp -index 075f905..09a4776 100644 ---- a/cfe-3.5.1.src/lib/Basic/Targets.cpp -+++ b/cfe-3.5.1.src/lib/Basic/Targets.cpp -@@ -320,6 +320,30 @@ public: - } - }; - -+// Haiku Target -+template -+class HaikuTargetInfo : public OSTargetInfo { -+protected: -+ void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, -+ MacroBuilder &Builder) const override { -+ // Haiku defines; list based off of gcc output -+ Builder.defineMacro("__HAIKU__"); -+ Builder.defineMacro("__ELF__"); -+ DefineStd(Builder, "unix", Opts); -+ } -+public: -+ HaikuTargetInfo(const llvm::Triple &Triple) -+ : OSTargetInfo(Triple) { -+ this->SizeType = TargetInfo::UnsignedLong; -+ this->IntPtrType = TargetInfo::SignedLong; -+ this->PtrDiffType = TargetInfo::SignedLong; -+ this->ProcessIDType = TargetInfo::SignedLong; -+ this->TLSSupported = false; -+ this->UserLabelPrefix = ""; -+ -+ } -+}; -+ - // Minix Target - template - class MinixTargetInfo : public OSTargetInfo { -@@ -3210,27 +3234,6 @@ public: - }; - } // end anonymous namespace - --namespace { --// x86-32 Haiku target --class HaikuX86_32TargetInfo : public X86_32TargetInfo { --public: -- HaikuX86_32TargetInfo(const llvm::Triple &Triple) : X86_32TargetInfo(Triple) { -- SizeType = UnsignedLong; -- IntPtrType = SignedLong; -- PtrDiffType = SignedLong; -- ProcessIDType = SignedLong; -- this->UserLabelPrefix = ""; -- this->TLSSupported = false; -- } -- void getTargetDefines(const LangOptions &Opts, -- MacroBuilder &Builder) const override { -- X86_32TargetInfo::getTargetDefines(Opts, Builder); -- Builder.defineMacro("__INTEL__"); -- Builder.defineMacro("__HAIKU__"); -- } --}; --} // end anonymous namespace -- - // RTEMS Target - template - class RTEMSTargetInfo : public OSTargetInfo { -@@ -6321,7 +6324,7 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { - } - } - case llvm::Triple::Haiku: -- return new HaikuX86_32TargetInfo(Triple); -+ return new HaikuTargetInfo(Triple); - case llvm::Triple::RTEMS: - return new RTEMSX86_32TargetInfo(Triple); - case llvm::Triple::NaCl: -@@ -6363,6 +6366,8 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { - return new MicrosoftX86_64TargetInfo(Triple); - } - } -+ case llvm::Triple::Haiku: -+ return new HaikuTargetInfo(Triple); - case llvm::Triple::NaCl: - return new NaClTargetInfo(Triple); - default: --- -2.2.2 - diff --git a/sys-devel/llvm/patches/clang-3.5.2.patchset b/sys-devel/llvm/patches/clang-3.5.2.patchset deleted file mode 100644 index 4de8d0887..000000000 --- a/sys-devel/llvm/patches/clang-3.5.2.patchset +++ /dev/null @@ -1,302 +0,0 @@ -From ec3c2cfd7b95a3c7c7904abafebab5c7f56a83e9 Mon Sep 17 00:00:00 2001 -From: Alexander von Gluck IV -Date: Sun, 1 Feb 2015 15:13:57 +0000 -Subject: haiku: fix header search paths - -* /boot/develop no longer exists -* /boot/common no longer exists - -diff --git a/cfe-3.5.2.src/lib/Frontend/InitHeaderSearch.cpp b/cfe-3.5.2.src/lib/Frontend/InitHeaderSearch.cpp -index d2edc94..f91346b 100644 ---- a/cfe-3.5.2.src/lib/Frontend/InitHeaderSearch.cpp -+++ b/cfe-3.5.2.src/lib/Frontend/InitHeaderSearch.cpp -@@ -271,38 +271,41 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - llvm_unreachable("Include management is handled in the driver."); - - case llvm::Triple::Haiku: -- AddPath("/boot/common/include", System, false); -- AddPath("/boot/develop/headers/os", System, false); -- AddPath("/boot/develop/headers/os/app", System, false); -- AddPath("/boot/develop/headers/os/arch", System, false); -- AddPath("/boot/develop/headers/os/device", System, false); -- AddPath("/boot/develop/headers/os/drivers", System, false); -- AddPath("/boot/develop/headers/os/game", System, false); -- AddPath("/boot/develop/headers/os/interface", System, false); -- AddPath("/boot/develop/headers/os/kernel", System, false); -- AddPath("/boot/develop/headers/os/locale", System, false); -- AddPath("/boot/develop/headers/os/mail", System, false); -- AddPath("/boot/develop/headers/os/media", System, false); -- AddPath("/boot/develop/headers/os/midi", System, false); -- AddPath("/boot/develop/headers/os/midi2", System, false); -- AddPath("/boot/develop/headers/os/net", System, false); -- AddPath("/boot/develop/headers/os/storage", System, false); -- AddPath("/boot/develop/headers/os/support", System, false); -- AddPath("/boot/develop/headers/os/translation", System, false); -- AddPath("/boot/develop/headers/os/add-ons/graphics", System, false); -- AddPath("/boot/develop/headers/os/add-ons/input_server", System, false); -- AddPath("/boot/develop/headers/os/add-ons/screen_saver", System, false); -- AddPath("/boot/develop/headers/os/add-ons/tracker", System, false); -- AddPath("/boot/develop/headers/os/be_apps/Deskbar", System, false); -- AddPath("/boot/develop/headers/os/be_apps/NetPositive", System, false); -- AddPath("/boot/develop/headers/os/be_apps/Tracker", System, false); -- AddPath("/boot/develop/headers/cpp", System, false); -- AddPath("/boot/develop/headers/cpp/i586-pc-haiku", System, false); -- AddPath("/boot/develop/headers/3rdparty", System, false); -- AddPath("/boot/develop/headers/bsd", System, false); -- AddPath("/boot/develop/headers/glibc", System, false); -- AddPath("/boot/develop/headers/posix", System, false); -- AddPath("/boot/develop/headers", System, false); -+ AddPath("/boot/system/non-packaged/develop/headers", System, false); -+ AddPath("/boot/system/develop/headers/os", System, false); -+ AddPath("/boot/system/develop/headers/os/app", System, false); -+ AddPath("/boot/system/develop/headers/os/arch", System, false); -+ AddPath("/boot/system/develop/headers/os/device", System, false); -+ AddPath("/boot/system/develop/headers/os/drivers", System, false); -+ AddPath("/boot/system/develop/headers/os/game", System, false); -+ AddPath("/boot/system/develop/headers/os/interface", System, false); -+ AddPath("/boot/system/develop/headers/os/kernel", System, false); -+ AddPath("/boot/system/develop/headers/os/locale", System, false); -+ AddPath("/boot/system/develop/headers/os/mail", System, false); -+ AddPath("/boot/system/develop/headers/os/media", System, false); -+ AddPath("/boot/system/develop/headers/os/midi", System, false); -+ AddPath("/boot/system/develop/headers/os/midi2", System, false); -+ AddPath("/boot/system/develop/headers/os/net", System, false); -+ AddPath("/boot/system/develop/headers/os/opengl", System, false); -+ AddPath("/boot/system/develop/headers/os/storage", System, false); -+ AddPath("/boot/system/develop/headers/os/support", System, false); -+ AddPath("/boot/system/develop/headers/os/translation", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/graphics", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/input_server", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/mail_daemon", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/registrar", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/screen_saver", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/tracker", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/Deskbar", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/NetPositive", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/Tracker", System, false); -+ AddPath("/boot/system/develop/headers/cpp", System, false); -+ AddPath("/boot/system/develop/headers/cpp/i586-pc-haiku", System, false); -+ AddPath("/boot/system/develop/headers/3rdparty", System, false); -+ AddPath("/boot/system/develop/headers/bsd", System, false); -+ AddPath("/boot/system/develop/headers/glibc", System, false); -+ AddPath("/boot/system/develop/headers/posix", System, false); -+ AddPath("/boot/system/develop/headers", System, false); - break; - case llvm::Triple::RTEMS: - break; --- -2.2.2 - - -From c504a37e10d3a064845342335c6330b638274031 Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 1 Feb 2015 15:15:45 +0000 -Subject: libclang: add soname when building on Haiku. - - -diff --git a/cfe-3.5.2.src/tools/libclang/Makefile b/cfe-3.5.2.src/tools/libclang/Makefile -index db3d4f8..149f245 100644 ---- a/cfe-3.5.2.src/tools/libclang/Makefile -+++ b/cfe-3.5.2.src/tools/libclang/Makefile -@@ -33,7 +33,7 @@ USEDLIBS = clangIndex.a clangARCMigrate.a \ - include $(CLANG_LEVEL)/Makefile - - # Add soname to the library. --ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD)) -+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD Haiku)) - LLVMLibsOptions += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT) - endif - --- -2.2.2 - - -From 321f0a6f34747b5fb2ac588242ddcf5539163cc1 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Tue, 22 Dec 2015 22:07:06 +0000 -Subject: don't include c++ headers in C include search paths. - -* define a Haiku toolchain, and add c++ headers path. - -diff --git a/cfe-3.5.2.src/lib/Driver/Driver.cpp b/cfe-3.5.2.src/lib/Driver/Driver.cpp -index ef26bfa..ca1f4c4 100644 ---- a/cfe-3.5.2.src/lib/Driver/Driver.cpp -+++ b/cfe-3.5.2.src/lib/Driver/Driver.cpp -@@ -1982,6 +1982,9 @@ const ToolChain &Driver::getToolChain(const ArgList &Args, - case llvm::Triple::Solaris: - TC = new toolchains::Solaris(*this, Target, Args); - break; -+ case llvm::Triple::Haiku: -+ TC = new toolchains::Haiku(*this, Target, Args); -+ break; - case llvm::Triple::Win32: - switch (Target.getEnvironment()) { - default: -diff --git a/cfe-3.5.2.src/lib/Driver/ToolChains.cpp b/cfe-3.5.2.src/lib/Driver/ToolChains.cpp -index b46f69d..0701013 100644 ---- a/cfe-3.5.2.src/lib/Driver/ToolChains.cpp -+++ b/cfe-3.5.2.src/lib/Driver/ToolChains.cpp -@@ -2429,6 +2429,34 @@ bool TCEToolChain::isPICDefaultForced() const { - return false; - } - -+/// Haiku - Haiku tool chain which can call as(1) and ld(1) directly. -+ -+Haiku::Haiku(const Driver &D, const llvm::Triple& Triple, const ArgList &Args) -+ : Generic_ELF(D, Triple, Args) { -+ -+} -+ -+void Haiku::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, -+ ArgStringList &CC1Args) const { -+ if (DriverArgs.hasArg(options::OPT_nostdlibinc) || -+ DriverArgs.hasArg(options::OPT_nostdincxx)) -+ return; -+ -+ switch (GetCXXStdlibType(DriverArgs)) { -+ case ToolChain::CST_Libstdcxx: -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++"); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++/backward"); -+ -+ StringRef Triple = getTriple().str(); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++/" + -+ Triple); -+ break; -+ } -+} -+ - /// OpenBSD - OpenBSD tool chain which can call as(1) and ld(1) directly. - - OpenBSD::OpenBSD(const Driver &D, const llvm::Triple& Triple, const ArgList &Args) -diff --git a/cfe-3.5.2.src/lib/Driver/ToolChains.h b/cfe-3.5.2.src/lib/Driver/ToolChains.h -index b5df866..add465d 100644 ---- a/cfe-3.5.2.src/lib/Driver/ToolChains.h -+++ b/cfe-3.5.2.src/lib/Driver/ToolChains.h -@@ -528,6 +528,17 @@ protected: - - }; - -+class LLVM_LIBRARY_VISIBILITY Haiku : public Generic_ELF { -+public: -+ Haiku(const Driver &D, const llvm::Triple &Triple, -+ const llvm::opt::ArgList &Args); -+ -+ bool isPIEDefault() const override { return getTriple().getArch() == llvm::Triple::x86_64; } -+ -+ void -+ AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs, -+ llvm::opt::ArgStringList &CC1Args) const override; -+}; - - class LLVM_LIBRARY_VISIBILITY OpenBSD : public Generic_ELF { - public: -diff --git a/cfe-3.5.2.src/lib/Frontend/InitHeaderSearch.cpp b/cfe-3.5.2.src/lib/Frontend/InitHeaderSearch.cpp -index f91346b..f778752 100644 ---- a/cfe-3.5.2.src/lib/Frontend/InitHeaderSearch.cpp -+++ b/cfe-3.5.2.src/lib/Frontend/InitHeaderSearch.cpp -@@ -299,8 +299,6 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - AddPath("/boot/system/develop/headers/os/be_apps/Deskbar", System, false); - AddPath("/boot/system/develop/headers/os/be_apps/NetPositive", System, false); - AddPath("/boot/system/develop/headers/os/be_apps/Tracker", System, false); -- AddPath("/boot/system/develop/headers/cpp", System, false); -- AddPath("/boot/system/develop/headers/cpp/i586-pc-haiku", System, false); - AddPath("/boot/system/develop/headers/3rdparty", System, false); - AddPath("/boot/system/develop/headers/bsd", System, false); - AddPath("/boot/system/develop/headers/glibc", System, false); --- -2.2.2 - - -From f1d18fb0afa3b4f1abb619747e4641d02c0c686d Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Thu, 14 Jan 2016 19:19:14 +0000 -Subject: add Haiku target info for x86_64 - - -diff --git a/cfe-3.5.2.src/lib/Basic/Targets.cpp b/cfe-3.5.2.src/lib/Basic/Targets.cpp -index 075f905..09a4776 100644 ---- a/cfe-3.5.2.src/lib/Basic/Targets.cpp -+++ b/cfe-3.5.2.src/lib/Basic/Targets.cpp -@@ -320,6 +320,30 @@ public: - } - }; - -+// Haiku Target -+template -+class HaikuTargetInfo : public OSTargetInfo { -+protected: -+ void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, -+ MacroBuilder &Builder) const override { -+ // Haiku defines; list based off of gcc output -+ Builder.defineMacro("__HAIKU__"); -+ Builder.defineMacro("__ELF__"); -+ DefineStd(Builder, "unix", Opts); -+ } -+public: -+ HaikuTargetInfo(const llvm::Triple &Triple) -+ : OSTargetInfo(Triple) { -+ this->SizeType = TargetInfo::UnsignedLong; -+ this->IntPtrType = TargetInfo::SignedLong; -+ this->PtrDiffType = TargetInfo::SignedLong; -+ this->ProcessIDType = TargetInfo::SignedLong; -+ this->TLSSupported = false; -+ this->UserLabelPrefix = ""; -+ -+ } -+}; -+ - // Minix Target - template - class MinixTargetInfo : public OSTargetInfo { -@@ -3210,27 +3234,6 @@ public: - }; - } // end anonymous namespace - --namespace { --// x86-32 Haiku target --class HaikuX86_32TargetInfo : public X86_32TargetInfo { --public: -- HaikuX86_32TargetInfo(const llvm::Triple &Triple) : X86_32TargetInfo(Triple) { -- SizeType = UnsignedLong; -- IntPtrType = SignedLong; -- PtrDiffType = SignedLong; -- ProcessIDType = SignedLong; -- this->UserLabelPrefix = ""; -- this->TLSSupported = false; -- } -- void getTargetDefines(const LangOptions &Opts, -- MacroBuilder &Builder) const override { -- X86_32TargetInfo::getTargetDefines(Opts, Builder); -- Builder.defineMacro("__INTEL__"); -- Builder.defineMacro("__HAIKU__"); -- } --}; --} // end anonymous namespace -- - // RTEMS Target - template - class RTEMSTargetInfo : public OSTargetInfo { -@@ -6321,7 +6324,7 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { - } - } - case llvm::Triple::Haiku: -- return new HaikuX86_32TargetInfo(Triple); -+ return new HaikuTargetInfo(Triple); - case llvm::Triple::RTEMS: - return new RTEMSX86_32TargetInfo(Triple); - case llvm::Triple::NaCl: -@@ -6363,6 +6366,8 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { - return new MicrosoftX86_64TargetInfo(Triple); - } - } -+ case llvm::Triple::Haiku: -+ return new HaikuTargetInfo(Triple); - case llvm::Triple::NaCl: - return new NaClTargetInfo(Triple); - default: --- -2.2.2 - diff --git a/sys-devel/llvm/patches/clang-3.7.0.patchset b/sys-devel/llvm/patches/clang-3.7.0.patchset deleted file mode 100644 index a5860b610..000000000 --- a/sys-devel/llvm/patches/clang-3.7.0.patchset +++ /dev/null @@ -1,319 +0,0 @@ -From 7e932ef0ad9c4d3411213235f8a04038fd2fa873 Mon Sep 17 00:00:00 2001 -From: Alexander von Gluck IV -Date: Sun, 1 Feb 2015 15:13:57 +0000 -Subject: haiku: fix header search paths - -* /boot/develop no longer exists -* /boot/common no longer exists - -diff --git a/cfe-3.7.0.src/lib/Frontend/InitHeaderSearch.cpp b/cfe-3.7.0.src/lib/Frontend/InitHeaderSearch.cpp -index e3a17c9..e785bec 100644 ---- a/cfe-3.7.0.src/lib/Frontend/InitHeaderSearch.cpp -+++ b/cfe-3.7.0.src/lib/Frontend/InitHeaderSearch.cpp -@@ -266,38 +266,41 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - } - - case llvm::Triple::Haiku: -- AddPath("/boot/common/include", System, false); -- AddPath("/boot/develop/headers/os", System, false); -- AddPath("/boot/develop/headers/os/app", System, false); -- AddPath("/boot/develop/headers/os/arch", System, false); -- AddPath("/boot/develop/headers/os/device", System, false); -- AddPath("/boot/develop/headers/os/drivers", System, false); -- AddPath("/boot/develop/headers/os/game", System, false); -- AddPath("/boot/develop/headers/os/interface", System, false); -- AddPath("/boot/develop/headers/os/kernel", System, false); -- AddPath("/boot/develop/headers/os/locale", System, false); -- AddPath("/boot/develop/headers/os/mail", System, false); -- AddPath("/boot/develop/headers/os/media", System, false); -- AddPath("/boot/develop/headers/os/midi", System, false); -- AddPath("/boot/develop/headers/os/midi2", System, false); -- AddPath("/boot/develop/headers/os/net", System, false); -- AddPath("/boot/develop/headers/os/storage", System, false); -- AddPath("/boot/develop/headers/os/support", System, false); -- AddPath("/boot/develop/headers/os/translation", System, false); -- AddPath("/boot/develop/headers/os/add-ons/graphics", System, false); -- AddPath("/boot/develop/headers/os/add-ons/input_server", System, false); -- AddPath("/boot/develop/headers/os/add-ons/screen_saver", System, false); -- AddPath("/boot/develop/headers/os/add-ons/tracker", System, false); -- AddPath("/boot/develop/headers/os/be_apps/Deskbar", System, false); -- AddPath("/boot/develop/headers/os/be_apps/NetPositive", System, false); -- AddPath("/boot/develop/headers/os/be_apps/Tracker", System, false); -- AddPath("/boot/develop/headers/cpp", System, false); -- AddPath("/boot/develop/headers/cpp/i586-pc-haiku", System, false); -- AddPath("/boot/develop/headers/3rdparty", System, false); -- AddPath("/boot/develop/headers/bsd", System, false); -- AddPath("/boot/develop/headers/glibc", System, false); -- AddPath("/boot/develop/headers/posix", System, false); -- AddPath("/boot/develop/headers", System, false); -+ AddPath("/boot/system/non-packaged/develop/headers", System, false); -+ AddPath("/boot/system/develop/headers/os", System, false); -+ AddPath("/boot/system/develop/headers/os/app", System, false); -+ AddPath("/boot/system/develop/headers/os/arch", System, false); -+ AddPath("/boot/system/develop/headers/os/device", System, false); -+ AddPath("/boot/system/develop/headers/os/drivers", System, false); -+ AddPath("/boot/system/develop/headers/os/game", System, false); -+ AddPath("/boot/system/develop/headers/os/interface", System, false); -+ AddPath("/boot/system/develop/headers/os/kernel", System, false); -+ AddPath("/boot/system/develop/headers/os/locale", System, false); -+ AddPath("/boot/system/develop/headers/os/mail", System, false); -+ AddPath("/boot/system/develop/headers/os/media", System, false); -+ AddPath("/boot/system/develop/headers/os/midi", System, false); -+ AddPath("/boot/system/develop/headers/os/midi2", System, false); -+ AddPath("/boot/system/develop/headers/os/net", System, false); -+ AddPath("/boot/system/develop/headers/os/opengl", System, false); -+ AddPath("/boot/system/develop/headers/os/storage", System, false); -+ AddPath("/boot/system/develop/headers/os/support", System, false); -+ AddPath("/boot/system/develop/headers/os/translation", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/graphics", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/input_server", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/mail_daemon", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/registrar", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/screen_saver", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/tracker", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/Deskbar", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/NetPositive", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/Tracker", System, false); -+ AddPath("/boot/system/develop/headers/cpp", System, false); -+ AddPath("/boot/system/develop/headers/cpp/i586-pc-haiku", System, false); -+ AddPath("/boot/system/develop/headers/3rdparty", System, false); -+ AddPath("/boot/system/develop/headers/bsd", System, false); -+ AddPath("/boot/system/develop/headers/glibc", System, false); -+ AddPath("/boot/system/develop/headers/posix", System, false); -+ AddPath("/boot/system/develop/headers", System, false); - break; - case llvm::Triple::RTEMS: - break; --- -2.2.2 - - -From 738f547cb46e175685c2e5edbdf51953daaf095c Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 1 Feb 2015 15:15:45 +0000 -Subject: libclang: add soname when building on Haiku. - - -diff --git a/cfe-3.7.0.src/tools/libclang/Makefile b/cfe-3.7.0.src/tools/libclang/Makefile -index 84914e0..b9a6b74 100644 ---- a/cfe-3.7.0.src/tools/libclang/Makefile -+++ b/cfe-3.7.0.src/tools/libclang/Makefile -@@ -35,7 +35,7 @@ USEDLIBS = clangIndex.a clangARCMigrate.a \ - include $(CLANG_LEVEL)/Makefile - - # Add soname to the library. --ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD)) -+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD Haiku)) - LLVMLibsOptions += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT) - endif - --- -2.2.2 - - -From 80c9e0757b75f1a1d1bbfdf1d927e27426ae8089 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Tue, 22 Dec 2015 22:07:06 +0000 -Subject: don't include c++ headers in C include search paths. - -* define a Haiku toolchain, and add c++ headers path. - -diff --git a/cfe-3.7.0.src/lib/Driver/Driver.cpp b/cfe-3.7.0.src/lib/Driver/Driver.cpp -index 180c412..df42ca2 100644 ---- a/cfe-3.7.0.src/lib/Driver/Driver.cpp -+++ b/cfe-3.7.0.src/lib/Driver/Driver.cpp -@@ -2195,6 +2195,9 @@ const ToolChain &Driver::getToolChain(const ArgList &Args, - case llvm::Triple::Solaris: - TC = new toolchains::Solaris(*this, Target, Args); - break; -+ case llvm::Triple::Haiku: -+ TC = new toolchains::Haiku(*this, Target, Args); -+ break; - case llvm::Triple::Win32: - switch (Target.getEnvironment()) { - default: -diff --git a/cfe-3.7.0.src/lib/Driver/ToolChains.cpp b/cfe-3.7.0.src/lib/Driver/ToolChains.cpp -index 15e36a1..8599754 100644 ---- a/cfe-3.7.0.src/lib/Driver/ToolChains.cpp -+++ b/cfe-3.7.0.src/lib/Driver/ToolChains.cpp -@@ -2523,6 +2523,34 @@ Tool *CloudABI::buildLinker() const { - return new tools::cloudabi::Linker(*this); - } - -+/// Haiku - Haiku tool chain which can call as(1) and ld(1) directly. -+ -+Haiku::Haiku(const Driver &D, const llvm::Triple& Triple, const ArgList &Args) -+ : Generic_ELF(D, Triple, Args) { -+ -+} -+ -+void Haiku::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, -+ ArgStringList &CC1Args) const { -+ if (DriverArgs.hasArg(options::OPT_nostdlibinc) || -+ DriverArgs.hasArg(options::OPT_nostdincxx)) -+ return; -+ -+ switch (GetCXXStdlibType(DriverArgs)) { -+ case ToolChain::CST_Libstdcxx: -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++"); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++/backward"); -+ -+ StringRef Triple = getTriple().str(); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++/" + -+ Triple); -+ break; -+ } -+} -+ - /// OpenBSD - OpenBSD tool chain which can call as(1) and ld(1) directly. - - OpenBSD::OpenBSD(const Driver &D, const llvm::Triple &Triple, -diff --git a/cfe-3.7.0.src/lib/Driver/ToolChains.h b/cfe-3.7.0.src/lib/Driver/ToolChains.h -index 59eaade..4d38413 100644 ---- a/cfe-3.7.0.src/lib/Driver/ToolChains.h -+++ b/cfe-3.7.0.src/lib/Driver/ToolChains.h -@@ -560,6 +560,18 @@ private: - void findGccLibDir(); - }; - -+class LLVM_LIBRARY_VISIBILITY Haiku : public Generic_ELF { -+public: -+ Haiku(const Driver &D, const llvm::Triple &Triple, -+ const llvm::opt::ArgList &Args); -+ -+ bool isPIEDefault() const override { return getTriple().getArch() == llvm::Triple::x86_64; } -+ -+ void -+ AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs, -+ llvm::opt::ArgStringList &CC1Args) const override; -+}; -+ - class LLVM_LIBRARY_VISIBILITY OpenBSD : public Generic_ELF { - public: - OpenBSD(const Driver &D, const llvm::Triple &Triple, -diff --git a/cfe-3.7.0.src/lib/Frontend/InitHeaderSearch.cpp b/cfe-3.7.0.src/lib/Frontend/InitHeaderSearch.cpp -index e785bec..eda9455 100644 ---- a/cfe-3.7.0.src/lib/Frontend/InitHeaderSearch.cpp -+++ b/cfe-3.7.0.src/lib/Frontend/InitHeaderSearch.cpp -@@ -294,8 +294,6 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - AddPath("/boot/system/develop/headers/os/be_apps/Deskbar", System, false); - AddPath("/boot/system/develop/headers/os/be_apps/NetPositive", System, false); - AddPath("/boot/system/develop/headers/os/be_apps/Tracker", System, false); -- AddPath("/boot/system/develop/headers/cpp", System, false); -- AddPath("/boot/system/develop/headers/cpp/i586-pc-haiku", System, false); - AddPath("/boot/system/develop/headers/3rdparty", System, false); - AddPath("/boot/system/develop/headers/bsd", System, false); - AddPath("/boot/system/develop/headers/glibc", System, false); --- -2.2.2 - - -From 1d519905e76daca8c007259a7f9f3a9c5c37ae3f Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Thu, 14 Jan 2016 19:19:14 +0000 -Subject: add Haiku target info for x86_64 - - -diff --git a/cfe-3.7.0.src/lib/Basic/Targets.cpp b/cfe-3.7.0.src/lib/Basic/Targets.cpp -index e4db004..a638e24 100644 ---- a/cfe-3.7.0.src/lib/Basic/Targets.cpp -+++ b/cfe-3.7.0.src/lib/Basic/Targets.cpp -@@ -351,6 +351,30 @@ public: - } - }; - -+// Haiku Target -+template -+class HaikuTargetInfo : public OSTargetInfo { -+protected: -+ void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, -+ MacroBuilder &Builder) const override { -+ // Haiku defines; list based off of gcc output -+ Builder.defineMacro("__HAIKU__"); -+ Builder.defineMacro("__ELF__"); -+ DefineStd(Builder, "unix", Opts); -+ } -+public: -+ HaikuTargetInfo(const llvm::Triple &Triple) -+ : OSTargetInfo(Triple) { -+ this->SizeType = TargetInfo::UnsignedLong; -+ this->IntPtrType = TargetInfo::SignedLong; -+ this->PtrDiffType = TargetInfo::SignedLong; -+ this->ProcessIDType = TargetInfo::SignedLong; -+ this->TLSSupported = false; -+ this->UserLabelPrefix = ""; -+ -+ } -+}; -+ - // Minix Target - template - class MinixTargetInfo : public OSTargetInfo { -@@ -3772,25 +3796,6 @@ public: - } - }; - --// x86-32 Haiku target --class HaikuX86_32TargetInfo : public X86_32TargetInfo { --public: -- HaikuX86_32TargetInfo(const llvm::Triple &Triple) : X86_32TargetInfo(Triple) { -- SizeType = UnsignedLong; -- IntPtrType = SignedLong; -- PtrDiffType = SignedLong; -- ProcessIDType = SignedLong; -- this->UserLabelPrefix = ""; -- this->TLSSupported = false; -- } -- void getTargetDefines(const LangOptions &Opts, -- MacroBuilder &Builder) const override { -- X86_32TargetInfo::getTargetDefines(Opts, Builder); -- Builder.defineMacro("__INTEL__"); -- Builder.defineMacro("__HAIKU__"); -- } --}; -- - // RTEMS Target - template - class RTEMSTargetInfo : public OSTargetInfo { -@@ -4412,7 +4417,7 @@ public: - if(Name == "generic") { - auto subarch = getTriple().getSubArch(); - switch (subarch) { -- case llvm::Triple::SubArchType::ARMSubArch_v8_1a: -+ case llvm::Triple::SubArchType::ARMSubArch_v8_1a: - return "8_1A"; - default: - break; -@@ -4451,7 +4456,7 @@ public: - if(Name == "generic") { - auto subarch = getTriple().getSubArch(); - switch (subarch) { -- case llvm::Triple::SubArchType::ARMSubArch_v8_1a: -+ case llvm::Triple::SubArchType::ARMSubArch_v8_1a: - return "A"; - default: - break; -@@ -7311,7 +7316,7 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { - } - } - case llvm::Triple::Haiku: -- return new HaikuX86_32TargetInfo(Triple); -+ return new HaikuTargetInfo(Triple); - case llvm::Triple::RTEMS: - return new RTEMSX86_32TargetInfo(Triple); - case llvm::Triple::NaCl: -@@ -7358,6 +7363,8 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { - return new MicrosoftX86_64TargetInfo(Triple); - } - } -+ case llvm::Triple::Haiku: -+ return new HaikuTargetInfo(Triple); - case llvm::Triple::NaCl: - return new NaClTargetInfo(Triple); - case llvm::Triple::PS4: --- -2.2.2 - diff --git a/sys-devel/llvm/patches/clang-3.7.1.patchset b/sys-devel/llvm/patches/clang-3.7.1.patchset deleted file mode 100644 index f0ab73638..000000000 --- a/sys-devel/llvm/patches/clang-3.7.1.patchset +++ /dev/null @@ -1,319 +0,0 @@ -From 7e932ef0ad9c4d3411213235f8a04038fd2fa873 Mon Sep 17 00:00:00 2001 -From: Alexander von Gluck IV -Date: Sun, 1 Feb 2015 15:13:57 +0000 -Subject: haiku: fix header search paths - -* /boot/develop no longer exists -* /boot/common no longer exists - -diff --git a/cfe-3.7.1.src/lib/Frontend/InitHeaderSearch.cpp b/cfe-3.7.1.src/lib/Frontend/InitHeaderSearch.cpp -index e3a17c9..e785bec 100644 ---- a/cfe-3.7.1.src/lib/Frontend/InitHeaderSearch.cpp -+++ b/cfe-3.7.1.src/lib/Frontend/InitHeaderSearch.cpp -@@ -266,38 +266,41 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - } - - case llvm::Triple::Haiku: -- AddPath("/boot/common/include", System, false); -- AddPath("/boot/develop/headers/os", System, false); -- AddPath("/boot/develop/headers/os/app", System, false); -- AddPath("/boot/develop/headers/os/arch", System, false); -- AddPath("/boot/develop/headers/os/device", System, false); -- AddPath("/boot/develop/headers/os/drivers", System, false); -- AddPath("/boot/develop/headers/os/game", System, false); -- AddPath("/boot/develop/headers/os/interface", System, false); -- AddPath("/boot/develop/headers/os/kernel", System, false); -- AddPath("/boot/develop/headers/os/locale", System, false); -- AddPath("/boot/develop/headers/os/mail", System, false); -- AddPath("/boot/develop/headers/os/media", System, false); -- AddPath("/boot/develop/headers/os/midi", System, false); -- AddPath("/boot/develop/headers/os/midi2", System, false); -- AddPath("/boot/develop/headers/os/net", System, false); -- AddPath("/boot/develop/headers/os/storage", System, false); -- AddPath("/boot/develop/headers/os/support", System, false); -- AddPath("/boot/develop/headers/os/translation", System, false); -- AddPath("/boot/develop/headers/os/add-ons/graphics", System, false); -- AddPath("/boot/develop/headers/os/add-ons/input_server", System, false); -- AddPath("/boot/develop/headers/os/add-ons/screen_saver", System, false); -- AddPath("/boot/develop/headers/os/add-ons/tracker", System, false); -- AddPath("/boot/develop/headers/os/be_apps/Deskbar", System, false); -- AddPath("/boot/develop/headers/os/be_apps/NetPositive", System, false); -- AddPath("/boot/develop/headers/os/be_apps/Tracker", System, false); -- AddPath("/boot/develop/headers/cpp", System, false); -- AddPath("/boot/develop/headers/cpp/i586-pc-haiku", System, false); -- AddPath("/boot/develop/headers/3rdparty", System, false); -- AddPath("/boot/develop/headers/bsd", System, false); -- AddPath("/boot/develop/headers/glibc", System, false); -- AddPath("/boot/develop/headers/posix", System, false); -- AddPath("/boot/develop/headers", System, false); -+ AddPath("/boot/system/non-packaged/develop/headers", System, false); -+ AddPath("/boot/system/develop/headers/os", System, false); -+ AddPath("/boot/system/develop/headers/os/app", System, false); -+ AddPath("/boot/system/develop/headers/os/arch", System, false); -+ AddPath("/boot/system/develop/headers/os/device", System, false); -+ AddPath("/boot/system/develop/headers/os/drivers", System, false); -+ AddPath("/boot/system/develop/headers/os/game", System, false); -+ AddPath("/boot/system/develop/headers/os/interface", System, false); -+ AddPath("/boot/system/develop/headers/os/kernel", System, false); -+ AddPath("/boot/system/develop/headers/os/locale", System, false); -+ AddPath("/boot/system/develop/headers/os/mail", System, false); -+ AddPath("/boot/system/develop/headers/os/media", System, false); -+ AddPath("/boot/system/develop/headers/os/midi", System, false); -+ AddPath("/boot/system/develop/headers/os/midi2", System, false); -+ AddPath("/boot/system/develop/headers/os/net", System, false); -+ AddPath("/boot/system/develop/headers/os/opengl", System, false); -+ AddPath("/boot/system/develop/headers/os/storage", System, false); -+ AddPath("/boot/system/develop/headers/os/support", System, false); -+ AddPath("/boot/system/develop/headers/os/translation", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/graphics", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/input_server", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/mail_daemon", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/registrar", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/screen_saver", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/tracker", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/Deskbar", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/NetPositive", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/Tracker", System, false); -+ AddPath("/boot/system/develop/headers/cpp", System, false); -+ AddPath("/boot/system/develop/headers/cpp/i586-pc-haiku", System, false); -+ AddPath("/boot/system/develop/headers/3rdparty", System, false); -+ AddPath("/boot/system/develop/headers/bsd", System, false); -+ AddPath("/boot/system/develop/headers/glibc", System, false); -+ AddPath("/boot/system/develop/headers/posix", System, false); -+ AddPath("/boot/system/develop/headers", System, false); - break; - case llvm::Triple::RTEMS: - break; --- -2.2.2 - - -From 738f547cb46e175685c2e5edbdf51953daaf095c Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 1 Feb 2015 15:15:45 +0000 -Subject: libclang: add soname when building on Haiku. - - -diff --git a/cfe-3.7.1.src/tools/libclang/Makefile b/cfe-3.7.1.src/tools/libclang/Makefile -index 84914e0..b9a6b74 100644 ---- a/cfe-3.7.1.src/tools/libclang/Makefile -+++ b/cfe-3.7.1.src/tools/libclang/Makefile -@@ -35,7 +35,7 @@ USEDLIBS = clangIndex.a clangARCMigrate.a \ - include $(CLANG_LEVEL)/Makefile - - # Add soname to the library. --ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD)) -+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD Haiku)) - LLVMLibsOptions += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT) - endif - --- -2.2.2 - - -From 80c9e0757b75f1a1d1bbfdf1d927e27426ae8089 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Tue, 22 Dec 2015 22:07:06 +0000 -Subject: don't include c++ headers in C include search paths. - -* define a Haiku toolchain, and add c++ headers path. - -diff --git a/cfe-3.7.1.src/lib/Driver/Driver.cpp b/cfe-3.7.1.src/lib/Driver/Driver.cpp -index 180c412..df42ca2 100644 ---- a/cfe-3.7.1.src/lib/Driver/Driver.cpp -+++ b/cfe-3.7.1.src/lib/Driver/Driver.cpp -@@ -2195,6 +2195,9 @@ const ToolChain &Driver::getToolChain(const ArgList &Args, - case llvm::Triple::Solaris: - TC = new toolchains::Solaris(*this, Target, Args); - break; -+ case llvm::Triple::Haiku: -+ TC = new toolchains::Haiku(*this, Target, Args); -+ break; - case llvm::Triple::Win32: - switch (Target.getEnvironment()) { - default: -diff --git a/cfe-3.7.1.src/lib/Driver/ToolChains.cpp b/cfe-3.7.1.src/lib/Driver/ToolChains.cpp -index 15e36a1..8599754 100644 ---- a/cfe-3.7.1.src/lib/Driver/ToolChains.cpp -+++ b/cfe-3.7.1.src/lib/Driver/ToolChains.cpp -@@ -2523,6 +2523,34 @@ Tool *CloudABI::buildLinker() const { - return new tools::cloudabi::Linker(*this); - } - -+/// Haiku - Haiku tool chain which can call as(1) and ld(1) directly. -+ -+Haiku::Haiku(const Driver &D, const llvm::Triple& Triple, const ArgList &Args) -+ : Generic_ELF(D, Triple, Args) { -+ -+} -+ -+void Haiku::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, -+ ArgStringList &CC1Args) const { -+ if (DriverArgs.hasArg(options::OPT_nostdlibinc) || -+ DriverArgs.hasArg(options::OPT_nostdincxx)) -+ return; -+ -+ switch (GetCXXStdlibType(DriverArgs)) { -+ case ToolChain::CST_Libstdcxx: -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++"); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++/backward"); -+ -+ StringRef Triple = getTriple().str(); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++/" + -+ Triple); -+ break; -+ } -+} -+ - /// OpenBSD - OpenBSD tool chain which can call as(1) and ld(1) directly. - - OpenBSD::OpenBSD(const Driver &D, const llvm::Triple &Triple, -diff --git a/cfe-3.7.1.src/lib/Driver/ToolChains.h b/cfe-3.7.1.src/lib/Driver/ToolChains.h -index 59eaade..4d38413 100644 ---- a/cfe-3.7.1.src/lib/Driver/ToolChains.h -+++ b/cfe-3.7.1.src/lib/Driver/ToolChains.h -@@ -560,6 +560,18 @@ private: - void findGccLibDir(); - }; - -+class LLVM_LIBRARY_VISIBILITY Haiku : public Generic_ELF { -+public: -+ Haiku(const Driver &D, const llvm::Triple &Triple, -+ const llvm::opt::ArgList &Args); -+ -+ bool isPIEDefault() const override { return getTriple().getArch() == llvm::Triple::x86_64; } -+ -+ void -+ AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs, -+ llvm::opt::ArgStringList &CC1Args) const override; -+}; -+ - class LLVM_LIBRARY_VISIBILITY OpenBSD : public Generic_ELF { - public: - OpenBSD(const Driver &D, const llvm::Triple &Triple, -diff --git a/cfe-3.7.1.src/lib/Frontend/InitHeaderSearch.cpp b/cfe-3.7.1.src/lib/Frontend/InitHeaderSearch.cpp -index e785bec..eda9455 100644 ---- a/cfe-3.7.1.src/lib/Frontend/InitHeaderSearch.cpp -+++ b/cfe-3.7.1.src/lib/Frontend/InitHeaderSearch.cpp -@@ -294,8 +294,6 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - AddPath("/boot/system/develop/headers/os/be_apps/Deskbar", System, false); - AddPath("/boot/system/develop/headers/os/be_apps/NetPositive", System, false); - AddPath("/boot/system/develop/headers/os/be_apps/Tracker", System, false); -- AddPath("/boot/system/develop/headers/cpp", System, false); -- AddPath("/boot/system/develop/headers/cpp/i586-pc-haiku", System, false); - AddPath("/boot/system/develop/headers/3rdparty", System, false); - AddPath("/boot/system/develop/headers/bsd", System, false); - AddPath("/boot/system/develop/headers/glibc", System, false); --- -2.2.2 - - -From 1d519905e76daca8c007259a7f9f3a9c5c37ae3f Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Thu, 14 Jan 2016 19:19:14 +0000 -Subject: add Haiku target info for x86_64 - - -diff --git a/cfe-3.7.1.src/lib/Basic/Targets.cpp b/cfe-3.7.1.src/lib/Basic/Targets.cpp -index e4db004..a638e24 100644 ---- a/cfe-3.7.1.src/lib/Basic/Targets.cpp -+++ b/cfe-3.7.1.src/lib/Basic/Targets.cpp -@@ -351,6 +351,30 @@ public: - } - }; - -+// Haiku Target -+template -+class HaikuTargetInfo : public OSTargetInfo { -+protected: -+ void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, -+ MacroBuilder &Builder) const override { -+ // Haiku defines; list based off of gcc output -+ Builder.defineMacro("__HAIKU__"); -+ Builder.defineMacro("__ELF__"); -+ DefineStd(Builder, "unix", Opts); -+ } -+public: -+ HaikuTargetInfo(const llvm::Triple &Triple) -+ : OSTargetInfo(Triple) { -+ this->SizeType = TargetInfo::UnsignedLong; -+ this->IntPtrType = TargetInfo::SignedLong; -+ this->PtrDiffType = TargetInfo::SignedLong; -+ this->ProcessIDType = TargetInfo::SignedLong; -+ this->TLSSupported = false; -+ this->UserLabelPrefix = ""; -+ -+ } -+}; -+ - // Minix Target - template - class MinixTargetInfo : public OSTargetInfo { -@@ -3772,25 +3796,6 @@ public: - } - }; - --// x86-32 Haiku target --class HaikuX86_32TargetInfo : public X86_32TargetInfo { --public: -- HaikuX86_32TargetInfo(const llvm::Triple &Triple) : X86_32TargetInfo(Triple) { -- SizeType = UnsignedLong; -- IntPtrType = SignedLong; -- PtrDiffType = SignedLong; -- ProcessIDType = SignedLong; -- this->UserLabelPrefix = ""; -- this->TLSSupported = false; -- } -- void getTargetDefines(const LangOptions &Opts, -- MacroBuilder &Builder) const override { -- X86_32TargetInfo::getTargetDefines(Opts, Builder); -- Builder.defineMacro("__INTEL__"); -- Builder.defineMacro("__HAIKU__"); -- } --}; -- - // RTEMS Target - template - class RTEMSTargetInfo : public OSTargetInfo { -@@ -4412,7 +4417,7 @@ public: - if(Name == "generic") { - auto subarch = getTriple().getSubArch(); - switch (subarch) { -- case llvm::Triple::SubArchType::ARMSubArch_v8_1a: -+ case llvm::Triple::SubArchType::ARMSubArch_v8_1a: - return "8_1A"; - default: - break; -@@ -4451,7 +4456,7 @@ public: - if(Name == "generic") { - auto subarch = getTriple().getSubArch(); - switch (subarch) { -- case llvm::Triple::SubArchType::ARMSubArch_v8_1a: -+ case llvm::Triple::SubArchType::ARMSubArch_v8_1a: - return "A"; - default: - break; -@@ -7311,7 +7316,7 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { - } - } - case llvm::Triple::Haiku: -- return new HaikuX86_32TargetInfo(Triple); -+ return new HaikuTargetInfo(Triple); - case llvm::Triple::RTEMS: - return new RTEMSX86_32TargetInfo(Triple); - case llvm::Triple::NaCl: -@@ -7358,6 +7363,8 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { - return new MicrosoftX86_64TargetInfo(Triple); - } - } -+ case llvm::Triple::Haiku: -+ return new HaikuTargetInfo(Triple); - case llvm::Triple::NaCl: - return new NaClTargetInfo(Triple); - case llvm::Triple::PS4: --- -2.2.2 - diff --git a/sys-devel/llvm/patches/clang-3.8.0.patchset b/sys-devel/llvm/patches/clang-3.8.0.patchset deleted file mode 100644 index faf7bf500..000000000 --- a/sys-devel/llvm/patches/clang-3.8.0.patchset +++ /dev/null @@ -1,293 +0,0 @@ -From 65ee8527e8cf8d9b9f1868aa9933027eed73ea15 Mon Sep 17 00:00:00 2001 -From: Alexander von Gluck IV -Date: Sun, 1 Feb 2015 15:13:57 +0000 -Subject: haiku: fix header search paths - -* /boot/develop no longer exists -* /boot/common no longer exists - -diff --git a/lib/Frontend/InitHeaderSearch.cpp b/lib/Frontend/InitHeaderSearch.cpp -index 26bab0d..6066d2b 100644 ---- a/lib/Frontend/InitHeaderSearch.cpp -+++ b/lib/Frontend/InitHeaderSearch.cpp -@@ -267,38 +267,41 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - } - - case llvm::Triple::Haiku: -- AddPath("/boot/common/include", System, false); -- AddPath("/boot/develop/headers/os", System, false); -- AddPath("/boot/develop/headers/os/app", System, false); -- AddPath("/boot/develop/headers/os/arch", System, false); -- AddPath("/boot/develop/headers/os/device", System, false); -- AddPath("/boot/develop/headers/os/drivers", System, false); -- AddPath("/boot/develop/headers/os/game", System, false); -- AddPath("/boot/develop/headers/os/interface", System, false); -- AddPath("/boot/develop/headers/os/kernel", System, false); -- AddPath("/boot/develop/headers/os/locale", System, false); -- AddPath("/boot/develop/headers/os/mail", System, false); -- AddPath("/boot/develop/headers/os/media", System, false); -- AddPath("/boot/develop/headers/os/midi", System, false); -- AddPath("/boot/develop/headers/os/midi2", System, false); -- AddPath("/boot/develop/headers/os/net", System, false); -- AddPath("/boot/develop/headers/os/storage", System, false); -- AddPath("/boot/develop/headers/os/support", System, false); -- AddPath("/boot/develop/headers/os/translation", System, false); -- AddPath("/boot/develop/headers/os/add-ons/graphics", System, false); -- AddPath("/boot/develop/headers/os/add-ons/input_server", System, false); -- AddPath("/boot/develop/headers/os/add-ons/screen_saver", System, false); -- AddPath("/boot/develop/headers/os/add-ons/tracker", System, false); -- AddPath("/boot/develop/headers/os/be_apps/Deskbar", System, false); -- AddPath("/boot/develop/headers/os/be_apps/NetPositive", System, false); -- AddPath("/boot/develop/headers/os/be_apps/Tracker", System, false); -- AddPath("/boot/develop/headers/cpp", System, false); -- AddPath("/boot/develop/headers/cpp/i586-pc-haiku", System, false); -- AddPath("/boot/develop/headers/3rdparty", System, false); -- AddPath("/boot/develop/headers/bsd", System, false); -- AddPath("/boot/develop/headers/glibc", System, false); -- AddPath("/boot/develop/headers/posix", System, false); -- AddPath("/boot/develop/headers", System, false); -+ AddPath("/boot/system/non-packaged/develop/headers", System, false); -+ AddPath("/boot/system/develop/headers/os", System, false); -+ AddPath("/boot/system/develop/headers/os/app", System, false); -+ AddPath("/boot/system/develop/headers/os/arch", System, false); -+ AddPath("/boot/system/develop/headers/os/device", System, false); -+ AddPath("/boot/system/develop/headers/os/drivers", System, false); -+ AddPath("/boot/system/develop/headers/os/game", System, false); -+ AddPath("/boot/system/develop/headers/os/interface", System, false); -+ AddPath("/boot/system/develop/headers/os/kernel", System, false); -+ AddPath("/boot/system/develop/headers/os/locale", System, false); -+ AddPath("/boot/system/develop/headers/os/mail", System, false); -+ AddPath("/boot/system/develop/headers/os/media", System, false); -+ AddPath("/boot/system/develop/headers/os/midi", System, false); -+ AddPath("/boot/system/develop/headers/os/midi2", System, false); -+ AddPath("/boot/system/develop/headers/os/net", System, false); -+ AddPath("/boot/system/develop/headers/os/opengl", System, false); -+ AddPath("/boot/system/develop/headers/os/storage", System, false); -+ AddPath("/boot/system/develop/headers/os/support", System, false); -+ AddPath("/boot/system/develop/headers/os/translation", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/graphics", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/input_server", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/mail_daemon", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/registrar", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/screen_saver", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/tracker", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/Deskbar", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/NetPositive", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/Tracker", System, false); -+ AddPath("/boot/system/develop/headers/cpp", System, false); -+ AddPath("/boot/system/develop/headers/cpp/i586-pc-haiku", System, false); -+ AddPath("/boot/system/develop/headers/3rdparty", System, false); -+ AddPath("/boot/system/develop/headers/bsd", System, false); -+ AddPath("/boot/system/develop/headers/glibc", System, false); -+ AddPath("/boot/system/develop/headers/posix", System, false); -+ AddPath("/boot/system/develop/headers", System, false); - break; - case llvm::Triple::RTEMS: - break; --- -2.7.0 - - -From 42991b0fe8f1c57eb774b39bb0e9a8f33998a0ee Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 1 Feb 2015 15:15:45 +0000 -Subject: libclang: add soname when building on Haiku. - - -diff --git a/tools/libclang/Makefile b/tools/libclang/Makefile -index 84914e0..b9a6b74 100644 ---- a/tools/libclang/Makefile -+++ b/tools/libclang/Makefile -@@ -35,7 +35,7 @@ USEDLIBS = clangIndex.a clangARCMigrate.a \ - include $(CLANG_LEVEL)/Makefile - - # Add soname to the library. --ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD)) -+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD Haiku)) - LLVMLibsOptions += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT) - endif - --- -2.7.0 - - -From c6495beaecdc85d3d87128964bfcbe94de996ea8 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Tue, 22 Dec 2015 22:07:06 +0000 -Subject: don't include c++ headers in C include search paths. - -* define a Haiku toolchain, and add c++ headers path. - -diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp -index 1e0a48d..f31b274 100644 ---- a/lib/Driver/Driver.cpp -+++ b/lib/Driver/Driver.cpp -@@ -2206,6 +2206,9 @@ const ToolChain &Driver::getToolChain(const ArgList &Args, - ToolChain *&TC = ToolChains[Target.str()]; - if (!TC) { - switch (Target.getOS()) { -+ case llvm::Triple::Haiku: -+ TC = new toolchains::Haiku(*this, Target, Args); -+ break; - case llvm::Triple::CloudABI: - TC = new toolchains::CloudABI(*this, Target, Args); - break; -diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp -index 99c7b8e..5e95668 100644 ---- a/lib/Driver/ToolChains.cpp -+++ b/lib/Driver/ToolChains.cpp -@@ -2971,6 +2971,34 @@ Tool *CloudABI::buildLinker() const { - return new tools::cloudabi::Linker(*this); - } - -+/// Haiku - Haiku tool chain which can call as(1) and ld(1) directly. -+ -+Haiku::Haiku(const Driver &D, const llvm::Triple& Triple, const ArgList &Args) -+ : Generic_ELF(D, Triple, Args) { -+ -+} -+ -+void Haiku::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, -+ ArgStringList &CC1Args) const { -+ if (DriverArgs.hasArg(options::OPT_nostdlibinc) || -+ DriverArgs.hasArg(options::OPT_nostdincxx)) -+ return; -+ -+ switch (GetCXXStdlibType(DriverArgs)) { -+ case ToolChain::CST_Libstdcxx: -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++"); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++/backward"); -+ -+ StringRef Triple = getTriple().str(); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++/" + -+ Triple); -+ break; -+ } -+} -+ - /// OpenBSD - OpenBSD tool chain which can call as(1) and ld(1) directly. - - OpenBSD::OpenBSD(const Driver &D, const llvm::Triple &Triple, -diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h -index f940e58..7b7125e 100644 ---- a/lib/Driver/ToolChains.h -+++ b/lib/Driver/ToolChains.h -@@ -667,6 +667,18 @@ private: - void findGccLibDir(); - }; - -+class LLVM_LIBRARY_VISIBILITY Haiku : public Generic_ELF { -+public: -+ Haiku(const Driver &D, const llvm::Triple &Triple, -+ const llvm::opt::ArgList &Args); -+ -+ bool isPIEDefault() const override { return getTriple().getArch() == llvm::Triple::x86_64; } -+ -+ void -+ AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs, -+ llvm::opt::ArgStringList &CC1Args) const override; -+}; -+ - class LLVM_LIBRARY_VISIBILITY OpenBSD : public Generic_ELF { - public: - OpenBSD(const Driver &D, const llvm::Triple &Triple, -diff --git a/lib/Frontend/InitHeaderSearch.cpp b/lib/Frontend/InitHeaderSearch.cpp -index 6066d2b..d8f0881 100644 ---- a/lib/Frontend/InitHeaderSearch.cpp -+++ b/lib/Frontend/InitHeaderSearch.cpp -@@ -295,8 +295,6 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - AddPath("/boot/system/develop/headers/os/be_apps/Deskbar", System, false); - AddPath("/boot/system/develop/headers/os/be_apps/NetPositive", System, false); - AddPath("/boot/system/develop/headers/os/be_apps/Tracker", System, false); -- AddPath("/boot/system/develop/headers/cpp", System, false); -- AddPath("/boot/system/develop/headers/cpp/i586-pc-haiku", System, false); - AddPath("/boot/system/develop/headers/3rdparty", System, false); - AddPath("/boot/system/develop/headers/bsd", System, false); - AddPath("/boot/system/develop/headers/glibc", System, false); --- -2.7.0 - - -From dbc718a980b634d358968b0b0339876c9febd684 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Thu, 14 Jan 2016 19:19:14 +0000 -Subject: add Haiku target info for x86_64 - - -diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp -index af8aea0..e2c2031 100644 ---- a/lib/Basic/Targets.cpp -+++ b/lib/Basic/Targets.cpp -@@ -373,6 +373,30 @@ public: - } - }; - -+// Haiku Target -+template -+class HaikuTargetInfo : public OSTargetInfo { -+protected: -+ void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, -+ MacroBuilder &Builder) const override { -+ // Haiku defines; list based off of gcc output -+ Builder.defineMacro("__HAIKU__"); -+ Builder.defineMacro("__ELF__"); -+ DefineStd(Builder, "unix", Opts); -+ } -+public: -+ HaikuTargetInfo(const llvm::Triple &Triple) -+ : OSTargetInfo(Triple) { -+ this->SizeType = TargetInfo::UnsignedLong; -+ this->IntPtrType = TargetInfo::SignedLong; -+ this->PtrDiffType = TargetInfo::SignedLong; -+ this->ProcessIDType = TargetInfo::SignedLong; -+ this->TLSSupported = false; -+ this->UserLabelPrefix = ""; -+ -+ } -+}; -+ - // Minix Target - template - class MinixTargetInfo : public OSTargetInfo { -@@ -3875,21 +3899,16 @@ public: - }; - - // x86-32 Haiku target --class HaikuX86_32TargetInfo : public X86_32TargetInfo { -+class HaikuX86_32TargetInfo : public HaikuTargetInfo { - public: -- HaikuX86_32TargetInfo(const llvm::Triple &Triple) : X86_32TargetInfo(Triple) { -- SizeType = UnsignedLong; -- IntPtrType = SignedLong; -- PtrDiffType = SignedLong; -- ProcessIDType = SignedLong; -- this->UserLabelPrefix = ""; -- this->TLSSupported = false; -+ HaikuX86_32TargetInfo(const llvm::Triple &Triple) -+ : HaikuTargetInfo(Triple) { - } -+ - void getTargetDefines(const LangOptions &Opts, - MacroBuilder &Builder) const override { -- X86_32TargetInfo::getTargetDefines(Opts, Builder); -+ HaikuTargetInfo::getTargetDefines(Opts, Builder); - Builder.defineMacro("__INTEL__"); -- Builder.defineMacro("__HAIKU__"); - } - }; - -@@ -7903,6 +7922,8 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { - return new MicrosoftX86_64TargetInfo(Triple); - } - } -+ case llvm::Triple::Haiku: -+ return new HaikuTargetInfo(Triple); - case llvm::Triple::NaCl: - return new NaClTargetInfo(Triple); - case llvm::Triple::PS4: --- -2.7.0 - diff --git a/sys-devel/llvm/patches/clang-3.8.1.patchset b/sys-devel/llvm/patches/clang-3.8.1.patchset deleted file mode 100644 index a0b26e20b..000000000 --- a/sys-devel/llvm/patches/clang-3.8.1.patchset +++ /dev/null @@ -1,416 +0,0 @@ -From e0469a87db42cc56e973f0e871b932dfada77f4c Mon Sep 17 00:00:00 2001 -From: Alexander von Gluck IV -Date: Sun, 1 Feb 2015 15:13:57 +0000 -Subject: haiku: fix header search paths - -* /boot/develop no longer exists -* /boot/common no longer exists - -diff --git a/lib/Frontend/InitHeaderSearch.cpp b/lib/Frontend/InitHeaderSearch.cpp -index 26bab0d..6066d2b 100644 ---- a/lib/Frontend/InitHeaderSearch.cpp -+++ b/lib/Frontend/InitHeaderSearch.cpp -@@ -267,38 +267,41 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - } - - case llvm::Triple::Haiku: -- AddPath("/boot/common/include", System, false); -- AddPath("/boot/develop/headers/os", System, false); -- AddPath("/boot/develop/headers/os/app", System, false); -- AddPath("/boot/develop/headers/os/arch", System, false); -- AddPath("/boot/develop/headers/os/device", System, false); -- AddPath("/boot/develop/headers/os/drivers", System, false); -- AddPath("/boot/develop/headers/os/game", System, false); -- AddPath("/boot/develop/headers/os/interface", System, false); -- AddPath("/boot/develop/headers/os/kernel", System, false); -- AddPath("/boot/develop/headers/os/locale", System, false); -- AddPath("/boot/develop/headers/os/mail", System, false); -- AddPath("/boot/develop/headers/os/media", System, false); -- AddPath("/boot/develop/headers/os/midi", System, false); -- AddPath("/boot/develop/headers/os/midi2", System, false); -- AddPath("/boot/develop/headers/os/net", System, false); -- AddPath("/boot/develop/headers/os/storage", System, false); -- AddPath("/boot/develop/headers/os/support", System, false); -- AddPath("/boot/develop/headers/os/translation", System, false); -- AddPath("/boot/develop/headers/os/add-ons/graphics", System, false); -- AddPath("/boot/develop/headers/os/add-ons/input_server", System, false); -- AddPath("/boot/develop/headers/os/add-ons/screen_saver", System, false); -- AddPath("/boot/develop/headers/os/add-ons/tracker", System, false); -- AddPath("/boot/develop/headers/os/be_apps/Deskbar", System, false); -- AddPath("/boot/develop/headers/os/be_apps/NetPositive", System, false); -- AddPath("/boot/develop/headers/os/be_apps/Tracker", System, false); -- AddPath("/boot/develop/headers/cpp", System, false); -- AddPath("/boot/develop/headers/cpp/i586-pc-haiku", System, false); -- AddPath("/boot/develop/headers/3rdparty", System, false); -- AddPath("/boot/develop/headers/bsd", System, false); -- AddPath("/boot/develop/headers/glibc", System, false); -- AddPath("/boot/develop/headers/posix", System, false); -- AddPath("/boot/develop/headers", System, false); -+ AddPath("/boot/system/non-packaged/develop/headers", System, false); -+ AddPath("/boot/system/develop/headers/os", System, false); -+ AddPath("/boot/system/develop/headers/os/app", System, false); -+ AddPath("/boot/system/develop/headers/os/arch", System, false); -+ AddPath("/boot/system/develop/headers/os/device", System, false); -+ AddPath("/boot/system/develop/headers/os/drivers", System, false); -+ AddPath("/boot/system/develop/headers/os/game", System, false); -+ AddPath("/boot/system/develop/headers/os/interface", System, false); -+ AddPath("/boot/system/develop/headers/os/kernel", System, false); -+ AddPath("/boot/system/develop/headers/os/locale", System, false); -+ AddPath("/boot/system/develop/headers/os/mail", System, false); -+ AddPath("/boot/system/develop/headers/os/media", System, false); -+ AddPath("/boot/system/develop/headers/os/midi", System, false); -+ AddPath("/boot/system/develop/headers/os/midi2", System, false); -+ AddPath("/boot/system/develop/headers/os/net", System, false); -+ AddPath("/boot/system/develop/headers/os/opengl", System, false); -+ AddPath("/boot/system/develop/headers/os/storage", System, false); -+ AddPath("/boot/system/develop/headers/os/support", System, false); -+ AddPath("/boot/system/develop/headers/os/translation", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/graphics", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/input_server", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/mail_daemon", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/registrar", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/screen_saver", System, false); -+ AddPath("/boot/system/develop/headers/os/add-ons/tracker", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/Deskbar", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/NetPositive", System, false); -+ AddPath("/boot/system/develop/headers/os/be_apps/Tracker", System, false); -+ AddPath("/boot/system/develop/headers/cpp", System, false); -+ AddPath("/boot/system/develop/headers/cpp/i586-pc-haiku", System, false); -+ AddPath("/boot/system/develop/headers/3rdparty", System, false); -+ AddPath("/boot/system/develop/headers/bsd", System, false); -+ AddPath("/boot/system/develop/headers/glibc", System, false); -+ AddPath("/boot/system/develop/headers/posix", System, false); -+ AddPath("/boot/system/develop/headers", System, false); - break; - case llvm::Triple::RTEMS: - break; --- -2.7.0 - - -From 85d89241bbcbc0cbc8a62e637a8a4fbb76568a3f Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 1 Feb 2015 15:15:45 +0000 -Subject: libclang: add soname when building on Haiku. - - -diff --git a/tools/libclang/Makefile b/tools/libclang/Makefile -index 84914e0..b9a6b74 100644 ---- a/tools/libclang/Makefile -+++ b/tools/libclang/Makefile -@@ -35,7 +35,7 @@ USEDLIBS = clangIndex.a clangARCMigrate.a \ - include $(CLANG_LEVEL)/Makefile - - # Add soname to the library. --ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD)) -+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD Haiku)) - LLVMLibsOptions += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT) - endif - --- -2.7.0 - - -From 3441f2eca85f72ab93dae5a6e645748e5578fd0f Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Tue, 22 Dec 2015 22:07:06 +0000 -Subject: don't include c++ headers in C include search paths. - -* define a Haiku toolchain, and add c++ headers path. - -diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp -index 1e0a48d..f31b274 100644 ---- a/lib/Driver/Driver.cpp -+++ b/lib/Driver/Driver.cpp -@@ -2206,6 +2206,9 @@ const ToolChain &Driver::getToolChain(const ArgList &Args, - ToolChain *&TC = ToolChains[Target.str()]; - if (!TC) { - switch (Target.getOS()) { -+ case llvm::Triple::Haiku: -+ TC = new toolchains::Haiku(*this, Target, Args); -+ break; - case llvm::Triple::CloudABI: - TC = new toolchains::CloudABI(*this, Target, Args); - break; -diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp -index 99c7b8e..5e95668 100644 ---- a/lib/Driver/ToolChains.cpp -+++ b/lib/Driver/ToolChains.cpp -@@ -2971,6 +2971,34 @@ Tool *CloudABI::buildLinker() const { - return new tools::cloudabi::Linker(*this); - } - -+/// Haiku - Haiku tool chain which can call as(1) and ld(1) directly. -+ -+Haiku::Haiku(const Driver &D, const llvm::Triple& Triple, const ArgList &Args) -+ : Generic_ELF(D, Triple, Args) { -+ -+} -+ -+void Haiku::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, -+ ArgStringList &CC1Args) const { -+ if (DriverArgs.hasArg(options::OPT_nostdlibinc) || -+ DriverArgs.hasArg(options::OPT_nostdincxx)) -+ return; -+ -+ switch (GetCXXStdlibType(DriverArgs)) { -+ case ToolChain::CST_Libstdcxx: -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++"); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++/backward"); -+ -+ StringRef Triple = getTriple().str(); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/c++/" + -+ Triple); -+ break; -+ } -+} -+ - /// OpenBSD - OpenBSD tool chain which can call as(1) and ld(1) directly. - - OpenBSD::OpenBSD(const Driver &D, const llvm::Triple &Triple, -diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h -index f940e58..7b7125e 100644 ---- a/lib/Driver/ToolChains.h -+++ b/lib/Driver/ToolChains.h -@@ -667,6 +667,18 @@ private: - void findGccLibDir(); - }; - -+class LLVM_LIBRARY_VISIBILITY Haiku : public Generic_ELF { -+public: -+ Haiku(const Driver &D, const llvm::Triple &Triple, -+ const llvm::opt::ArgList &Args); -+ -+ bool isPIEDefault() const override { return getTriple().getArch() == llvm::Triple::x86_64; } -+ -+ void -+ AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs, -+ llvm::opt::ArgStringList &CC1Args) const override; -+}; -+ - class LLVM_LIBRARY_VISIBILITY OpenBSD : public Generic_ELF { - public: - OpenBSD(const Driver &D, const llvm::Triple &Triple, -diff --git a/lib/Frontend/InitHeaderSearch.cpp b/lib/Frontend/InitHeaderSearch.cpp -index 6066d2b..d8f0881 100644 ---- a/lib/Frontend/InitHeaderSearch.cpp -+++ b/lib/Frontend/InitHeaderSearch.cpp -@@ -295,8 +295,6 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - AddPath("/boot/system/develop/headers/os/be_apps/Deskbar", System, false); - AddPath("/boot/system/develop/headers/os/be_apps/NetPositive", System, false); - AddPath("/boot/system/develop/headers/os/be_apps/Tracker", System, false); -- AddPath("/boot/system/develop/headers/cpp", System, false); -- AddPath("/boot/system/develop/headers/cpp/i586-pc-haiku", System, false); - AddPath("/boot/system/develop/headers/3rdparty", System, false); - AddPath("/boot/system/develop/headers/bsd", System, false); - AddPath("/boot/system/develop/headers/glibc", System, false); --- -2.7.0 - - -From 005da8695c9e7213a48f44d78e81ae48b8d75d4a Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Thu, 14 Jan 2016 19:19:14 +0000 -Subject: add Haiku target info for x86_64 - - -diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp -index 9c6eaff..0dca18f 100644 ---- a/lib/Basic/Targets.cpp -+++ b/lib/Basic/Targets.cpp -@@ -373,6 +373,30 @@ public: - } - }; - -+// Haiku Target -+template -+class HaikuTargetInfo : public OSTargetInfo { -+protected: -+ void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, -+ MacroBuilder &Builder) const override { -+ // Haiku defines; list based off of gcc output -+ Builder.defineMacro("__HAIKU__"); -+ Builder.defineMacro("__ELF__"); -+ DefineStd(Builder, "unix", Opts); -+ } -+public: -+ HaikuTargetInfo(const llvm::Triple &Triple) -+ : OSTargetInfo(Triple) { -+ this->SizeType = TargetInfo::UnsignedLong; -+ this->IntPtrType = TargetInfo::SignedLong; -+ this->PtrDiffType = TargetInfo::SignedLong; -+ this->ProcessIDType = TargetInfo::SignedLong; -+ this->TLSSupported = false; -+ this->UserLabelPrefix = ""; -+ -+ } -+}; -+ - // Minix Target - template - class MinixTargetInfo : public OSTargetInfo { -@@ -3875,21 +3899,16 @@ public: - }; - - // x86-32 Haiku target --class HaikuX86_32TargetInfo : public X86_32TargetInfo { -+class HaikuX86_32TargetInfo : public HaikuTargetInfo { - public: -- HaikuX86_32TargetInfo(const llvm::Triple &Triple) : X86_32TargetInfo(Triple) { -- SizeType = UnsignedLong; -- IntPtrType = SignedLong; -- PtrDiffType = SignedLong; -- ProcessIDType = SignedLong; -- this->UserLabelPrefix = ""; -- this->TLSSupported = false; -+ HaikuX86_32TargetInfo(const llvm::Triple &Triple) -+ : HaikuTargetInfo(Triple) { - } -+ - void getTargetDefines(const LangOptions &Opts, - MacroBuilder &Builder) const override { -- X86_32TargetInfo::getTargetDefines(Opts, Builder); -+ HaikuTargetInfo::getTargetDefines(Opts, Builder); - Builder.defineMacro("__INTEL__"); -- Builder.defineMacro("__HAIKU__"); - } - }; - -@@ -7909,6 +7928,8 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { - return new MicrosoftX86_64TargetInfo(Triple); - } - } -+ case llvm::Triple::Haiku: -+ return new HaikuTargetInfo(Triple); - case llvm::Triple::NaCl: - return new NaClTargetInfo(Triple); - case llvm::Triple::PS4: --- -2.7.0 - - -From eb8c787ef742e36b3f9c1511b4b3a700fa73d9f4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= -Date: Mon, 18 Jul 2016 14:13:19 +0200 -Subject: support for secondary arch. - - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ad2ac42..7d06c55 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -511,6 +511,10 @@ endif() - if(CLANG_ENABLE_STATIC_ANALYZER) - add_definitions(-DCLANG_ENABLE_STATIC_ANALYZER) - endif() -+if(DEFINED HAIKU_HYBRID_SECONDARY) -+ add_definitions(-DHAIKU_HYBRID_SECONDARY=${HAIKU_HYBRID_SECONDARY}) -+endif() -+ - - # Clang version information - set(CLANG_EXECUTABLE_VERSION -diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp -index 5e95668..00cbca7 100644 ---- a/lib/Driver/ToolChains.cpp -+++ b/lib/Driver/ToolChains.cpp -@@ -2976,6 +2976,13 @@ Tool *CloudABI::buildLinker() const { - Haiku::Haiku(const Driver &D, const llvm::Triple& Triple, const ArgList &Args) - : Generic_ELF(D, Triple, Args) { - -+#ifdef HAIKU_HYBRID_SECONDARY -+ getProgramPaths().insert(getProgramPaths().begin(), getDriver().SysRoot -+ + "/system/bin/" HAIKU_HYBRID_SECONDARY); -+ getFilePaths().clear(); -+ getFilePaths().push_back(getDriver().SysRoot + "/system/lib/" -+ HAIKU_HYBRID_SECONDARY); -+#endif - } - - void Haiku::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, -@@ -2986,6 +2993,19 @@ void Haiku::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, - - switch (GetCXXStdlibType(DriverArgs)) { - case ToolChain::CST_Libstdcxx: -+#ifdef HAIKU_HYBRID_SECONDARY -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/" -+ HAIKU_HYBRID_SECONDARY "/c++"); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/" -+ HAIKU_HYBRID_SECONDARY "/c++/backward"); -+ -+ StringRef Triple = getTriple().str(); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/" -+ HAIKU_HYBRID_SECONDARY "/c++/" + Triple); -+#else - addSystemInclude(DriverArgs, CC1Args, - getDriver().SysRoot + "/system/develop/headers/c++"); - addSystemInclude(DriverArgs, CC1Args, -@@ -2995,6 +3015,7 @@ void Haiku::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, - addSystemInclude(DriverArgs, CC1Args, - getDriver().SysRoot + "/system/develop/headers/c++/" + - Triple); -+#endif - break; - } - } -diff --git a/lib/Frontend/InitHeaderSearch.cpp b/lib/Frontend/InitHeaderSearch.cpp -index d8f0881..ddb5157 100644 ---- a/lib/Frontend/InitHeaderSearch.cpp -+++ b/lib/Frontend/InitHeaderSearch.cpp -@@ -234,7 +234,20 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - if (HSOpts.UseBuiltinIncludes) { - // Ignore the sys root, we *always* look for clang headers relative to - // supplied path. -+#ifdef HAIKU_HYBRID_SECONDARY -+ // Remove version from foo/lib/clang/version -+ StringRef Ver = llvm::sys::path::filename(HSOpts.ResourceDir); -+ StringRef NoVer = llvm::sys::path::parent_path(HSOpts.ResourceDir); -+ // Remove clang from foo/lib/clang -+ StringRef Clang = llvm::sys::path::filename(NoVer); -+ SmallString<128> P = llvm::sys::path::parent_path(NoVer); -+ -+ // Get foo/include/c++/v1 -+ llvm::sys::path::append(P, HAIKU_HYBRID_SECONDARY, Clang, Ver); -+#else - SmallString<128> P = StringRef(HSOpts.ResourceDir); -+#endif -+ - llvm::sys::path::append(P, "include"); - AddUnmappedPath(P, ExternCSystem, false); - } -@@ -267,7 +280,12 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - } - - case llvm::Triple::Haiku: -+#ifdef HAIKU_HYBRID_SECONDARY -+ AddPath("/boot/system/non-packaged/develop/headers/" HAIKU_HYBRID_SECONDARY, -+ System, false); -+#else - AddPath("/boot/system/non-packaged/develop/headers", System, false); -+#endif - AddPath("/boot/system/develop/headers/os", System, false); - AddPath("/boot/system/develop/headers/os/app", System, false); - AddPath("/boot/system/develop/headers/os/arch", System, false); -@@ -299,6 +317,13 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - AddPath("/boot/system/develop/headers/bsd", System, false); - AddPath("/boot/system/develop/headers/glibc", System, false); - AddPath("/boot/system/develop/headers/posix", System, false); -+#ifdef HAIKU_HYBRID_SECONDARY -+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY, System, false); -+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY "/os", System, -+ false); -+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY "/os/opengl", -+ System, false); -+#endif - AddPath("/boot/system/develop/headers", System, false); - break; - case llvm::Triple::RTEMS: --- -2.7.0 - diff --git a/sys-devel/llvm/patches/clang-3.9.0.patchset b/sys-devel/llvm/patches/clang-3.9.0.patchset deleted file mode 100644 index ce0a8607b..000000000 --- a/sys-devel/llvm/patches/clang-3.9.0.patchset +++ /dev/null @@ -1,151 +0,0 @@ -From f67820d19fb6cd2077149cd749c62c48b7407300 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= -Date: Mon, 18 Jul 2016 14:13:19 +0200 -Subject: support for secondary arch. - - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cfcd221..5ae28fd 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -370,6 +370,10 @@ endif() - if(CLANG_ENABLE_STATIC_ANALYZER) - add_definitions(-DCLANG_ENABLE_STATIC_ANALYZER) - endif() -+if(DEFINED HAIKU_HYBRID_SECONDARY) -+ add_definitions(-DHAIKU_HYBRID_SECONDARY=${HAIKU_HYBRID_SECONDARY}) -+endif() -+ - - # Clang version information - set(CLANG_EXECUTABLE_VERSION -diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp -index 347aa29..8fc2b85 100644 ---- a/lib/Driver/ToolChains.cpp -+++ b/lib/Driver/ToolChains.cpp -@@ -3314,6 +3314,13 @@ SanitizerMask CloudABI::getDefaultSanitizers() const { - Haiku::Haiku(const Driver &D, const llvm::Triple& Triple, const ArgList &Args) - : Generic_ELF(D, Triple, Args) { - -+#ifdef HAIKU_HYBRID_SECONDARY -+ getProgramPaths().insert(getProgramPaths().begin(), getDriver().SysRoot -+ + "/system/bin/" HAIKU_HYBRID_SECONDARY); -+ getFilePaths().clear(); -+ getFilePaths().push_back(getDriver().SysRoot + "/system/lib/" -+ HAIKU_HYBRID_SECONDARY); -+#endif - } - - void Haiku::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, -@@ -3328,6 +3335,19 @@ void Haiku::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, - getDriver().SysRoot + "/system/develop/headers/c++/v1"); - break; - case ToolChain::CST_Libstdcxx: -+#ifdef HAIKU_HYBRID_SECONDARY -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/" -+ HAIKU_HYBRID_SECONDARY "/c++"); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/" -+ HAIKU_HYBRID_SECONDARY "/c++/backward"); -+ -+ StringRef Triple = getTriple().str(); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/" -+ HAIKU_HYBRID_SECONDARY "/c++/" + Triple); -+#else - addSystemInclude(DriverArgs, CC1Args, - getDriver().SysRoot + "/system/develop/headers/c++"); - addSystemInclude(DriverArgs, CC1Args, -@@ -3337,6 +3357,7 @@ void Haiku::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, - addSystemInclude(DriverArgs, CC1Args, - getDriver().SysRoot + "/system/develop/headers/c++/" + - Triple); -+#endif - break; - } - } -diff --git a/lib/Frontend/InitHeaderSearch.cpp b/lib/Frontend/InitHeaderSearch.cpp -index 1b5c760..48b3357 100644 ---- a/lib/Frontend/InitHeaderSearch.cpp -+++ b/lib/Frontend/InitHeaderSearch.cpp -@@ -234,7 +234,20 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - if (HSOpts.UseBuiltinIncludes) { - // Ignore the sys root, we *always* look for clang headers relative to - // supplied path. -+#ifdef HAIKU_HYBRID_SECONDARY -+ // Remove version from foo/lib/clang/version -+ StringRef Ver = llvm::sys::path::filename(HSOpts.ResourceDir); -+ StringRef NoVer = llvm::sys::path::parent_path(HSOpts.ResourceDir); -+ // Remove clang from foo/lib/clang -+ StringRef Clang = llvm::sys::path::filename(NoVer); -+ SmallString<128> P = llvm::sys::path::parent_path(NoVer); -+ -+ // Get foo/include/c++/v1 -+ llvm::sys::path::append(P, HAIKU_HYBRID_SECONDARY, Clang, Ver); -+#else - SmallString<128> P = StringRef(HSOpts.ResourceDir); -+#endif -+ - llvm::sys::path::append(P, "include"); - AddUnmappedPath(P, ExternCSystem, false); - } -@@ -267,7 +280,12 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - } - - case llvm::Triple::Haiku: -+#ifdef HAIKU_HYBRID_SECONDARY -+ AddPath("/boot/system/non-packaged/develop/headers/" HAIKU_HYBRID_SECONDARY, -+ System, false); -+#else - AddPath("/boot/system/non-packaged/develop/headers", System, false); -+#endif - AddPath("/boot/system/develop/headers/os", System, false); - AddPath("/boot/system/develop/headers/os/app", System, false); - AddPath("/boot/system/develop/headers/os/arch", System, false); -@@ -299,6 +317,13 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - AddPath("/boot/system/develop/headers/bsd", System, false); - AddPath("/boot/system/develop/headers/glibc", System, false); - AddPath("/boot/system/develop/headers/posix", System, false); -+#ifdef HAIKU_HYBRID_SECONDARY -+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY, System, false); -+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY "/os", System, -+ false); -+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY "/os/opengl", -+ System, false); -+#endif - AddPath("/boot/system/develop/headers", System, false); - break; - case llvm::Triple::RTEMS: --- -2.2.2 - - -From 224324a9fa29ffacbe31329790909bf16983abe2 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Thu, 7 Apr 2016 18:30:52 +0000 -Subject: add a test for haiku driver. - -* upstream wants a case for libcxx in ToolChains.cpp, so add it. - -diff --git a/test/Driver/haiku.c b/test/Driver/haiku.c -new file mode 100644 -index 0000000..9591739 ---- /dev/null -+++ b/test/Driver/haiku.c -@@ -0,0 +1,12 @@ -+// RUN: %clang -no-canonical-prefixes -target x86_64-unknown-haiku %s -### 2> %t.log -+// RUN: FileCheck --check-prefix=CHECK-X86_64 -input-file %t.log %s -+ -+// CHECK-X86_64: clang{{.*}}" "-cc1" "-triple" "x86_64-unknown-haiku" -+// CHECK-X86_64: gcc{{.*}}" "-o" "a.out" "{{.*}}.o" -+ -+// RUN: %clang -no-canonical-prefixes -target i586-pc-haiku %s -### 2> %t.log -+// RUN: FileCheck --check-prefix=CHECK-X86 -input-file %t.log %s -+ -+// CHECK-X86: clang{{.*}}" "-cc1" "-triple" "i586-pc-haiku" -+// CHECK-X86: gcc{{.*}}" "-o" "a.out" "{{.*}}.o" -+ --- -2.2.2 - diff --git a/sys-devel/llvm/patches/clang-3.9.1.patchset b/sys-devel/llvm/patches/clang-3.9.1.patchset deleted file mode 100644 index ce0a8607b..000000000 --- a/sys-devel/llvm/patches/clang-3.9.1.patchset +++ /dev/null @@ -1,151 +0,0 @@ -From f67820d19fb6cd2077149cd749c62c48b7407300 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= -Date: Mon, 18 Jul 2016 14:13:19 +0200 -Subject: support for secondary arch. - - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cfcd221..5ae28fd 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -370,6 +370,10 @@ endif() - if(CLANG_ENABLE_STATIC_ANALYZER) - add_definitions(-DCLANG_ENABLE_STATIC_ANALYZER) - endif() -+if(DEFINED HAIKU_HYBRID_SECONDARY) -+ add_definitions(-DHAIKU_HYBRID_SECONDARY=${HAIKU_HYBRID_SECONDARY}) -+endif() -+ - - # Clang version information - set(CLANG_EXECUTABLE_VERSION -diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp -index 347aa29..8fc2b85 100644 ---- a/lib/Driver/ToolChains.cpp -+++ b/lib/Driver/ToolChains.cpp -@@ -3314,6 +3314,13 @@ SanitizerMask CloudABI::getDefaultSanitizers() const { - Haiku::Haiku(const Driver &D, const llvm::Triple& Triple, const ArgList &Args) - : Generic_ELF(D, Triple, Args) { - -+#ifdef HAIKU_HYBRID_SECONDARY -+ getProgramPaths().insert(getProgramPaths().begin(), getDriver().SysRoot -+ + "/system/bin/" HAIKU_HYBRID_SECONDARY); -+ getFilePaths().clear(); -+ getFilePaths().push_back(getDriver().SysRoot + "/system/lib/" -+ HAIKU_HYBRID_SECONDARY); -+#endif - } - - void Haiku::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, -@@ -3328,6 +3335,19 @@ void Haiku::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, - getDriver().SysRoot + "/system/develop/headers/c++/v1"); - break; - case ToolChain::CST_Libstdcxx: -+#ifdef HAIKU_HYBRID_SECONDARY -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/" -+ HAIKU_HYBRID_SECONDARY "/c++"); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/" -+ HAIKU_HYBRID_SECONDARY "/c++/backward"); -+ -+ StringRef Triple = getTriple().str(); -+ addSystemInclude(DriverArgs, CC1Args, -+ getDriver().SysRoot + "/system/develop/headers/" -+ HAIKU_HYBRID_SECONDARY "/c++/" + Triple); -+#else - addSystemInclude(DriverArgs, CC1Args, - getDriver().SysRoot + "/system/develop/headers/c++"); - addSystemInclude(DriverArgs, CC1Args, -@@ -3337,6 +3357,7 @@ void Haiku::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, - addSystemInclude(DriverArgs, CC1Args, - getDriver().SysRoot + "/system/develop/headers/c++/" + - Triple); -+#endif - break; - } - } -diff --git a/lib/Frontend/InitHeaderSearch.cpp b/lib/Frontend/InitHeaderSearch.cpp -index 1b5c760..48b3357 100644 ---- a/lib/Frontend/InitHeaderSearch.cpp -+++ b/lib/Frontend/InitHeaderSearch.cpp -@@ -234,7 +234,20 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - if (HSOpts.UseBuiltinIncludes) { - // Ignore the sys root, we *always* look for clang headers relative to - // supplied path. -+#ifdef HAIKU_HYBRID_SECONDARY -+ // Remove version from foo/lib/clang/version -+ StringRef Ver = llvm::sys::path::filename(HSOpts.ResourceDir); -+ StringRef NoVer = llvm::sys::path::parent_path(HSOpts.ResourceDir); -+ // Remove clang from foo/lib/clang -+ StringRef Clang = llvm::sys::path::filename(NoVer); -+ SmallString<128> P = llvm::sys::path::parent_path(NoVer); -+ -+ // Get foo/include/c++/v1 -+ llvm::sys::path::append(P, HAIKU_HYBRID_SECONDARY, Clang, Ver); -+#else - SmallString<128> P = StringRef(HSOpts.ResourceDir); -+#endif -+ - llvm::sys::path::append(P, "include"); - AddUnmappedPath(P, ExternCSystem, false); - } -@@ -267,7 +280,12 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - } - - case llvm::Triple::Haiku: -+#ifdef HAIKU_HYBRID_SECONDARY -+ AddPath("/boot/system/non-packaged/develop/headers/" HAIKU_HYBRID_SECONDARY, -+ System, false); -+#else - AddPath("/boot/system/non-packaged/develop/headers", System, false); -+#endif - AddPath("/boot/system/develop/headers/os", System, false); - AddPath("/boot/system/develop/headers/os/app", System, false); - AddPath("/boot/system/develop/headers/os/arch", System, false); -@@ -299,6 +317,13 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - AddPath("/boot/system/develop/headers/bsd", System, false); - AddPath("/boot/system/develop/headers/glibc", System, false); - AddPath("/boot/system/develop/headers/posix", System, false); -+#ifdef HAIKU_HYBRID_SECONDARY -+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY, System, false); -+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY "/os", System, -+ false); -+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY "/os/opengl", -+ System, false); -+#endif - AddPath("/boot/system/develop/headers", System, false); - break; - case llvm::Triple::RTEMS: --- -2.2.2 - - -From 224324a9fa29ffacbe31329790909bf16983abe2 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Thu, 7 Apr 2016 18:30:52 +0000 -Subject: add a test for haiku driver. - -* upstream wants a case for libcxx in ToolChains.cpp, so add it. - -diff --git a/test/Driver/haiku.c b/test/Driver/haiku.c -new file mode 100644 -index 0000000..9591739 ---- /dev/null -+++ b/test/Driver/haiku.c -@@ -0,0 +1,12 @@ -+// RUN: %clang -no-canonical-prefixes -target x86_64-unknown-haiku %s -### 2> %t.log -+// RUN: FileCheck --check-prefix=CHECK-X86_64 -input-file %t.log %s -+ -+// CHECK-X86_64: clang{{.*}}" "-cc1" "-triple" "x86_64-unknown-haiku" -+// CHECK-X86_64: gcc{{.*}}" "-o" "a.out" "{{.*}}.o" -+ -+// RUN: %clang -no-canonical-prefixes -target i586-pc-haiku %s -### 2> %t.log -+// RUN: FileCheck --check-prefix=CHECK-X86 -input-file %t.log %s -+ -+// CHECK-X86: clang{{.*}}" "-cc1" "-triple" "i586-pc-haiku" -+// CHECK-X86: gcc{{.*}}" "-o" "a.out" "{{.*}}.o" -+ --- -2.2.2 - diff --git a/sys-devel/llvm/patches/clang-4.0.1.patchset b/sys-devel/llvm/patches/clang-4.0.1.patchset deleted file mode 100644 index 8f4f2dce0..000000000 --- a/sys-devel/llvm/patches/clang-4.0.1.patchset +++ /dev/null @@ -1,161 +0,0 @@ -From 61c5cccbbe786e6b3b6ca581232c28c4eaeaea98 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= -Date: Mon, 18 Jul 2016 14:13:19 +0200 -Subject: support for secondary arch. - -add a test for haiku driver. - -* upstream wants a case for libcxx in ToolChains.cpp, so add it. - -Enable thread-local storage and disable PIE by default - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ff1ff21..3739e5b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -392,6 +392,10 @@ endif() - if(CLANG_ENABLE_STATIC_ANALYZER) - add_definitions(-DCLANG_ENABLE_STATIC_ANALYZER) - endif() -+if(DEFINED HAIKU_HYBRID_SECONDARY) -+ add_definitions(-DHAIKU_HYBRID_SECONDARY=${HAIKU_HYBRID_SECONDARY}) -+endif() -+ - - # Clang version information - set(CLANG_EXECUTABLE_VERSION -diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp -index 445b412..dffeddb 100644 ---- a/lib/Basic/Targets.cpp -+++ b/lib/Basic/Targets.cpp -@@ -420,8 +420,6 @@ public: - this->IntPtrType = TargetInfo::SignedLong; - this->PtrDiffType = TargetInfo::SignedLong; - this->ProcessIDType = TargetInfo::SignedLong; -- this->TLSSupported = false; -- - } - }; - -diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp -index 9bc9ae4..3484367 100644 ---- a/lib/Driver/ToolChains.cpp -+++ b/lib/Driver/ToolChains.cpp -@@ -3592,6 +3592,13 @@ SanitizerMask CloudABI::getDefaultSanitizers() const { - Haiku::Haiku(const Driver &D, const llvm::Triple& Triple, const ArgList &Args) - : Generic_ELF(D, Triple, Args) { - -+#ifdef HAIKU_HYBRID_SECONDARY -+ getProgramPaths().insert(getProgramPaths().begin(), getDriver().SysRoot -+ + "/system/bin/" HAIKU_HYBRID_SECONDARY); -+ getFilePaths().clear(); -+ getFilePaths().push_back(getDriver().SysRoot + "/system/lib/" -+ HAIKU_HYBRID_SECONDARY); -+#endif - } - - std::string Haiku::findLibCxxIncludePath() const { -@@ -3600,8 +3607,14 @@ std::string Haiku::findLibCxxIncludePath() const { - - void Haiku::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const { -+#ifdef HAIKU_HYBRID_SECONDARY -+ addLibStdCXXIncludePaths(getDriver().SysRoot, "/system/develop/headers" -+ HAIKU_HYBRID_SECONDARY "/c++", getTriple().str(), "", "", "", -+ DriverArgs, CC1Args); -+#else - addLibStdCXXIncludePaths(getDriver().SysRoot, "/system/develop/headers/c++", -- getTriple().str(), "", "", "", DriverArgs, CC1Args); -+ getTriple().str(), "", "", "", DriverArgs, CC1Args); -+#endif - } - - /// OpenBSD - OpenBSD tool chain which can call as(1) and ld(1) directly. -diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h -index 3240357..bcd0f87 100644 ---- a/lib/Driver/ToolChains.h -+++ b/lib/Driver/ToolChains.h -@@ -736,9 +736,7 @@ public: - Haiku(const Driver &D, const llvm::Triple &Triple, - const llvm::opt::ArgList &Args); - -- bool isPIEDefault() const override { -- return getTriple().getArch() == llvm::Triple::x86_64; -- } -+ bool isPIEDefault() const override { return false; } - - std::string findLibCxxIncludePath() const override; - void addLibStdCxxIncludePaths( -diff --git a/lib/Frontend/InitHeaderSearch.cpp b/lib/Frontend/InitHeaderSearch.cpp -index d50fb6d..8c0a978 100644 ---- a/lib/Frontend/InitHeaderSearch.cpp -+++ b/lib/Frontend/InitHeaderSearch.cpp -@@ -233,7 +233,20 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - if (HSOpts.UseBuiltinIncludes) { - // Ignore the sys root, we *always* look for clang headers relative to - // supplied path. -+#ifdef HAIKU_HYBRID_SECONDARY -+ // Remove version from foo/lib/clang/version -+ StringRef Ver = llvm::sys::path::filename(HSOpts.ResourceDir); -+ StringRef NoVer = llvm::sys::path::parent_path(HSOpts.ResourceDir); -+ // Remove clang from foo/lib/clang -+ StringRef Clang = llvm::sys::path::filename(NoVer); -+ SmallString<128> P = llvm::sys::path::parent_path(NoVer); -+ -+ // Get foo/include/c++/v1 -+ llvm::sys::path::append(P, HAIKU_HYBRID_SECONDARY, Clang, Ver); -+#else - SmallString<128> P = StringRef(HSOpts.ResourceDir); -+#endif -+ - llvm::sys::path::append(P, "include"); - AddUnmappedPath(P, ExternCSystem, false); - } -@@ -266,7 +279,12 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - } - - case llvm::Triple::Haiku: -+#ifdef HAIKU_HYBRID_SECONDARY -+ AddPath("/boot/system/non-packaged/develop/headers/" HAIKU_HYBRID_SECONDARY, -+ System, false); -+#else - AddPath("/boot/system/non-packaged/develop/headers", System, false); -+#endif - AddPath("/boot/system/develop/headers/os", System, false); - AddPath("/boot/system/develop/headers/os/app", System, false); - AddPath("/boot/system/develop/headers/os/arch", System, false); -@@ -298,6 +316,13 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - AddPath("/boot/system/develop/headers/bsd", System, false); - AddPath("/boot/system/develop/headers/glibc", System, false); - AddPath("/boot/system/develop/headers/posix", System, false); -+#ifdef HAIKU_HYBRID_SECONDARY -+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY, System, false); -+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY "/os", System, -+ false); -+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY "/os/opengl", -+ System, false); -+#endif - AddPath("/boot/system/develop/headers", System, false); - break; - case llvm::Triple::RTEMS: -diff --git a/test/Driver/haiku.c b/test/Driver/haiku.c -new file mode 100644 -index 0000000..9591739 ---- /dev/null -+++ b/test/Driver/haiku.c -@@ -0,0 +1,12 @@ -+// RUN: %clang -no-canonical-prefixes -target x86_64-unknown-haiku %s -### 2> %t.log -+// RUN: FileCheck --check-prefix=CHECK-X86_64 -input-file %t.log %s -+ -+// CHECK-X86_64: clang{{.*}}" "-cc1" "-triple" "x86_64-unknown-haiku" -+// CHECK-X86_64: gcc{{.*}}" "-o" "a.out" "{{.*}}.o" -+ -+// RUN: %clang -no-canonical-prefixes -target i586-pc-haiku %s -### 2> %t.log -+// RUN: FileCheck --check-prefix=CHECK-X86 -input-file %t.log %s -+ -+// CHECK-X86: clang{{.*}}" "-cc1" "-triple" "i586-pc-haiku" -+// CHECK-X86: gcc{{.*}}" "-o" "a.out" "{{.*}}.o" -+ --- -2.12.2 - diff --git a/sys-devel/llvm/patches/clang-6.0.0~git.patchset b/sys-devel/llvm/patches/clang-6.0.0~git.patchset deleted file mode 100644 index e06e9d00c..000000000 --- a/sys-devel/llvm/patches/clang-6.0.0~git.patchset +++ /dev/null @@ -1,174 +0,0 @@ -From ddcd2987576bee7b9804c169d7d928c583b66e5d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= -Date: Mon, 18 Jul 2016 14:13:19 +0200 -Subject: support for secondary arch. - - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b55c64d..73788af 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -384,6 +384,10 @@ option(CLANG_ENABLE_PROTO_FUZZER "Build Clang protobuf fuzzer." OFF) - if(NOT CLANG_ENABLE_STATIC_ANALYZER AND (CLANG_ENABLE_ARCMT OR CLANG_ANALYZER_BUILD_Z3)) - message(FATAL_ERROR "Cannot disable static analyzer while enabling ARCMT or Z3") - endif() -+if(DEFINED HAIKU_HYBRID_SECONDARY) -+ add_definitions(-DHAIKU_HYBRID_SECONDARY=${HAIKU_HYBRID_SECONDARY}) -+endif() -+ - - if(CLANG_ANALYZER_BUILD_Z3) - find_package(Z3 4.5) -diff --git a/lib/Driver/ToolChains/Haiku.cpp b/lib/Driver/ToolChains/Haiku.cpp -index 284d269..3a816aa 100644 ---- a/lib/Driver/ToolChains/Haiku.cpp -+++ b/lib/Driver/ToolChains/Haiku.cpp -@@ -20,6 +20,13 @@ using namespace llvm::opt; - Haiku::Haiku(const Driver &D, const llvm::Triple& Triple, const ArgList &Args) - : Generic_ELF(D, Triple, Args) { - -+#ifdef HAIKU_HYBRID_SECONDARY -+ getProgramPaths().insert(getProgramPaths().begin(), getDriver().SysRoot -+ + "/system/bin/" HAIKU_HYBRID_SECONDARY); -+ getFilePaths().clear(); -+ getFilePaths().push_back(getDriver().SysRoot + "/system/lib/" -+ HAIKU_HYBRID_SECONDARY); -+#endif - } - - std::string Haiku::findLibCxxIncludePath() const { -@@ -28,6 +35,12 @@ std::string Haiku::findLibCxxIncludePath() const { - - void Haiku::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const { -+#ifdef HAIKU_HYBRID_SECONDARY -+ addLibStdCXXIncludePaths(getDriver().SysRoot, "/system/develop/headers" -+ HAIKU_HYBRID_SECONDARY "/c++", getTriple().str(), "", "", "", -+ DriverArgs, CC1Args); -+#else - addLibStdCXXIncludePaths(getDriver().SysRoot, "/system/develop/headers/c++", -- getTriple().str(), "", "", "", DriverArgs, CC1Args); -+ getTriple().str(), "", "", "", DriverArgs, CC1Args); -+#endif - } -diff --git a/lib/Frontend/InitHeaderSearch.cpp b/lib/Frontend/InitHeaderSearch.cpp -index d0b4e45..91ebebd 100644 ---- a/lib/Frontend/InitHeaderSearch.cpp -+++ b/lib/Frontend/InitHeaderSearch.cpp -@@ -233,7 +233,20 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - if (HSOpts.UseBuiltinIncludes) { - // Ignore the sys root, we *always* look for clang headers relative to - // supplied path. -+#ifdef HAIKU_HYBRID_SECONDARY -+ // Remove version from foo/lib/clang/version -+ StringRef Ver = llvm::sys::path::filename(HSOpts.ResourceDir); -+ StringRef NoVer = llvm::sys::path::parent_path(HSOpts.ResourceDir); -+ // Remove clang from foo/lib/clang -+ StringRef Clang = llvm::sys::path::filename(NoVer); -+ SmallString<128> P = llvm::sys::path::parent_path(NoVer); -+ -+ // Get foo/include/c++/v1 -+ llvm::sys::path::append(P, HAIKU_HYBRID_SECONDARY, Clang, Ver); -+#else - SmallString<128> P = StringRef(HSOpts.ResourceDir); -+#endif -+ - llvm::sys::path::append(P, "include"); - AddUnmappedPath(P, ExternCSystem, false); - } -@@ -266,7 +279,12 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - } - - case llvm::Triple::Haiku: -+#ifdef HAIKU_HYBRID_SECONDARY -+ AddPath("/boot/system/non-packaged/develop/headers/" HAIKU_HYBRID_SECONDARY, -+ System, false); -+#else - AddPath("/boot/system/non-packaged/develop/headers", System, false); -+#endif - AddPath("/boot/system/develop/headers/os", System, false); - AddPath("/boot/system/develop/headers/os/app", System, false); - AddPath("/boot/system/develop/headers/os/arch", System, false); -@@ -298,6 +316,13 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, - AddPath("/boot/system/develop/headers/bsd", System, false); - AddPath("/boot/system/develop/headers/glibc", System, false); - AddPath("/boot/system/develop/headers/posix", System, false); -+#ifdef HAIKU_HYBRID_SECONDARY -+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY, System, false); -+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY "/os", System, -+ false); -+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY "/os/opengl", -+ System, false); -+#endif - AddPath("/boot/system/develop/headers", System, false); - break; - case llvm::Triple::RTEMS: --- -2.13.1 - - -From 08d1b5203f9c0b8e07ec694c8f839f9f73662233 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Thu, 7 Apr 2016 18:30:52 +0000 -Subject: add a test for haiku driver. - -* upstream wants a case for libcxx in ToolChains.cpp, so add it. - -diff --git a/test/Driver/haiku.c b/test/Driver/haiku.c -new file mode 100644 -index 0000000..9591739 ---- /dev/null -+++ b/test/Driver/haiku.c -@@ -0,0 +1,12 @@ -+// RUN: %clang -no-canonical-prefixes -target x86_64-unknown-haiku %s -### 2> %t.log -+// RUN: FileCheck --check-prefix=CHECK-X86_64 -input-file %t.log %s -+ -+// CHECK-X86_64: clang{{.*}}" "-cc1" "-triple" "x86_64-unknown-haiku" -+// CHECK-X86_64: gcc{{.*}}" "-o" "a.out" "{{.*}}.o" -+ -+// RUN: %clang -no-canonical-prefixes -target i586-pc-haiku %s -### 2> %t.log -+// RUN: FileCheck --check-prefix=CHECK-X86 -input-file %t.log %s -+ -+// CHECK-X86: clang{{.*}}" "-cc1" "-triple" "i586-pc-haiku" -+// CHECK-X86: gcc{{.*}}" "-o" "a.out" "{{.*}}.o" -+ --- -2.13.1 - - -From e4614aa2cf4d49fe4486a0ba8533f0d2b827b7ab Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= -Date: Mon, 18 Jul 2016 14:13:19 +0200 -Subject: Enable thread-local storage and disable PIE by default - - -diff --git a/lib/Basic/Targets/OSTargets.h b/lib/Basic/Targets/OSTargets.h -index ca84a87..d5c0b63 100644 ---- a/lib/Basic/Targets/OSTargets.h -+++ b/lib/Basic/Targets/OSTargets.h -@@ -260,7 +260,6 @@ public: - this->IntPtrType = TargetInfo::SignedLong; - this->PtrDiffType = TargetInfo::SignedLong; - this->ProcessIDType = TargetInfo::SignedLong; -- this->TLSSupported = false; - } - }; - -diff --git a/lib/Driver/ToolChains/Haiku.h b/lib/Driver/ToolChains/Haiku.h -index 8b5b48e..ccd851f 100644 ---- a/lib/Driver/ToolChains/Haiku.h -+++ b/lib/Driver/ToolChains/Haiku.h -@@ -23,9 +23,7 @@ public: - Haiku(const Driver &D, const llvm::Triple &Triple, - const llvm::opt::ArgList &Args); - -- bool isPIEDefault() const override { -- return getTriple().getArch() == llvm::Triple::x86_64; -- } -+ bool isPIEDefault() const override { return false; } - - std::string findLibCxxIncludePath() const override; - void addLibStdCxxIncludePaths( --- -2.13.1 - diff --git a/sys-devel/llvm/patches/llvm-3.4.1.patchset b/sys-devel/llvm/patches/llvm-3.4.1.patchset deleted file mode 100644 index 58bb71623..000000000 --- a/sys-devel/llvm/patches/llvm-3.4.1.patchset +++ /dev/null @@ -1,48 +0,0 @@ -From 8bf543218812e2419f65ac444edbb2d86bad1708 Mon Sep 17 00:00:00 2001 -From: Alexander von Gluck IV -Date: Wed, 22 Jan 2014 05:04:31 +0000 -Subject: haiku: fix Host.h for endian.h - - -diff --git a/include/llvm/Support/Host.h b/include/llvm/Support/Host.h -index 28c4cc7..ab985a4 100644 ---- a/include/llvm/Support/Host.h -+++ b/include/llvm/Support/Host.h -@@ -16,7 +16,7 @@ - - #include "llvm/ADT/StringMap.h" - --#if defined(__linux__) || defined(__GNU__) -+#if defined(__linux__) || defined(__GNU__) || defined(__HAIKU__) - #include - #else - #if !defined(BYTE_ORDER) && !defined(LLVM_ON_WIN32) --- -1.8.3.4 - - -From 64d6eca1a47b91ff89fc41d8f4eb20b64a0e68d6 Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Wed, 18 Jun 2014 15:32:09 +0000 -Subject: llvm: add a soname to libLTO. - -This makes PrepareInstalledDevelLib happy. - -diff --git a/tools/lto/Makefile b/tools/lto/Makefile -index cedbee1..5ce530d 100644 ---- a/tools/lto/Makefile -+++ b/tools/lto/Makefile -@@ -22,6 +22,10 @@ ifdef LLVM_VERSION_INFO - CXX.Flags += -DLLVM_VERSION_INFO='"$(LLVM_VERSION_INFO)"' - endif - -+ifeq ($(HOST_OS),Haiku) -+ LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-soname=$(SharedPrefix)LTO$(SHLIBEXT) -+endif -+ - ifeq ($(HOST_OS),Darwin) - # Special hack to allow libLTO to have an offset version number. - ifdef LLVM_LTO_VERSION_OFFSET --- -1.8.3.4 - diff --git a/sys-devel/llvm/patches/llvm-3.4.2.patchset b/sys-devel/llvm/patches/llvm-3.4.2.patchset deleted file mode 100644 index d68cbc312..000000000 --- a/sys-devel/llvm/patches/llvm-3.4.2.patchset +++ /dev/null @@ -1,437 +0,0 @@ -From 4b015738184f2746c282c02b45c5f0a3747d1fa6 Mon Sep 17 00:00:00 2001 -From: Alexander von Gluck IV -Date: Wed, 22 Jan 2014 05:04:31 +0000 -Subject: haiku: fix Host.h for endian.h - - -diff --git a/include/llvm/Support/Host.h b/include/llvm/Support/Host.h -index 28c4cc7..ab985a4 100644 ---- a/include/llvm/Support/Host.h -+++ b/include/llvm/Support/Host.h -@@ -16,7 +16,7 @@ - - #include "llvm/ADT/StringMap.h" - --#if defined(__linux__) || defined(__GNU__) -+#if defined(__linux__) || defined(__GNU__) || defined(__HAIKU__) - #include - #else - #if !defined(BYTE_ORDER) && !defined(LLVM_ON_WIN32) --- -2.2.2 - - -From a2db9ce7f1e6645c3034551aa38391ec0fb11d0a Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Wed, 18 Jun 2014 15:32:09 +0000 -Subject: llvm: add a soname to libLTO. - -This makes PrepareInstalledDevelLib happy. - -diff --git a/tools/lto/Makefile b/tools/lto/Makefile -index cedbee1..5ce530d 100644 ---- a/tools/lto/Makefile -+++ b/tools/lto/Makefile -@@ -22,6 +22,10 @@ ifdef LLVM_VERSION_INFO - CXX.Flags += -DLLVM_VERSION_INFO='"$(LLVM_VERSION_INFO)"' - endif - -+ifeq ($(HOST_OS),Haiku) -+ LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-soname=$(SharedPrefix)LTO$(SHLIBEXT) -+endif -+ - ifeq ($(HOST_OS),Darwin) - # Special hack to allow libLTO to have an offset version number. - ifdef LLVM_LTO_VERSION_OFFSET --- -2.2.2 - - -From 7a01e9f8b6141494e7ba36b9600f36c443526e33 Mon Sep 17 00:00:00 2001 -From: Jessica Hamilton -Date: Sat, 9 May 2015 13:50:54 +1200 -Subject: Haiku: Use PROJ_libdir when embedding RPATH. - -* With Haiku packages, PROJ_libdir will be a - path local to the package itself, so we - don't need a path relative to $ORIGIN, which - can break with our hybrid installations. - -diff --git a/Makefile.rules b/Makefile.rules -index fde77f9..542b631 100644 ---- a/Makefile.rules -+++ b/Makefile.rules -@@ -578,7 +578,7 @@ ifeq ($(TARGET_OS),Darwin) - endif - - ifdef SHARED_LIBRARY --ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW)) -+ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW Haiku)) - ifneq ($(HOST_OS),Darwin) - LD.Flags += $(RPATH) -Wl,'$$ORIGIN' - endif -@@ -615,7 +615,11 @@ ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW)) - endif - ifneq ($(HOST_OS), Darwin) - ifdef TOOLNAME -- LD.Flags += $(RPATH) -Wl,'$$ORIGIN/../lib' -+ ifneq ($(HOST_OS), Haiku) -+ LD.Flags += $(RPATH) -Wl,'$$ORIGIN/../lib' -+ else -+ LD.Flags += $(RPATH) -Wl,${PROJ_libdir} -+ endif - endif - else - ifneq ($(DARWIN_MAJVERS),4) --- -2.2.2 - - -From 866845211a56ab1c5748713d151d7fb99c028270 Mon Sep 17 00:00:00 2001 -From: Jessica Hamilton -Date: Sat, 9 May 2015 17:21:33 +1200 -Subject: Haiku: Use configured paths, rather than hardcoding them. - -* Also updates llvm-config to use the configured paths. -* Updates libtool.m4 to use the FindPath API for locating - the runtime library paths for the correct architecture. - -diff --git a/autoconf/configure.ac b/autoconf/configure.ac -index fcf5e3b..5b0a74b 100644 ---- a/autoconf/configure.ac -+++ b/autoconf/configure.ac -@@ -1808,13 +1808,14 @@ if test "${prefix}" = "NONE" ; then - prefix="/usr/local" - fi - eval LLVM_PREFIX="${prefix}"; --eval LLVM_BINDIR="${prefix}/bin"; --eval LLVM_DATADIR="${prefix}/share/llvm"; --eval LLVM_DOCSDIR="${prefix}/share/doc/llvm"; --eval LLVM_ETCDIR="${prefix}/etc/llvm"; --eval LLVM_INCLUDEDIR="${prefix}/include"; --eval LLVM_INFODIR="${prefix}/info"; --eval LLVM_MANDIR="${prefix}/man"; -+eval LLVM_BINDIR="${bindir}"; -+eval LLVM_DATADIR="${datadir}/llvm"; -+eval LLVM_DOCSDIR="${docdir}"; -+eval LLVM_ETCDIR="${sysconfdir}/llvm"; -+eval LLVM_INCLUDEDIR="${includedir}"; -+eval LLVM_INFODIR="${infodir}"; -+eval LLVM_LIBDIR="${libdir}"; -+eval LLVM_MANDIR="${mandir}"; - LLVM_CONFIGTIME=`date` - AC_SUBST(LLVM_PREFIX) - AC_SUBST(LLVM_BINDIR) -@@ -1823,6 +1824,7 @@ AC_SUBST(LLVM_DOCSDIR) - AC_SUBST(LLVM_ETCDIR) - AC_SUBST(LLVM_INCLUDEDIR) - AC_SUBST(LLVM_INFODIR) -+AC_SUBST(LLVM_LIBDIR) - AC_SUBST(LLVM_MANDIR) - AC_SUBST(LLVM_CONFIGTIME) - -@@ -1847,6 +1849,8 @@ AC_DEFINE_UNQUOTED(LLVM_INCLUDEDIR, "$LLVM_INCLUDEDIR", - [Installation directory for include files]) - AC_DEFINE_UNQUOTED(LLVM_INFODIR, "$LLVM_INFODIR", - [Installation directory for .info files]) -+AC_DEFINE_UNQUOTED(LLVM_LIBDIR, "$LLVM_LIBDIR", -+ [Installation directory for library files]) - AC_DEFINE_UNQUOTED(LLVM_MANDIR, "$LLVM_MANDIR", - [Installation directory for man pages]) - AC_DEFINE_UNQUOTED(LLVM_CONFIGTIME, "$LLVM_CONFIGTIME", -diff --git a/autoconf/m4/libtool.m4 b/autoconf/m4/libtool.m4 -index 385d00b..6116201 100644 ---- a/autoconf/m4/libtool.m4 -+++ b/autoconf/m4/libtool.m4 -@@ -1454,6 +1454,14 @@ gnu*) - hardcode_into_libs=yes - ;; - -+haiku*) -+ library_names_spec='${libname}${shared_ext}' -+ dynamic_linker="$host_os ld.so" -+ shlibpath_var=LIBRARY_PATH -+ haiku_arch=`getarch` -+ sys_lib_dlsearch_path_spec="`findpaths -a ${haiku_arch} -c ' ' B_FIND_PATH_LIB_DIRECTORY`" -+ ;; -+ - hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. -diff --git a/configure b/configure -index 17b958c..aff513d 100755 ---- a/configure -+++ b/configure -@@ -795,6 +795,7 @@ LLVM_DOCSDIR - LLVM_ETCDIR - LLVM_INCLUDEDIR - LLVM_INFODIR -+LLVM_LIBDIR - LLVM_MANDIR - LLVM_CONFIGTIME - BINDINGS_TO_BUILD -@@ -9139,6 +9140,14 @@ gnu*) - hardcode_into_libs=yes - ;; - -+haiku*) -+ library_names_spec='${libname}${shared_ext}' -+ dynamic_linker="$host_os ld.so" -+ shlibpath_var=LIBRARY_PATH -+ haiku_arch=`getarch` -+ sys_lib_dlsearch_path_spec="`findpaths -a ${haiku_arch} -c ' ' B_FIND_PATH_LIB_DIRECTORY`" -+ ;; -+ - hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. -@@ -22048,13 +22057,14 @@ if test "${prefix}" = "NONE" ; then - prefix="/usr/local" - fi - eval LLVM_PREFIX="${prefix}"; --eval LLVM_BINDIR="${prefix}/bin"; --eval LLVM_DATADIR="${prefix}/share/llvm"; --eval LLVM_DOCSDIR="${prefix}/share/doc/llvm"; --eval LLVM_ETCDIR="${prefix}/etc/llvm"; --eval LLVM_INCLUDEDIR="${prefix}/include"; --eval LLVM_INFODIR="${prefix}/info"; --eval LLVM_MANDIR="${prefix}/man"; -+eval LLVM_BINDIR="${bindir}"; -+eval LLVM_DATADIR="${datadir}/llvm"; -+eval LLVM_DOCSDIR="${docdir}"; -+eval LLVM_ETCDIR="${sysconfdir}/llvm"; -+eval LLVM_INCLUDEDIR="${includedir}"; -+eval LLVM_LIBDIR="${libdir}"; -+eval LLVM_INFODIR="${infodir}"; -+eval LLVM_MANDIR="${mandir}"; - LLVM_CONFIGTIME=`date` - - -@@ -22107,6 +22117,11 @@ _ACEOF - - - cat >>confdefs.h <<_ACEOF -+#define LLVM_LIBDIR "$LLVM_LIBDIR" -+_ACEOF -+ -+ -+cat >>confdefs.h <<_ACEOF - #define LLVM_MANDIR "$LLVM_MANDIR" - _ACEOF - -@@ -23257,10 +23272,11 @@ LLVM_DOCSDIR!$LLVM_DOCSDIR$ac_delim - LLVM_ETCDIR!$LLVM_ETCDIR$ac_delim - LLVM_INCLUDEDIR!$LLVM_INCLUDEDIR$ac_delim - LLVM_INFODIR!$LLVM_INFODIR$ac_delim -+LLVM_LIBDIR!$LLVM_LIBDIR$ac_delim - LLVM_MANDIR!$LLVM_MANDIR$ac_delim - _ACEOF - -- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then -+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 98; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -diff --git a/include/llvm/Config/config.h.cmake b/include/llvm/Config/config.h.cmake -index 5c72ad8..642a2ea 100644 ---- a/include/llvm/Config/config.h.cmake -+++ b/include/llvm/Config/config.h.cmake -@@ -531,6 +531,9 @@ - /* Installation directory for .info files */ - #cmakedefine LLVM_INFODIR "${LLVM_INFODIR}" - -+/* Installation directory for library files */ -+#cmakedefine LLVM_LIBDIR "${LLVM_LIBDIR}" -+ - /* Installation directory for man pages */ - #cmakedefine LLVM_MANDIR "${LLVM_MANDIR}" - -diff --git a/include/llvm/Config/config.h.in b/include/llvm/Config/config.h.in -index 2317823..f0cc2f4 100644 ---- a/include/llvm/Config/config.h.in -+++ b/include/llvm/Config/config.h.in -@@ -566,6 +566,9 @@ - /* Installation directory for .info files */ - #undef LLVM_INFODIR - -+/* Installation directory library files */ -+#undef LLVM_LIBDIR -+ - /* Installation directory for man pages */ - #undef LLVM_MANDIR - -diff --git a/include/llvm/Config/llvm-config.h.cmake b/include/llvm/Config/llvm-config.h.cmake -index 80616ef..9b88a6a 100644 ---- a/include/llvm/Config/llvm-config.h.cmake -+++ b/include/llvm/Config/llvm-config.h.cmake -@@ -49,6 +49,9 @@ - /* Installation directory for .info files */ - #cmakedefine LLVM_INFODIR "${LLVM_INFODIR}" - -+/* Installation directory for library files */ -+#cmakedefine LLVM_LIBDIR "${LLVM_LIBDIR}" -+ - /* Installation directory for man pages */ - #cmakedefine LLVM_MANDIR "${LLVM_MANDIR}" - -diff --git a/include/llvm/Config/llvm-config.h.in b/include/llvm/Config/llvm-config.h.in -index a4fae55..e2598f8 100644 ---- a/include/llvm/Config/llvm-config.h.in -+++ b/include/llvm/Config/llvm-config.h.in -@@ -49,6 +49,9 @@ - /* Installation directory for .info files */ - #undef LLVM_INFODIR - -+/* Installation directory for library files */ -+#undef LLVM_LIBDIR -+ - /* Installation directory for man pages */ - #undef LLVM_MANDIR - -diff --git a/projects/sample/autoconf/configure.ac b/projects/sample/autoconf/configure.ac -index 03cd214..f3455e7 100644 ---- a/projects/sample/autoconf/configure.ac -+++ b/projects/sample/autoconf/configure.ac -@@ -1412,13 +1412,14 @@ if test "${prefix}" = "NONE" ; then - prefix="/usr/local" - fi - eval LLVM_PREFIX="${prefix}"; --eval LLVM_BINDIR="${prefix}/bin"; --eval LLVM_DATADIR="${prefix}/share/llvm"; --eval LLVM_DOCSDIR="${prefix}/share/doc/llvm"; --eval LLVM_ETCDIR="${prefix}/etc/llvm"; --eval LLVM_INCLUDEDIR="${prefix}/include"; --eval LLVM_INFODIR="${prefix}/info"; --eval LLVM_MANDIR="${prefix}/man"; -+eval LLVM_BINDIR="${bindir}"; -+eval LLVM_DATADIR="${datadir}/llvm"; -+eval LLVM_DOCSDIR="${docdir}"; -+eval LLVM_ETCDIR="${sysconfdir}/llvm"; -+eval LLVM_INCLUDEDIR="${includedir}"; -+eval LLVM_INFODIR="${infodir}"; -+eval LLVM_LIBDIR="${libdir}"; -+eval LLVM_MANDIR="${mandir}"; - LLVM_CONFIGTIME=`date` - AC_SUBST(LLVM_PREFIX) - AC_SUBST(LLVM_BINDIR) -@@ -1427,6 +1428,7 @@ AC_SUBST(LLVM_DOCSDIR) - AC_SUBST(LLVM_ETCDIR) - AC_SUBST(LLVM_INCLUDEDIR) - AC_SUBST(LLVM_INFODIR) -+AC_SUBST(LLVM_LIBDIR) - AC_SUBST(LLVM_MANDIR) - AC_SUBST(LLVM_CONFIGTIME) - -@@ -1446,6 +1448,8 @@ AC_DEFINE_UNQUOTED(LLVM_INCLUDEDIR, "$LLVM_INCLUDEDIR", - [Installation directory for include files]) - AC_DEFINE_UNQUOTED(LLVM_INFODIR, "$LLVM_INFODIR", - [Installation directory for .info files]) -+AC_DEFINE_UNQUOTED(LLVM_LIBDIR, "$LLVM_LIBDIR", -+ [Installation directory for library files]) - AC_DEFINE_UNQUOTED(LLVM_MANDIR, "$LLVM_MANDIR", - [Installation directory for man pages]) - AC_DEFINE_UNQUOTED(LLVM_CONFIGTIME, "$LLVM_CONFIGTIME", -diff --git a/projects/sample/autoconf/m4/libtool.m4 b/projects/sample/autoconf/m4/libtool.m4 -index b8bd4b8..e504b05 100644 ---- a/projects/sample/autoconf/m4/libtool.m4 -+++ b/projects/sample/autoconf/m4/libtool.m4 -@@ -1454,6 +1454,14 @@ gnu*) - hardcode_into_libs=yes - ;; - -+haiku*) -+ library_names_spec='${libname}${shared_ext}' -+ dynamic_linker="$host_os ld.so" -+ shlibpath_var=LIBRARY_PATH -+ haiku_arch=`getarch` -+ sys_lib_dlsearch_path_spec="`findpaths -a ${haiku_arch} -c ' ' B_FIND_PATH_LIB_DIRECTORY`" -+ ;; -+ - hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. -diff --git a/projects/sample/configure b/projects/sample/configure -index bc04c96..b511655 100755 ---- a/projects/sample/configure -+++ b/projects/sample/configure -@@ -779,6 +779,7 @@ LLVM_DOCSDIR - LLVM_ETCDIR - LLVM_INCLUDEDIR - LLVM_INFODIR -+LLVM_LIBDIR - LLVM_MANDIR - LLVM_CONFIGTIME - BINDINGS_TO_BUILD -@@ -8916,6 +8917,14 @@ gnu*) - hardcode_into_libs=yes - ;; - -+haiku*) -+ library_names_spec='${libname}${shared_ext}' -+ dynamic_linker="$host_os ld.so" -+ shlibpath_var=LIBRARY_PATH -+ haiku_arch=`getarch` -+ sys_lib_dlsearch_path_spec="`findpaths -a ${haiku_arch} -c ' ' B_FIND_PATH_LIB_DIRECTORY`" -+ ;; -+ - hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. -@@ -21281,6 +21290,7 @@ eval LLVM_DOCSDIR="${prefix}/share/doc/llvm"; - eval LLVM_ETCDIR="${prefix}/etc/llvm"; - eval LLVM_INCLUDEDIR="${prefix}/include"; - eval LLVM_INFODIR="${prefix}/info"; -+eval LLVM_LIBDIR="${prefix}/lib"; - eval LLVM_MANDIR="${prefix}/man"; - LLVM_CONFIGTIME=`date` - -@@ -21332,6 +21342,11 @@ _ACEOF - - - cat >>confdefs.h <<_ACEOF -+#define LLVM_LIBDIR "$LLVM_LIBDIR" -+_ACEOF -+ -+ -+cat >>confdefs.h <<_ACEOF - #define LLVM_MANDIR "$LLVM_MANDIR" - _ACEOF - -@@ -22400,6 +22415,7 @@ LLVM_DOCSDIR!$LLVM_DOCSDIR$ac_delim - LLVM_ETCDIR!$LLVM_ETCDIR$ac_delim - LLVM_INCLUDEDIR!$LLVM_INCLUDEDIR$ac_delim - LLVM_INFODIR!$LLVM_INFODIR$ac_delim -+LLVM_LIBDIR!$LLVM_LIBDIR$ac_delim - LLVM_MANDIR!$LLVM_MANDIR$ac_delim - LLVM_CONFIGTIME!$LLVM_CONFIGTIME$ac_delim - BINDINGS_TO_BUILD!$BINDINGS_TO_BUILD$ac_delim -@@ -22412,7 +22428,7 @@ LIBOBJS!$LIBOBJS$ac_delim - LTLIBOBJS!$LTLIBOBJS$ac_delim - _ACEOF - -- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 92; then -+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 93; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index 3924e2e..dc69158 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -252,6 +252,13 @@ int main(int argc, char **argv) { - ActiveBinDir = ActivePrefix + "/bin"; - ActiveLibDir = ActivePrefix + "/lib"; - ActiveIncludeOption = "-I" + ActiveIncludeDir; -+ #if defined(LLVM_PREFIX) && defined(LLVM_INCLUDEDIR) && defined(LLVM_BINDIR) && defined(LLVM_LIBDIR) -+ ActivePrefix = LLVM_PREFIX; -+ ActiveIncludeDir = LLVM_INCLUDEDIR; -+ ActiveBinDir = LLVM_BINDIR; -+ ActiveLibDir = LLVM_LIBDIR; -+ ActiveIncludeOption = "-I" + std::string(LLVM_INCLUDEDIR); -+ #endif - } - - raw_ostream &OS = outs(); --- -2.2.2 - diff --git a/sys-devel/llvm/patches/llvm-3.4.patchset b/sys-devel/llvm/patches/llvm-3.4.patchset deleted file mode 100644 index 9f14d94d8..000000000 --- a/sys-devel/llvm/patches/llvm-3.4.patchset +++ /dev/null @@ -1,25 +0,0 @@ -From 744634aa845c403f5a39b8257bbacd36dc1dd351 Mon Sep 17 00:00:00 2001 -From: Alexander von Gluck IV -Date: Wed, 22 Jan 2014 05:04:31 +0000 -Subject: [PATCH] haiku: fix Host.h for endian.h - ---- - include/llvm/Support/Host.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/llvm/Support/Host.h b/include/llvm/Support/Host.h -index 28c4cc7..ab985a4 100644 ---- a/include/llvm/Support/Host.h -+++ b/include/llvm/Support/Host.h -@@ -16,7 +16,7 @@ - - #include "llvm/ADT/StringMap.h" - --#if defined(__linux__) || defined(__GNU__) -+#if defined(__linux__) || defined(__GNU__) || defined(__HAIKU__) - #include - #else - #if !defined(BYTE_ORDER) && !defined(LLVM_ON_WIN32) --- -1.8.3.4 - diff --git a/sys-devel/llvm/patches/llvm-3.5.0.patchset b/sys-devel/llvm/patches/llvm-3.5.0.patchset deleted file mode 100644 index 1880876e5..000000000 --- a/sys-devel/llvm/patches/llvm-3.5.0.patchset +++ /dev/null @@ -1,1084 +0,0 @@ -From 2ffaad9e30a03b5688307fa31ab1a43a23013325 Mon Sep 17 00:00:00 2001 -From: Alexander von Gluck IV -Date: Wed, 22 Jan 2014 05:04:31 +0000 -Subject: haiku: fix Host.h for endian.h - - -diff --git a/include/llvm/Support/Host.h b/include/llvm/Support/Host.h -index 8f4bf3c..8114f9b 100644 ---- a/include/llvm/Support/Host.h -+++ b/include/llvm/Support/Host.h -@@ -16,7 +16,7 @@ - - #include "llvm/ADT/StringMap.h" - --#if defined(__linux__) || defined(__GNU__) -+#if defined(__linux__) || defined(__GNU__) || defined(__HAIKU__) - #include - #else - #if !defined(BYTE_ORDER) && !defined(LLVM_ON_WIN32) --- -1.8.3.4 - - -From 346e9d142e5d8d34bd05e6f51b75f562df1269e3 Mon Sep 17 00:00:00 2001 -From: Alexander von Gluck IV -Date: Tue, 9 Dec 2014 01:20:26 +0000 -Subject: LLVM: Update autoconf for Haiku x86_64 support - - -diff --git a/autoconf/config.guess b/autoconf/config.guess -old mode 100755 -new mode 100644 -index 73d671b..6c32c86 ---- a/autoconf/config.guess -+++ b/autoconf/config.guess -@@ -1,14 +1,12 @@ - #! /bin/sh - # Attempt to guess a canonical system name. --# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, --# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, --# 2011 Free Software Foundation, Inc. -+# Copyright 1992-2014 Free Software Foundation, Inc. - --timestamp='2011-08-20' -+timestamp='2014-11-04' - - # This file is free software; you can redistribute it and/or modify it - # under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2 of the License, or -+# the Free Software Foundation; either version 3 of the License, or - # (at your option) any later version. - # - # This program is distributed in the hope that it will be useful, but -@@ -17,26 +15,22 @@ timestamp='2011-08-20' - # General Public License for more details. - # - # You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA --# 02110-1301, USA. -+# along with this program; if not, see . - # - # As a special exception to the GNU General Public License, if you - # distribute this file as part of a program that contains a - # configuration script generated by Autoconf, you may include it under --# the same distribution terms that you use for the rest of that program. -- -- --# Originally written by Per Bothner. Please send patches (context --# diff format) to and include a ChangeLog --# entry. -+# the same distribution terms that you use for the rest of that -+# program. This Exception is an additional permission under section 7 -+# of the GNU General Public License, version 3 ("GPLv3"). - # --# This script attempts to guess a canonical system name similar to --# config.sub. If it succeeds, it prints the system name on stdout, and --# exits with 0. Otherwise, it exits with 1. -+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. - # - # You can get the latest version of this script from: - # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD -+# -+# Please send patches to . -+ - - me=`echo "$0" | sed -e 's,.*/,,'` - -@@ -56,9 +50,7 @@ version="\ - GNU config.guess ($timestamp) - - Originally written by Per Bothner. --Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, --2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free --Software Foundation, Inc. -+Copyright 1992-2014 Free Software Foundation, Inc. - - This is free software; see the source for copying conditions. There is NO - warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." -@@ -140,12 +132,33 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown - UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown - UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -+case "${UNAME_SYSTEM}" in -+Linux|GNU|GNU/*) -+ # If the system lacks a compiler, then just pick glibc. -+ # We could probably try harder. -+ LIBC=gnu -+ -+ eval $set_cc_for_build -+ cat <<-EOF > $dummy.c -+ #include -+ #if defined(__UCLIBC__) -+ LIBC=uclibc -+ #elif defined(__dietlibc__) -+ LIBC=dietlibc -+ #else -+ LIBC=gnu -+ #endif -+ EOF -+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` -+ ;; -+esac -+ - # Note: order is significant - the case branches are not exclusive. - - case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or -- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, -+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward -@@ -202,14 +215,14 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; -- *:OpenBSD:*:*) -- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` -- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} -- exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} - exit ;; -+ *:OpenBSD:*:*) -+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` -+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} -+ exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; -@@ -308,7 +321,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; -- arm:riscos:*:*|arm:RISCOS:*:*) -+ arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) -@@ -566,8 +579,9 @@ EOF - else - IBM_ARCH=powerpc - fi -- if [ -x /usr/bin/oslevel ] ; then -- IBM_REV=`/usr/bin/oslevel` -+ if [ -x /usr/bin/lslpp ] ; then -+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | -+ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi -@@ -807,9 +821,15 @@ EOF - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; -+ *:MINGW64*:*) -+ echo ${UNAME_MACHINE}-pc-mingw64 -+ exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; -+ *:MSYS*:*) -+ echo ${UNAME_MACHINE}-pc-msys -+ exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 -@@ -855,17 +875,21 @@ EOF - exit ;; - *:GNU:*:*) - # the GNU system -- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` -+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland -- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu -+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; -- aarch64*:Linux:*) -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ aarch64:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} -+ exit ;; -+ aarch64_be:Linux:*:*) -+ UNAME_MACHINE=aarch64_be -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in -@@ -878,56 +902,54 @@ EOF - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 -- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi -- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} -+ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} -+ exit ;; -+ arc:Linux:*:* | arceb:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then -- echo ${UNAME_MACHINE}-unknown-linux-gnueabi -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi - else -- echo ${UNAME_MACHINE}-unknown-linux-gnueabihf -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf - fi - fi - exit ;; - avr32*:Linux:*:*) -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - cris:Linux:*:*) -- echo cris-axis-linux-gnu -+ echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - crisv32:Linux:*:*) -- echo crisv32-axis-linux-gnu -+ echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - frv:Linux:*:*) -- echo frv-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} -+ exit ;; -+ hexagon:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:Linux:*:*) -- LIBC=gnu -- eval $set_cc_for_build -- sed 's/^ //' << EOF >$dummy.c -- #ifdef __dietlibc__ -- LIBC=dietlibc -- #endif --EOF -- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` -- echo "${UNAME_MACHINE}-pc-linux-${LIBC}" -+ echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; - ia64:Linux:*:*) -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m32r*:Linux:*:*) -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m68*:Linux:*:*) -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build -@@ -946,57 +968,63 @@ EOF - #endif - EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` -- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } -+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } - ;; -- or32:Linux:*:*) -- echo or32-unknown-linux-gnu -+ openrisc*:Linux:*:*) -+ echo or1k-unknown-linux-${LIBC} -+ exit ;; -+ or32:Linux:*:* | or1k*:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - padre:Linux:*:*) -- echo sparc-unknown-linux-gnu -+ echo sparc-unknown-linux-${LIBC} - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) -- echo hppa64-unknown-linux-gnu -+ echo hppa64-unknown-linux-${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in -- PA7*) echo hppa1.1-unknown-linux-gnu ;; -- PA8*) echo hppa2.0-unknown-linux-gnu ;; -- *) echo hppa-unknown-linux-gnu ;; -+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; -+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; -+ *) echo hppa-unknown-linux-${LIBC} ;; - esac - exit ;; - ppc64:Linux:*:*) -- echo powerpc64-unknown-linux-gnu -+ echo powerpc64-unknown-linux-${LIBC} -+ exit ;; -+ ppc:Linux:*:*) -+ echo powerpc-unknown-linux-${LIBC} - exit ;; - ppc64le:Linux:*:*) -- echo powerpc64le-unknown-linux-gnu -+ echo powerpc64le-unknown-linux-${LIBC} - exit ;; -- ppc:Linux:*:*) -- echo powerpc-unknown-linux-gnu -+ ppcle:Linux:*:*) -+ echo powerpcle-unknown-linux-${LIBC} - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) -- echo ${UNAME_MACHINE}-ibm-linux -+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC} - exit ;; - sh64*:Linux:*:*) -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sh*:Linux:*:*) -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - tile*:Linux:*:*) -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - vax:Linux:*:*) -- echo ${UNAME_MACHINE}-dec-linux-gnu -+ echo ${UNAME_MACHINE}-dec-linux-${LIBC} - exit ;; - x86_64:Linux:*:*) -- echo x86_64-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - xtensa*:Linux:*:*) -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. -@@ -1200,6 +1228,9 @@ EOF - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; -+ x86_64:Haiku:*:*) -+ echo x86_64-unknown-haiku -+ exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; -@@ -1226,19 +1257,31 @@ EOF - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown -- case $UNAME_PROCESSOR in -- i386) -- eval $set_cc_for_build -- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then -- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ -- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ -- grep IS_64BIT_ARCH >/dev/null -- then -- UNAME_PROCESSOR="x86_64" -- fi -- fi ;; -- unknown) UNAME_PROCESSOR=powerpc ;; -- esac -+ eval $set_cc_for_build -+ if test "$UNAME_PROCESSOR" = unknown ; then -+ UNAME_PROCESSOR=powerpc -+ fi -+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then -+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then -+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ -+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ -+ grep IS_64BIT_ARCH >/dev/null -+ then -+ case $UNAME_PROCESSOR in -+ i386) UNAME_PROCESSOR=x86_64 ;; -+ powerpc) UNAME_PROCESSOR=powerpc64 ;; -+ esac -+ fi -+ fi -+ elif test "$UNAME_PROCESSOR" = i386 ; then -+ # Avoid executing cc on OS X 10.9, as it ships with a stub -+ # that puts up a graphical alert prompting to install -+ # developer tools. Any system running Mac OS X 10.7 or -+ # later (Darwin 11 and later) is required to have a 64-bit -+ # processor. This is not true of the ARM version of Darwin -+ # that Apple uses in portable devices. -+ UNAME_PROCESSOR=x86_64 -+ fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) -@@ -1255,7 +1298,7 @@ EOF - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; -- NSE-?:NONSTOP_KERNEL:*:*) -+ NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) -@@ -1324,158 +1367,10 @@ EOF - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; --esac -- --#echo '(No uname command or uname output not recognized.)' 1>&2 --#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 -- --eval $set_cc_for_build --cat >$dummy.c < --# include --#endif --main () --{ --#if defined (sony) --#if defined (MIPSEB) -- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, -- I don't know.... */ -- printf ("mips-sony-bsd\n"); exit (0); --#else --#include -- printf ("m68k-sony-newsos%s\n", --#ifdef NEWSOS4 -- "4" --#else -- "" --#endif -- ); exit (0); --#endif --#endif -- --#if defined (__arm) && defined (__acorn) && defined (__unix) -- printf ("arm-acorn-riscix\n"); exit (0); --#endif -- --#if defined (hp300) && !defined (hpux) -- printf ("m68k-hp-bsd\n"); exit (0); --#endif -- --#if defined (NeXT) --#if !defined (__ARCHITECTURE__) --#define __ARCHITECTURE__ "m68k" --#endif -- int version; -- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; -- if (version < 4) -- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); -- else -- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); -- exit (0); --#endif -- --#if defined (MULTIMAX) || defined (n16) --#if defined (UMAXV) -- printf ("ns32k-encore-sysv\n"); exit (0); --#else --#if defined (CMU) -- printf ("ns32k-encore-mach\n"); exit (0); --#else -- printf ("ns32k-encore-bsd\n"); exit (0); --#endif --#endif --#endif -- --#if defined (__386BSD__) -- printf ("i386-pc-bsd\n"); exit (0); --#endif -- --#if defined (sequent) --#if defined (i386) -- printf ("i386-sequent-dynix\n"); exit (0); --#endif --#if defined (ns32000) -- printf ("ns32k-sequent-dynix\n"); exit (0); --#endif --#endif -- --#if defined (_SEQUENT_) -- struct utsname un; -- -- uname(&un); -- -- if (strncmp(un.version, "V2", 2) == 0) { -- printf ("i386-sequent-ptx2\n"); exit (0); -- } -- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ -- printf ("i386-sequent-ptx1\n"); exit (0); -- } -- printf ("i386-sequent-ptx\n"); exit (0); -- --#endif -- --#if defined (vax) --# if !defined (ultrix) --# include --# if defined (BSD) --# if BSD == 43 -- printf ("vax-dec-bsd4.3\n"); exit (0); --# else --# if BSD == 199006 -- printf ("vax-dec-bsd4.3reno\n"); exit (0); --# else -- printf ("vax-dec-bsd\n"); exit (0); --# endif --# endif --# else -- printf ("vax-dec-bsd\n"); exit (0); --# endif --# else -- printf ("vax-dec-ultrix\n"); exit (0); --# endif --#endif -- --#if defined (alliant) && defined (i860) -- printf ("i860-alliant-bsd\n"); exit (0); --#endif -- -- exit (1); --} --EOF -- --$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && -- { echo "$SYSTEM_NAME"; exit; } -- --# Apollos put the system type in the environment. -- --test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } -- --# Convex versions that predate uname can use getsysinfo(1) -- --if [ -x /usr/convex/getsysinfo ] --then -- case `getsysinfo -f cpu_type` in -- c1*) -- echo c1-convex-bsd -- exit ;; -- c2*) -- if getsysinfo -f scalar_acc -- then echo c32-convex-bsd -- else echo c2-convex-bsd -- fi -- exit ;; -- c34*) -- echo c34-convex-bsd -+ x86_64:VMkernel:*:*) -+ echo ${UNAME_MACHINE}-unknown-esx - exit ;; -- c38*) -- echo c38-convex-bsd -- exit ;; -- c4*) -- echo c4-convex-bsd -- exit ;; -- esac --fi -+esac - - cat >&2 <. - # - # As a special exception to the GNU General Public License, if you - # distribute this file as part of a program that contains a - # configuration script generated by Autoconf, you may include it under --# the same distribution terms that you use for the rest of that program. -+# the same distribution terms that you use for the rest of that -+# program. This Exception is an additional permission under section 7 -+# of the GNU General Public License, version 3 ("GPLv3"). - - --# Please send patches to . Submit a context --# diff and a properly formatted GNU ChangeLog entry. -+# Please send patches to . - # - # Configuration subroutine to validate and canonicalize a configuration type. - # Supply the specified configuration type as an argument. -@@ -75,9 +68,7 @@ Report bugs and patches to ." - version="\ - GNU config.sub ($timestamp) - --Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, --2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free --Software Foundation, Inc. -+Copyright 1992-2014 Free Software Foundation, Inc. - - This is free software; see the source for copying conditions. There is NO - warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." -@@ -125,13 +116,17 @@ esac - maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` - case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ -- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ -+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; -+ android-linux) -+ os=-linux-android -+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown -+ ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] -@@ -154,7 +149,7 @@ case $os in - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -- -apple | -axis | -knuth | -cray | -microblaze) -+ -apple | -axis | -knuth | -cray | -microblaze*) - os= - basic_machine=$1 - ;; -@@ -223,6 +218,12 @@ case $os in - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; -+ -lynx*178) -+ os=-lynxos178 -+ ;; -+ -lynx*5) -+ os=-lynxos5 -+ ;; - -lynx*) - os=-lynxos - ;; -@@ -247,24 +248,28 @@ case $basic_machine in - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ -+ | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ -- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ -- | aarch64 \ -- | be32 | be64 \ -+ | arc | arceb \ -+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ -+ | avr | avr32 \ -+ | be32 | be64 \ - | bfin \ -- | c4x | clipper \ -+ | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ -+ | epiphany \ - | fido | fr30 | frv \ -- | hexagon \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ -+ | hexagon \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ -+ | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ -- | maxq | mb | microblaze | mcore | mep | metag \ -+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ -@@ -278,24 +283,27 @@ case $basic_machine in - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ -+ | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ -+ | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ -+ | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ -- | nios | nios2 \ -+ | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ -- | open8 \ -- | or32 \ -+ | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pyramid \ -- | rx \ -+ | riscv32 | riscv64 \ -+ | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ -@@ -305,6 +313,7 @@ case $basic_machine in - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ -+ | visium \ - | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) -@@ -319,8 +328,10 @@ case $basic_machine in - c6x) - basic_machine=tic6x-unknown - ;; -- m6811 | m68hc11 | m6812 | m68hc12 | picochip) -- # Motorola 68HC11/12. -+ leon|leon[3-9]) -+ basic_machine=sparc-$basic_machine -+ ;; -+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none - ;; -@@ -333,7 +344,10 @@ case $basic_machine in - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; -- -+ xgate) -+ basic_machine=$basic_machine-unknown -+ os=-none -+ ;; - xscaleeb) - basic_machine=armeb-unknown - ;; -@@ -356,29 +370,31 @@ case $basic_machine in - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ -+ | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ -- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ -+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ -- | aarch64-* \ - | avr-* | avr32-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ -- | clipper-* | craynv-* | cydra-* \ -+ | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ -- | hexagon-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ -+ | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ -+ | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ -- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ -+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ -+ | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ -@@ -392,23 +408,27 @@ case $basic_machine in - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ -+ | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ -+ | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ -+ | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ -- | nios-* | nios2-* \ -+ | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ -+ | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pyramid-* \ -- | romp-* | rs6000-* | rx-* \ -+ | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ -@@ -421,6 +441,7 @@ case $basic_machine in - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ -+ | visium-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ -@@ -720,7 +741,6 @@ case $basic_machine in - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; --# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 -@@ -759,6 +779,9 @@ case $basic_machine in - basic_machine=m68k-isi - os=-sysv - ;; -+ leon-*|leon[3-9]-*) -+ basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` -+ ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux -@@ -778,11 +801,15 @@ case $basic_machine in - basic_machine=ns32k-utek - os=-sysv - ;; -- microblaze) -+ microblaze*) - basic_machine=microblaze-xilinx - ;; -+ mingw64) -+ basic_machine=x86_64-pc -+ os=-mingw64 -+ ;; - mingw32) -- basic_machine=i386-pc -+ basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) -@@ -810,6 +837,10 @@ case $basic_machine in - basic_machine=powerpc-unknown - os=-morphos - ;; -+ moxiebox) -+ basic_machine=moxie-unknown -+ os=-moxiebox -+ ;; - msdos) - basic_machine=i386-pc - os=-msdos -@@ -817,6 +848,10 @@ case $basic_machine in - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; -+ msys) -+ basic_machine=i686-pc -+ os=-msys -+ ;; - mvs) - basic_machine=i370-ibm - os=-mvs -@@ -1005,7 +1040,11 @@ case $basic_machine in - basic_machine=i586-unknown - os=-pw32 - ;; -- rdos) -+ rdos | rdos64) -+ basic_machine=x86_64-pc -+ os=-rdos -+ ;; -+ rdos32) - basic_machine=i386-pc - os=-rdos - ;; -@@ -1332,29 +1371,29 @@ case $os in - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ -- | -sym* | -kopensolaris* \ -+ | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ -- | -openbsd* | -solidbsd* \ -+ | -bitrig* | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ -- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ -- | -mingw32* | -linux-gnu* | -linux-android* \ -- | -linux-newlib* | -linux-uclibc* \ -- | -uxpv* | -beos* | -mpeix* | -udk* \ -+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ -+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ -+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ -+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ -- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) -+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) -@@ -1478,9 +1517,6 @@ case $os in - -aros*) - os=-aros - ;; -- -kaos*) -- os=-kaos -- ;; - -zvmoe) - os=-zvmoe - ;; -@@ -1529,6 +1565,12 @@ case $basic_machine in - c4x-* | tic4x-*) - os=-coff - ;; -+ c8051-*) -+ os=-elf -+ ;; -+ hexagon-*) -+ os=-elf -+ ;; - tic54x-*) - os=-coff - ;; -@@ -1556,9 +1598,6 @@ case $basic_machine in - ;; - m68000-sun) - os=-sunos3 -- # This also exists in the configure program, but was not the -- # default. -- # os=-sunos4 - ;; - m68*-cisco) - os=-aout --- -1.8.3.4 - - -From cfbee5322c336f241ec9dfac456e77e4e71a0478 Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sat, 27 Dec 2014 15:47:00 +0100 -Subject: Fix datadir for Haiku. - -Hardcoded to share... - -diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt -index c87193d..925c6e1 100644 ---- a/cmake/modules/CMakeLists.txt -+++ b/cmake/modules/CMakeLists.txt -@@ -1,4 +1,4 @@ --set(LLVM_INSTALL_PACKAGE_DIR share/llvm/cmake) -+set(LLVM_INSTALL_PACKAGE_DIR data/llvm/cmake) - set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") - - get_property(LLVM_EXPORTS GLOBAL PROPERTY LLVM_EXPORTS) -diff --git a/cmake/modules/Makefile b/cmake/modules/Makefile -index ba45f17..615a19a 100644 ---- a/cmake/modules/Makefile -+++ b/cmake/modules/Makefile -@@ -13,7 +13,7 @@ LINK_COMPONENTS := all - - include $(LEVEL)/Makefile.common - --PROJ_cmake := $(DESTDIR)$(PROJ_prefix)/share/llvm/cmake -+PROJ_cmake := $(DESTDIR)$(PROJ_prefix)/data/llvm/cmake - - ifeq ($(DISABLE_ASSERTIONS),1) - LLVM_ENABLE_ASSERTIONS := 0 -diff --git a/configure b/configure -index c11c395..b83ff65 100755 ---- a/configure -+++ b/configure -@@ -18539,10 +18539,10 @@ if test "${prefix}" = "NONE" ; then - fi - eval LLVM_PREFIX="${prefix}"; - eval LLVM_BINDIR="${prefix}/bin"; --eval LLVM_DATADIR="${prefix}/share/llvm"; --eval LLVM_DOCSDIR="${prefix}/share/doc/llvm"; -+eval LLVM_DATADIR="${prefix}/data/llvm"; -+eval LLVM_DOCSDIR="${prefix}/data/doc/llvm"; - eval LLVM_ETCDIR="${prefix}/etc/llvm"; --eval LLVM_INCLUDEDIR="${prefix}/include"; -+eval LLVM_INCLUDEDIR="${prefix}/devlop/headers"; - eval LLVM_INFODIR="${prefix}/info"; - eval LLVM_MANDIR="${prefix}/man"; - LLVM_CONFIGTIME=`date` --- -1.8.3.4 - diff --git a/sys-devel/llvm/patches/llvm-3.5.1.patchset b/sys-devel/llvm/patches/llvm-3.5.1.patchset deleted file mode 100644 index 5873a5cad..000000000 --- a/sys-devel/llvm/patches/llvm-3.5.1.patchset +++ /dev/null @@ -1,95 +0,0 @@ -From 42a5734462221c17c6888e521b53599f37145d43 Mon Sep 17 00:00:00 2001 -From: Alexander von Gluck IV -Date: Wed, 22 Jan 2014 05:04:31 +0000 -Subject: haiku: fix Host.h for endian.h - - -diff --git a/include/llvm/Support/Host.h b/include/llvm/Support/Host.h -index 8f4bf3c..8114f9b 100644 ---- a/include/llvm/Support/Host.h -+++ b/include/llvm/Support/Host.h -@@ -16,7 +16,7 @@ - - #include "llvm/ADT/StringMap.h" - --#if defined(__linux__) || defined(__GNU__) -+#if defined(__linux__) || defined(__GNU__) || defined(__HAIKU__) - #include - #else - #if !defined(BYTE_ORDER) && !defined(LLVM_ON_WIN32) --- -2.2.2 - - -From f2a83ee50fe6b4ad4a79996864a95c1a8ac9145c Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 18 May 2014 12:41:16 +0200 -Subject: libLTO: add soname when building on Haiku. - - -diff --git a/tools/lto/Makefile b/tools/lto/Makefile -index a4fe9ac..b667105 100644 ---- a/tools/lto/Makefile -+++ b/tools/lto/Makefile -@@ -21,6 +21,10 @@ ifdef LLVM_VERSION_INFO - CXX.Flags += -DLLVM_VERSION_INFO='"$(LLVM_VERSION_INFO)"' - endif - -+ifeq ($(HOST_OS),Haiku) -+ LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-soname=$(SharedPrefix)LTO$(SHLIBEXT) -+endif -+ - ifeq ($(HOST_OS),Darwin) - # Special hack to allow libLTO to have an offset version number. - ifdef LLVM_LTO_VERSION_OFFSET --- -2.2.2 - - -From 8829b50366b40ed55c1c54d7b2fce9c1b3b3465c Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Wed, 20 Jan 2016 21:13:28 +0000 -Subject: llvm-config: use /develop/headers instead of /include - -* don't provide obj-root and src-root. - -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index ed1c8c3..e22e243 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -261,7 +261,11 @@ int main(int argc, char **argv) { - "-I" + ActiveObjRoot + "/include"); - } else { - ActivePrefix = CurrentExecPrefix; -+#ifdef __HAIKU__ -+ ActiveIncludeDir = ActivePrefix + "/develop/headers"; -+#else - ActiveIncludeDir = ActivePrefix + "/include"; -+#endif - ActiveBinDir = ActivePrefix + "/bin"; - ActiveLibDir = ActivePrefix + "/lib"; - ActiveIncludeOption = "-I" + ActiveIncludeDir; -@@ -321,10 +325,16 @@ int main(int argc, char **argv) { - #else - OS << "ON\n"; - #endif -- } else if (Arg == "--obj-root") { -- OS << ActivePrefix << '\n'; -- } else if (Arg == "--src-root") { -- OS << LLVM_SRC_ROOT << '\n'; -+ } else if (Arg == "--obj-root" || Arg == "--src-root") { -+ if (IsInDevelopmentTree) { -+ if (Arg == "--obj-root") -+ OS << ActivePrefix << '\n'; -+ else -+ OS << LLVM_SRC_ROOT << '\n'; -+ } else { -+ llvm::errs() << "llvm-config: sources not installed\n"; -+ exit(1); -+ } - } else { - usage(); - } --- -2.2.2 - diff --git a/sys-devel/llvm/patches/llvm-3.5.2.patchset b/sys-devel/llvm/patches/llvm-3.5.2.patchset deleted file mode 100644 index 00fa2fa7c..000000000 --- a/sys-devel/llvm/patches/llvm-3.5.2.patchset +++ /dev/null @@ -1,95 +0,0 @@ -From 5ff5145ac1b8304b7fab9ecc57bd6a2b67fce47a Mon Sep 17 00:00:00 2001 -From: Alexander von Gluck IV -Date: Wed, 22 Jan 2014 05:04:31 +0000 -Subject: haiku: fix Host.h for endian.h - - -diff --git a/include/llvm/Support/Host.h b/include/llvm/Support/Host.h -index 8f4bf3c..8114f9b 100644 ---- a/include/llvm/Support/Host.h -+++ b/include/llvm/Support/Host.h -@@ -16,7 +16,7 @@ - - #include "llvm/ADT/StringMap.h" - --#if defined(__linux__) || defined(__GNU__) -+#if defined(__linux__) || defined(__GNU__) || defined(__HAIKU__) - #include - #else - #if !defined(BYTE_ORDER) && !defined(LLVM_ON_WIN32) --- -2.2.2 - - -From 14acb59dc94d2dae7d13e7b9cfab4a3bcacef0f5 Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 18 May 2014 12:41:16 +0200 -Subject: libLTO: add soname when building on Haiku. - - -diff --git a/tools/lto/Makefile b/tools/lto/Makefile -index a4fe9ac..b667105 100644 ---- a/tools/lto/Makefile -+++ b/tools/lto/Makefile -@@ -21,6 +21,10 @@ ifdef LLVM_VERSION_INFO - CXX.Flags += -DLLVM_VERSION_INFO='"$(LLVM_VERSION_INFO)"' - endif - -+ifeq ($(HOST_OS),Haiku) -+ LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-soname=$(SharedPrefix)LTO$(SHLIBEXT) -+endif -+ - ifeq ($(HOST_OS),Darwin) - # Special hack to allow libLTO to have an offset version number. - ifdef LLVM_LTO_VERSION_OFFSET --- -2.2.2 - - -From 44af3ac9034d9b48eabd0f43c394c3f565e2db1b Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Wed, 20 Jan 2016 21:13:28 +0000 -Subject: llvm-config: use /develop/headers instead of /include - -* don't provide obj-root and src-root. - -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index ed1c8c3..e22e243 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -261,7 +261,11 @@ int main(int argc, char **argv) { - "-I" + ActiveObjRoot + "/include"); - } else { - ActivePrefix = CurrentExecPrefix; -+#ifdef __HAIKU__ -+ ActiveIncludeDir = ActivePrefix + "/develop/headers"; -+#else - ActiveIncludeDir = ActivePrefix + "/include"; -+#endif - ActiveBinDir = ActivePrefix + "/bin"; - ActiveLibDir = ActivePrefix + "/lib"; - ActiveIncludeOption = "-I" + ActiveIncludeDir; -@@ -321,10 +325,16 @@ int main(int argc, char **argv) { - #else - OS << "ON\n"; - #endif -- } else if (Arg == "--obj-root") { -- OS << ActivePrefix << '\n'; -- } else if (Arg == "--src-root") { -- OS << LLVM_SRC_ROOT << '\n'; -+ } else if (Arg == "--obj-root" || Arg == "--src-root") { -+ if (IsInDevelopmentTree) { -+ if (Arg == "--obj-root") -+ OS << ActivePrefix << '\n'; -+ else -+ OS << LLVM_SRC_ROOT << '\n'; -+ } else { -+ llvm::errs() << "llvm-config: sources not installed\n"; -+ exit(1); -+ } - } else { - usage(); - } --- -2.2.2 - diff --git a/sys-devel/llvm/patches/llvm-3.7.0.patchset b/sys-devel/llvm/patches/llvm-3.7.0.patchset deleted file mode 100644 index 09b6ecd86..000000000 --- a/sys-devel/llvm/patches/llvm-3.7.0.patchset +++ /dev/null @@ -1,95 +0,0 @@ -From b3b154c6783c97da7e9336d50016364426cdfa17 Mon Sep 17 00:00:00 2001 -From: Alexander von Gluck IV -Date: Wed, 22 Jan 2014 05:04:31 +0000 -Subject: haiku: fix Host.h for endian.h - - -diff --git a/include/llvm/Support/Host.h b/include/llvm/Support/Host.h -index 8f4bf3c..8114f9b 100644 ---- a/include/llvm/Support/Host.h -+++ b/include/llvm/Support/Host.h -@@ -16,7 +16,7 @@ - - #include "llvm/ADT/StringMap.h" - --#if defined(__linux__) || defined(__GNU__) -+#if defined(__linux__) || defined(__GNU__) || defined(__HAIKU__) - #include - #else - #if !defined(BYTE_ORDER) && !defined(LLVM_ON_WIN32) --- -2.2.2 - - -From c5722091d833cc7569a960efa775dc33f2d2a485 Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 18 May 2014 12:41:16 +0200 -Subject: libLTO: add soname when building on Haiku. - - -diff --git a/tools/lto/Makefile b/tools/lto/Makefile -index 530c05a..ffa76d2 100644 ---- a/tools/lto/Makefile -+++ b/tools/lto/Makefile -@@ -17,6 +17,10 @@ EXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/lto.exports - - include $(LEVEL)/Makefile.common - -+ifeq ($(HOST_OS),Haiku) -+ LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-soname=$(SharedPrefix)LTO$(SHLIBEXT) -+endif -+ - ifeq ($(HOST_OS),Darwin) - # Special hack to allow libLTO to have an offset version number. - ifdef LLVM_LTO_VERSION_OFFSET --- -2.2.2 - - -From 15f54ff914d0193b2ea2e0a8bb12c0dc4868fb5d Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Wed, 20 Jan 2016 21:13:28 +0000 -Subject: llvm-config: use /develop/headers instead of /include - -* don't provide obj-root and src-root. - -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index 879b9ab..0ec9c9d 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -263,7 +263,11 @@ int main(int argc, char **argv) { - "-I" + ActiveObjRoot + "/include"); - } else { - ActivePrefix = CurrentExecPrefix; -+#ifdef __HAIKU__ -+ ActiveIncludeDir = ActivePrefix + "/develop/headers"; -+#else - ActiveIncludeDir = ActivePrefix + "/include"; -+#endif - ActiveBinDir = ActivePrefix + "/bin"; - ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; - ActiveIncludeOption = "-I" + ActiveIncludeDir; -@@ -323,10 +327,16 @@ int main(int argc, char **argv) { - #else - OS << "ON\n"; - #endif -- } else if (Arg == "--obj-root") { -- OS << ActivePrefix << '\n'; -- } else if (Arg == "--src-root") { -- OS << LLVM_SRC_ROOT << '\n'; -+ } else if (Arg == "--obj-root" || Arg == "--src-root") { -+ if (IsInDevelopmentTree) { -+ if (Arg == "--obj-root") -+ OS << ActivePrefix << '\n'; -+ else -+ OS << LLVM_SRC_ROOT << '\n'; -+ } else { -+ llvm::errs() << "llvm-config: sources not installed\n"; -+ exit(1); -+ } - } else { - usage(); - } --- -2.2.2 - diff --git a/sys-devel/llvm/patches/llvm-3.7.1.patchset b/sys-devel/llvm/patches/llvm-3.7.1.patchset deleted file mode 100644 index c30730b16..000000000 --- a/sys-devel/llvm/patches/llvm-3.7.1.patchset +++ /dev/null @@ -1,95 +0,0 @@ -From 0bf8fa31fb049edda14a40cbc7e09ec3c6b194b9 Mon Sep 17 00:00:00 2001 -From: Alexander von Gluck IV -Date: Wed, 22 Jan 2014 05:04:31 +0000 -Subject: haiku: fix Host.h for endian.h - - -diff --git a/include/llvm/Support/Host.h b/include/llvm/Support/Host.h -index 8f4bf3c..8114f9b 100644 ---- a/include/llvm/Support/Host.h -+++ b/include/llvm/Support/Host.h -@@ -16,7 +16,7 @@ - - #include "llvm/ADT/StringMap.h" - --#if defined(__linux__) || defined(__GNU__) -+#if defined(__linux__) || defined(__GNU__) || defined(__HAIKU__) - #include - #else - #if !defined(BYTE_ORDER) && !defined(LLVM_ON_WIN32) --- -2.2.2 - - -From 497ff8cdee5a4643776d5d26d8e41faa770b4ad8 Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 18 May 2014 12:41:16 +0200 -Subject: libLTO: add soname when building on Haiku. - - -diff --git a/tools/lto/Makefile b/tools/lto/Makefile -index 530c05a..ffa76d2 100644 ---- a/tools/lto/Makefile -+++ b/tools/lto/Makefile -@@ -17,6 +17,10 @@ EXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/lto.exports - - include $(LEVEL)/Makefile.common - -+ifeq ($(HOST_OS),Haiku) -+ LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-soname=$(SharedPrefix)LTO$(SHLIBEXT) -+endif -+ - ifeq ($(HOST_OS),Darwin) - # Special hack to allow libLTO to have an offset version number. - ifdef LLVM_LTO_VERSION_OFFSET --- -2.2.2 - - -From 0178a4ef01a4f860586e7b7f4c0f937367851158 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Wed, 20 Jan 2016 21:13:28 +0000 -Subject: llvm-config: use /develop/headers instead of /include - -* don't provide obj-root and src-root. - -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index 879b9ab..0ec9c9d 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -263,7 +263,11 @@ int main(int argc, char **argv) { - "-I" + ActiveObjRoot + "/include"); - } else { - ActivePrefix = CurrentExecPrefix; -+#ifdef __HAIKU__ -+ ActiveIncludeDir = ActivePrefix + "/develop/headers"; -+#else - ActiveIncludeDir = ActivePrefix + "/include"; -+#endif - ActiveBinDir = ActivePrefix + "/bin"; - ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; - ActiveIncludeOption = "-I" + ActiveIncludeDir; -@@ -323,10 +327,16 @@ int main(int argc, char **argv) { - #else - OS << "ON\n"; - #endif -- } else if (Arg == "--obj-root") { -- OS << ActivePrefix << '\n'; -- } else if (Arg == "--src-root") { -- OS << LLVM_SRC_ROOT << '\n'; -+ } else if (Arg == "--obj-root" || Arg == "--src-root") { -+ if (IsInDevelopmentTree) { -+ if (Arg == "--obj-root") -+ OS << ActivePrefix << '\n'; -+ else -+ OS << LLVM_SRC_ROOT << '\n'; -+ } else { -+ llvm::errs() << "llvm-config: sources not installed\n"; -+ exit(1); -+ } - } else { - usage(); - } --- -2.2.2 - diff --git a/sys-devel/llvm/patches/llvm-3.8.0.patchset b/sys-devel/llvm/patches/llvm-3.8.0.patchset deleted file mode 100644 index 8c1a701cb..000000000 --- a/sys-devel/llvm/patches/llvm-3.8.0.patchset +++ /dev/null @@ -1,362 +0,0 @@ -From d6ee5488845a252d380cd25890136de7b54a7ce0 Mon Sep 17 00:00:00 2001 -From: Alexander von Gluck IV -Date: Wed, 22 Jan 2014 05:04:31 +0000 -Subject: haiku: fix Host.h for endian.h - - -diff --git a/include/llvm/Support/Host.h b/include/llvm/Support/Host.h -index 8f4bf3c..8114f9b 100644 ---- a/include/llvm/Support/Host.h -+++ b/include/llvm/Support/Host.h -@@ -16,7 +16,7 @@ - - #include "llvm/ADT/StringMap.h" - --#if defined(__linux__) || defined(__GNU__) -+#if defined(__linux__) || defined(__GNU__) || defined(__HAIKU__) - #include - #else - #if !defined(BYTE_ORDER) && !defined(LLVM_ON_WIN32) --- -2.7.0 - - -From 8974eea683319522bb0e0dafeb409224c2d00768 Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 18 May 2014 12:41:16 +0200 -Subject: libLTO: add soname when building on Haiku. - - -diff --git a/tools/lto/Makefile b/tools/lto/Makefile -index 530c05a..ffa76d2 100644 ---- a/tools/lto/Makefile -+++ b/tools/lto/Makefile -@@ -17,6 +17,10 @@ EXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/lto.exports - - include $(LEVEL)/Makefile.common - -+ifeq ($(HOST_OS),Haiku) -+ LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-soname=$(SharedPrefix)LTO$(SHLIBEXT) -+endif -+ - ifeq ($(HOST_OS),Darwin) - # Special hack to allow libLTO to have an offset version number. - ifdef LLVM_LTO_VERSION_OFFSET --- -2.7.0 - - -From 89aaec4cfcfd3f0f8bbc15fc81bae45b1c74b00b Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Wed, 20 Jan 2016 21:13:28 +0000 -Subject: llvm-config: use /develop/headers instead of /include - -* don't provide obj-root and src-root. - -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index 80f6279..8275aac 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -309,7 +309,11 @@ int main(int argc, char **argv) { - "-I" + ActiveObjRoot + "/include"); - } else { - ActivePrefix = CurrentExecPrefix; -+#ifdef __HAIKU__ -+ ActiveIncludeDir = ActivePrefix + "/develop/headers"; -+#else - ActiveIncludeDir = ActivePrefix + "/include"; -+#endif - ActiveBinDir = ActivePrefix + "/bin"; - ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; - ActiveIncludeOption = "-I" + ActiveIncludeDir; -@@ -497,10 +501,16 @@ int main(int argc, char **argv) { - OS << LLVM_HAS_RTTI << '\n'; - } else if (Arg == "--shared-mode") { - PrintSharedMode = true; -- } else if (Arg == "--obj-root") { -- OS << ActivePrefix << '\n'; -- } else if (Arg == "--src-root") { -- OS << LLVM_SRC_ROOT << '\n'; -+ } else if (Arg == "--obj-root" || Arg == "--src-root") { -+ if (IsInDevelopmentTree) { -+ if (Arg == "--obj-root") -+ OS << ActivePrefix << '\n'; -+ else -+ OS << LLVM_SRC_ROOT << '\n'; -+ } else { -+ llvm::errs() << "llvm-config: sources not installed\n"; -+ exit(1); -+ } - } else { - usage(); - } --- -2.7.0 - - -From 4e245f44390a3b549b535892d06777e9e4f1009f Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Sun, 31 Jan 2016 10:23:24 +0000 -Subject: patch cmake build for Haiku. - - -diff --git a/autoconf/config.guess b/autoconf/config.guess -index b209a1a..776ef5c 100755 ---- a/autoconf/config.guess -+++ b/autoconf/config.guess -@@ -2,13 +2,13 @@ - # Attempt to guess a canonical system name. - # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, --# 2011 Free Software Foundation, Inc. -+# 2011, 2012, 2013 Free Software Foundation, Inc. - --timestamp='2011-08-20' -+timestamp='2012-12-29' - - # This file is free software; you can redistribute it and/or modify it - # under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2 of the License, or -+# the Free Software Foundation; either version 3 of the License, or - # (at your option) any later version. - # - # This program is distributed in the hope that it will be useful, but -@@ -17,26 +17,22 @@ timestamp='2011-08-20' - # General Public License for more details. - # - # You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA --# 02110-1301, USA. -+# along with this program; if not, see . - # - # As a special exception to the GNU General Public License, if you - # distribute this file as part of a program that contains a - # configuration script generated by Autoconf, you may include it under --# the same distribution terms that you use for the rest of that program. -- -- --# Originally written by Per Bothner. Please send patches (context --# diff format) to and include a ChangeLog --# entry. -+# the same distribution terms that you use for the rest of that -+# program. This Exception is an additional permission under section 7 -+# of the GNU General Public License, version 3 ("GPLv3"). - # --# This script attempts to guess a canonical system name similar to --# config.sub. If it succeeds, it prints the system name on stdout, and --# exits with 0. Otherwise, it exits with 1. -+# Originally written by Per Bothner. - # - # You can get the latest version of this script from: - # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD -+# -+# Please send patches with a ChangeLog entry to config-patches@gnu.org. -+ - - me=`echo "$0" | sed -e 's,.*/,,'` - -@@ -57,8 +53,8 @@ GNU config.guess ($timestamp) - - Originally written by Per Bothner. - Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, --2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free --Software Foundation, Inc. -+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, -+2012, 2013 Free Software Foundation, Inc. - - This is free software; see the source for copying conditions. There is NO - warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." -@@ -145,7 +141,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or -- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, -+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward -@@ -202,14 +198,14 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; -- *:OpenBSD:*:*) -- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` -- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} -- exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} - exit ;; -+ *:OpenBSD:*:*) -+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` -+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} -+ exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; -@@ -308,7 +304,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; -- arm:riscos:*:*|arm:RISCOS:*:*) -+ arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) -@@ -807,10 +803,13 @@ EOF - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; -+ *:MINGW64*:*) -+ echo ${UNAME_MACHINE}-pc-mingw64 -+ exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; -- *:MSYS*:*) -+ i*:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) -@@ -867,8 +866,12 @@ EOF - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; -- aarch64*:Linux:*) -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ aarch64:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit ;; -+ aarch64_be:Linux:*:*) -+ UNAME_MACHINE=aarch64_be -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in -@@ -904,13 +907,16 @@ EOF - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) -- echo cris-axis-linux-gnu -+ echo ${UNAME_MACHINE}-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) -- echo crisv32-axis-linux-gnu -+ echo ${UNAME_MACHINE}-axis-linux-gnu - exit ;; - frv:Linux:*:*) -- echo frv-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit ;; -+ hexagon:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - LIBC=gnu -@@ -952,7 +958,7 @@ EOF - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) -- echo or32-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-gnu -@@ -971,9 +977,6 @@ EOF - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; -- ppc64le:Linux:*:*) -- echo powerpc64le-unknown-linux-gnu -- exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; -@@ -996,7 +999,7 @@ EOF - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) -- echo x86_64-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu -@@ -1203,6 +1206,9 @@ EOF - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; -+ x86_64:Haiku:*:*) -+ echo x86_64-unknown-haiku -+ exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; -@@ -1258,7 +1264,7 @@ EOF - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; -- NSE-?:NONSTOP_KERNEL:*:*) -+ NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) -@@ -1327,11 +1333,11 @@ EOF - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; -+ x86_64:VMkernel:*:*) -+ echo ${UNAME_MACHINE}-unknown-esx -+ exit ;; - esac - --#echo '(No uname command or uname output not recognized.)' 1>&2 --#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 -- - eval $set_cc_for_build - cat >$dummy.c < -Date: Wed, 22 Jan 2014 05:04:31 +0000 -Subject: haiku: fix Host.h for endian.h - - -diff --git a/include/llvm/Support/Host.h b/include/llvm/Support/Host.h -index 8f4bf3c..8114f9b 100644 ---- a/include/llvm/Support/Host.h -+++ b/include/llvm/Support/Host.h -@@ -16,7 +16,7 @@ - - #include "llvm/ADT/StringMap.h" - --#if defined(__linux__) || defined(__GNU__) -+#if defined(__linux__) || defined(__GNU__) || defined(__HAIKU__) - #include - #else - #if !defined(BYTE_ORDER) && !defined(LLVM_ON_WIN32) --- -2.7.0 - - -From c5876fe33f9184a892fb426ad44af34f33f6863f Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 18 May 2014 12:41:16 +0200 -Subject: libLTO: add soname when building on Haiku. - - -diff --git a/tools/lto/Makefile b/tools/lto/Makefile -index 530c05a..ffa76d2 100644 ---- a/tools/lto/Makefile -+++ b/tools/lto/Makefile -@@ -17,6 +17,10 @@ EXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/lto.exports - - include $(LEVEL)/Makefile.common - -+ifeq ($(HOST_OS),Haiku) -+ LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-soname=$(SharedPrefix)LTO$(SHLIBEXT) -+endif -+ - ifeq ($(HOST_OS),Darwin) - # Special hack to allow libLTO to have an offset version number. - ifdef LLVM_LTO_VERSION_OFFSET --- -2.7.0 - - -From 08538bfcbb4917e8952c00ef425694ca97dfdb31 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Wed, 20 Jan 2016 21:13:28 +0000 -Subject: llvm-config: use /develop/headers instead of /include - -* don't provide obj-root and src-root. - -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index 80f6279..8275aac 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -309,7 +309,11 @@ int main(int argc, char **argv) { - "-I" + ActiveObjRoot + "/include"); - } else { - ActivePrefix = CurrentExecPrefix; -+#ifdef __HAIKU__ -+ ActiveIncludeDir = ActivePrefix + "/develop/headers"; -+#else - ActiveIncludeDir = ActivePrefix + "/include"; -+#endif - ActiveBinDir = ActivePrefix + "/bin"; - ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; - ActiveIncludeOption = "-I" + ActiveIncludeDir; -@@ -497,10 +501,16 @@ int main(int argc, char **argv) { - OS << LLVM_HAS_RTTI << '\n'; - } else if (Arg == "--shared-mode") { - PrintSharedMode = true; -- } else if (Arg == "--obj-root") { -- OS << ActivePrefix << '\n'; -- } else if (Arg == "--src-root") { -- OS << LLVM_SRC_ROOT << '\n'; -+ } else if (Arg == "--obj-root" || Arg == "--src-root") { -+ if (IsInDevelopmentTree) { -+ if (Arg == "--obj-root") -+ OS << ActivePrefix << '\n'; -+ else -+ OS << LLVM_SRC_ROOT << '\n'; -+ } else { -+ llvm::errs() << "llvm-config: sources not installed\n"; -+ exit(1); -+ } - } else { - usage(); - } --- -2.7.0 - - -From 0338c143a0764b2c449c6ecd246ca4e5a76be4c5 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Sun, 31 Jan 2016 10:23:24 +0000 -Subject: patch cmake build for Haiku. - - -diff --git a/autoconf/config.guess b/autoconf/config.guess -index b209a1a..776ef5c 100755 ---- a/autoconf/config.guess -+++ b/autoconf/config.guess -@@ -2,13 +2,13 @@ - # Attempt to guess a canonical system name. - # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, --# 2011 Free Software Foundation, Inc. -+# 2011, 2012, 2013 Free Software Foundation, Inc. - --timestamp='2011-08-20' -+timestamp='2012-12-29' - - # This file is free software; you can redistribute it and/or modify it - # under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2 of the License, or -+# the Free Software Foundation; either version 3 of the License, or - # (at your option) any later version. - # - # This program is distributed in the hope that it will be useful, but -@@ -17,26 +17,22 @@ timestamp='2011-08-20' - # General Public License for more details. - # - # You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA --# 02110-1301, USA. -+# along with this program; if not, see . - # - # As a special exception to the GNU General Public License, if you - # distribute this file as part of a program that contains a - # configuration script generated by Autoconf, you may include it under --# the same distribution terms that you use for the rest of that program. -- -- --# Originally written by Per Bothner. Please send patches (context --# diff format) to and include a ChangeLog --# entry. -+# the same distribution terms that you use for the rest of that -+# program. This Exception is an additional permission under section 7 -+# of the GNU General Public License, version 3 ("GPLv3"). - # --# This script attempts to guess a canonical system name similar to --# config.sub. If it succeeds, it prints the system name on stdout, and --# exits with 0. Otherwise, it exits with 1. -+# Originally written by Per Bothner. - # - # You can get the latest version of this script from: - # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD -+# -+# Please send patches with a ChangeLog entry to config-patches@gnu.org. -+ - - me=`echo "$0" | sed -e 's,.*/,,'` - -@@ -57,8 +53,8 @@ GNU config.guess ($timestamp) - - Originally written by Per Bothner. - Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, --2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free --Software Foundation, Inc. -+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, -+2012, 2013 Free Software Foundation, Inc. - - This is free software; see the source for copying conditions. There is NO - warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." -@@ -145,7 +141,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or -- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, -+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward -@@ -202,14 +198,14 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; -- *:OpenBSD:*:*) -- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` -- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} -- exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} - exit ;; -+ *:OpenBSD:*:*) -+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` -+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} -+ exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; -@@ -308,7 +304,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; -- arm:riscos:*:*|arm:RISCOS:*:*) -+ arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) -@@ -807,10 +803,13 @@ EOF - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; -+ *:MINGW64*:*) -+ echo ${UNAME_MACHINE}-pc-mingw64 -+ exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; -- *:MSYS*:*) -+ i*:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) -@@ -867,8 +866,12 @@ EOF - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; -- aarch64*:Linux:*) -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ aarch64:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit ;; -+ aarch64_be:Linux:*:*) -+ UNAME_MACHINE=aarch64_be -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in -@@ -904,13 +907,16 @@ EOF - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) -- echo cris-axis-linux-gnu -+ echo ${UNAME_MACHINE}-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) -- echo crisv32-axis-linux-gnu -+ echo ${UNAME_MACHINE}-axis-linux-gnu - exit ;; - frv:Linux:*:*) -- echo frv-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit ;; -+ hexagon:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - LIBC=gnu -@@ -952,7 +958,7 @@ EOF - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) -- echo or32-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-gnu -@@ -971,9 +977,6 @@ EOF - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; -- ppc64le:Linux:*:*) -- echo powerpc64le-unknown-linux-gnu -- exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; -@@ -996,7 +999,7 @@ EOF - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) -- echo x86_64-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu -@@ -1203,6 +1206,9 @@ EOF - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; -+ x86_64:Haiku:*:*) -+ echo x86_64-unknown-haiku -+ exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; -@@ -1258,7 +1264,7 @@ EOF - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; -- NSE-?:NONSTOP_KERNEL:*:*) -+ NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) -@@ -1327,11 +1333,11 @@ EOF - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; -+ x86_64:VMkernel:*:*) -+ echo ${UNAME_MACHINE}-unknown-esx -+ exit ;; - esac - --#echo '(No uname command or uname output not recognized.)' 1>&2 --#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 -- - eval $set_cc_for_build - cat >$dummy.c < -Date: Wed, 20 Jan 2016 21:13:28 +0000 -Subject: llvm-config: use /develop/headers instead of /include - -* don't provide obj-root and src-root. -* use /develop/lib instead of /lib - -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index 94d426b..9dfc43c 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -327,9 +327,17 @@ int main(int argc, char **argv) { - ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include"); - } else { - ActivePrefix = CurrentExecPrefix; -+#ifdef __HAIKU__ -+ ActiveIncludeDir = ActivePrefix + "/develop/headers"; -+#else - ActiveIncludeDir = ActivePrefix + "/include"; -+#endif - ActiveBinDir = ActivePrefix + "/bin"; -+#ifdef __HAIKU__ -+ ActiveLibDir = ActivePrefix + "/develop/lib"; -+#else - ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; -+#endif - ActiveIncludeOption = "-I" + ActiveIncludeDir; - } - -@@ -537,10 +545,16 @@ int main(int argc, char **argv) { - OS << LLVM_HAS_GLOBAL_ISEL << '\n'; - } else if (Arg == "--shared-mode") { - PrintSharedMode = true; -- } else if (Arg == "--obj-root") { -- OS << ActivePrefix << '\n'; -- } else if (Arg == "--src-root") { -- OS << LLVM_SRC_ROOT << '\n'; -+ } else if (Arg == "--obj-root" || Arg == "--src-root") { -+ if (IsInDevelopmentTree) { -+ if (Arg == "--obj-root") -+ OS << ActivePrefix << '\n'; -+ else -+ OS << LLVM_SRC_ROOT << '\n'; -+ } else { -+ llvm::errs() << "llvm-config: sources not installed\n"; -+ exit(1); -+ } - } else if (Arg == "--link-shared") { - LinkMode = LinkModeShared; - } else if (Arg == "--link-static") { --- -2.2.2 - diff --git a/sys-devel/llvm/patches/llvm-3.9.1.patchset b/sys-devel/llvm/patches/llvm-3.9.1.patchset deleted file mode 100644 index 9b8b6d99e..000000000 --- a/sys-devel/llvm/patches/llvm-3.9.1.patchset +++ /dev/null @@ -1,54 +0,0 @@ -From 99fd5918bd3259536ec5bb32f7ab57e0d5d98caa Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Wed, 20 Jan 2016 21:13:28 +0000 -Subject: llvm-config: use /develop/headers instead of /include - -* don't provide obj-root and src-root. -* use /develop/lib instead of /lib - -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index 94d426b..9dfc43c 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -327,9 +327,17 @@ int main(int argc, char **argv) { - ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include"); - } else { - ActivePrefix = CurrentExecPrefix; -+#ifdef __HAIKU__ -+ ActiveIncludeDir = ActivePrefix + "/develop/headers"; -+#else - ActiveIncludeDir = ActivePrefix + "/include"; -+#endif - ActiveBinDir = ActivePrefix + "/bin"; -+#ifdef __HAIKU__ -+ ActiveLibDir = ActivePrefix + "/develop/lib"; -+#else - ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; -+#endif - ActiveIncludeOption = "-I" + ActiveIncludeDir; - } - -@@ -537,10 +545,16 @@ int main(int argc, char **argv) { - OS << LLVM_HAS_GLOBAL_ISEL << '\n'; - } else if (Arg == "--shared-mode") { - PrintSharedMode = true; -- } else if (Arg == "--obj-root") { -- OS << ActivePrefix << '\n'; -- } else if (Arg == "--src-root") { -- OS << LLVM_SRC_ROOT << '\n'; -+ } else if (Arg == "--obj-root" || Arg == "--src-root") { -+ if (IsInDevelopmentTree) { -+ if (Arg == "--obj-root") -+ OS << ActivePrefix << '\n'; -+ else -+ OS << LLVM_SRC_ROOT << '\n'; -+ } else { -+ llvm::errs() << "llvm-config: sources not installed\n"; -+ exit(1); -+ } - } else if (Arg == "--link-shared") { - LinkMode = LinkModeShared; - } else if (Arg == "--link-static") { --- -2.2.2 - diff --git a/sys-devel/llvm/patches/llvm-4.0.1.patchset b/sys-devel/llvm/patches/llvm-4.0.1.patchset deleted file mode 100644 index 7191b5f89..000000000 --- a/sys-devel/llvm/patches/llvm-4.0.1.patchset +++ /dev/null @@ -1,74 +0,0 @@ -From b08432486912bafc8e058577cb90271b2117eff1 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Wed, 20 Jan 2016 21:13:28 +0000 -Subject: llvm-config: use /develop/headers instead of /include - -* don't provide obj-root and src-root. - -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index 25344e4..11901bf 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -332,9 +332,14 @@ int main(int argc, char **argv) { - ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include"); - } else { - ActivePrefix = CurrentExecPrefix; -+#ifdef __HAIKU__ -+ ActiveIncludeDir = ActivePrefix + "/develop/headers"; -+ ActiveLibDir = ActivePrefix + "/develop/lib" + LLVM_LIBDIR_SUFFIX; -+#else - ActiveIncludeDir = ActivePrefix + "/include"; -- ActiveBinDir = ActivePrefix + "/bin"; - ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; -+#endif -+ ActiveBinDir = ActivePrefix + "/bin"; - ActiveCMakeDir = ActiveLibDir + "/cmake/llvm"; - ActiveIncludeOption = "-I" + ActiveIncludeDir; - } -@@ -554,10 +559,16 @@ int main(int argc, char **argv) { - OS << (LLVM_HAS_GLOBAL_ISEL ? "ON" : "OFF") << '\n'; - } else if (Arg == "--shared-mode") { - PrintSharedMode = true; -- } else if (Arg == "--obj-root") { -- OS << ActivePrefix << '\n'; -- } else if (Arg == "--src-root") { -- OS << LLVM_SRC_ROOT << '\n'; -+ } else if (Arg == "--obj-root" || Arg == "--src-root") { -+ if (IsInDevelopmentTree) { -+ if (Arg == "--obj-root") -+ OS << ActivePrefix << '\n'; -+ else -+ OS << LLVM_SRC_ROOT << '\n'; -+ } else { -+ llvm::errs() << "llvm-config: sources not installed\n"; -+ exit(1); -+ } - } else if (Arg == "--ignore-libllvm") { - LinkDyLib = false; - LinkMode = BuiltSharedLibs ? LinkModeShared : LinkModeAuto; --- -2.12.2 - - -From 4c58933420077f3520c2a9348ad560eddcd676a7 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Tue, 4 Jul 2017 20:41:17 +0200 -Subject: --whole-archive also on Haiku for GNU ld. - - -diff --git a/tools/llvm-shlib/CMakeLists.txt b/tools/llvm-shlib/CMakeLists.txt -index edadb82..f96b016 100644 ---- a/tools/llvm-shlib/CMakeLists.txt -+++ b/tools/llvm-shlib/CMakeLists.txt -@@ -37,7 +37,7 @@ endif() - add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES}) - - list(REMOVE_DUPLICATES LIB_NAMES) --if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" OR MINGW) # FIXME: It should be "GNU ld for elf" -+if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" OR MINGW OR HAIKU) # FIXME: It should be "GNU ld for elf" - # GNU ld doesn't resolve symbols in the version script. - set(LIB_NAMES -Wl,--whole-archive ${LIB_NAMES} -Wl,--no-whole-archive) - elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") --- -2.12.2 - diff --git a/sys-devel/llvm/patches/llvm-6.0.0~git.patchset b/sys-devel/llvm/patches/llvm-6.0.0~git.patchset deleted file mode 100644 index 2934b2c2d..000000000 --- a/sys-devel/llvm/patches/llvm-6.0.0~git.patchset +++ /dev/null @@ -1,77 +0,0 @@ -From 6f326bc4064aa7a42fe2a4bcef8add79eca1a9f7 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Wed, 20 Jan 2016 21:13:28 +0000 -Subject: llvm-config: use /develop/headers instead of /include - -* don't provide obj-root and src-root. - -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index 08b096a..01cc38d 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -332,11 +332,16 @@ int main(int argc, char **argv) { - ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include"); - } else { - ActivePrefix = CurrentExecPrefix; -+#ifdef __HAIKU__ -+ ActiveIncludeDir = ActivePrefix + "/develop/headers"; -+ ActiveLibDir = ActivePrefix + "/develop/lib" + LLVM_LIBDIR_SUFFIX; -+#else - ActiveIncludeDir = ActivePrefix + "/include"; -+ ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; -+#endif - SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR)); - sys::fs::make_absolute(ActivePrefix, path); - ActiveBinDir = path.str(); -- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; - ActiveCMakeDir = ActiveLibDir + "/cmake/llvm"; - ActiveIncludeOption = "-I" + ActiveIncludeDir; - } -@@ -556,10 +560,16 @@ int main(int argc, char **argv) { - OS << (LLVM_HAS_GLOBAL_ISEL ? "ON" : "OFF") << '\n'; - } else if (Arg == "--shared-mode") { - PrintSharedMode = true; -- } else if (Arg == "--obj-root") { -- OS << ActivePrefix << '\n'; -- } else if (Arg == "--src-root") { -- OS << LLVM_SRC_ROOT << '\n'; -+ } else if (Arg == "--obj-root" || Arg == "--src-root") { -+ if (IsInDevelopmentTree) { -+ if (Arg == "--obj-root") -+ OS << ActivePrefix << '\n'; -+ else -+ OS << LLVM_SRC_ROOT << '\n'; -+ } else { -+ llvm::errs() << "llvm-config: sources not installed\n"; -+ exit(1); -+ } - } else if (Arg == "--ignore-libllvm") { - LinkDyLib = false; - LinkMode = BuiltSharedLibs ? LinkModeShared : LinkModeAuto; --- -2.13.1 - - -From 725a79b6e375e7132bb15c1a9cef856f48e67525 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Sat, 16 Sep 2017 15:02:46 +0200 -Subject: Haiku doesn't expose whether a FS is local or remote. - - -diff --git a/lib/Support/Unix/Path.inc b/lib/Support/Unix/Path.inc -index 3099c27..c9ee624 100644 ---- a/lib/Support/Unix/Path.inc -+++ b/lib/Support/Unix/Path.inc -@@ -380,6 +380,9 @@ static bool is_local_impl(struct STATVFS &Vfs) { - #elif defined(__CYGWIN__) - // Cygwin doesn't expose this information; would need to use Win32 API. - return false; -+#elif defined(__HAIKU__) -+ // Haiku doesn't expose this information -+ return false; - #elif defined(__sun) - // statvfs::f_basetype contains a null-terminated FSType name of the mounted target - StringRef fstype(Vfs.f_basetype); --- -2.13.1 -