On Wed, Jun 3, 2020 at 1:33 PM Ian Cooper <iancoo...@hotmail.com> wrote:
>
Use Reply All to get this posted to the mailing list.
>
> I got your libcxx-abi compiled. I just put together a quick hack so I didn't 
> have to create new package makefiles for llvm-project or worry too much about 
> versions in the name of the libcxx source, so it's up to you to create the 
> dependencies and make sure the sources are available in the right location at 
> package build time.
>
> It needs the llvm-project source and location of the libcxx source and 
> includes. The llvm-project source is a gigantic 2GB git repo.
That's a no go.
>
> $ du -h -d 1 .
> 2.0G    ./llvm-project
>
> Adding the three lines at the bottom to the CMAKE_OPTIONS got it to compile.
>
> 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 \
>         -DLLVM_PATH=$(TOPDIR)/ian/llvm-project \
I don't think this is needed.
>         -DLIBCXXABI_LIBCXX_SRC_DIR=$(BUILD_DIR)/libcxx-10.0.0.src \
>         -DLIBCXXABI_LIBCXX_INCLUDES=$(BUILD_DIR)/libcxx-10.0.0.src/include
This sounds like it can work. However, libcxx depends on libcxxabi. I
think the way to get around this is to make a junk HostBuild that
places the headers in staging_dir.
>
>
> > -----Original Message-----
> > From: openwrt-devel [mailto:openwrt-devel-boun...@lists.openwrt.org]
> > On Behalf Of Rosen Penev
> > Sent: 02 June 2020 23:54
> > To: openwrt-devel@lists.openwrt.org
> > Subject: [OpenWrt-Devel] [PATCH 1/2] libcxxabi: add
> >
> > This will be used for libcxx.
> >
> > Signed-off-by: Rosen Penev <ros...@gmail.com>
> > ---
> >  package/libs/libcxxabi/Makefile | 64
> > +++++++++++++++++++++++++++++++++
> >  1 file changed, 64 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..bde77c250a
> > --- /dev/null
> > +++ b/package/libs/libcxxabi/Makefile
> > @@ -0,0 +1,64 @@
> > +
> > +#
> > +# 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:=e71bac75a88c9dde455ad3f2a2b449bf745eafd41d2d8432253b2
> > 964e0ca1
> > +4e1 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).src
> > +
> > +PKG_MAINTAINER:=Rosen Penev <ros...@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
> > +
> > +TARGET_CXXFLAGS += -flto
> > +TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
> > +
> > +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))
> > --
> > 2.26.2
> >
> >
> > _______________________________________________
> > openwrt-devel mailing list
> > openwrt-devel@lists.openwrt.org
> > https://lists.openwrt.org/mailman/listinfo/openwrt-devel

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to