Changeset 34314


Ignore:
Timestamp:
2012-11-23T21:02:29+01:00 (5 years ago)
Author:
florian
Message:

[buildroot] 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@…>

Location:
trunk
Files:
14 added
7 edited
12 copied

Legend:

Unmodified
Added
Removed
  • trunk/package/hotplug2/Makefile

    r33660 r34314  
    3030  TITLE:=Version 1.0 Dynamic device management subsystem for embedded systems 
    3131  URL:=http://isteve.bofh.cz/~isteve/hotplug2/ 
    32   DEPENDS:=+!USE_UCLIBC:libbsd 
     32  DEPENDS:=+!(USE_UCLIBC||USE_MUSL):libbsd 
    3333endef 
    3434 
  • trunk/package/libs/libbsd/Makefile

    r33861 r34314  
    1919  SECTION:=libs 
    2020  CATEGORY:=Libraries 
    21   DEPENDS:=@!USE_UCLIBC 
     21  DEPENDS:=@!(USE_UCLIBC||USE_MUSL) 
    2222  TITLE:=common BSD library 
    2323endef 
  • trunk/package/toolchain/Makefile

    r34292 r34314  
    427427  endef 
    428428 
     429  define Package/musl/install 
     430        $(INSTALL_DIR) $(1)/lib 
     431        $(CP) \ 
     432                $(TOOLCHAIN_DIR)/lib/ld-musl-*.so* \ 
     433                $(1)/lib/ 
     434        $(CP) \ 
     435                $(TOOLCHAIN_DIR)/lib/libc.so* \ 
     436                $(1)/lib/ 
     437  endef 
     438 
    429439  define Package/libc/install 
    430440    $(call Package/$(LIBC)/install,$1) 
  • trunk/scripts/config.sub

    r22312 r34314  
    129129  knetbsd*-gnu* | netbsd*-gnu* | \ 
    130130  kopensolaris*-gnu* | \ 
    131   storm-chaos* | os2-emx* | rtmk-nova*) 
     131  storm-chaos* | os2-emx* | rtmk-nova* | \ 
     132  linux-musl*) 
    132133    os=-$maybe_os 
    133134    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 
     
    13101311              | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 
    13111312              | -mingw32* | -linux-gnu* | -linux-android* \ 
    1312               | -linux-newlib* | -linux-uclibc* \ 
     1313              | -linux-newlib* | -linux-uclibc* | -linux-musl* \ 
    13131314              | -uxpv* | -beos* | -mpeix* | -udk* \ 
    13141315              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 
  • trunk/target/toolchain/files/wrapper.sh

    r18454 r34314  
    6565        LD_SYSROOT_FLAGS="-rpath=$TOOLCHAIN_SYSROOT/lib:$TOOLCHAIN_SYSROOT/usr/lib" 
    6666       ;; 
     67   musl) 
     68        GCC_SYSROOT_FLAGS="--sysroot=$TOOLCHAIN_SYSROOT -Wl,-rpath=$TOOLCHAIN_SYSROOT/lib:$TOOLCHAIN_SYSROOT/usr/lib" 
     69        LD_SYSROOT_FLAGS="-rpath=$TOOLCHAIN_SYSROOT/lib:$TOOLCHAIN_SYSROOT/usr/lib" 
     70       ;; 
    6771   *) 
    6872        GCC_SYSROOT_FLAGS="" 
  • trunk/toolchain/Config.in

    r32518 r34314  
    146146                bool "Use uClibc" 
    147147 
     148        config USE_MUSL 
     149                bool "Use musl" 
     150 
    148151endchoice 
    149152 
    150153source "toolchain/eglibc/Config.in" 
    151154source "toolchain/uClibc/Config.in" 
     155source "toolchain/musl/Config.in" 
    152156 
    153157comment "Debuggers" 
     
    182186source "toolchain/eglibc/Config.version" 
    183187source "toolchain/uClibc/Config.version" 
     188source "toolchain/musl/Config.version" 
    184189 
    185190config LIBC 
     
    187192        default "eglibc"  if USE_EGLIBC 
    188193        default "uClibc"  if USE_UCLIBC 
     194        default "musl"    if USE_MUSL 
    189195 
    190196config LIBC_VERSION 
     
    192198        default EGLIBC_VERSION  if USE_EGLIBC 
    193199        default UCLIBC_VERSION  if USE_UCLIBC 
     200        default MUSL_VERSION    if USE_MUSL 
    194201 
    195202config TARGET_SUFFIX 
    196203        string 
    197         default "gnueabi"         if (USE_EGLIBC) && (arm || armeb) 
    198         default "gnu"             if (USE_EGLIBC) && !(arm || armeb) 
     204        default "gnueabi"         if USE_EGLIBC && (arm || armeb) 
     205        default "gnu"             if USE_EGLIBC && !(arm || armeb) 
    199206        default "uclibcgnueabi"   if USE_UCLIBC && (arm || armeb) 
    200207        default "uclibc"          if USE_UCLIBC && !(arm || armeb) 
     208        default "muslgnueabi"     if USE_MUSL && (arm || armeb) 
     209        default "musl"            if USE_MUSL && !(arm || armeb) 
  • trunk/toolchain/gcc/Config.in

    r34296 r34314  
    8080        bool 
    8181        prompt "Build/install c++ compiler and libstdc++?" if TOOLCHAINOPTS 
    82         default y 
     82        default y if !USE_MUSL 
    8383        help 
    8484            Build/install c++ compiler and libstdc++? 
  • trunk/toolchain/gdb/patches/200-linux_musl.patch

    r34313 r34314  
    1 diff -urN grub-2.00/build-aux/config.sub grub-2.00.new/build-aux/config.sub 
    2 --- grub-2.00/build-aux/config.sub      2012-06-18 23:08:46.000000000 +0200 
    3 +++ grub-2.00.new/build-aux/config.sub  2012-11-22 14:12:12.190748353 +0100 
     1diff -urN gdb-linaro-7.5-2012.09/config.sub gdb-linaro-7.5-2012.09.new/config.sub 
     2--- gdb-linaro-7.5-2012.09/config.sub   2012-09-13 16:01:23.000000000 +0200 
     3+++ gdb-linaro-7.5-2012.09.new/config.sub       2012-11-21 18:19:43.516916352 +0100 
    44@@ -126,7 +126,8 @@ 
    55   linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 
  • trunk/toolchain/musl/Makefile

    r34313 r34314  
    44 
    55HOST_STAMP_BUILT:=$(HOST_BUILD_DIR)/.built 
    6 HOST_STAMP_INSTALLED:=$(TOOLCHAIN_DIR)/stamp/.uclibc_installed 
     6HOST_STAMP_INSTALLED:=$(TOOLCHAIN_DIR)/stamp/.musl_installed 
    77 
    88HOST_BUILD_PARALLEL:=1 
     
    1010define Host/SetToolchainInfo 
    1111        $(SED) 's,^\(LIBC_TYPE\)=.*,\1=$(PKG_NAME),' $(TOOLCHAIN_DIR)/info.mk 
    12         $(SED) 's,^\(LIBC_URL\)=.*,\1=http://www.uclibc.org/,' $(TOOLCHAIN_DIR)/info.mk 
     12        $(SED) 's,^\(LIBC_URL\)=.*,\1=http://www.musl-libc.org/,' $(TOOLCHAIN_DIR)/info.mk 
    1313        $(SED) 's,^\(LIBC_VERSION\)=.*,\1=$(PKG_VERSION),' $(TOOLCHAIN_DIR)/info.mk 
    1414        $(SED) 's,^\(LIBC_SO_VERSION\)=.*,\1=$(LIBC_SO_VERSION),' $(TOOLCHAIN_DIR)/info.mk 
     
    1616 
    1717define Host/Compile 
    18         $(SED) 's,^CROSS=.*,CROSS=$(TARGET_CROSS),g' $(HOST_BUILD_DIR)/Rules.mak 
    19         $(UCLIBC_MAKE) PREFIX= all 
     18        $(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) all 
    2019endef 
    2120 
    2221define Host/Install 
    2322        $(call Host/SetToolchainInfo) 
    24         $(UCLIBC_MAKE) PREFIX="$(TOOLCHAIN_DIR)/" install_runtime install_dev 
    25         $(CP) $(HOST_BUILD_DIR)/libc/libc_so.a $(TOOLCHAIN_DIR)/lib/ 
    26         $(CP) $(HOST_BUILD_DIR)/libpthread/*/libpthread_so.a $(TOOLCHAIN_DIR)/lib/ 
     23        $(MAKE) -C $(HOST_BUILD_DIR) DESTDIR="$(TOOLCHAIN_DIR)/" install 
    2724        ( cd $(TOOLCHAIN_DIR) ; \ 
    2825                for d in lib usr/lib ; do \ 
Note: See TracChangeset for help on using the changeset viewer.