summaryrefslogtreecommitdiff
path: root/sys-libs/tapi
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-04-06 22:33:41 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-04-06 22:33:41 +0100
commite68d405c5d712af4387159df07e226217bdda049 (patch)
tree009ab0f3d427f0813e62930d71802cb054c07e30 /sys-libs/tapi
parent401101f9c8077911929d3f2b60a37098460a5d89 (diff)
gentoo resync : 06.04.2022
Diffstat (limited to 'sys-libs/tapi')
-rw-r--r--sys-libs/tapi/Manifest8
-rw-r--r--sys-libs/tapi/files/objcmetadata-800.0.42.1-standalone.patch130
-rw-r--r--sys-libs/tapi/files/tapi-2.0.0-standalone.patch141
-rw-r--r--sys-libs/tapi/metadata.xml8
-rw-r--r--sys-libs/tapi/tapi-2.0.0.ebuild174
5 files changed, 0 insertions, 461 deletions
diff --git a/sys-libs/tapi/Manifest b/sys-libs/tapi/Manifest
deleted file mode 100644
index 37d16d594da1..000000000000
--- a/sys-libs/tapi/Manifest
+++ /dev/null
@@ -1,8 +0,0 @@
-AUX objcmetadata-800.0.42.1-standalone.patch 4556 BLAKE2B 3b0c1d9f6cf55cdefdbe2df51f7dcdc29f8c95e73c3e209e9a0ef594059ac2f0ff8d96b67419723f994c7469319fee2f0dcdf20f9071dcf80df4c01f56c87656 SHA512 ba40d3e8ff2382835fcea2615ca1a19eb4279a1eac982bf6fbdceacb9fb4c99f8fdb7d30fc752002f4e95ea12b1775fa6dacdb24bbcdf97bc17cdf8f72bbfc0c
-AUX tapi-2.0.0-standalone.patch 4698 BLAKE2B bd1b1531118e6305adb5e8368b1aabf9981dc840d1168b8fad9155444024bdf9e03c90b6830dea4291c35dfa8709d4369760874875797ea3510c5f783a930c31 SHA512 1b8add9defcc9fcbfd90f550763669e4c3acc4199b38df81a87eaeb3b137f5839b62f7679978c7a6f57af6512d936945e9992597475e05ab25737c7ffbc13390
-DIST cfe-5.0.1.src.tar.xz 11483036 BLAKE2B c4eb54cd8271b62cf7a2219db0b599b68c00b6e574d1946220efbd1633e841796e6717d6eeb35e84a6db32a731a3285b59cedeb3b1a8f3c3c502b799fdd0a720 SHA512 6619177a2ff9934fe8b15d6aa229abb8e34d0b1a75228d9efba9393daf71d6419a7256de57b31e2f9f829f71f842118556f996e86ee076f1e0a7cd394dfd31a2
-DIST clang-800.0.42.1.tar.gz 41165807 BLAKE2B 89e3ddc0268c2302f6679089648163a1b7457c3133f8f07de12c5980a66b6b7efdfa65966f5d9425ca20bd622cb1739bc009fe45edb4f0986ffd36af77a2480e SHA512 7fec6236996e4647043697f0f62d2eddb064a4604a7c64c11d2df2ff89aff95f4eb9fe1c2e604c0e276296927dd06b8a7794e0343bf0352cf65400dde40aab41
-DIST llvm-5.0.1.src.tar.xz 23428720 BLAKE2B 3db4d33df21018d17eef0042c0d8d82a8412bd5daa99cfb5405a6ec83c5774178fa76b220e8731c2a9a64dabf898aa90fe29c685327bd63a4f078e8e94a9a77e SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb
-DIST tapi-2.0.0.tar.gz 195080 BLAKE2B 28c31f4cb119525edb1a755895d8a3a05c9a606610fbf0c135790c0caf85a26d3b7e7fbbf856d001c26641a755e0d836f2f697a5856153d9dfc7c258e28427a1 SHA512 fc7209556ff75285a99ce64225831d53f9d959f7d6d9562cbfe91b019591860a00196c93de2258bbdaba02301af38990557b7e241ad3f66d09eb9440f4edf5ab
-EBUILD tapi-2.0.0.ebuild 5059 BLAKE2B 9c9232f7a1cd6da8ea444fb0b74749c3318869cd3028ee900e5e63cdb4c9b202644a0fe1e691bb0fb4df7b06b26a9740267d9b39d7d44cfc5a6d98b361f3515b SHA512 e7dae17b08273d9d41853fc23a735c1346c6592bf8ee8a6b2567350f5b156f69a4d14b99083faf408bff07d3a84bdd4d1b2decfd9fbd819948271aee6af243fd
-MISC metadata.xml 248 BLAKE2B 92ffbf5df7cedae395e3af770765075073d9dd2ddcc887b34b1eca1997d449a5dc827cb3513863a21f26efebf75700fc87e1228c8614a47e951da4b270f264d4 SHA512 5dca2496f2ab8cbdb810fd11c488d84ab9822448794d7e6e3edbb1f71a9f1865248685e25d3e54524b43d781b8e073082773606f8e91943a71fd2bafe63f7b73
diff --git a/sys-libs/tapi/files/objcmetadata-800.0.42.1-standalone.patch b/sys-libs/tapi/files/objcmetadata-800.0.42.1-standalone.patch
deleted file mode 100644
index 71ca24f1beb2..000000000000
--- a/sys-libs/tapi/files/objcmetadata-800.0.42.1-standalone.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-Provide standalone cmake project file that allows compilation outside the LLVM
-source tree and installs the headers as well.
-
-Tune other CMakeLists for out-of-tree build.
-
-Provide missing isDynamic() method for Objective C properties. (Best-guess
-implementation based on
-https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtPropertyIntrospection.html
-and llvm-objdump -m -objc-meta-data output). Does not seem to be used anywhere
-anyways - but the control flow of the code is somewhat encrypted.
-
-Adjust to some minor API differencies between Apple clang 8.0.0 and upstream
-LLVM 5.0.1.
-
---- objcmetadata-800.0.42.1/CMakeLists.txt.orig 2017-12-25 22:23:41.000000000 +0100
-+++ objcmetadata-800.0.42.1/CMakeLists.txt 2017-12-25 20:54:39.000000000 +0100
-@@ -0,0 +1,25 @@
-+cmake_minimum_required(VERSION 3.4.3)
-+project(ObjCMetadata)
-+
-+find_package(LLVM REQUIRED CONFIG)
-+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR})
-+include(AddLLVM)
-+
-+include_directories(${LLVM_INCLUDE_DIRS})
-+link_directories(${LLVM_LIBRARY_DIRS})
-+add_definitions(${LLVM_DEFINITIONS})
-+set(LLVM_COMMON_LIBS Object Support Analysis Core)
-+
-+include_directories(BEFORE
-+ ${CMAKE_CURRENT_BINARY_DIR}/include
-+ ${CMAKE_CURRENT_SOURCE_DIR}/include
-+ )
-+
-+install(FILES
-+ include/llvm/${PROJECT_NAME}/ObjCBitcode.h
-+ include/llvm/${PROJECT_NAME}/ObjCMachOBinary.h
-+ include/llvm/${PROJECT_NAME}/ObjCMetadata.h
-+ DESTINATION include/llvm/${PROJECT_NAME}
-+ )
-+
-+add_subdirectory(lib/${PROJECT_NAME})
---- objcmetadata-800.0.42.1/include/llvm/ObjCMetadata/ObjCMetadata.h.orig 2017-12-25 20:09:28.000000000 +0100
-+++ objcmetadata-800.0.42.1/include/llvm/ObjCMetadata/ObjCMetadata.h 2017-12-25 20:10:11.000000000 +0100
-@@ -110,6 +110,7 @@
- // Return empty string if doesn't exists.
- Expected<std::string> getGetter() const;
- Expected<std::string> getSetter() const;
-+ Expected<bool> isDynamic() const;
- };
-
- class ObjCMethod : public ObjCInfoBase {
---- objcmetadata-800.0.42.1/lib/ObjCMetadata/ObjCMetadata.cpp.orig 2017-12-25 20:09:11.000000000 +0100
-+++ objcmetadata-800.0.42.1/lib/ObjCMetadata/ObjCMetadata.cpp 2017-12-25 20:13:33.000000000 +0100
-@@ -164,6 +164,20 @@
- return setter;
- }
-
-+Expected<bool> ObjCProperty::isDynamic() const {
-+ auto Attr = getAttribute();
-+ if (!Attr)
-+ return Attr.takeError();
-+ // Find setter attribute.
-+ SmallVector<StringRef, 4> Attrs;
-+ Attr->split(Attrs, ',');
-+ for (auto a : Attrs) {
-+ if (a == "D")
-+ return true;
-+ }
-+ return false;
-+}
-+
- Expected<StringRef> ObjCMethod::getName() const {
- return MetadataReader->getMethodName(*this);
- }
---- objcmetadata-800.0.42.1/lib/ObjCMetadata/CMakeLists.txt.orig 2017-12-25 17:29:01.000000000 +0100
-+++ objcmetadata-800.0.42.1/lib/ObjCMetadata/CMakeLists.txt 2017-12-25 20:59:31.000000000 +0100
-@@ -1,3 +1,10 @@
-+set(LLVM_LINK_COMPONENTS
-+ Object
-+ Support
-+ Analysis
-+ Core
-+)
-+
- add_llvm_library(LLVMObjCMetadata
- ObjCBitcode.cpp
- ObjCMetadata.cpp
-@@ -5,7 +12,4 @@
-
- ADDITIONAL_HEADER_DIRS
- ${LLVM_MAIN_INCLUDE_DIR}/llvm/ObjCMetadata
--
-- DEPENDS
-- intrinsics_gen
- )
---- objcmetadata-800.0.42.1/lib/ObjCMetadata/ObjCBitcode.cpp.orig 2017-12-25 17:14:29.000000000 +0100
-+++ objcmetadata-800.0.42.1/lib/ObjCMetadata/ObjCBitcode.cpp 2017-12-25 17:17:51.000000000 +0100
-@@ -20,7 +20,7 @@
- #include "llvm/IR/GlobalAlias.h"
- #include "llvm/IR/GlobalVariable.h"
- #include "llvm/IR/Operator.h"
--#include "llvm/Support/Error.h"
-+#include "llvm/Object/Error.h"
-
- #include "macho-obj.h"
-
-@@ -75,7 +75,7 @@
- Operator::getOpcode(V) == Instruction::AddrSpaceCast) {
- V = cast<Operator>(V)->getOperand(0);
- } else if (GlobalAlias *GA = dyn_cast<GlobalAlias>(V)) {
-- if (GA->mayBeOverridden())
-+ if (GA->isInterposable())
- return V;
- V = GA->getAliasee();
- } else if (PtrToIntOperator *PTI = dyn_cast<PtrToIntOperator>(V)) {
---- objcmetadata-800.0.42.1/lib/ObjCMetadata/ObjCMachOBinary.cpp.orig 2017-12-25 17:24:23.000000000 +0100
-+++ objcmetadata-800.0.42.1/lib/ObjCMetadata/ObjCMachOBinary.cpp 2017-12-25 17:27:15.000000000 +0100
-@@ -1262,9 +1262,9 @@
- const char *SymbolName = nullptr;
- if (reloc_found && isExtern) {
- offset = Symbol.getValue();
-- ErrorOr<StringRef> NameOrError = Symbol.getName();
-+ Expected<StringRef> NameOrError = Symbol.getName();
- if (!NameOrError) {
-- return errorOrToExpected(std::move(NameOrError));
-+ return NameOrError;
- }
- StringRef Name = *NameOrError;
- if (!Name.empty()) {
diff --git a/sys-libs/tapi/files/tapi-2.0.0-standalone.patch b/sys-libs/tapi/files/tapi-2.0.0-standalone.patch
deleted file mode 100644
index 77bc56331dfb..000000000000
--- a/sys-libs/tapi/files/tapi-2.0.0-standalone.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-Tune CMakeLists for out-of-tree build.
-
-Adjust for API discrepancies between Apple clang-8.0.0 and upstream LLVM 5.0.1.
-
-Allow all clients to link against the library, not just ld. Main reason: Our ld
-is called ld64 when we link it.
-
---- tapi-2.0.0/tools/tapi/CMakeLists.txt.orig 2017-12-25 22:36:06.620886714 +0100
-+++ tapi-2.0.0/tools/tapi/CMakeLists.txt 2017-12-25 22:41:43.867893060 +0100
-@@ -6,6 +6,12 @@
-
- target_link_libraries(tapi
- tapiDriver
-+ clangAST
-+ clangFrontend
-+ LLVMOption
-+ LLVMDemangle
-+ LLVMSupport
-+ LLVMCore
- )
-
- if (TAPI_BUILD_LIBIOSSDK)
---- tapi-2.0.0/tools/libtapi/CMakeLists.txt.orig 2017-12-25 22:26:06.816905789 +0100
-+++ tapi-2.0.0/tools/libtapi/CMakeLists.txt 2017-12-25 22:31:22.914862289 +0100
-@@ -1,4 +1,7 @@
- set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/libtapi.exports)
-+set(LLVM_LINK_COMPONENTS
-+ Support
-+ )
-
- add_tapi_library(libtapi
- SHARED
-@@ -19,5 +22,5 @@
-
- set_property(TARGET libtapi APPEND_STRING
- PROPERTY
-- LINK_FLAGS " -current_version ${TAPI_FULL_VERSION} -compatibility_version 1 -allowable_client ld"
-+ LINK_FLAGS " -current_version ${TAPI_FULL_VERSION} -compatibility_version 1"
- )
---- tapi-2.0.0/tools/tapi-run/CMakeLists.txt.orig 2017-12-26 15:12:39.605057352 +0100
-+++ tapi-2.0.0/tools/tapi-run/CMakeLists.txt 2017-12-26 15:15:53.304983942 +0100
-@@ -5,6 +5,8 @@
- target_link_libraries(tapi-run
- tapiCore
- libtapi
-+ LLVMSupport
-+ LLVMCore
- )
-
- set_property(TARGET tapi-run APPEND_STRING
---- tapi-2.0.0/CMakeLists.txt.orig 2017-12-24 15:27:56.000000000 +0100
-+++ tapi-2.0.0/CMakeLists.txt 2017-12-26 15:50:01.199506782 +0100
-@@ -4,6 +4,24 @@
- message(FATAL_ERROR "Unsupported configuration.")
- endif()
-
-+project(tapi)
-+set(PACKAGE_VENDOR Apple CACHE STRING "")
-+add_definitions(-DTAPI_BUG_REPORT_URL="https://bugs.gentoo.org/")
-+
-+find_package(LLVM REQUIRED CONFIG)
-+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR})
-+include(AddLLVM)
-+
-+add_definitions(${LLVM_DEFINITIONS})
-+include_directories(${LLVM_INCLUDE_DIRS} ${OBJCMETADATA_INCLUDE_DIRS})
-+link_directories(${LLVM_LIBRARY_DIRS} ${OBJCMETADATA_LIBRARY_DIRS})
-+
-+# make tblgen happy
-+include(TableGen)
-+foreach(IPATH ${LLVM_INCLUDE_DIRS})
-+ list(APPEND LLVM_TABLEGEN_FLAGS -I ${IPATH})
-+endforeach(IPATH)
-+
- set(TAPI_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
- set(TAPI_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
-
---- tapi-2.0.0/lib/Core/MachODylibReader.cpp.orig 2017-12-24 15:27:56.000000000 +0100
-+++ tapi-2.0.0/lib/Core/MachODylibReader.cpp 2017-12-25 22:15:53.075478606 +0100
-@@ -254,8 +254,7 @@
- auto arch = getArchType(H.cputype, H.cpusubtype);
- assert(arch != Architecture::unknown && "unknown architecture slice");
-
-- Error error = Error::success();
-- for (const auto &symbol : object->exports(error)) {
-+ for (const auto &symbol : object->exports()) {
- StringRef name;
- XPIKind kind;
- std::tie(name, kind) = parseSymbol(symbol.name());
-@@ -272,7 +271,7 @@
- file->addSymbol(kind, name, arch, flags);
- }
-
-- return error;
-+ return Error::success();
- }
-
- static Error readUndefinedSymbols(MachOObjectFile *object,
-@@ -309,10 +308,7 @@
- auto H = object->getHeader();
- auto arch = getArchType(H.cputype, H.cpusubtype);
-
-- auto error = Error::success();
-- MachOMetadata metadata(object, error);
-- if (error)
-- return std::move(error);
-+ MachOMetadata metadata(object);
-
- ///
- /// Classes
---- tapi-2.0.0/lib/Driver/Snapshot.cpp.orig 2017-12-24 15:27:56.000000000 +0100
-+++ tapi-2.0.0/lib/Driver/Snapshot.cpp 2017-12-26 15:49:09.864184826 +0100
-@@ -14,7 +14,7 @@
- #include "tapi/Defines.h"
- #include "clang/Frontend/FrontendOptions.h"
- #include "llvm/ADT/ArrayRef.h"
--#include "llvm/Config/config.h"
-+#include "llvm/Config/llvm-config.h"
- #include "llvm/Support/FileSystem.h"
- #include "llvm/Support/raw_ostream.h"
- #include "llvm/Support/xxhash.h"
-@@ -356,7 +356,7 @@
- }
-
- if (isCrash) {
-- outs() << "PLEASE submit a bug report to " BUG_REPORT_URL
-+ outs() << "PLEASE submit a bug report to " TAPI_BUG_REPORT_URL
- " and include the "
- "crash backtrace and snapshot.\n\n"
- "********************************************************\n\n"
---- tapi-2.0.0/lib/Driver/Options.cpp.orig 2017-12-25 22:17:40.506874748 +0100
-+++ tapi-2.0.0/lib/Driver/Options.cpp 2017-12-25 22:18:04.181989766 +0100
-@@ -1023,7 +1023,7 @@
- table->PrintHelp(
- outs(),
- (programName + " " + getNameFromTAPICommand(command)).str().c_str(),
-- toolName, /*FlagsToInclude=*/getIncludeOptionFlagMasks(command),
-+ toolName, /*FlagsToInclude=*///getIncludeOptionFlagMasks(command),
- /*FlagsToExclude=*/0, /*ShowAllAliases=*/false);
- }
-
diff --git a/sys-libs/tapi/metadata.xml b/sys-libs/tapi/metadata.xml
deleted file mode 100644
index 232d18dd1fa2..000000000000
--- a/sys-libs/tapi/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>prefix@gentoo.org</email>
- <name>Gentoo Prefix</name>
- </maintainer>
-</pkgmetadata>
diff --git a/sys-libs/tapi/tapi-2.0.0.ebuild b/sys-libs/tapi/tapi-2.0.0.ebuild
deleted file mode 100644
index 1eb844c2cde9..000000000000
--- a/sys-libs/tapi/tapi-2.0.0.ebuild
+++ /dev/null
@@ -1,174 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-
-inherit cmake-utils llvm
-
-# This is a hog: We need to carve ObjCMetadata out of Apple's clang. We also
-# need llvm-tblgen and clang-tblgen because tapi uses them to generate some
-# source. It's assumed that they're only ever needed when building LLVM and
-# clang. So they don't get installed in the system and we need to compile them
-# fresh from LLVM and clang sources. And finally we need an installed LLVM and
-# clang to build tapi against.
-
-LLVM_PV=5.0.1
-LLVM_PN=llvm
-LLVM_P=${LLVM_PN}-${LLVM_PV}
-
-CLANG_PN=cfe
-CLANG_P=${CLANG_PN}-${LLVM_PV}
-
-APPLE_LLVM_PV=800.0.42.1
-APPLE_LLVM_PN=clang
-APPLE_LLVM_P=${APPLE_LLVM_PN}-${APPLE_LLVM_PV}
-
-OBJCMD_PN=objcmetadata
-OBJCMD_P=${OBJCMD_PN}-${APPLE_LLVM_PV}
-
-DESCRIPTION="Text-based Application Programming Interface"
-HOMEPAGE="https://opensource.apple.com/source/tapi"
-SRC_URI="https://opensource.apple.com/tarballs/clang/${APPLE_LLVM_P}.tar.gz
- http://releases.llvm.org/${LLVM_PV}/${LLVM_P}.src.tar.xz
- http://releases.llvm.org/${LLVM_PV}/${CLANG_P}.src.tar.xz"
-
-if [[ ${PV} == 9999* ]] ; then
- EGIT_REPO_URI="https://github.com/ributzka/tapi.git"
- TAPI_P=${P}
- inherit git-r3
-else
- TAPI_COMMIT=b9205695b4edee91000383695be8de5ba8e0db41
- SRC_URI+=" https://github.com/ributzka/${PN}/archive/${TAPI_COMMIT}.tar.gz -> ${P}.tar.gz"
- TAPI_P=${PN}-${TAPI_COMMIT}
-fi
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="~x64-macos"
-
-DEPEND="sys-devel/llvm:=
- sys-devel/clang:="
-RDEPEND="${DEPEND}"
-
-DOCS=( Readme.md )
-
-LLVM_S="${WORKDIR}"/${LLVM_P}.src
-LLVM_BUILD="${WORKDIR}"/${LLVM_P}_build
-
-CLANG_S="${WORKDIR}"/${CLANG_P}.src
-
-APPLE_LLVM_S="${WORKDIR}/${APPLE_LLVM_P}"/src
-
-S="${WORKDIR}"/${TAPI_P}
-
-TAPI_BUILD="${WORKDIR}"/${P}_build
-
-OBJCMD_S="${WORKDIR}"/${OBJCMD_P}
-OBJCMD_BUILD="${WORKDIR}"/${OBJCMD_P}_build
-# put temporary install root into tapi build dir so that it does not end up on
-# libtapi's rpath
-OBJCMD_ROOT="${TAPI_BUILD}"/${OBJCMD_PN}_root
-
-src_prepare() {
- # carve ObjCMetadata out of llvm and make it stand on its own
- mkdir -p "${OBJCMD_S}"/{include/llvm,lib} || die
- cd ${OBJCMD_S} || die
- cp -r ${APPLE_LLVM_S}/include/llvm/ObjCMetadata include/llvm || die
- cp -r ${APPLE_LLVM_S}/lib/ObjCMetadata lib || die
- eapply "${FILESDIR}"/${OBJCMD_PN}-800.0.42.1-standalone.patch
- CMAKE_USE_DIR="${PWD}" \
- cmake-utils_src_prepare
-
- cd "${LLVM_S}" || die
- CMAKE_USE_DIR="${PWD}" \
- cmake-utils_src_prepare
-
- cd "${S}" || die
- eapply "${FILESDIR}"/${PN}-2.0.0-standalone.patch
- CMAKE_USE_DIR="${PWD}" \
- cmake-utils_src_prepare
-}
-
-src_configure() {
- # configure LLVM and clang for tablegen build
- local mycmakeargs=(
- # shared libs cause all kinds of problems and we don't need them just
- # to run tblgen a couple of times
- -DBUILD_SHARED_LIBS=OFF
- # configure less targets to speed up configuration. We don't build them
- # anyway.
- -DLLVM_TARGETS_TO_BUILD=X86
- -DLLVM_EXTERNAL_PROJECTS=clang
- -DLLVM_EXTERNAL_CLANG_SOURCE_DIR=${CLANG_S}
- )
-
- cd "${LLVM_S}" || die
- BUILD_DIR="${LLVM_BUILD}" \
- CMAKE_USE_DIR="${PWD}" \
- CMAKE_BUILD_TYPE=RelWithDebInfo \
- cmake-utils_src_configure
-
- local llvm_prefix=$(get_llvm_prefix)
-
- # configure ObjCMetadata
- local mycmakeargs=(
- # fails to compile without -std=c++11
- -DCMAKE_CXX_STANDARD=11
- # compile against currently installed LLVM
- -DLLVM_DIR="${llvm_prefix}/lib/cmake/llvm"
- # install into temporary root in work dir just so we can compile and
- # link against it. Static lib will be pulled into libtapi and tools.
- -DCMAKE_INSTALL_PREFIX="${OBJCMD_ROOT}"
- )
-
- cd "${OBJCMD_S}" || die
- BUILD_DIR="${OBJCMD_BUILD}" \
- CMAKE_USE_DIR="${PWD}" \
- cmake-utils_src_configure
-
- # configure tapi
- local mycmakeargs=(
- # fails to compile without -std=c++11
- -DCMAKE_CXX_STANDARD=11
- # compile against currently installed LLVM
- -DLLVM_DIR="${llvm_prefix}"/lib/cmake/llvm
- # use tblgens from LLVM build directory directly. They generate source
- # from description files. Therefore it shouldn't matter if they
- # match up with the installed LLVM.
- -DLLVM_TABLEGEN_EXE="${LLVM_BUILD}"/bin/llvm-tblgen
- -DCLANG_TABLEGEN_EXE="${LLVM_BUILD}"/bin/clang-tblgen
- # pull in includes and libs from ObjCMetadata's temporary install root
- -DOBJCMETADATA_INCLUDE_DIRS="${OBJCMD_ROOT}"/include
- -DOBJCMETADATA_LIBRARY_DIRS="${OBJCMD_ROOT}"/lib
- )
-
- cd "${S}" || die
- BUILD_DIR="${TAPI_BUILD}/" \
- CMAKE_USE_DIR="${PWD}" \
- cmake-utils_src_configure
-}
-
-src_compile() {
- # build LLVM and clang tablegen
- cd "${LLVM_S}" || die
- BUILD_DIR="${LLVM_BUILD}" \
- CMAKE_USE_DIR="${PWD}" \
- cmake-utils_src_compile llvm-tblgen clang-tblgen
-
- # build ObjCMetadata
- cd "${OBJCMD_S}" || die
- BUILD_DIR="${OBJCMD_BUILD}" \
- CMAKE_USE_DIR="${PWD}" \
- cmake-utils_src_compile
- # install into temporary root in work dir
- cd "${OBJCMD_BUILD}" || die
- ${CMAKE_MAKEFILE_GENERATOR} install
-
- # finally build tapi
- cd "${S}" || die
- BUILD_DIR="${TAPI_BUILD}" \
- CMAKE_USE_DIR="${PWD}" \
- cmake-utils_src_compile
-}