3 # This is free software, licensed under the GNU General Public License v2.
4 # See /LICENSE for more information.
7 include $(TOPDIR
)/rules.mk
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
18 PKG_MAINTAINER
:=Rosen Penev
<rosenp@gmail.com
>
20 PKG_LICENSE_FILES
:=LICENSE.txt
23 CMAKE_BINARY_SUBDIR
:=build
25 include $(INCLUDE_DIR
)/package.mk
26 include $(INCLUDE_DIR
)/cmake.mk
28 define Package
/libcxxabi
32 URL
:=https
://libcxxabi.llvm.org
/
37 define Package
/libcxxabi
/description
38 libc
++abi is a new implementation of low level support for a standard C
++ library.
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
57 TARGET_CXXFLAGS
+= -flto
58 TARGET_LDFLAGS
+= -Wl
,--gc-sections
,--as-needed
61 $(MAKE
) -C
$(TOPDIR
)/package
/libs
/libcxx prepare
62 $(call Build
/Prepare
/Default
)
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/
71 $(eval
$(call BuildPackage
,libcxxabi
))