90547561b21b6c0b39faea21485e61fb6e00ce53
[openwrt/staging/nbd.git] / package / libs / libcxxabi / Makefile
1
2 #
3 # This is free software, licensed under the GNU General Public License v2.
4 # See /LICENSE for more information.
5 #
6
7 include $(TOPDIR)/rules.mk
8
9 PKG_NAME:=libcxxabi
10 PKG_VERSION:=10.0.0
11 PKG_RELEASE:=1
12
13 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).src.tar.xz
14 PKG_SOURCE_URL:=https://github.com/llvm/llvm-project/releases/download/llvmorg-$(PKG_VERSION)
15 PKG_HASH:=e71bac75a88c9dde455ad3f2a2b449bf745eafd41d2d8432253b2964e0ca14e1
16 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).src
17
18 PKG_MAINTAINER:=Rosen Penev <rosenp@gmail.com>
19 PKG_LICENSE:=MIT
20 PKG_LICENSE_FILES:=LICENSE.txt
21
22 PKG_BUILD_PARALLEL:=1
23 CMAKE_BINARY_SUBDIR:=build
24
25 include $(INCLUDE_DIR)/package.mk
26 include $(INCLUDE_DIR)/cmake.mk
27
28 define Package/libcxxabi
29 SECTION:=libs
30 CATEGORY:=Libraries
31 TITLE:=LLVM lib++abi
32 URL:=https://libcxxabi.llvm.org/
33 DEPENDS:=+libpthread
34 BUILDONLY:=1
35 endef
36
37 define Package/libcxxabi/description
38 libc++abi is a new implementation of low level support for a standard C++ library.
39 endef
40
41 CMAKE_OPTIONS += \
42 -DLIBCXXABI_ENABLE_EXCEPTIONS=ON \
43 -DLIBCXXABI_ENABLE_PEDANTIC=OFF \
44 -DLIBCXXABI_ENABLE_PIC=ON \
45 -DLIBCXXABI_ENABLE_WERROR=OFF \
46 -DLIBCXXABI_USE_LLVM_UNWINDER=OFF \
47 -DLIBCXXABI_USE_COMPILER_RT=OFF \
48 -DLIBCXXABI_ENABLE_THREADS=ON \
49 -DLIBCXXABI_HAS_PTHREAD_API=ON \
50 -DLIBCXXABI_INCLUDE_TESTS=OFF \
51 -DLIBCXXABI_LIBDIR_SUFFIX="" \
52 -DLIBCXXABI_INSTALL_LIBRARY=ON \
53 -DLIBCXXABI_ENABLE_SHARED=OFF \
54 -DLIBCXXABI_LIBCXX_SRC_DIR=$(BUILD_DIR)/libcxx-$(PKG_VERSION).src \
55 -DLIBCXXABI_LIBCXX_INCLUDES=$(BUILD_DIR)/libcxx-$(PKG_VERSION).src/include
56
57 TARGET_CXXFLAGS += -flto
58 TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
59
60 define Build/Prepare
61 $(MAKE) -C $(TOPDIR)/package/libs/libcxx prepare
62 $(call Build/Prepare/Default)
63 endef
64
65 define Build/InstallDev
66 $(call Build/InstallDev/cmake,$(1))
67 $(INSTALL_DIR) $(1)/usr/include/
68 $(INSTALL_DATA) $(PKG_BUILD_DIR)/include/*.h $(1)/usr/include/
69 endef
70
71 $(eval $(call BuildPackage,libcxxabi))