]> sourceware.org Git - newlib-cygwin.git/blobdiff - newlib/configure.host
2008-03-07 Jeff Johnston <jjohnstn@redhat.com>
[newlib-cygwin.git] / newlib / configure.host
index bfa717069b4f1f0953238abf4eec358752e4ef99..bbdfff31fca7946b3524ea552d127271c13adbf6 100644 (file)
@@ -24,6 +24,7 @@
 #   target_optspace    --enable-target-optspace ("yes", "no", "")
 #   newlib_multithread --enable-newlib-multithread ("yes", "no", "yes")
 #   newlib_elix_level  --enable-newlib-elix-level ("1","2","3","4") ("4")
+#   newlib_io_c99_formats --enable-newlib-io-c99-formats ("yes", "no", "")
 #   newlib_io_long_long --enable-newlib-io-long-long ("yes", "no", "")
 #   newlib_io_long_double --enable-newlib-io-long-double ("yes", "no", "")
 
 #   use_libtool         flag: use libtool to build newlib?
 #   aext                library extension - needed for libtool support
 #   oext                object file extension - needed for libtool support
+#   lpfx               library object prefix - generated when no libtool
 #   crt1                name of crt1 object if one is provided
 #   crt1_dir            directory where crt1 object is found
+#   have_crt0          "yes"/"no" if crt0 is/isn't provided.
+#                      "" if crt0 is provided when sys_dir is set
 
 newlib_cflags=
 libm_machine_dir=
@@ -49,25 +53,30 @@ machine_dir=
 sys_dir=
 posix_dir=
 signal_dir=signal
+stdio_dir=stdio
 stdio64_dir=
 syscall_dir=
 unix_dir=
 mach_add_setjmp=
 crt1=
 crt1_dir=
+have_crt0=
 use_libtool=no
 have_sys_mach_dir=no
+default_newlib_io_c99_formats=no
 default_newlib_io_long_long=no
 default_newlib_io_long_double=no
 default_newlib_io_pos_args=no
+default_newlib_atexit_dynamic_alloc=yes
 aext=a
 oext=o
+lpfx="lib_a-"
 
 case "${target_optspace}:${host}" in
   yes:*)
     newlib_cflags="${newlib_cflags} -Os"
     ;;
-  :m32r-* | :d10v-* | :d30v-* | :avr-*)
+  :m32r-* | :d10v-* | :d30v-* | :avr-* | :m32c-* )
     newlib_cflags="${newlib_cflags} -Os"
     ;;
   no:* | :*)
@@ -93,6 +102,15 @@ case "${host_cpu}" in
   avr*)
        newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -mcall-prologues"
        ;;
+  bfin)
+       machine_dir=bfin
+       ;;
+  cris | crisv32)
+       machine_dir=cris
+       ;;
+  crx*)
+       machine_dir=crx
+       ;;
   d10v*)
        machine_dir=d10v
        ;;
@@ -102,6 +120,10 @@ case "${host_cpu}" in
   ep9312)
        machine_dir=arm
        ;;
+  fido)
+       machine_dir=m68k
+       newlib_cflags="${newlib_cflags} -DCOMPACT_CTYPE"
+       ;;
   fr30)
        machine_dir=fr30
        ;;
@@ -139,6 +161,11 @@ case "${host_cpu}" in
   iq2000)
        machine_dir=iq2000
        ;;
+  m32c)
+       machine_dir=m32c
+       newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -DABORT_PROVIDED -DSMALL_MEMORY"
+       ;;
+
   m32r*)
        machine_dir=m32r
        ;;
@@ -163,6 +190,9 @@ case "${host_cpu}" in
        ;;
   mcore)
        ;;
+  mep)
+       machine_dir=mep
+       ;;
   mips*)
        machine_dir=mips
        ;;
@@ -172,8 +202,12 @@ case "${host_cpu}" in
        machine_dir=mn10200
        ;;
   mn10300)
+       default_newlib_io_long_long="yes"
        machine_dir=mn10300
        ;;
+  mt*)
+       machine_dir=mt
+       ;;
   or16)
        ;;
   or32)
@@ -219,13 +253,23 @@ case "${host_cpu}" in
   w65*)
        machine_dir=w65
        ;;
+  x86_64)
+       machine_dir=x86_64
+       ;;
   xstormy16)
        machine_dir=xstormy16
        newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED"
+       newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED"
         ;;
   z8k)
        machine_dir=z8k
        ;;
+  spu)
+       stdio_dir=
+       libm_machine_dir=spu
+       machine_dir=spu
+       newlib_cflags="${newlib_cflags} -D_POSIX_MODE -ffunction-sections -fdata-sections "
+       ;;
   *)
        echo '***' "Newlib does not support CPU ${host_cpu}" 1>&2
        exit 1
@@ -271,6 +315,7 @@ case "${host}" in
     have_sys_mach_dir=yes
     stdio64_dir=stdio64
     oext=lo
+    lpfx=
     aext=la ;;
   *) ;; #shared library not supported for ${host}
 esac
@@ -302,10 +347,17 @@ case "${host}" in
        sys_dir=arc
        ;;
   arm-*-*)
-       if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
-         sys_dir=arm
+       sys_dir=arm
+       if [ "x${newlib_may_supply_syscalls}" = "xno" ] ; then
+         have_crt0="no"
        fi
        ;;
+  bfin-*-*)
+       sys_dir=
+       ;;
+  crx*)
+       sys_dir=
+       ;;
   d10v*)
        sys_dir=d10v
        ;;
@@ -313,8 +365,9 @@ case "${host}" in
        sys_dir=
        ;;
   ep9312-*-*)
-       if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
-         sys_dir=arm
+       sys_dir=arm
+       if [ "x${newlib_may_supply_syscalls}" = "xno" ] ; then
+         have_crt0="no"
        fi
        ;;
   frv*)
@@ -338,6 +391,10 @@ case "${host}" in
   h8500-*-elf*)
        sys_dir=h8500hms
        ;;
+  i[34567]86-*-rdos*)
+       sys_dir=rdos
+       newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES"
+       ;;
   i[34567]86-*-sco*)
        sys_dir=sysvi386
        unix_dir=unix
@@ -349,6 +406,7 @@ case "${host}" in
        crt1=crt1.o
        crt1_dir=libc/sys/${sys_dir}    
        gcc_dir=`gcc -print-search-dirs | awk '/^install:/{print $2}'`
+       default_newlib_io_c99_formats="yes"
        default_newlib_io_long_double="yes"
        default_newlib_io_long_long="yes"
        default_newlib_io_pos_args="yes"
@@ -356,6 +414,7 @@ case "${host}" in
        newlib_cflags="${newlib_cflags} -Wall"
        newlib_cflags="${newlib_cflags} -D_I386MACH_ALLOW_HW_INTERRUPTS"
        newlib_cflags="${newlib_cflags} -DHAVE_FCNTL"
+       newlib_cflags="${newlib_cflags} -DHAVE_GETOPT"
        # --- Required when building a shared library ------------------------
        newlib_cflags="${newlib_cflags} -fPIC -D_I386MACH_NEED_SOTYPE_FUNCTION"
        # --- The three lines below are optional ------------------------------
@@ -373,6 +432,10 @@ case "${host}" in
   m8*-bug-*)
        sys_dir=m88kbug
        ;;
+  mep-*-*)
+       default_newlib_io_long_long="yes"
+       newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES"
+       ;;
   mips*-dec-*)
        sys_dir=decstation
        ;;
@@ -393,14 +456,20 @@ case "${host}" in
        sys_dir=sparc64
        unix_dir=unix
        ;;
+  spu-*-*)
+       default_newlib_io_long_long="yes"
+       default_newlib_atexit_dynamic_alloc="no"
+       ;;
   strongarm-*-*)
-       if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
-         sys_dir=arm
+       sys_dir=arm
+       if [ "x${newlib_may_supply_syscalls}" = "xno" ] ; then
+         have_crt0="no"
        fi
        ;;
   thumb-*-*)
-       if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
-         sys_dir=arm
+       sys_dir=arm
+       if [ "x${newlib_may_supply_syscalls}" = "xno" ] ; then
+         have_crt0="no"
        fi
        ;;
   tic80*)
@@ -425,8 +494,9 @@ case "${host}" in
        sys_dir=w65
        ;;
   xscale-*-*)
-       if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
-         sys_dir=arm
+       sys_dir=arm
+       if [ "x${newlib_may_supply_syscalls}" = "xno" ] ; then
+         have_crt0="no"
        fi
        ;;
   z8k-*-coff)
@@ -442,10 +512,12 @@ case "${host}" in
   *-*-cygwin*)
        test -z "$cygwin_srcdir" && cygwin_srcdir=`cd ${srcdir}/../winsup/cygwin; pwd`
        export cygwin_srcdir
+       default_newlib_io_c99_formats="yes"
        default_newlib_io_long_long="yes"
        default_newlib_io_long_double="yes"
        default_newlib_io_pos_args="yes"
-       newlib_cflags="${newlib_cflags} -DHAVE_OPENDIR -DHAVE_RENAME -DSIGNAL_PROVIDED -D_COMPILING_NEWLIB -DHAVE_FCNTL -DMALLOC_PROVIDED -I${cygwin_srcdir}/include"
+       CC="${CC} -I${cygwin_srcdir}/include"
+       newlib_cflags="${newlib_cflags} -DHAVE_OPENDIR -DHAVE_RENAME -DSIGNAL_PROVIDED -D_COMPILING_NEWLIB -DHAVE_BLKSIZE -DHAVE_FCNTL -DMALLOC_PROVIDED"
        syscall_dir=syscalls
        ;;
 # RTEMS supplies its own versions of some routines:
@@ -457,7 +529,7 @@ case "${host}" in
 #  NOTE: When newlib malloc uses a semaphore, RTEMS will switch to that.
   *-*-rtems*)
        default_newlib_io_long_long="yes"
-       newlib_cflags="${newlib_cflags} -DHAVE_GETTIMEOFDAY -DMALLOC_PROVIDED -DEXIT_PROVIDED -DMISSING_SYSCALL_NAMES -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_OPENDIR -DNO_EXEC -DHAVE_FCNTL"
+       newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DMISSING_SYSCALL_NAMES -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_OPENDIR -DNO_EXEC -DHAVE_FCNTL"
        ;;
 # VxWorks supplies its own version of malloc, and the newlib one
 # doesn't work because VxWorks does not have sbrk.
@@ -474,11 +546,9 @@ case "${host}" in
        ;;
   arm-*-pe)
        syscall_dir=syscalls
-       newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
        ;;
   arm-*-*)
        syscall_dir=syscalls
-       newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
 # If newlib is supplying syscalls, select which debug protocol is being used.
 # ARM_RDP_MONITOR selects the Demon monitor.
 # ARM_RDI_MONITOR selects the Angel monitor.
@@ -492,9 +562,24 @@ case "${host}" in
          newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR"
        fi
        ;;
+  arc*)
+       newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED"
+       ;;
   avr*)
        newlib_cflags="${newlib_cflags} -DNO_EXEC -DSMALL_MEMORY -DMISSING_SYSCALL_NAMES"
        ;;
+  bfin*)
+       syscall_dir=syscalls
+       ;;
+  cris-*-* | crisv32-*-*)
+       default_newlib_io_long_long="yes"
+       newlib_cflags="${newlib_cflags} -DHAVE_RENAME -D_USE_WRITE -DCOMPACT_CTYPE"
+       syscall_dir=syscalls
+       ;;
+  crx-*-*)
+       newlib_cflags="${newlib_cflags} -DHAVE_RENAME -DMISSING_SYSCALL_NAMES"
+       syscall_dir=
+       ;;
   d10v*)
        newlib_cflags="${newlib_cflags} -DSMALL_MEMORY"
        syscall_dir=syscalls
@@ -505,11 +590,14 @@ case "${host}" in
        ;;
   ep9312-*-*)
        syscall_dir=syscalls
-       newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
        if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
          newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR"
        fi
        ;;
+  fido-*-elf)
+       newlib_cflags="${newlib_cflags} -DHAVE_RENAME -DHAVE_SYSTEM -DMISSING_SYSCALL_NAMES"
+       syscall_dir=
+       ;;
   fr30-*-*)
        syscall_dir=syscalls
        ;;
@@ -519,6 +607,7 @@ case "${host}" in
         ;;
   h8300*-*-*)
        syscall_dir=syscalls    
+       default_newlib_io_long_long="yes"
        newlib_cflags="${newlib_cflags} -DSMALL_DTOA -DSMALL_MEMORY"
        # Simulator only extensions for H8300.
        # Uncomment the next line to enable them.
@@ -549,6 +638,10 @@ case "${host}" in
   m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
        newlib_cflags="${newlib_cflags} -DNO_EXEC -DABORT_PROVIDED -DSMALL_MEMORY -DMISSING_SYSCALL_NAMES"
        ;;
+  m68k-unknown-elf)
+       newlib_cflags="${newlib_cflags} -DHAVE_RENAME -DHAVE_SYSTEM -DMISSING_SYSCALL_NAMES"
+       syscall_dir=
+       ;;
   mcore-*-*)
        syscall_dir=syscalls
        ;;
@@ -592,14 +685,13 @@ case "${host}" in
        ;;
   sh*-*-*)
        default_newlib_io_long_long="yes"
-       newlib_cflags="${newlib_cflags} -DHAVE_GETTIMEOFDAY"
        syscall_dir=syscalls
        ;;
   sparc-sun-sunos*)
        newlib_cflags="${newlib_cflags} -DSIGNAL_PROVIDED"
        ;;
   sparc64-*-*)
-       newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_BLKSIZE -DHAVE_GETTIMEOFDAY -DHAVE_FCNTL"
+       newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_BLKSIZE -DHAVE_FCNTL"
        # This either belongs elsewhere or nowhere. But I need *something*,
        # so for now it's here ...
        case "${host_os}" in
@@ -611,16 +703,13 @@ case "${host}" in
        ;;
   strongarm-*-*)
        syscall_dir=syscalls
-       newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
        ;;
   thumb-*-pe)
        syscall_dir=syscalls
-       newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
 # Don't use the debugging protocols just yet.
        ;;
   thumb-*-*)
        syscall_dir=syscalls
-       newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
 # If newlib is supplying syscalls, select which debug protocol is being used.
 # ARM_RDP_MONITOR selects the Demon monitor.
 # ARM_RDI_MONITOR selects the Angel monitor.
@@ -651,14 +740,12 @@ case "${host}" in
        ;;      
   xscale-*-*)
        syscall_dir=syscalls
-       newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
        newlib_cflags="${newlib_cflags} -DHAVE_SYSTEM -DHAVE_RENAME"
        if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
          newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR"
        fi
        ;;
   xstormy16-*-*)
-       newlib_cflags="${newlib_cflags} -DHAVE_GETTIMEOFDAY"
        syscall_dir=syscalls
        ;;
   z8k-*-*)
@@ -672,6 +759,13 @@ esac
 
 # Use defaults for certain settings if not specified by user
 
+# Enable C99 format support in I/O routines if requested.
+if [ "x${newlib_io_c99_formats}" = "x" ]; then
+       if [ ${default_newlib_io_c99_formats} = "yes" ]; then
+               newlib_io_c99_formats="yes";
+       fi
+fi
+
 # Enable long long support in I/O routines if requested.
 if [ "x${newlib_io_long_long}" = "x" ]; then
        if [ ${default_newlib_io_long_long} = "yes" ]; then
@@ -692,3 +786,14 @@ if [ "x${newlib_io_pos_args}" = "x" ]; then
                newlib_io_pos_args="yes";
        fi
 fi
+
+# Disable atexit dynamic allocation if requested.
+if [ "x${newlib_atexit_dynamic_alloc}" = "x" ]; then
+       if [ ${default_newlib_atexit_dynamic_alloc} = "yes" ]; then
+               newlib_atexit_dynamic_alloc="yes"; 
+       fi
+fi
+
+if test -z "${have_crt0}" && test -n "${sys_dir}"; then
+  have_crt0="yes"
+fi
This page took 0.034356 seconds and 5 git commands to generate.