diff options
author | 2016-11-21 14:15:41 -0800 | |
---|---|---|
committer | 2016-11-21 14:15:41 -0800 | |
commit | 9e9d943435e1316c2be7cff2b3c34d6b5c69a9a1 (patch) | |
tree | 07ba8cc812e0314f6db5c1dbc13da8f50485ea68 /sys-devel | |
parent | net-misc/modemmanager: Sync with upstream. (diff) | |
download | musl-9e9d943435e1316c2be7cff2b3c34d6b5c69a9a1.tar.gz musl-9e9d943435e1316c2be7cff2b3c34d6b5c69a9a1.tar.bz2 musl-9e9d943435e1316c2be7cff2b3c34d6b5c69a9a1.zip |
sys-devel/llvm: 3.9.0 works
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/llvm/Manifest | 18 | ||||
-rw-r--r-- | sys-devel/llvm/files/clang-3.4-darwin_prefix-include-paths.patch | 18 | ||||
-rw-r--r-- | sys-devel/llvm/files/clang-3.5-gentoo-install.patch | 57 | ||||
-rw-r--r-- | sys-devel/llvm/files/clang-3.5-gentoo-runtime-gcc-detection-v3.patch | 42 | ||||
-rw-r--r-- | sys-devel/llvm/files/llvm-3.2-nodoctargz.patch | 45 | ||||
-rw-r--r-- | sys-devel/llvm/files/llvm-3.5-gcc-4.9.patch | 43 | ||||
-rw-r--r-- | sys-devel/llvm/files/llvm-3.5-gentoo-install.patch | 83 | ||||
-rw-r--r-- | sys-devel/llvm/files/llvm-3.5-musl-clang-support.patch | 59 | ||||
-rw-r--r-- | sys-devel/llvm/files/llvm-3.5-musl-compiler-rt.patch | 58 | ||||
-rw-r--r-- | sys-devel/llvm/files/llvm-3.5-musl-fixes.patch | 77 | ||||
-rw-r--r-- | sys-devel/llvm/files/llvm-3.5-musl-support.patch | 67 | ||||
-rw-r--r-- | sys-devel/llvm/files/llvm-3.5.0-fix_LLVMExports_cmake.patch | 39 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-3.5.0-r99.ebuild | 531 | ||||
-rw-r--r-- | sys-devel/llvm/metadata.xml | 25 |
14 files changed, 0 insertions, 1162 deletions
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest deleted file mode 100644 index 44acbd2f..00000000 --- a/sys-devel/llvm/Manifest +++ /dev/null @@ -1,18 +0,0 @@ -AUX clang-3.4-darwin_prefix-include-paths.patch 710 SHA256 f76311dfc5fa734a3a72fa516f695486595963824d5b6891fd1454d71c27fa0b SHA512 e130d7392b82ffc40ec96c0ee45d53cf032c761e00a7a2382af1f826e2a892b12069a7f5407307e1828fb741e522b8e10728d593d839e1b5648ccf9460feff0e WHIRLPOOL d2b24e224cb90be9615994d64af92b139325b2630cc43851370b8989d0eb7ee8f43ad421e3036041a30ec1fb30c1e3ddaf09d54f461484963a2bd8ea2fba24c6 -AUX clang-3.5-gentoo-install.patch 2166 SHA256 e359a219f2d0d2b88094bbb5ab91fd50d9662686f77e85b7ccfb8d1c4a6fd39d SHA512 07e5b3d4131a7d58577bcb99a82c585258c98a38e71b7e8dda058b467a558471e1ddeec5c9f5492f5d17e280cd4b09e49338e0926dd2534583bc8a2772bce26d WHIRLPOOL 5582b2015b4d3e845a45bfda08c156683df11685170f253f79ccf016f2e771b016d213417d83068f01a41bd8e0148474711cd6f9b7187e758322e9ebb9c390dd -AUX clang-3.5-gentoo-runtime-gcc-detection-v3.patch 1694 SHA256 24691db819d08f87f0144a67900ae6797c0df4d180b55acc5c377d890ac2e72e SHA512 a34f694560ef0c7366ad0dc243a479afc74b6122d624b8681538da69c70d0d1869245a89c61d49add890c5f76134281470f5e75a59e6fc9ac963230fc56fe8e6 WHIRLPOOL 4f4af09e08c7d5af89558e77d0a2a4542f77ae505e9020ca6e48e20ef71c4db6016ed0211b2a303b756994f62949c91c216cc2f81b16ff65c71414d354977c8f -AUX llvm-3.2-nodoctargz.patch 1761 SHA256 e17494aef638d2fe3fb0b669516ffcc9e560161903e1e165de0eecba684c8c1b SHA512 d12a8996d8a1160f7bad4ce3b3a9ddfb2d29d91fc160876c145f9241927b0cf4413f3b29bc2bf291f0421f61a512de8057e8f3d0029a8a09ba3f1d93582723b5 WHIRLPOOL be273271db8293829a63120cfc917711c99d8893cae6f95af2583def735131f629ee67b5a1515df007477f34abeaf5f2729d689eefdc61eb3aae6b1959971507 -AUX llvm-3.5-gcc-4.9.patch 1722 SHA256 c73f64311ff67534b581729b3ef0fecf452b86961c3b668ac2e6b50f1eff0bd2 SHA512 5ad0a742fca3eb9e08a183af9f90370baf85528bba6f3083d19592fe2a704950ca8c6bf9e930f9834255de3fc5832c49a06c9ca29a66e45928d9047abd9ad8ac WHIRLPOOL dac24fcb47d8b094ffa6b4403dbd7604901dd0f5ef6665a882380109584e4de815b2f277e05d44c05e1a3d22a7003075b2b2649f3f614f299b38bc6d594400ae -AUX llvm-3.5-gentoo-install.patch 3204 SHA256 0c97173613505ea92f0aa79d4e04e797f1917fdc33b34daee05752bb52336d53 SHA512 f60b04f1fc7798f7869f3d80e4c163086c398e01b81220d60ccff42be5899fa036d5ab95257933e89e4c5efd04267a09015917c6a617b86b82d7ab4f5d0de221 WHIRLPOOL 81ce5835b9eb1fe1b162f35d6e37762cc8d613e67c5791f078ecd0e354a87eb92e52452bd6e9a7f70953dabea99d197786e87ed64dc802223149b8e97d6de265 -AUX llvm-3.5-musl-clang-support.patch 2341 SHA256 fb0a01ec527883eae8f1c037037ae46bb09b0e69526a74b888512eb48b7884fb SHA512 488fad455e41c97e5b712f47e8692e0dca88dbf9508667422283d89953795d3a11016d8b77a4d0b30d10c1a188fb1e5a5fc73bf403ec8452971578edc5f88701 WHIRLPOOL 28600cf78f80b251794b1d84ea64999aa196dcb695db6f72208a7a3946760f2d4ac755ef835b87510d17bbebd856254c5cda1ec0dfab461b0378aa2e794adb90 -AUX llvm-3.5-musl-compiler-rt.patch 2309 SHA256 a9ec6cb87f9b7e17a9fd0cf7fa7cedafaba7601b97359e27d13c7f1cde96adfe SHA512 8d96fdaab4c2b5d6ee3177e5346be0176deb104c1a75aeed72195ff8e86cdb6234c5815645887c3bd1ff28047281fbaf707c1d1e80bebd1b80c8b7e4abc8d0fa WHIRLPOOL 1afed6a971f7f3d4dea37b81e8381b6eb96d21ebdfd90f21e451e40e597938b8dd545f03bce7c0aa448a1807162333e76e52903b7fb2ac4f33545f4fd4e46a88 -AUX llvm-3.5-musl-fixes.patch 3465 SHA256 e7ea600500b948bcf5d3eaad0664039b1cdfb27ece878f176b038a97c86183e5 SHA512 b5c5c6e25d7c15d5a014537e8b77d1f648bd3abb56aa1b1342849235e7887468d0b46031ac00115ee8c1786a1ad4695dee9d43c9d38dbfca8577faeee5db156f WHIRLPOOL f7ede3ed9e8d06aa76eb12c3e23a35629be9d4676aa21017758b25cbf97d1e03534763e2a0008d2b549672b10c326925da5040319f70c0c8d139add8c4eb7661 -AUX llvm-3.5-musl-support.patch 2761 SHA256 fbead2e7842e6e928fba09a8b59f9ca10110021c30ccee0b4500c81bd1607c58 SHA512 e0545a23e1ae8a06cba0577f5bcebe7aca90ac25617fa9132ac2bc3749f2ad95b5d3665073f9b2e1b0404741b903596b8892f9dd3e303f51c349da8959cb1b12 WHIRLPOOL a5e3f8fba22b0478c6bda6a9cd9fb8d83f80b8caa8fcd56381f2d59caf8062a98f5fc1b609856a7bdc45209615597039346ea20cb05e557a291ab73c29b1fed8 -AUX llvm-3.5.0-fix_LLVMExports_cmake.patch 1563 SHA256 924303a7fa7ee46276eb2984e3e2d9304873df1d63c0d878371cf98b4094aef0 SHA512 8e8c3ae2c8e2bac0d78a7f572ccfae9cfc30e52ffbfa953596c075cf6adc4e5881d2b80cad4d87bbf1de837d88352334bb51a331adc8d8db74354945c036637e WHIRLPOOL b525bbf3a7ade5906e9e35315af1ccb50c4392e1d104c516927a3ab9b627bc3d0fcf41bd0b77093f6743131f801d37d53d1065371e5c86eb4e7d538eb969b3a8 -DIST cfe-3.5.0.src.tar.xz 8233432 SHA256 fc80992e004b06f6c7afb612de1cdaa9ac9d25811c55f94fcf7331d9b81cdb8b SHA512 b26a5e2cd81c150607c23b22fafc0d9c7f12b83b45e476b8e75bf5e99d42be7c98ffeac7349df664f01b00900864a01429860b298e48961861377a4b2daf3e49 WHIRLPOOL 5dd8b6fe97933b74f1668b1d753c16cd3bcd05ccf72aac1283aa449caf93f5ba88ae79e7668f7e79b554e1421549a87af21c86cf92657c1b4d77744165718ce7 -DIST clang-tools-extra-3.5.0.src.tar.xz 216256 SHA256 2981beb378afb5aa5c50ed017720a42a33e77e902c7086ad2d412ef4fa931f69 SHA512 5ff2cc5d143b78fbe6645486f02e50f738a92aaf6b8e85cfc6f91e659684686b12e61fc8f00b814b4372c5ed2c2b1be5eca61ea696fbe074b815877b799534ee WHIRLPOOL 10b5afc550fa6a8c33739fbf9268e934732b2892842d398152676e66ab90aed3c6e1bae02bc1b8aa0a9a917b6b450f60950317a9eda3f9e377971cbe00164b11 -DIST compiler-rt-3.5.0.src.tar.xz 1088352 SHA256 a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136 SHA512 862cce2d6b398bd1a8399496a547e6ab976a31f676528beebfbea5fd7dc54aa72e1c25deefa12f6167096521eba74090565b0168806451da02ddac04e922fc48 WHIRLPOOL 248acf997d70d7904aa79bf83e0c02ba4e5f8c2812c03f44a8e1e31b845a654f250c09ec6a123f9245d0db8713e8cc5a4087b9ce785af4f5eb7e55d9dbd362a2 -DIST llvm-3.5.0-manpages.tar.bz2 35314 SHA256 724e752a60016dce8cc536658906d3646c600e977374e0ea692a5d0fe2d4a021 SHA512 d99d6096d7f21a81923297584fe5eeb23e0d83d4538fe376615c92fffc8aff3189999f7ab3c537b5aa5d6bc2c22c53eb05717d48c7ab99c42315b8665bac62c3 WHIRLPOOL 68ced06ee6678c5333c662eb1cc0da744c5a184b12dd059c1b77ec200b1d3cc231f270b9d9b6e177d728776894277b3f9061338aa55620c90474eb97915b7819 -DIST llvm-3.5.0.src.tar.xz 11735940 SHA256 28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03 SHA512 b4d0f325dbdb0a8f10e5fd031954ef4b1971d8f99f4e4b53834801a2b74a7acde3f77c655c8355b407424b363edfb10f71d85fc370356dc52af5c636a1bba197 WHIRLPOOL 561520823468b61c63df8e13f876b7ac586eb1e52c256e9a36370e5d46e8cef3937655c36fbb51eebd3680fab67412e7c777479477fc728e7a8f35420e573ef1 -EBUILD llvm-3.5.0-r99.ebuild 15101 SHA256 dcf25aaa71aa0c30eef46a40cb7507bae77da642e6ced8ca896209e5012cded2 SHA512 c90d1c0d0b7d2ed41d419ccbc20f754d859389a68b5c5afa9714b7847ff98fb3295248c8cd26ae6c91e1d96ba9d610ccfd22b67261d77a35fd9b5baec861a2cf WHIRLPOOL 2e776acf4eca207ba858016566116f4bbfbde31f645cde51228666cf5ac6dde100cd599b606c1aef8a9778a6a7c7e3ac691342fc67e0213a5b7d259bde3124ea -MISC metadata.xml 2578 SHA256 463e9583b52f9f6a584085be7af63359aed10e11fb03f95fffe1b3000f36ca42 SHA512 33d21c9d04dd077057013a5616eccea758ffdf23add9d44f55cd702b07b4eef306547e7f7c66cfe54806991bec9c3c06e9659a3b7f74c513dbc4d6bfa622467a WHIRLPOOL 75bcd928e41ce33f898f645875f3509344825e2e5efef883dc8f950d9b7dc3aace2cab32b881f2f4d76efcb67994ed0300f7e43350190a53da4c1254aa6f4a0f diff --git a/sys-devel/llvm/files/clang-3.4-darwin_prefix-include-paths.patch b/sys-devel/llvm/files/clang-3.4-darwin_prefix-include-paths.patch deleted file mode 100644 index f5f1d9e3..00000000 --- a/sys-devel/llvm/files/clang-3.4-darwin_prefix-include-paths.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- tools/clang/lib/Frontend/InitHeaderSearch.cpp -+++ tools/clang/lib/Frontend/InitHeaderSearch.cpp -@@ -233,6 +233,7 @@ - case llvm::Triple::Bitrig: - break; - default: -+ AddPath("@GENTOO_PORTAGE_EPREFIX@/usr/include", System, false); - // FIXME: temporary hack: hard-coded paths. - AddPath("/usr/local/include", System, false); - break; -@@ -505,6 +506,7 @@ - // Add the default framework include paths on Darwin. - if (HSOpts.UseStandardSystemIncludes) { - if (triple.isOSDarwin()) { -+ AddPath("@GENTOO_PORTAGE_EPREFIX@/Frameworks", System, true); - AddPath("/System/Library/Frameworks", System, true); - AddPath("/Library/Frameworks", System, true); - } diff --git a/sys-devel/llvm/files/clang-3.5-gentoo-install.patch b/sys-devel/llvm/files/clang-3.5-gentoo-install.patch deleted file mode 100644 index 5d4261d0..00000000 --- a/sys-devel/llvm/files/clang-3.5-gentoo-install.patch +++ /dev/null @@ -1,57 +0,0 @@ ---- - tools/clang/lib/Driver/Tools.cpp | 2 +- - tools/clang/tools/scan-build/scan-build | 4 ++-- - tools/clang/tools/scan-view/scan-view | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/tools/clang/lib/Driver/Tools.cpp b/tools/clang/lib/Driver/Tools.cpp -index 187ed38..55bcd99 100644 ---- a/tools/clang/lib/Driver/Tools.cpp -+++ b/tools/clang/lib/Driver/Tools.cpp -@@ -1404,7 +1404,7 @@ static void AddGoldPlugin(const ToolChain &ToolChain, const ArgList &Args, - // as gold requires -plugin to come before any -plugin-opt that -Wl might - // forward. - CmdArgs.push_back("-plugin"); -- std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so"; -+ std::string Plugin = ToolChain.getDriver().Dir + "/../@libdir@/LLVMgold.so"; - CmdArgs.push_back(Args.MakeArgString(Plugin)); - - // Try to pass driver level flags relevant to LTO code generation down to -diff --git a/tools/clang/tools/scan-build/scan-build b/tools/clang/tools/scan-build/scan-build -index 0f119f6..58f78d9 100755 ---- a/tools/clang/tools/scan-build/scan-build -+++ b/tools/clang/tools/scan-build/scan-build -@@ -419,7 +419,7 @@ - - my $Dir = shift; - -- my $JS = Cwd::realpath("$RealBin/sorttable.js"); -+ my $JS = Cwd::realpath("@EPREFIX@/usr/share/llvm/sorttable.js"); - - DieDiag("Cannot find 'sorttable.js'.\n") - if (! -r $JS); -@@ -429,7 +429,7 @@ - DieDiag("Could not copy 'sorttable.js' to '$Dir'.\n") - if (! -r "$Dir/sorttable.js"); - -- my $CSS = Cwd::realpath("$RealBin/scanview.css"); -+ my $CSS = Cwd::realpath("@EPREFIX@/usr/share/llvm/scanview.css"); - - DieDiag("Cannot find 'scanview.css'.\n") - if (! -r $CSS); -diff --git a/tools/clang/tools/scan-view/scan-view b/tools/clang/tools/scan-view/scan-view -index fb27da6..1f8ddb8 100755 ---- a/tools/clang/tools/scan-view/scan-view -+++ b/tools/clang/tools/scan-view/scan-view -@@ -54,7 +54,7 @@ def start_browser(port, options): - webbrowser.open(url) - - def run(port, options, root): -- import ScanView -+ from clang import ScanView - try: - print 'Starting scan-view at: http://%s:%d'%(options.host, - port) --- -1.8.4.4 - diff --git a/sys-devel/llvm/files/clang-3.5-gentoo-runtime-gcc-detection-v3.patch b/sys-devel/llvm/files/clang-3.5-gentoo-runtime-gcc-detection-v3.patch deleted file mode 100644 index 1f81af0b..00000000 --- a/sys-devel/llvm/files/clang-3.5-gentoo-runtime-gcc-detection-v3.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 916572e1243633ddf913c8f32771a3a7f70fd853 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> -Date: Fri, 5 Sep 2014 16:49:35 +0200 -Subject: [PATCH] Support obtaining active toolchain from gcc-config. - ---- - tools/clang/lib/Driver/ToolChains.cpp | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -diff --git a/tools/clang/lib/Driver/ToolChains.cpp b/tools/clang/lib/Driver/ToolChains.cpp -index b46f69d..2d4374d 100644 ---- a/tools/clang/lib/Driver/ToolChains.cpp -+++ b/tools/clang/lib/Driver/ToolChains.cpp -@@ -1253,6 +1253,25 @@ Generic_GCC::GCCInstallationDetector::init( - Prefixes.push_back("/usr"); - } - -+ for (unsigned k = 0, ke = CandidateTripleAliases.size(); k < ke; ++k) { -+ llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> File = -+ llvm::MemoryBuffer::getFile(D.SysRoot + "/etc/env.d/gcc/config-" + CandidateTripleAliases[k].str()); -+ if (File) -+ { -+ const std::string VersionText = File.get()->getBuffer().rsplit('-').second.substr(0,5).str(); -+ const std::string GentooPath = D.SysRoot + "/usr/lib/gcc/" + CandidateTripleAliases[k].str() + "/" + VersionText; -+ if (llvm::sys::fs::exists(GentooPath + "/crtbegin.o")) -+ { -+ Version = GCCVersion::Parse(VersionText); -+ GCCInstallPath = GentooPath; -+ GCCParentLibPath = GCCInstallPath + "/../../.."; -+ GCCTriple.setTriple(CandidateTripleAliases[k]); -+ IsValid = true; -+ return; -+ } -+ } -+ } -+ - // Loop over the various components which exist and select the best GCC - // installation available. GCC installs are ranked by version number. - Version = GCCVersion::Parse("0.0.0"); --- -2.1.0 - diff --git a/sys-devel/llvm/files/llvm-3.2-nodoctargz.patch b/sys-devel/llvm/files/llvm-3.2-nodoctargz.patch deleted file mode 100644 index 3a622b53..00000000 --- a/sys-devel/llvm/files/llvm-3.2-nodoctargz.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- docs/Makefile.orig 2012-04-30 17:00:01.000000000 +0200 -+++ docs/Makefile 2012-04-30 17:15:52.000000000 +0200 -@@ -52,11 +52,10 @@ - # 'make generated BUILD_FOR_WEBSITE=1' - generated:: $(generated_targets) - --install-html: $(PROJ_OBJ_DIR)/html.tar.gz -+install-html: - $(Echo) Installing HTML documentation - $(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html - $(Verb) $(DataInstall) $(HTML) $(DESTDIR)$(PROJ_docsdir)/html -- $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/html.tar.gz $(DESTDIR)$(PROJ_docsdir) - - $(PROJ_OBJ_DIR)/html.tar.gz: $(HTML) - $(Echo) Packaging HTML documentation -@@ -68,12 +67,11 @@ - install-doxygen: doxygen - $(Echo) Installing doxygen documentation - $(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html/doxygen -- $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/doxygen.tar.gz $(DESTDIR)$(PROJ_docsdir) - $(Verb) cd $(PROJ_OBJ_DIR)/doxygen && \ - $(FIND) . -type f -exec \ - $(DataInstall) {} $(DESTDIR)$(PROJ_docsdir)/html/doxygen \; - --doxygen: regendoc $(PROJ_OBJ_DIR)/doxygen.tar.gz -+doxygen: regendoc - - regendoc: - $(Echo) Building doxygen documentation -@@ -99,7 +97,6 @@ - install-ocamldoc: ocamldoc - $(Echo) Installing ocamldoc documentation - $(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/ocamldoc/html -- $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/ocamldoc.tar.gz $(DESTDIR)$(PROJ_docsdir) - $(Verb) cd $(PROJ_OBJ_DIR)/ocamldoc && \ - $(FIND) . -type f -exec \ - $(DataInstall) {} $(DESTDIR)$(PROJ_docsdir)/ocamldoc/html \; -@@ -109,7 +106,6 @@ - $(Verb) $(RM) -rf $(PROJ_OBJ_DIR)/ocamldoc.tar* - $(Verb) $(TAR) cf $(PROJ_OBJ_DIR)/ocamldoc.tar ocamldoc - $(Verb) $(GZIPBIN) $(PROJ_OBJ_DIR)/ocamldoc.tar -- $(Verb) $(CP) $(PROJ_OBJ_DIR)/ocamldoc.tar.gz $(PROJ_OBJ_DIR)/ocamldoc/html/ - - regen-ocamldoc: - $(Echo) Building ocamldoc documentation diff --git a/sys-devel/llvm/files/llvm-3.5-gcc-4.9.patch b/sys-devel/llvm/files/llvm-3.5-gcc-4.9.patch deleted file mode 100644 index 7da657f4..00000000 --- a/sys-devel/llvm/files/llvm-3.5-gcc-4.9.patch +++ /dev/null @@ -1,43 +0,0 @@ -commit 080fb498017d17af2e4d7563608c7d8a848f20da -Author: Sanjoy Das <sanjoy at azulsystems.com> -Date: Thu Jun 19 15:38:02 2014 -0700 - - Fix the --enable-shared build. - - Currently a build configured with ./configure --enable-shared breaks - with an undefined "llvm::cl::parser<llvm::PassInfo - const*>::getOption(unsigned int) const" symbol when linking opt. This - body for this symbol gets emitted into Pass.o (along with the destructor - for PassNameParser), but gets linked into libLLVM-3.5svn.so with local - visibility, causing the link error. - - This fix uses the existing EXTERN_TEMPLATE machinery to force a globally - visible definition for the functions in parser<const PassInfo *> into - Pass.o. - -diff --git a/include/llvm/IR/LegacyPassNameParser.h b/include/llvm/IR/LegacyPassNameParser.h -index e2e4912..a07e3fd 100644 ---- a/include/llvm/IR/LegacyPassNameParser.h -+++ b/include/llvm/IR/LegacyPassNameParser.h -@@ -95,6 +95,8 @@ private: - } - }; - -+EXTERN_TEMPLATE_INSTANTIATION(class cl::parser<const PassInfo *>); -+ - ///===----------------------------------------------------------------------===// - /// FilteredPassNameParser class - Make use of the pass registration - /// mechanism to automatically add a command line argument to opt for -diff --git a/lib/IR/Pass.cpp b/lib/IR/Pass.cpp -index 91d86ae..00ce223 100644 ---- a/lib/IR/Pass.cpp -+++ b/lib/IR/Pass.cpp -@@ -234,6 +234,8 @@ PassNameParser::~PassNameParser() { - // attempting to remove the registration listener is an error. - } - -+TEMPLATE_INSTANTIATION(class cl::parser<const PassInfo *>); -+ - //===----------------------------------------------------------------------===// - // AnalysisUsage Class Implementation - // diff --git a/sys-devel/llvm/files/llvm-3.5-gentoo-install.patch b/sys-devel/llvm/files/llvm-3.5-gentoo-install.patch deleted file mode 100644 index 7a8c9f7d..00000000 --- a/sys-devel/llvm/files/llvm-3.5-gentoo-install.patch +++ /dev/null @@ -1,83 +0,0 @@ -From b8846d389ff5e2b768a114f752cf39788accba26 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> -Date: Mon, 19 Aug 2013 13:22:46 +0200 -Subject: [PATCH] gentoo install fixes - ---- - Makefile.config.in | 6 +++--- - Makefile.rules | 6 +++--- - tools/llvm-config/BuildVariables.inc.in | 2 ++ - tools/llvm-config/Makefile | 4 ++++ - tools/llvm-config/llvm-config.cpp | 5 +++-- - utils/FileCheck/Makefile | 2 +- - 7 files changed, 17 insertions(+), 10 deletions(-) - -diff --git a/Makefile.config.in b/Makefile.config.in -index dcca45f..e75ae2e 100644 ---- a/Makefile.config.in -+++ b/Makefile.config.in -@@ -95,10 +95,10 @@ PROJ_internal_prefix := $(prefix) - endif - - PROJ_bindir := $(PROJ_prefix)/bin --PROJ_libdir := $(PROJ_prefix)/lib -+PROJ_libdir := $(PROJ_prefix)/$(GENTOO_LIBDIR) - PROJ_datadir := $(PROJ_prefix)/share --PROJ_docsdir := $(PROJ_prefix)/docs/llvm --PROJ_etcdir := $(PROJ_prefix)/etc/llvm -+PROJ_docsdir := $(PROJ_prefix)/share/doc/@PF@ -+PROJ_etcdir := @EPREFIX@/etc/llvm - PROJ_includedir := $(PROJ_prefix)/include - PROJ_infodir := $(PROJ_prefix)/info - PROJ_mandir := $(PROJ_prefix)/share/man -diff --git a/Makefile.rules b/Makefile.rules -index e53598b..217f754 100644 ---- a/Makefile.rules -+++ b/Makefile.rules -@@ -275,7 +275,7 @@ ifeq ($(ENABLE_OPTIMIZED),1) - BuildMode := Release - # Don't use -fomit-frame-pointer on Darwin or FreeBSD. - ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin Darwin DragonFly FreeBSD GNU/kFreeBSD)) -- OmitFramePointer := -fomit-frame-pointer -+ OmitFramePointer := - endif - - CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer) -diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in -index fe87afb..fd9f2c6 100644 ---- a/tools/llvm-config/BuildVariables.inc.in -+++ b/tools/llvm-config/BuildVariables.inc.in -@@ -25,3 +25,4 @@ - #define LLVM_BUILDMODE "@LLVM_BUILDMODE@" - #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@" - #define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@" -+#define LLVM_LIBDIR "@LLVM_LIBDIR@" -diff --git a/tools/llvm-config/Makefile b/tools/llvm-config/Makefile -index b20b6bf..fc56781 100644 ---- a/tools/llvm-config/Makefile -+++ b/tools/llvm-config/Makefile -@@ -55,6 +55,8 @@ $(ObjDir)/BuildVariables.inc: $(BUILDVARIABLES_SRCPATH) Makefile $(ObjDir)/.dir - >> temp.sed - $(Verb) $(ECHO) 's/@LLVM_TARGETS_BUILT@/$(subst /,\/,$(TARGETS_TO_BUILD))/' \ - >> temp.sed -+ $(Verb) $(ECHO) 's/@LLVM_LIBDIR@/$(subst /,\/,$(GENTOO_LIBDIR))/' \ -+ >> temp.sed - $(Verb) $(SED) -f temp.sed < $< > $@ - $(Verb) $(RM) temp.sed - -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index 3924e2e..f439c60 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -250,7 +250,7 @@ int main(int argc, char **argv) { - ActivePrefix = CurrentExecPrefix; - ActiveIncludeDir = ActivePrefix + "/include"; - ActiveBinDir = ActivePrefix + "/bin"; -- ActiveLibDir = ActivePrefix + "/lib"; -+ ActiveLibDir = ActivePrefix + "/" LLVM_LIBDIR; - ActiveIncludeOption = "-I" + ActiveIncludeDir; - } - --- -1.8.4.2 - diff --git a/sys-devel/llvm/files/llvm-3.5-musl-clang-support.patch b/sys-devel/llvm/files/llvm-3.5-musl-clang-support.patch deleted file mode 100644 index ba54df14..00000000 --- a/sys-devel/llvm/files/llvm-3.5-musl-clang-support.patch +++ /dev/null @@ -1,59 +0,0 @@ -adapted from llvm-alpine-linux.patch from Alpine - -diff -ru llvm-3.5.0.src.orig/tools/clang/lib/Driver/Tools.cpp llvm-3.5.0.src/tools/clang/lib/Driver/Tools.cpp ---- tools/clang/lib/Driver/Tools.cpp 2014-08-07 07:51:51.000000000 -0300 -+++ tools/clang/lib/Driver/Tools.cpp 2014-11-12 15:11:31.901864030 -0200 -@@ -7182,8 +7182,14 @@ - return "/system/bin/linker64"; - else - return "/system/bin/linker"; -- } else if (ToolChain.getArch() == llvm::Triple::x86 || -- ToolChain.getArch() == llvm::Triple::sparc) -+ } else if (ToolChain.getArch() == llvm::Triple::x86) { -+ switch (ToolChain.getTriple().getEnvironment()) { -+ case llvm::Triple::Musl: -+ return "/lib/ld-musl-i386.so.1"; -+ default: -+ return "/lib/ld-linux.so.2"; -+ } -+ } else if (ToolChain.getArch() == llvm::Triple::sparc) - return "/lib/ld-linux.so.2"; - else if (ToolChain.getArch() == llvm::Triple::aarch64 || - ToolChain.getArch() == llvm::Triple::arm64) -@@ -7193,10 +7199,17 @@ - return "/lib/ld-linux-aarch64_be.so.1"; - else if (ToolChain.getArch() == llvm::Triple::arm || - ToolChain.getArch() == llvm::Triple::thumb) { -- if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) -+ switch (ToolChain.getTriple().getEnvironment()) { -+ case llvm::Triple::Musl: -+ case llvm::Triple::MuslEABI: -+ return "/lib/ld-musl-arm.so.1"; -+ case llvm::Triple::MuslEABIHF: -+ return "/lib/ld-musl-armhf.so.1"; -+ case llvm::Triple::GNUEABIHF: - return "/lib/ld-linux-armhf.so.3"; -- else -+ default: - return "/lib/ld-linux.so.3"; -+ } - } else if (ToolChain.getArch() == llvm::Triple::armeb || - ToolChain.getArch() == llvm::Triple::thumbeb) { - if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) -@@ -7227,8 +7240,14 @@ - else if (ToolChain.getArch() == llvm::Triple::x86_64 && - ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUX32) - return "/libx32/ld-linux-x32.so.2"; -- else -- return "/lib64/ld-linux-x86-64.so.2"; -+ else { -+ switch (ToolChain.getTriple().getEnvironment()) { -+ case llvm::Triple::Musl: -+ return "/lib/ld-musl-x86_64.so.1"; -+ default: -+ return "/lib64/ld-linux-x86-64.so.2"; -+ } -+ } - } - - static void AddRunTimeLibs(const ToolChain &TC, const Driver &D, diff --git a/sys-devel/llvm/files/llvm-3.5-musl-compiler-rt.patch b/sys-devel/llvm/files/llvm-3.5-musl-compiler-rt.patch deleted file mode 100644 index b1f48d2c..00000000 --- a/sys-devel/llvm/files/llvm-3.5-musl-compiler-rt.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff -ur a/llvm-3.5.0.src/projects/compiler-rt/lib/Makefile.mk b/llvm-3.5.0.src/projects/compiler-rt/lib/Makefile.mk ---- a/projects/compiler-rt/lib/Makefile.mk 2014-02-14 10:20:33.000000000 -0100 -+++ b/projects/compiler-rt/lib/Makefile.mk 2015-01-07 13:56:00.362944069 -0100 -@@ -10,13 +10,13 @@ - SubDirs := - - # Add submodules. --SubDirs += asan -+#SubDirs += asan - SubDirs += builtins --SubDirs += dfsan -+#SubDirs += dfsan - SubDirs += interception --SubDirs += lsan --SubDirs += msan -+#SubDirs += lsan -+#SubDirs += msan - SubDirs += profile --SubDirs += sanitizer_common --SubDirs += tsan --SubDirs += ubsan -+#SubDirs += sanitizer_common -+#SubDirs += tsan -+#SubDirs += ubsan -diff -ur a/llvm-3.5.0.src/projects/compiler-rt/lib/interception/interception_linux.cc b/llvm-3.5.0.src/projects/compiler-rt/lib/interception/interception_linux.cc ---- a/projects/compiler-rt/lib/interception/interception_linux.cc 2014-02-24 09:37:41.000000000 -0100 -+++ b/projects/compiler-rt/lib/interception/interception_linux.cc 2015-01-07 13:56:56.609240893 -0100 -@@ -24,12 +24,6 @@ - return real == wrapper; - } - --#if !defined(__ANDROID__) // android does not have dlvsym --void *GetFuncAddrVer(const char *func_name, const char *ver) { -- return dlvsym(RTLD_NEXT, func_name, ver); --} --#endif // !defined(__ANDROID__) -- - } // namespace __interception - - -diff -ur a/llvm-3.5.0.src/projects/compiler-rt/lib/interception/interception_linux.h b/llvm-3.5.0.src/projects/compiler-rt/lib/interception/interception_linux.h ---- a/projects/compiler-rt/lib/interception/interception_linux.h 2014-02-24 09:37:41.000000000 -0100 -+++ b/projects/compiler-rt/lib/interception/interception_linux.h 2015-01-07 13:56:41.617428317 -0100 -@@ -34,14 +34,8 @@ - (::__interception::uptr) & (func), \ - (::__interception::uptr) & WRAP(func)) - --#if !defined(__ANDROID__) // android does not have dlvsym --# define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \ -- ::__interception::real_##func = (func##_f)(unsigned long) \ -- ::__interception::GetFuncAddrVer(#func, symver) --#else - # define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \ - INTERCEPT_FUNCTION_LINUX_OR_FREEBSD(func) --#endif // !defined(__ANDROID__) - - #endif // INTERCEPTION_LINUX_H - #endif // __linux__ || __FreeBSD__ diff --git a/sys-devel/llvm/files/llvm-3.5-musl-fixes.patch b/sys-devel/llvm/files/llvm-3.5-musl-fixes.patch deleted file mode 100644 index 98d61338..00000000 --- a/sys-devel/llvm/files/llvm-3.5-musl-fixes.patch +++ /dev/null @@ -1,77 +0,0 @@ -llvm-musl.patch from alpine linux - -diff -ru llvm-3.5.0.src.orig/include/llvm/Target/TargetLibraryInfo.h llvm-3.5.0.src/include/llvm/Target/TargetLibraryInfo.h ---- llvm-3.5.0.src.orig/include/llvm/Target/TargetLibraryInfo.h 2014-11-13 12:51:53.341455401 +0000 -+++ llvm-3.5.0.src/include/llvm/Target/TargetLibraryInfo.h 2014-11-13 12:52:35.078889077 +0000 -@@ -13,6 +13,15 @@ - #include "llvm/ADT/DenseMap.h" - #include "llvm/Pass.h" - -+#undef fopen64 -+#undef fseeko64 -+#undef fstat64 -+#undef fstatvfs64 -+#undef ftello64 -+#undef lstat64 -+#undef stat64 -+#undef tmpfile64 -+ - namespace llvm { - class Triple; - -diff -ru llvm-3.5.0.src.orig/lib/Support/DynamicLibrary.cpp llvm-3.5.0.src/lib/Support/DynamicLibrary.cpp ---- llvm-3.5.0.src.orig/lib/Support/DynamicLibrary.cpp 2014-11-13 12:51:53.341455401 +0000 -+++ llvm-3.5.0.src/lib/Support/DynamicLibrary.cpp 2014-11-13 12:52:07.781720766 +0000 -@@ -138,7 +138,7 @@ - - // This macro returns the address of a well-known, explicit symbol - #define EXPLICIT_SYMBOL(SYM) \ -- if (!strcmp(symbolName, #SYM)) return &SYM -+ if (!strcmp(symbolName, #SYM)) return (void *) &SYM - - // On linux we have a weird situation. The stderr/out/in symbols are both - // macros and global variables because of standards requirements. So, we -diff -ru llvm-3.5.0.src.orig/lib/Support/Unix/Signals.inc llvm-3.5.0.src/lib/Support/Unix/Signals.inc ---- llvm-3.5.0.src.orig/lib/Support/Unix/Signals.inc 2014-11-13 12:51:53.341455401 +0000 -+++ llvm-3.5.0.src/lib/Support/Unix/Signals.inc 2014-11-13 12:52:07.781720766 +0000 -@@ -266,7 +266,7 @@ - // On glibc systems we have the 'backtrace' function, which works nicely, but - // doesn't demangle symbols. - void llvm::sys::PrintStackTrace(FILE *FD) { --#if defined(HAVE_BACKTRACE) && defined(ENABLE_BACKTRACES) -+#if defined(__GLIBC__) && defined(HAVE_BACKTRACE) && defined(ENABLE_BACKTRACES) - static void* StackTrace[256]; - // Use backtrace() to output a backtrace on Linux systems with glibc. - int depth = backtrace(StackTrace, -diff -ru llvm-3.5.0.src.orig/lib/Target/TargetLibraryInfo.cpp llvm-3.5.0.src/lib/Target/TargetLibraryInfo.cpp ---- llvm-3.5.0.src.orig/lib/Target/TargetLibraryInfo.cpp 2014-11-13 12:51:53.341455401 +0000 -+++ llvm-3.5.0.src/lib/Target/TargetLibraryInfo.cpp 2014-11-13 12:52:07.785054160 +0000 -@@ -653,14 +653,15 @@ - } - - // The following functions are available on at least Linux: -- if (!T.isOSLinux()) { -+ if (!T.isOSLinux()) -+ TLI.setUnavailable(LibFunc::memalign); -+ if (1 /*!T.isGlibc()*/) { - TLI.setUnavailable(LibFunc::dunder_strdup); - TLI.setUnavailable(LibFunc::dunder_strtok_r); - TLI.setUnavailable(LibFunc::dunder_isoc99_scanf); - TLI.setUnavailable(LibFunc::dunder_isoc99_sscanf); - TLI.setUnavailable(LibFunc::under_IO_getc); - TLI.setUnavailable(LibFunc::under_IO_putc); -- TLI.setUnavailable(LibFunc::memalign); - TLI.setUnavailable(LibFunc::fopen64); - TLI.setUnavailable(LibFunc::fseeko64); - TLI.setUnavailable(LibFunc::fstat64); -diff -ru llvm-3.5.0.src.orig/utils/unittest/googletest/src/gtest.cc llvm-3.5.0.src/utils/unittest/googletest/src/gtest.cc ---- llvm-3.5.0.src.orig/utils/unittest/googletest/src/gtest.cc 2014-11-13 12:51:53.341455401 +0000 -+++ llvm-3.5.0.src/utils/unittest/googletest/src/gtest.cc 2014-11-13 12:52:07.785054160 +0000 -@@ -120,6 +120,7 @@ - - #if GTEST_CAN_STREAM_RESULTS_ - # include <arpa/inet.h> // NOLINT -+# include <sys/socket.h> // NOLINT - # include <netdb.h> // NOLINT - #endif - diff --git a/sys-devel/llvm/files/llvm-3.5-musl-support.patch b/sys-devel/llvm/files/llvm-3.5-musl-support.patch deleted file mode 100644 index 4abb8546..00000000 --- a/sys-devel/llvm/files/llvm-3.5-musl-support.patch +++ /dev/null @@ -1,67 +0,0 @@ -adapted from llvm-alpine-linux.patch from Alpine - -diff -ru llvm-3.5.0.src.orig/include/llvm/ADT/Triple.h llvm-3.5.0.src/include/llvm/ADT/Triple.h ---- include/llvm/ADT/Triple.h 2014-07-18 17:28:19.000000000 -0300 -+++ include/llvm/ADT/Triple.h 2014-11-12 14:44:41.738448045 -0200 -@@ -149,6 +149,10 @@ - EABIHF, - Android, - -+ Musl, -+ MuslEABI, -+ MuslEABIHF, -+ - MSVC, - Itanium, - Cygnus, -Only in llvm-3.5.0.src/include/llvm/ADT: Triple.h.orig -diff -ru llvm-3.5.0.src.orig/lib/Support/Triple.cpp llvm-3.5.0.src/lib/Support/Triple.cpp ---- lib/Support/Triple.cpp 2014-07-18 17:28:19.000000000 -0300 -+++ lib/Support/Triple.cpp 2014-11-12 14:47:06.565122146 -0200 -@@ -168,6 +168,9 @@ - case CODE16: return "code16"; - case EABI: return "eabi"; - case EABIHF: return "eabihf"; -+ case Musl: return "musl"; -+ case MuslEABI: return "musleabi"; -+ case MuslEABIHF: return "musleabihf"; - case Android: return "android"; - case MSVC: return "msvc"; - case Itanium: return "itanium"; -@@ -344,6 +347,9 @@ - .StartsWith("gnux32", Triple::GNUX32) - .StartsWith("code16", Triple::CODE16) - .StartsWith("gnu", Triple::GNU) -+ .StartsWith("musl", Triple::Musl) -+ .StartsWith("musleabi", Triple::MuslEABI) -+ .StartsWith("musleabihf", Triple::MuslEABIHF) - .StartsWith("android", Triple::Android) - .StartsWith("msvc", Triple::MSVC) - .StartsWith("itanium", Triple::Itanium) -Only in llvm-3.5.0.src/lib/Support: Triple.cpp.orig -diff -ru llvm-3.5.0.src.orig/lib/Target/ARM/ARMSubtarget.cpp llvm-3.5.0.src/lib/Target/ARM/ARMSubtarget.cpp ---- lib/Target/ARM/ARMSubtarget.cpp 2014-07-16 23:13:31.000000000 -0300 -+++ lib/Target/ARM/ARMSubtarget.cpp 2014-11-12 14:50:40.025133104 -0200 -@@ -273,6 +273,8 @@ - case Triple::EABIHF: - case Triple::GNUEABI: - case Triple::GNUEABIHF: -+ case Triple::MuslEABI: -+ case Triple::MuslEABIHF: - TargetABI = ARM_ABI_AAPCS; - break; - default: -diff -ru llvm-3.5.0.src.orig/lib/Target/ARM/ARMSubtarget.h llvm-3.5.0.src/lib/Target/ARM/ARMSubtarget.h ---- lib/Target/ARM/ARMSubtarget.h 2014-07-16 23:13:31.000000000 -0300 -+++ lib/Target/ARM/ARMSubtarget.h 2014-11-12 14:53:36.571808822 -0200 -@@ -372,8 +372,10 @@ - bool isTargetEHABICompatible() const { - return (TargetTriple.getEnvironment() == Triple::EABI || - TargetTriple.getEnvironment() == Triple::GNUEABI || -+ TargetTriple.getEnvironment() == Triple::MuslEABI || - TargetTriple.getEnvironment() == Triple::EABIHF || - TargetTriple.getEnvironment() == Triple::GNUEABIHF || -+ TargetTriple.getEnvironment() == Triple::MuslEABIHF || - TargetTriple.getEnvironment() == Triple::Android) && - !isTargetDarwin() && !isTargetWindows(); - } diff --git a/sys-devel/llvm/files/llvm-3.5.0-fix_LLVMExports_cmake.patch b/sys-devel/llvm/files/llvm-3.5.0-fix_LLVMExports_cmake.patch deleted file mode 100644 index 9fbd7b73..00000000 --- a/sys-devel/llvm/files/llvm-3.5.0-fix_LLVMExports_cmake.patch +++ /dev/null @@ -1,39 +0,0 @@ -Index: cmake/modules/Makefile -=================================================================== ---- cmake/modules/Makefile (revision 217451) -+++ cmake/modules/Makefile (working copy) -@@ -33,6 +33,16 @@ - LLVM_ENABLE_RTTI := 0 - endif - -+LLVM_LIBS_TO_EXPORT := $(subst -l,,$(shell $(LLVM_CONFIG) --libs $(LINK_COMPONENTS) || echo Error)) -+ -+ifeq ($(LLVM_LIBS_TO_EXPORT),Error) -+$(error llvm-config --libs failed) -+endif -+ -+ifndef LLVM_LIBS_TO_EXPORT -+$(error LLVM_LIBS_TO_EXPORT cannot be empty) -+endif -+ - OBJMODS := LLVMConfig.cmake LLVMConfigVersion.cmake LLVMExports.cmake - - $(PROJ_OBJ_DIR)/LLVMConfig.cmake: LLVMConfig.cmake.in $(LLVMBuildCMakeFrag) -@@ -45,7 +55,7 @@ - -e 's/@LLVM_VERSION_PATCH@/'"$(LLVM_VERSION_PATCH)"'/' \ - -e 's/@PACKAGE_VERSION@/'"$(LLVMVersion)"'/' \ - -e 's/@LLVM_COMMON_DEPENDS@//' \ -- -e 's/@LLVM_AVAILABLE_LIBS@/'"$(subst -l,,$(LLVMConfigLibs))"'/' \ -+ -e 's/@LLVM_AVAILABLE_LIBS@/'"$(LLVM_LIBS_TO_EXPORT)"'/' \ - -e 's/@LLVM_ALL_TARGETS@/'"$(ALL_TARGETS)"'/' \ - -e 's/@LLVM_TARGETS_TO_BUILD@/'"$(TARGETS_TO_BUILD)"'/' \ - -e 's/@LLVM_TARGETS_WITH_JIT@/'"$(TARGETS_WITH_JIT)"'/' \ -@@ -83,7 +93,7 @@ - $(Echo) 'Generating LLVM CMake target exports file' - $(Verb) ( \ - echo '# LLVM CMake target exports. Do not include directly.' && \ -- for lib in $(subst -l,,$(LLVMConfigLibs)); do \ -+ for lib in $(LLVM_LIBS_TO_EXPORT); do \ - echo 'add_library('"$$lib"' STATIC IMPORTED)' && \ - echo 'set_property(TARGET '"$$lib"' PROPERTY IMPORTED_LOCATION "'"$(PROJ_libdir)/lib$$lib.a"'")' ; \ - done && \ diff --git a/sys-devel/llvm/llvm-3.5.0-r99.ebuild b/sys-devel/llvm/llvm-3.5.0-r99.ebuild deleted file mode 100644 index fc963893..00000000 --- a/sys-devel/llvm/llvm-3.5.0-r99.ebuild +++ /dev/null @@ -1,531 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 pypy ) - -inherit eutils flag-o-matic multibuild multilib \ - multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs prefix - -DESCRIPTION="Low Level Virtual Machine" -HOMEPAGE="http://llvm.org/" -SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz - clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz - http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz - http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz ) - !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 )" - -LICENSE="UoI-NCSA" -SLOT="0/3.5" -KEYWORDS="amd64 arm ppc x86" -IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python - +static-analyzer test xml video_cards_radeon - kernel_Darwin kernel_FreeBSD" - -COMMON_DEPEND=" - sys-libs/zlib:0= - clang? ( - python? ( ${PYTHON_DEPS} ) - static-analyzer? ( - dev-lang/perl:* - ${PYTHON_DEPS} - ) - xml? ( dev-libs/libxml2:2= ) - ) - gold? ( >=sys-devel/binutils-2.22:*[cxx] ) - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) - libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.9-r3:5=[${MULTILIB_USEDEP}] ) - ocaml? ( dev-lang/ocaml:0= )" -# configparser-3.2 breaks the build (3.3 or none at all are fine) -DEPEND="${COMMON_DEPEND} - app-arch/xz-utils - dev-lang/perl - >=sys-devel/make-3.81 - >=sys-devel/flex-2.5.4 - >=sys-devel/bison-1.875d - || ( >=sys-devel/gcc-3.0 >=sys-devel/gcc-apple-4.2.1 - ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx ) - ) - || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-3.2.3 ) - clang? ( xml? ( virtual/pkgconfig ) ) - doc? ( dev-python/sphinx ) - libffi? ( virtual/pkgconfig ) - !!<dev-python/configparser-3.3.0.2 - ${PYTHON_DEPS}" -RDEPEND="${COMMON_DEPEND} - clang? ( !<=sys-devel/clang-${PV}-r99 - !>=sys-devel/clang-9999 ) - abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )" -PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )" - -# pypy gives me around 1700 unresolved tests due to open file limit -# being exceeded. probably GC does not close them fast enough. -REQUIRED_USE="${PYTHON_REQUIRED_USE} - test? ( || ( $(python_gen_useflags 'python*') ) )" - -S=${WORKDIR}/${P}.src - -# Some people actually override that in make.conf. That sucks since -# we need to run install per-directory, and ninja can't do that... -# so why did it call itself ninja in the first place? -CMAKE_MAKEFILE_GENERATOR=emake - -pkg_pretend() { - # in megs - # !clang !debug !multitarget -O2 400 - # !clang !debug multitarget -O2 550 - # clang !debug !multitarget -O2 950 - # clang !debug multitarget -O2 1200 - # !clang debug multitarget -O2 5G - # clang !debug multitarget -O0 -g 12G - # clang debug multitarget -O2 16G - # clang debug multitarget -O0 -g 14G - - local build_size=550 - use clang && build_size=1200 - - if use debug; then - ewarn "USE=debug is known to increase the size of package considerably" - ewarn "and cause the tests to fail." - ewarn - - (( build_size *= 14 )) - elif is-flagq -g || is-flagq -ggdb; then - ewarn "The C++ compiler -g option is known to increase the size of the package" - ewarn "considerably. If you run out of space, please consider removing it." - ewarn - - (( build_size *= 10 )) - fi - - # Multiply by number of ABIs :). - local abis=( $(multilib_get_enabled_abis) ) - (( build_size *= ${#abis[@]} )) - - local CHECKREQS_DISK_BUILD=${build_size}M - check-reqs_pkg_pretend - - if [[ ${MERGE_TYPE} != binary ]]; then - echo 'int main() {return 0;}' > "${T}"/test.cxx || die - ebegin "Trying to build a C++11 test program" - if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then - eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler" - eerror "does not seem to support -std=c++11 option. Please upgrade your compiler" - eerror "to gcc-4.7 or an equivalent version supporting C++11." - die "Currently active compiler does not support -std=c++11" - fi - eend ${?} - fi -} - -pkg_setup() { - pkg_pretend -} - -src_unpack() { - default - - rm -f "${S}"/tools/clang "${S}"/projects/compiler-rt \ - || die "symlinks removal failed" - - if use clang; then - mv "${WORKDIR}"/cfe-${PV}.src "${S}"/tools/clang \ - || die "clang source directory move failed" - mv "${WORKDIR}"/compiler-rt-${PV}.src "${S}"/projects/compiler-rt \ - || die "compiler-rt source directory move failed" - mv "${WORKDIR}"/clang-tools-extra-${PV}.src "${S}"/tools/clang/tools/extra \ - || die "clang-tools-extra source directory move failed" - fi -} - -src_prepare() { - epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch - epatch "${FILESDIR}"/${PN}-3.5-gcc-4.9.patch - epatch "${FILESDIR}"/${PN}-3.5-gentoo-install.patch - - epatch "${FILESDIR}"/${PN}-3.5-musl-fixes.patch - epatch "${FILESDIR}"/${PN}-3.5-musl-support.patch - - epatch "${FILESDIR}"/${P}-fix_LLVMExports_cmake.patch - - if use clang; then - # Automatically select active system GCC's libraries, bugs #406163 and #417913 - epatch "${FILESDIR}"/${PN}-3.5-musl-compiler-rt.patch - epatch "${FILESDIR}"/${PN}-3.5-musl-clang-support.patch - epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch - - epatch "${FILESDIR}"/clang-3.5-gentoo-install.patch - epatch "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch - eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp - fi - - if use prefix && use clang; then - sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \ - projects/compiler-rt/make/platform/clang_*.mk || die - fi - - local sub_files=( - Makefile.config.in - Makefile.rules - tools/llvm-config/llvm-config.cpp - ) - use clang && sub_files+=( - tools/clang/lib/Driver/Tools.cpp - tools/clang/tools/scan-build/scan-build - ) - - # unfortunately ./configure won't listen to --mandir and the-like, so take - # care of this. - # note: we're setting the main libdir intentionally. - # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make. - einfo "Fixing install dirs" - sed -e "s,@libdir@,$(get_libdir),g" \ - -e "s,@PF@,${PF},g" \ - -e "s,@EPREFIX@,${EPREFIX},g" \ - -i "${sub_files[@]}" \ - || die "install paths sed failed" - - if use clang; then - # constantly fails for a long time, likely due to our patches - rm tools/clang/test/Driver/cross-linux.c || die - fi - - # User patches - epatch_user - - python_setup -} - -multilib_src_configure() { - # disable timestamps since they confuse ccache - local conf_flags=( - --disable-timestamps - --enable-keep-symbols - --enable-shared - --with-optimize-option= - $(tc-is-static-only && echo --disable-shared) - $(use_enable !debug optimized) - $(use_enable debug assertions) - $(use_enable debug expensive-checks) - $(use_enable libedit) - $(use_enable ncurses terminfo) - $(use_enable libffi) - ) - - # well, it's used only by clang executable c-index-test - if multilib_is_native_abi && use clang && use xml; then - conf_flags+=( XML2CONFIG="$(tc-getPKG_CONFIG) libxml-2.0" ) - else - conf_flags+=( ac_cv_prog_XML2CONFIG="" ) - fi - - local targets bindings - if use multitarget; then - targets='all' - else - targets='host,cpp' - use video_cards_radeon && targets+=',r600' - fi - conf_flags+=( --enable-targets=${targets} ) - - if multilib_is_native_abi; then - use gold && conf_flags+=( --with-binutils-include="${EPREFIX}"/usr/include/ ) - # extra commas don't hurt - use ocaml && bindings+=',ocaml' - fi - - [[ ${bindings} ]] || bindings='none' - conf_flags+=( --enable-bindings=${bindings} ) - - if use libffi; then - local CPPFLAGS=${CPPFLAGS} - append-cppflags "$(pkg-config --cflags libffi)" - fi - - # llvm prefers clang over gcc, so we may need to force that - tc-export CC CXX - - ECONF_SOURCE=${S} \ - econf "${conf_flags[@]}" -} - -set_makeargs() { - MAKEARGS=( - VERBOSE=1 - REQUIRES_RTTI=1 - GENTOO_LIBDIR=$(get_libdir) - ) - - # for tests, we want it all! otherwise, we may use a little filtering... - # adding ONLY_TOOLS also disables unittest building... - if [[ ${EBUILD_PHASE_FUNC} != src_test ]]; then - local tools=( llvm-config ) - use clang && tools+=( clang ) - - if multilib_is_native_abi; then - tools+=( - opt llvm-as llvm-dis llc llvm-ar llvm-nm llvm-link lli - llvm-extract llvm-mc llvm-bcanalyzer llvm-diff macho-dump - llvm-objdump llvm-readobj llvm-rtdyld llvm-dwarfdump llvm-cov - llvm-size llvm-stress llvm-mcmarkup llvm-profdata - llvm-symbolizer obj2yaml yaml2obj lto bugpoint - ) - - # the build system runs explicitly specified tools in parallel, - # so we need to split it into two runs - if [[ ${1} != -1 ]]; then - # those require lto - tools+=( llvm-lto ) - use gold && tools+=( gold ) - - # those require clang :) - # we need to explicitly specify all its tools - # since we're passing BUILD_CLANG_ONLY - use clang && tools+=( - clang/tools/{clang-check,clang-format,extra} - ) - fi - fi - - MAKEARGS+=( - # filter tools + disable unittests implicitly - ONLY_TOOLS="${tools[*]}" - - # this disables unittests & docs from clang - BUILD_CLANG_ONLY=YES - ) - fi -} - -multilib_src_compile() { - local MAKEARGS - set_makeargs -1 - emake "${MAKEARGS[@]}" - - if multilib_is_native_abi; then - set_makeargs - emake -C tools "${MAKEARGS[@]}" - - if use doc; then - emake -C "${S}"/docs -f Makefile.sphinx man - use clang && emake -C "${S}"/tools/clang/docs/tools \ - BUILD_FOR_WEBSITE=1 DST_MAN_DIR="${T}"/ man - emake -C "${S}"/docs -f Makefile.sphinx html - fi - fi - - if use debug; then - pax-mark m Debug+Asserts+Checks/bin/llvm-rtdyld - pax-mark m Debug+Asserts+Checks/bin/lli - pax-mark m Debug+Asserts+Checks/bin/lli-child-target - else - pax-mark m Release/bin/llvm-rtdyld - pax-mark m Release/bin/lli - pax-mark m Release/bin/lli-child-target - fi -} - -multilib_src_test() { - local MAKEARGS - set_makeargs - - # build the remaining tools & unittests - emake "${MAKEARGS[@]}" - - pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests - pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests - pax-mark m unittests/Support/Release/SupportTests - - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - emake "${MAKEARGS[@]}" check - use clang && emake "${MAKEARGS[@]}" -C tools/clang test -} - -src_install() { - local MULTILIB_CHOST_TOOLS=( - /usr/bin/llvm-config - ) - - local MULTILIB_WRAPPED_HEADERS=( - /usr/include/llvm/Config/config.h - /usr/include/llvm/Config/llvm-config.h - ) - - if use clang; then - # note: magic applied below - MULTILIB_CHOST_TOOLS+=( - /usr/bin/clang - /usr/bin/clang++ - /usr/bin/clang-${PV} - /usr/bin/clang++-${PV} - ) - - MULTILIB_WRAPPED_HEADERS+=( - /usr/include/clang/Config/config.h - ) - fi - - multilib-minimal_src_install - - # Remove unnecessary headers on FreeBSD, bug #417171 - use kernel_FreeBSD && use clang && rm "${ED}"usr/lib/clang/${PV}/include/{std,float,iso,limits,tgmath,varargs}*.h -} - -multilib_src_install() { - local MAKEARGS - set_makeargs - - local root=${D}/_${ABI} - - emake "${MAKEARGS[@]}" DESTDIR="${root}" install - multibuild_merge_root "${root}" "${D}" - - if ! multilib_is_native_abi; then - # Backwards compat, will be happily removed someday. - dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI} - else - # Install docs. - if use doc; then - doman "${S}"/docs/_build/man/*.1 - use clang && doman "${T}"/clang.1 - dohtml -r "${S}"/docs/_build/html/ - else - if ! use clang; then - rm "${WORKDIR}"/${P}-manpages/clang.1 || die - fi - doman "${WORKDIR}"/${P}-manpages/*.1 - fi - - # Symlink the gold plugin. - if use gold; then - dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins - dosym ../../../../$(get_libdir)/LLVMgold.so \ - /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so - fi - fi - - # apply CHOST and PV to clang executables - # they're statically linked so we don't have to worry about the lib - if use clang; then - local clang_tools=( clang clang++ ) - local i - - # append ${PV} and symlink back - # TODO: use alternatives.eclass? does that make any sense? - # maybe with USE=-clang on :0 and USE=clang on older - for i in "${clang_tools[@]}"; do - mv "${ED%/}/usr/bin/${i}"{,-${PV}} || die - dosym "${i}"-${PV} /usr/bin/${i} - done - - # now prepend ${CHOST} and let the multilib-build.eclass symlink it - if ! multilib_is_native_abi; then - # non-native? let's replace it with a simple wrapper - for i in "${clang_tools[@]}"; do - rm "${ED%/}/usr/bin/${i}-${PV}" || die - cat > "${T}"/wrapper.tmp <<-_EOF_ - #!${EPREFIX}/bin/sh - exec "${i}-${PV}" $(get_abi_CFLAGS) "\${@}" - _EOF_ - newbin "${T}"/wrapper.tmp "${i}-${PV}" - done - fi - fi - - # Fix install_names on Darwin. The build system is too complicated - # to just fix this, so we correct it post-install - local lib= f= odylib= ndylib= libpv=${PV} - if [[ ${CHOST} == *-darwin* ]] ; then - eval $(grep PACKAGE_VERSION= configure) - [[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION} - for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib LLVMHello.dylib clang/${libpv}/lib/darwin/libclang_rt.asan_osx_dynamic.dylib; do - # libEnhancedDisassembly is Darwin10 only, so non-fatal - # + omit clang libs if not enabled - [[ -f ${ED}/usr/lib/${lib} ]] || continue - - ebegin "fixing install_name of $lib" - install_name_tool \ - -id "${EPREFIX}"/usr/lib/${lib} \ - "${ED}"/usr/lib/${lib} - eend $? - done - for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/lib*.dylib "${ED}"/usr/lib/clang/${libpv}/lib/darwin/*.dylib ; do - # omit clang libs if not enabled - [[ -f ${ED}/usr/lib/${lib} ]] || continue - - scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | \ - while read odylib ; do - ndylib= - case ${odylib} in - */libclang.dylib) - ndylib="${EPREFIX}"/usr/lib/libclang.dylib - ;; - */libLLVM-${libpv}.dylib) - ndylib="${EPREFIX}"/usr/lib/libLLVM-${libpv}.dylib - ;; - */libLTO.dylib) - ndylib="${EPREFIX}"/usr/lib/libLTO.dylib - ;; - esac - if [[ -n ${ndylib} ]] ; then - ebegin "fixing install_name reference to ${odylib} of ${f##*/}" - install_name_tool \ - -change "${odylib}" "${ndylib}" \ - "${f}" - eend $? - fi - done - done - fi -} - -multilib_src_install_all() { - insinto /usr/share/vim/vimfiles/syntax - doins utils/vim/*.vim - - if use clang; then - cd tools/clang || die - - if use static-analyzer ; then - dobin tools/scan-build/ccc-analyzer - dosym ccc-analyzer /usr/bin/c++-analyzer - dobin tools/scan-build/scan-build - - insinto /usr/share/${PN} - doins tools/scan-build/scanview.css - doins tools/scan-build/sorttable.js - fi - - python_inst() { - if use static-analyzer ; then - pushd tools/scan-view >/dev/null || die - - python_doscript scan-view - - touch __init__.py || die - python_moduleinto clang - python_domodule __init__.py Reporter.py Resources ScanView.py startfile.py - - popd >/dev/null || die - fi - - if use python ; then - pushd bindings/python/clang >/dev/null || die - - python_moduleinto clang - python_domodule __init__.py cindex.py enumerations.py - - popd >/dev/null || die - fi - - # AddressSanitizer symbolizer (currently separate) - python_doscript "${S}"/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py - } - python_foreach_impl python_inst - fi -} diff --git a/sys-devel/llvm/metadata.xml b/sys-devel/llvm/metadata.xml deleted file mode 100644 index d5b7a7d9..00000000 --- a/sys-devel/llvm/metadata.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>voyageur@gentoo.org</email> - <name>Bernard Cafarelli</name> - </maintainer> - <maintainer type="person"> - <email>mgorny@gentoo.org</email> - <name>Michał Górny</name> - </maintainer> - <longdescription>Low Level Virtual Machine (LLVM) is: - 1. A compilation strategy designed to enable effective program optimization across the entire lifetime of a program. LLVM supports effective optimization at compile time, link-time (particularly interprocedural), run-time and offline (i.e., after software is installed), while remaining transparent to developers and maintaining compatibility with existing build scripts. - 2. A virtual instruction set - LLVM is a low-level object code representation that uses simple RISC-like instructions, but provides rich, language-independent, type information and dataflow (SSA) information about operands. This combination enables sophisticated transformations on object code, while remaining light-weight enough to be attached to the executable. This combination is key to allowing link-time, run-time, and offline transformations. - 3. A compiler infrastructure - LLVM is also a collection of source code that implements the language and compilation strategy. The primary components of the LLVM infrastructure are a GCC-based C and C++ front-end, a link-time optimization framework with a growing set of global and interprocedural analyses and transformations, static back-ends for many popular (and some obscure) architectures, a back-end which emits portable C code, and a Just-In-Time compilers for several architectures. - 4. LLVM does not imply things that you would expect from a high-level virtual machine. It does not require garbage collection or run-time code generation (In fact, LLVM makes a great static compiler!). Note that optional LLVM components can be used to build high-level virtual machines and other systems that need these services.</longdescription> - <use> - <flag name="clang">Build the clang C/C++ compiler</flag> - <flag name="doc">Build and install the HTML documentation and regenerate the man pages</flag> - <flag name="gold">Build the gold linker plugin</flag> - <flag name="multitarget">Build all host targets (default: host only)</flag> - <flag name="ncurses">Support querying terminal properties using ncurses' terminfo</flag> - <flag name="static-analyzer">Install the Clang static analyzer (requires USE=clang)</flag> - </use> -</pkgmetadata> |