aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/musl/Makefile
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2012-11-23 20:02:29 +0000
committerFlorian Fainelli <florian@openwrt.org>2012-11-23 20:02:29 +0000
commit6b63716262b89bec53402817876116898936d5f4 (patch)
tree1d792a9083d34dc6e40620b3c5802e9168a461e0 /toolchain/musl/Makefile
parent14ed3f0f22f34b337bb58b2a5fd09e887df3331f (diff)
downloadupstream-6b63716262b89bec53402817876116898936d5f4.tar.gz
upstream-6b63716262b89bec53402817876116898936d5f4.tar.bz2
upstream-6b63716262b89bec53402817876116898936d5f4.zip
add preliminary support for musl
Musl is an alternative C-library, see http://www.musl-libc.org for more infos. Signed-off-by: Florian Fainelli <florian@openwrt.org> SVN-Revision: 34314
Diffstat (limited to 'toolchain/musl/Makefile')
-rw-r--r--toolchain/musl/Makefile38
1 files changed, 38 insertions, 0 deletions
diff --git a/toolchain/musl/Makefile b/toolchain/musl/Makefile
new file mode 100644
index 0000000000..79ea175a46
--- /dev/null
+++ b/toolchain/musl/Makefile
@@ -0,0 +1,38 @@
+PATH_PREFIX=.
+
+include ./common.mk
+
+HOST_STAMP_BUILT:=$(HOST_BUILD_DIR)/.built
+HOST_STAMP_INSTALLED:=$(TOOLCHAIN_DIR)/stamp/.musl_installed
+
+HOST_BUILD_PARALLEL:=1
+
+define Host/SetToolchainInfo
+ $(SED) 's,^\(LIBC_TYPE\)=.*,\1=$(PKG_NAME),' $(TOOLCHAIN_DIR)/info.mk
+ $(SED) 's,^\(LIBC_URL\)=.*,\1=http://www.musl-libc.org/,' $(TOOLCHAIN_DIR)/info.mk
+ $(SED) 's,^\(LIBC_VERSION\)=.*,\1=$(PKG_VERSION),' $(TOOLCHAIN_DIR)/info.mk
+ $(SED) 's,^\(LIBC_SO_VERSION\)=.*,\1=$(LIBC_SO_VERSION),' $(TOOLCHAIN_DIR)/info.mk
+endef
+
+define Host/Compile
+ $(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) all
+endef
+
+define Host/Install
+ $(call Host/SetToolchainInfo)
+ $(MAKE) -C $(HOST_BUILD_DIR) DESTDIR="$(TOOLCHAIN_DIR)/" install
+ ( cd $(TOOLCHAIN_DIR) ; \
+ for d in lib usr/lib ; do \
+ for f in libc.so libpthread.so libgcc_s.so ; do \
+ if [ -f $$$$d/$$$$f -a ! -L $$$$d/$$$$f ] ; then \
+ $(SED) 's,/usr/lib/,,g;s,/lib/,,g' $$$$d/$$$$f ; \
+ fi \
+ done \
+ done \
+ )
+ rm -f \
+ $(TOOLCHAIN_DIR)/lib/libresolv*.so* \
+ $(TOOLCHAIN_DIR)/lib/libnsl*.so*
+endef
+
+$(eval $(call HostBuild))