Message ID | 1409864217-17035-1-git-send-email-bryanhundven@gmail.com |
---|---|
State | Superseded |
Headers | show |
Bryan, All, On 2014-09-04 13:56 -0700, Bryan Hundven spake thusly: > In an effort to make the toolchain build simpler, remove the need for > the pass-1 build of gcc. > > Also, let musl's configure script decide if we need the gcc wrapper or > not. Well, sh4rm4 said on IRC that we definitely do not need the wrapper: 00:11 < sh4rm4> musl-gcc is a wrapper to use musl on a glibc sys 00:11 <@y_morin> sh4rm4: So if we build our gcc with --target=blabla-musl we do not need the wrapper, do we? 00:11 < sh4rm4> works by fixing up gcc's paths using a specs file 00:11 < sh4rm4> no So, I think we still want to explicitly disable it. > Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> > --- > config/libc/musl.in | 2 +- > scripts/build/libc/musl.sh | 25 +++---------------------- > 2 files changed, 4 insertions(+), 23 deletions(-) > > diff --git a/config/libc/musl.in b/config/libc/musl.in > index b3bec26..8f393b2 100644 > --- a/config/libc/musl.in > +++ b/config/libc/musl.in > @@ -3,7 +3,7 @@ > ## depends on ! WINDOWS && ! BARE_METAL > ## > ## select LIBC_SUPPORT_THREADS_NATIVE > -## select CC_CORE_PASSES_NEEDED > +## select CC_CORE_PASS_2_NEEDED > ## > ## help Musl is a new standard library to power a new generation of Linux-based > ## help devices. musl is lightweight, fast, simple, free, and strives to be > diff --git a/scripts/build/libc/musl.sh b/scripts/build/libc/musl.sh > index 7172cf2..6dbf657 100644 > --- a/scripts/build/libc/musl.sh > +++ b/scripts/build/libc/musl.sh > @@ -48,7 +48,7 @@ do_libc_configure() { > # NOTE: musl handles the build/host/target a little bit differently > # then one would expect: > # build : not used > - # host : the machine building musl > + # host : the machine musl runs on > # target : the machine musl runs on > CT_DoExecLog CFG \ > CFLAGS="${extra_cflags[@]}" \ > @@ -56,30 +56,11 @@ do_libc_configure() { > ./configure \ > --host="${CT_TARGET}" \ > --target="${CT_TARGET}" \ > - --prefix="/usr" \ > - --disable-gcc-wrapper > + --prefix="/usr" > } > > do_libc_start_files() { > - CT_DoStep INFO "Installing C library headers" > - > - # Simply copy files until musl has the ability to build out-of-tree > - CT_DoLog EXTRA "Copying sources to build directory" > - CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/musl-${CT_LIBC_VERSION}" \ > - "${CT_BUILD_DIR}/build-libc-headers" > - cd "${CT_BUILD_DIR}/build-libc-headers" > - > - do_libc_configure > - > - CT_DoLog EXTRA "Installing headers" > - CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" install-headers > - > - CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" \ > - crt/crt1.o crt/crti.o crt/crtn.o > - CT_DoExecLog ALL cp -av crt/crt*.o "${CT_SYSROOT_DIR}/usr/lib" > - CT_DoExecLog ALL ${CT_TARGET}-gcc -nostdlib \ > - -nostartfiles -shared -x c /dev/null -o "${CT_SYSROOT_DIR}/usr/lib/libc.so" > - CT_EndStep > + : As seen on IRC: no headers installed, you picked your host headers. ;-) Regards, Yann E. MORIN. > } > > do_libc() { > -- > 2.1.0 >
diff --git a/config/libc/musl.in b/config/libc/musl.in index b3bec26..8f393b2 100644 --- a/config/libc/musl.in +++ b/config/libc/musl.in @@ -3,7 +3,7 @@ ## depends on ! WINDOWS && ! BARE_METAL ## ## select LIBC_SUPPORT_THREADS_NATIVE -## select CC_CORE_PASSES_NEEDED +## select CC_CORE_PASS_2_NEEDED ## ## help Musl is a new standard library to power a new generation of Linux-based ## help devices. musl is lightweight, fast, simple, free, and strives to be diff --git a/scripts/build/libc/musl.sh b/scripts/build/libc/musl.sh index 7172cf2..6dbf657 100644 --- a/scripts/build/libc/musl.sh +++ b/scripts/build/libc/musl.sh @@ -48,7 +48,7 @@ do_libc_configure() { # NOTE: musl handles the build/host/target a little bit differently # then one would expect: # build : not used - # host : the machine building musl + # host : the machine musl runs on # target : the machine musl runs on CT_DoExecLog CFG \ CFLAGS="${extra_cflags[@]}" \ @@ -56,30 +56,11 @@ do_libc_configure() { ./configure \ --host="${CT_TARGET}" \ --target="${CT_TARGET}" \ - --prefix="/usr" \ - --disable-gcc-wrapper + --prefix="/usr" } do_libc_start_files() { - CT_DoStep INFO "Installing C library headers" - - # Simply copy files until musl has the ability to build out-of-tree - CT_DoLog EXTRA "Copying sources to build directory" - CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/musl-${CT_LIBC_VERSION}" \ - "${CT_BUILD_DIR}/build-libc-headers" - cd "${CT_BUILD_DIR}/build-libc-headers" - - do_libc_configure - - CT_DoLog EXTRA "Installing headers" - CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" install-headers - - CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" \ - crt/crt1.o crt/crti.o crt/crtn.o - CT_DoExecLog ALL cp -av crt/crt*.o "${CT_SYSROOT_DIR}/usr/lib" - CT_DoExecLog ALL ${CT_TARGET}-gcc -nostdlib \ - -nostartfiles -shared -x c /dev/null -o "${CT_SYSROOT_DIR}/usr/lib/libc.so" - CT_EndStep + : } do_libc() {
In an effort to make the toolchain build simpler, remove the need for the pass-1 build of gcc. Also, let musl's configure script decide if we need the gcc wrapper or not. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> --- config/libc/musl.in | 2 +- scripts/build/libc/musl.sh | 25 +++---------------------- 2 files changed, 4 insertions(+), 23 deletions(-)