From f04227421063498a88707c43ec80b2b70d9b8d83 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 12 Aug 2013 14:32:28 +0200 Subject: complete musl support, tested with qemu-arm --- package/musl/Config.in.manual | 17 ++++++++++++++++ package/musl/Makefile | 45 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 package/musl/Config.in.manual create mode 100644 package/musl/Makefile (limited to 'package/musl') diff --git a/package/musl/Config.in.manual b/package/musl/Config.in.manual new file mode 100644 index 000000000..19f590e61 --- /dev/null +++ b/package/musl/Config.in.manual @@ -0,0 +1,17 @@ +config ADK_PACKAGE_MUSL + prompt "musl................. embedded C library" + bool + default y if ADK_TARGET_LIB_MUSL && !ADK_TOOLCHAIN_ONLY + default n + depends on ADK_TARGET_LIB_MUSL + help + Embedded C library. + +config ADK_PACKAGE_MUSL_DEV + prompt "musl-dev............. development files" + tristate + default n + depends on ADK_TARGET_LIB_MUSL && ADK_PACKAGE_MUSL + help + C library header files. + diff --git a/package/musl/Makefile b/package/musl/Makefile new file mode 100644 index 000000000..f37fd2eb2 --- /dev/null +++ b/package/musl/Makefile @@ -0,0 +1,45 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(TOPDIR)/rules.mk +include $(TOPDIR)/toolchain/musl/Makefile.inc + +PKG_DESCR:= embedded C library +PKG_SECTION:= base +PKG_OPTS:= noremove + +PKG_SUBPKGS:= MUSL MUSL_DEV +PKGSD_MUSL_DEV:= development files for musl +PKGSC_MUSL_DEV:= devel + +NO_DISTFILES:= 1 + +include $(TOPDIR)/mk/package.mk + +$(eval $(call PKG_template,MUSL,musl,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) +$(eval $(call PKG_template,MUSL_DEV,musl-dev,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_MUSL_DEV},${PKGSC_MUSL_DEV},${PKG_OPTS})) + +CONFIG_STYLE:= manual +BUILD_STYLE:= manual +INSTALL_STYLE:= manual + +# do nothing, musl is already build in toolchain directory +do-install: + ${INSTALL_DIR} $(IDIR_MUSL)/$(ADK_TARGET_LIBC_PATH) + $(CP) $(STAGING_TARGET_DIR)/usr/lib/libc.so $(IDIR_MUSL)/$(ADK_TARGET_LIBC_PATH) + (cd $(IDIR_MUSL)/$(ADK_TARGET_LIBC_PATH) && \ + ln -sf libc.so ld-musl-$(ARCH).so.1) + + +musl-dev-install: + ${INSTALL_DIR} ${IDIR_MUSL_DEV}/usr/lib + ${CP} ${STAGING_TARGET_DIR}/usr/lib/crt*.o ${IDIR_MUSL_DEV}/usr/lib + $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-linux-$(KERNEL_VERSION)-$(KERNEL_RELEASE)/linux-$(KERNEL_VERSION) ARCH=$(ARCH) V=1 \ + INSTALL_HDR_PATH=$(IDIR_MUSL_DEV)/usr \ + headers_install + $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/${PKG_NAME}-${PKG_VERSION} \ + install_headers + @find $(IDIR_MUSL_DEV) -name .install -exec rm {} \; + @find $(IDIR_MUSL_DEV) -name ..install.cmd -exec rm {} \; + +include ${TOPDIR}/mk/pkg-bottom.mk -- cgit v1.2.3