diff options
| author | Rich Felker <dalias@aerifal.cx> | 2013-07-18 20:30:58 -0400 | 
|---|---|---|
| committer | Rich Felker <dalias@aerifal.cx> | 2013-07-18 20:30:58 -0400 | 
| commit | 3e7f186ea18d7362e3e117f6e848b5514d8266d1 (patch) | |
| tree | 4e7223dcbceb3e10a6bd9c3ac81e8b5b31e5cafa | |
| parent | f389c4984a0fee80c5322e4d1ec3aa207e9b5c01 (diff) | |
| download | musl-3e7f186ea18d7362e3e117f6e848b5514d8266d1.tar.gz | |
add build system support for arch endian & float abi variants
| -rw-r--r-- | Makefile | 2 | ||||
| -rwxr-xr-x | configure | 32 | 
2 files changed, 33 insertions, 1 deletions
| @@ -49,7 +49,7 @@ TOOL_LIBS = lib/musl-gcc.specs  ALL_LIBS = $(CRT_LIBS) $(STATIC_LIBS) $(SHARED_LIBS) $(EMPTY_LIBS) $(TOOL_LIBS)  ALL_TOOLS = tools/musl-gcc -LDSO_PATHNAME = $(syslibdir)/ld-musl-$(ARCH).so.1 +LDSO_PATHNAME = $(syslibdir)/ld-musl-$(ARCH)$(SUBARCH).so.1  -include config.mak @@ -54,6 +54,20 @@ stripdir () {  while eval "fnmatch '*/' \"\${$1}\"" ; do eval "$1=\${$1%/}" ; done  } +trycppif () { +printf "checking preprocessor condition %s... " "$1" +echo "#if $1" > "$tmpc" +echo "#error yes" >> "$tmpc" +echo "#endif" >> "$tmpc" +if $CC $2 -c -o /dev/null "$tmpc" >/dev/null 2>&1 ; then +printf "false\n" +return 1 +else +printf "true\n" +return 0 +fi +} +  tryflag () {  printf "checking whether compiler accepts %s... " "$2"  echo "typedef int x;" > "$tmpc" @@ -310,6 +324,23 @@ test -z "$LIBCC" && try_libcc=`$CC -print-file-name=libpcc.a 2>/dev/null` \                   && tryldflag LIBCC "$try_libcc"  printf "using compiler runtime libraries: %s\n" "$LIBCC" +# Figure out arch variants for archs with variants +SUBARCH= +t="$CFLAGS_C99FSE $CPPFLAGS $CFLAGS_AUTO $CFLAGS" + +if test "$ARCH" = "arm" ; then +trycppif __ARMEB__ "$t" && SUBARCH=${SUBARCH}eb +trycppif __SOFTFP__ "$t" || SUBARCH=${SUBARCH}hf +fi + +test "$ARCH" = "mips" && trycppif "_MIPSEL || __MIPSEL || __MIPSEL__" "$t" \ +&& SUBARCH=${SUBARCH}el + +test "$ARCH" = "microblaze" && trycppif __MICROBLAZEEL__ "$t" \ +&& SUBARCH=${SUBARCH}el + +test "$SUBARCH" \ +&& printf "configured for %s variant: %s\n" "$ARCH" "$ARCH$SUBARCH"  printf "creating config.mak... " @@ -320,6 +351,7 @@ cat << EOF  # This version of config.mak was generated by configure  # Any changes made here will be lost if configure is re-run  ARCH = $ARCH +SUBARCH = $SUBARCH  prefix = $prefix  exec_prefix = $exec_prefix  bindir = $bindir | 
