3 # This is free software, licensed under the GNU General Public License v2.
4 # See /LICENSE for more information.
7 include $(TOPDIR
)/rules.mk
14 PKG_SOURCE_URL
:=https
://git.llvm.org
/git
/libcxx
15 PKG_SOURCE_VERSION
:=2076f539f410805ef88692b9c0ce0a0b882a7680
16 PKG_MIRROR_HASH
:=d527880a18dec9109575c76717cf5288fb91c11381b9d261cae2e5bebcbdab2e
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
32 URL
:=https
://libcxx.llvm.org
/
33 DEPENDS
:=+libatomic
+libpthread
36 define Package
/libcxx
/description
37 LLVM C
++ library targeting C
++11 and above
41 -DLIBCXX_CXX_ABI
="libsupc++" \
42 -DLIBCXX_CXX_ABI_INCLUDE_PATHS
="$(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/include/c++/$(CONFIG_GCC_VERSION);$(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/include/c++/$(CONFIG_GCC_VERSION)/$(REAL_GNU_TARGET_NAME)" \
43 -DLIBCXX_ENABLE_ASSERTIONS
=OFF \
44 -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY
=OFF \
45 -DLIBCXX_INCLUDE_BENCHMARKS
=OFF \
46 -DLIBCXX_INCLUDE_DOCS
=OFF \
47 -DLIBCXX_INCLUDE_TESTS
=OFF \
48 -DLIBCXX_STANDALONE_BUILD
=ON \
49 -DLIBCXX_HAS_MUSL_LIBC
=$(if
$(CONFIG_USE_MUSL
),ON
,OFF
)
51 TARGET_CXXFLAGS
+= -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
-Wno-attributes
-flto
52 TARGET_LDFLAGS
+= -Wl
,--gc-sections
,--as-needed
54 define Build
/InstallDev
55 $(call Build
/InstallDev
/cmake
,$(1))
56 $(CP
) files
/g
++-libcxx
$(TOOLCHAIN_DIR
)/bin
/
57 $(SED
) 's,CXX,$(TARGET_CXX),g' $(TOOLCHAIN_DIR
)/bin
/g
++-libcxx
60 define Package
/libcxx
/install
61 $(INSTALL_DIR
) $(1)/usr
/lib
62 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libc
++.so.
* $(1)/usr
/lib
/
65 $(eval
$(call BuildPackage
,libcxx
))