mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-26 00:41:17 +00:00
3f9bd9e8ee
This will be used for libcxx. libcxxabi is needed as libsupc++ is not good enough for libcxx. It uses GCC specific stuff which causes failed compilation for some packages. There are also runtime issues, most notably with cxxopts where the program just crashes. Reference: https://github.com/gerbera/gerbera/issues/795 Added patch to fix ARM compilation. Signed-off-by: Rosen Penev <rosenp@gmail.com>
72 lines
1.9 KiB
Makefile
72 lines
1.9 KiB
Makefile
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=libcxxabi
|
|
PKG_VERSION:=10.0.0
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).src.tar.xz
|
|
PKG_SOURCE_URL:=https://github.com/llvm/llvm-project/releases/download/llvmorg-$(PKG_VERSION)
|
|
PKG_HASH:=e71bac75a88c9dde455ad3f2a2b449bf745eafd41d2d8432253b2964e0ca14e1
|
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).src
|
|
|
|
PKG_MAINTAINER:=Rosen Penev <rosenp@gmail.com>
|
|
PKG_LICENSE:=MIT
|
|
PKG_LICENSE_FILES:=LICENSE.txt
|
|
|
|
PKG_BUILD_PARALLEL:=1
|
|
CMAKE_BINARY_SUBDIR:=build
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/cmake.mk
|
|
|
|
define Package/libcxxabi
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
TITLE:=LLVM lib++abi
|
|
URL:=https://libcxxabi.llvm.org/
|
|
DEPENDS:=+libpthread
|
|
BUILDONLY:=1
|
|
endef
|
|
|
|
define Package/libcxxabi/description
|
|
libc++abi is a new implementation of low level support for a standard C++ library.
|
|
endef
|
|
|
|
CMAKE_OPTIONS += \
|
|
-DLIBCXXABI_ENABLE_EXCEPTIONS=ON \
|
|
-DLIBCXXABI_ENABLE_PEDANTIC=OFF \
|
|
-DLIBCXXABI_ENABLE_PIC=ON \
|
|
-DLIBCXXABI_ENABLE_WERROR=OFF \
|
|
-DLIBCXXABI_USE_LLVM_UNWINDER=OFF \
|
|
-DLIBCXXABI_USE_COMPILER_RT=OFF \
|
|
-DLIBCXXABI_ENABLE_THREADS=ON \
|
|
-DLIBCXXABI_HAS_PTHREAD_API=ON \
|
|
-DLIBCXXABI_INCLUDE_TESTS=OFF \
|
|
-DLIBCXXABI_LIBDIR_SUFFIX="" \
|
|
-DLIBCXXABI_INSTALL_LIBRARY=ON \
|
|
-DLIBCXXABI_ENABLE_SHARED=OFF \
|
|
-DLIBCXXABI_LIBCXX_SRC_DIR=$(BUILD_DIR)/libcxx-$(PKG_VERSION).src \
|
|
-DLIBCXXABI_LIBCXX_INCLUDES=$(BUILD_DIR)/libcxx-$(PKG_VERSION).src/include
|
|
|
|
TARGET_CXXFLAGS += -flto
|
|
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
|
|
|
|
define Build/Prepare
|
|
$(MAKE) -C $(TOPDIR)/package/libs/libcxx prepare
|
|
$(call Build/Prepare/Default)
|
|
endef
|
|
|
|
define Build/InstallDev
|
|
$(call Build/InstallDev/cmake,$(1))
|
|
$(INSTALL_DIR) $(1)/usr/include/
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/include/*.h $(1)/usr/include/
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,libcxxabi))
|