diff mbox series

[OpenWrt-Devel,1/2] libcxxabi: add

Message ID 20200606185223.9749-1-rosenp@gmail.com
State Changes Requested
Delegated to: Petr Štetiar
Headers show
Series [OpenWrt-Devel,1/2] libcxxabi: add | expand

Commit Message

Rosen Penev June 6, 2020, 6:52 p.m. UTC
This will be used for libcxx.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 package/libs/libcxxabi/Makefile | 71 +++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)
 create mode 100644 package/libs/libcxxabi/Makefile

Comments

Ian Cooper June 7, 2020, 3:36 p.m. UTC | #1
On Sat,  6 Jun 2020 11:52:22 -0700 Rosen Penev <rosenp@gmail.com> wrote:

> This will be used for libcxx.
> 
> Signed-off-by: Rosen Penev <rosenp@gmail.com>
> ---
>  package/libs/libcxxabi/Makefile | 71 +++++++++++++++++++++++++++++++++
>  1 file changed, 71 insertions(+)
>  create mode 100644 package/libs/libcxxabi/Makefile
> 
> diff --git a/package/libs/libcxxabi/Makefile b/package/libs/libcxxabi/Makefile
> new file mode 100644
> index 0000000000..90547561b2
> --- /dev/null
> +++ b/package/libs/libcxxabi/Makefile
> @@ -0,0 +1,71 @@
> +
> +#
> +# 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))

Reviewed-by: Ian Cooper <iancooper@hotmail.com>
Rosen Penev July 11, 2020, 6:35 p.m. UTC | #2
On Sat, Jul 11, 2020 at 4:49 AM Petr Štetiar <ynezz@true.cz> wrote:
>
> Rosen Penev <rosenp@gmail.com> [2020-06-06 11:52:22]:
>
> > This will be used for libcxx.
> >
> > Signed-off-by: Rosen Penev <rosenp@gmail.com>
>
> Please add more verbose commit description, mainly answer to "Why this should
> be included?" question.
Done. Sent patches.
>
> -- ynezz
diff mbox series

Patch

diff --git a/package/libs/libcxxabi/Makefile b/package/libs/libcxxabi/Makefile
new file mode 100644
index 0000000000..90547561b2
--- /dev/null
+++ b/package/libs/libcxxabi/Makefile
@@ -0,0 +1,71 @@ 
+
+#
+# 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))