summaryrefslogtreecommitdiff
path: root/package/musl
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2013-08-12 12:32:28 (GMT)
committerWaldemar Brodkorb <wbx@openadk.org>2013-08-12 12:32:28 (GMT)
commitf04227421063498a88707c43ec80b2b70d9b8d83 (patch)
tree189393a32f3af46500594d744010913ebebc1f2b /package/musl
parent7a8e9c0ea181628555861fb4bbd3760ed1ca80e2 (diff)
complete musl support, tested with qemu-arm
Diffstat (limited to 'package/musl')
-rw-r--r--package/musl/Config.in.manual17
-rw-r--r--package/musl/Makefile45
2 files changed, 62 insertions, 0 deletions
diff --git a/package/musl/Config.in.manual b/package/musl/Config.in.manual
new file mode 100644
index 0000000..19f590e
--- /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 0000000..f37fd2e
--- /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