395 lines
		
	
	
		
			9.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			395 lines
		
	
	
		
			9.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| dnl Process this file with autoconf to produce a configure script.
 | |
| AC_INIT([libgloss],[LIBGLOSS_VERSION])
 | |
| AC_CONFIG_HEADER(config.h)
 | |
| 
 | |
| if test "${enable_shared}" = "yes" ; then
 | |
|   AC_MSG_WARN([Shared libraries not supported for cross compiling, ignored])
 | |
| fi
 | |
| 
 | |
| AC_CONFIG_AUX_DIR(..)
 | |
| 
 | |
| dnl Support --disable-newlib-supplied-syscalls
 | |
| dnl NB: This is kept in sync with the newlib/acinclude.m4 option code.
 | |
| AC_ARG_ENABLE(newlib-supplied-syscalls,
 | |
| [  --disable-newlib-supplied-syscalls disable newlib from supplying syscalls],
 | |
| [case "${enableval}" in
 | |
|   yes) newlib_may_supply_syscalls=yes ;;
 | |
|   no)  newlib_may_supply_syscalls=no ;;
 | |
|   *)   AC_MSG_ERROR(bad value ${enableval} for newlib-supplied-syscalls option) ;;
 | |
|  esac], [newlib_may_supply_syscalls=yes])dnl
 | |
| 
 | |
| AM_CONDITIONAL(MAY_SUPPLY_SYSCALLS, test x[$]{newlib_may_supply_syscalls} = xyes)
 | |
| 
 | |
| AC_PROG_INSTALL
 | |
| 
 | |
| AC_CANONICAL_SYSTEM
 | |
| AM_INIT_AUTOMAKE([foreign no-dist no-define subdir-objects 1.15.1])
 | |
| AM_MAINTAINER_MODE
 | |
| AM_SILENT_RULES(yes)
 | |
| 
 | |
| if test -z "${with_multisubdir}"; then
 | |
|   have_multisubdir=no
 | |
| else
 | |
|   have_multisubdir=yes
 | |
| fi
 | |
| AM_CONDITIONAL(HAVE_DOC, test x$have_multisubdir = xno)
 | |
| AM_CONDITIONAL(HAVE_MULTISUBDIR, test x$have_multisubdir = xyes)
 | |
| 
 | |
| AC_NO_EXECUTABLES
 | |
| 
 | |
| dnl indicates whether to run configure within the testsuite subdirectory
 | |
| config_testsuite=true
 | |
| 
 | |
| dnl indicates whether to run configure within the libnosys subdirectory
 | |
| config_libnosys=true
 | |
| 
 | |
| host_makefile_frag=${srcdir}/config/default.mh
 | |
| target_makefile_frag=${srcdir}/config/default.mt
 | |
| 
 | |
| case "${target}" in
 | |
|   aarch64*-*-*)
 | |
| 	config_aarch64=true
 | |
| 	config_testsuite=true
 | |
| 	;;
 | |
|   arc*-*-*)
 | |
| 	config_arc=true
 | |
| 	;;
 | |
|   csky*-*-*)
 | |
| 	config_csky=true
 | |
| 	;;
 | |
|   epiphany-*-*)
 | |
| 	AC_CONFIG_FILES([epiphany/Makefile])
 | |
| 	subdirs="$subdirs epiphany"
 | |
| 	config_testsuite=true
 | |
| 	;;
 | |
|   i[[3456]]86-*-elf* | i[[3456]]86-*-coff*)
 | |
| 	AC_CONFIG_FILES([i386/Makefile])
 | |
| 	subdirs="$subdirs i386"
 | |
| 	;;
 | |
|   m32r-*-*)
 | |
| 	AC_CONFIG_FILES([m32r/Makefile])
 | |
| 	subdirs="$subdirs m32r"
 | |
| 	;;
 | |
|   m68hc11-*-* | m6811-*-* | m68hc12-*-* | m6812-*-*)
 | |
| 	AC_CONFIG_FILES([m68hc11/Makefile])
 | |
| 	subdirs="$subdirs m68hc11"
 | |
| 	;;
 | |
|   nds32*-*-*)
 | |
| 	AC_CONFIG_FILES([nds32/Makefile])
 | |
| 	subdirs="$subdirs nds32"
 | |
| 	;;
 | |
|   fido-*-* | m68*-*-*)
 | |
| 	AC_CONFIG_FILES([m68k/Makefile])
 | |
| 	subdirs="$subdirs m68k"
 | |
| 	;;
 | |
|   hppa*-*-pro*)
 | |
| 	AC_CONFIG_FILES([pa/Makefile])
 | |
| 	subdirs="$subdirs pa"
 | |
| 	;;
 | |
|   i960-*-coff)
 | |
| 	AC_CONFIG_FILES([i960/Makefile])
 | |
| 	subdirs="$subdirs i960"
 | |
| 	;;
 | |
|   sparc-*leon*-elf* | sparc-*leon*-none*)
 | |
| 	AC_CONFIG_FILES([sparc_leon/Makefile])
 | |
| 	subdirs="$subdirs sparc_leon"
 | |
| 	;;
 | |
|   sparclet-*-aout* | sparc-*-elf* | sparc64-*-elf* | sparc86x-*-* | sparclite-*-*)
 | |
| 	AC_CONFIG_FILES([sparc/Makefile])
 | |
| 	subdirs="$subdirs sparc"
 | |
| 	;;
 | |
|   sh*-*-pe | mips*-*-pe | *arm*-wince-pe)
 | |
| 	config_wince=true
 | |
| 	;;
 | |
|   mips*-*-*)
 | |
| 	AC_CONFIG_FILES([mips/Makefile])
 | |
| 	subdirs="$subdirs mips"
 | |
| 	target_makefile_frag=${srcdir}/config/mips.mt
 | |
| 	;;
 | |
|   riscv*-*-*)
 | |
| 	config_riscv=true
 | |
| 	;;
 | |
|   powerpc-*-*|powerpcle-*-*)
 | |
| 	AC_CONFIG_FILES([rs6000/Makefile])
 | |
| 	subdirs="$subdirs rs6000"
 | |
| 	host_makefile_frag=${srcdir}/config/ppc.mh
 | |
| 	;;
 | |
|   mn10200-*-*)
 | |
| 	AC_CONFIG_FILES([mn10200/Makefile])
 | |
| 	subdirs="$subdirs mn10200"
 | |
| 	target_makefile_frag=${srcdir}/config/mn10200.mt
 | |
| 	;;
 | |
|   mn10300-*-*)
 | |
| 	AC_CONFIG_FILES([mn10300/Makefile])
 | |
| 	subdirs="$subdirs mn10300"
 | |
| 	target_makefile_frag=${srcdir}/config/mn10300.mt
 | |
| 	;;
 | |
|   bfin-*-*)
 | |
| 	config_bfin=true
 | |
| 	;;
 | |
|   cr16-*-*)
 | |
| 	AC_CONFIG_FILES([cr16/Makefile])
 | |
| 	subdirs="$subdirs cr16"
 | |
| 	;;
 | |
|   cris-*-* | crisv32-*-*)
 | |
| 	AC_CONFIG_FILES([cris/Makefile])
 | |
| 	subdirs="$subdirs cris"
 | |
| 	;;
 | |
|   crx-*-*)
 | |
| 	AC_CONFIG_FILES([crx/Makefile])
 | |
| 	subdirs="$subdirs crx"
 | |
| 	;;
 | |
|   d30v-*-*)
 | |
| 	config_d30v=true
 | |
| 	;;
 | |
|   fr30-*-*)
 | |
| 	AC_CONFIG_FILES([fr30/Makefile])
 | |
| 	subdirs="$subdirs fr30"
 | |
| 	;;
 | |
|   frv*-*-*)
 | |
| 	AC_CONFIG_FILES([frv/Makefile])
 | |
| 	subdirs="$subdirs frv"
 | |
| 	;;
 | |
|   ft32*-*-*)
 | |
| 	AC_CONFIG_FILES([ft32/Makefile])
 | |
| 	subdirs="$subdirs ft32"
 | |
| 	;;
 | |
|   lm32*-*-*)
 | |
| 	config_lm32=true
 | |
| 	;;
 | |
|   mcore-*-*)
 | |
| 	AC_CONFIG_FILES([mcore/Makefile])
 | |
| 	subdirs="$subdirs mcore"
 | |
| 	;;
 | |
|   mep-*-*)
 | |
| 	AC_CONFIG_FILES([mep/Makefile])
 | |
| 	subdirs="$subdirs mep"
 | |
| 	;;
 | |
|   moxie-*-*)
 | |
| 	AC_CONFIG_FILES([moxie/Makefile])
 | |
| 	subdirs="$subdirs moxie"
 | |
| 	;;
 | |
|   microblaze*-*-*)
 | |
| 	AC_CONFIG_FILES([microblaze/Makefile])
 | |
| 	subdirs="$subdirs microblaze"
 | |
| 	;;
 | |
|   mt-*-*)
 | |
| 	AC_CONFIG_FILES([mt/Makefile])
 | |
| 	subdirs="$subdirs mt"
 | |
| 	;;
 | |
|   v850*-*-*)
 | |
| 	AC_CONFIG_FILES([v850/Makefile])
 | |
| 	subdirs="$subdirs v850"
 | |
| 	;;
 | |
|   visium-*-*)
 | |
| 	AC_CONFIG_FILES([visium/Makefile])
 | |
| 	subdirs="$subdirs visium"
 | |
| 	config_testsuite=false
 | |
| 	;;
 | |
|   xc16x-*-*)
 | |
| 	AC_CONFIG_FILES([xc16x/Makefile])
 | |
| 	subdirs="$subdirs xc16x"
 | |
| 	target_makefile_frag=${srcdir}/config/xc16x.mt
 | |
| 	;;
 | |
|   xstormy16-*-*)
 | |
| 	AC_CONFIG_FILES([xstormy16/Makefile])
 | |
| 	subdirs="$subdirs xstormy16"
 | |
| 	;;
 | |
|   m32c-*-*)
 | |
| 	AC_CONFIG_FILES([m32c/Makefile])
 | |
| 	subdirs="$subdirs m32c"
 | |
| 	;;
 | |
|   msp430-*-elf*)
 | |
| 	AC_CONFIG_FILES([msp430/Makefile])
 | |
| 	subdirs="$subdirs msp430"
 | |
| 	config_libnosys=false
 | |
| 	;;
 | |
|   rl78*-*-elf)
 | |
| 	AC_CONFIG_FILES([rl78/Makefile])
 | |
| 	subdirs="$subdirs rl78"
 | |
| 	;;
 | |
|   rx*-*-elf)
 | |
| 	AC_CONFIG_FILES([rx/Makefile])
 | |
| 	subdirs="$subdirs rx"
 | |
| 	;;
 | |
|   arm*-*-elf | arm*-*-coff | arm*-*-*)
 | |
| 	config_arm=true
 | |
| 	host_makefile_frag=${srcdir}/config/arm.mh
 | |
| 	;;
 | |
|   spu-*-elf)
 | |
| 	AC_CONFIG_FILES([spu/Makefile])
 | |
| 	subdirs="$subdirs spu"
 | |
| 	host_makefile_frag=${srcdir}/config/ppc.mh
 | |
| 	config_testsuite=false
 | |
| 	config_libnosys=false
 | |
| 	;;
 | |
|   tic6x-*-*)
 | |
| 	AC_CONFIG_FILES([tic6x/Makefile])
 | |
| 	subdirs="$subdirs tic6x"
 | |
| 	config_testsuite=false
 | |
| 	;;
 | |
|   iq2000-*-*)
 | |
| 	config_iq2000=true
 | |
| 	;;
 | |
|   or1k-*-* | or1knd-*-* )
 | |
| 	AC_CONFIG_FILES([or1k/Makefile])
 | |
| 	subdirs="$subdirs or1k"
 | |
| 	;;
 | |
|   pru-*-*)
 | |
| 	AC_CONFIG_FILES([pru/Makefile])
 | |
| 	subdirs="$subdirs pru"
 | |
| 	;;
 | |
|   nios2-*-*)
 | |
| 	config_nios2=true
 | |
| 	;;
 | |
| esac
 | |
| AC_SUBST(subdirs)
 | |
| 
 | |
| dnl These subdirs have converted to non-recursive make.  Hopefully someday all
 | |
| dnl the ports above will too!
 | |
| m4_foreach_w([SUBDIR], [
 | |
|   aarch64 arc arm bfin csky d30v iq2000 libnosys lm32 nios2 riscv wince
 | |
| ], [dnl
 | |
|   AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue)
 | |
| ])
 | |
| 
 | |
| dnl arm platforms have a special header file found in the main include directory
 | |
| AM_CONDITIONAL([NEED_TOP_INCLUDE_DIR], [[test x$config_arm] = xtrue])
 | |
| 
 | |
| dnl For now, don't bother configuring testsuite
 | |
| dnl
 | |
| dnl if test "${config_testsuite}" = "true";
 | |
| dnl   then AC_CONFIG_SUBDIRS([testsuite])
 | |
| dnl fi
 | |
| 
 | |
| AC_PROG_CC
 | |
| AM_PROG_AS
 | |
| AM_PROG_AR
 | |
| LD=${LD-ld}
 | |
| AC_SUBST(LD)
 | |
| AC_PROG_RANLIB
 | |
| 
 | |
| AC_DEFINE(HAVE_GNU_LD, 1, [Using GNU LD])
 | |
| 
 | |
| AC_CACHE_CHECK([if target is ELF], libc_cv_is_elf, [dnl
 | |
|   AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
 | |
| [[#ifndef __ELF__
 | |
| # error "not ELF"
 | |
| #endif
 | |
| ]])], [libc_cv_is_elf=yes], [libc_cv_is_elf=no])
 | |
| ])
 | |
| if test "x${libc_cv_is_elf}" = "xyes"; then
 | |
|   AC_DEFINE(HAVE_ELF, 1, [Using ELF format])
 | |
| fi
 | |
| 
 | |
| AC_CACHE_CHECK([for .previous assembler directive],
 | |
| 	       libc_cv_asm_previous_directive, [dnl
 | |
|   libc_cv_asm_previous_directive=no
 | |
|   cat > conftest.s <<EOF
 | |
| .section foo_section
 | |
| .previous
 | |
| EOF
 | |
|   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AC_FD_CC); then
 | |
|     libc_cv_asm_previous_directive=yes
 | |
|   fi
 | |
|   rm -f conftest*])
 | |
| if test "x${libc_cv_asm_previous_directive}" = "xyes"; then
 | |
|   AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE, 1, [.previous directive allowed])
 | |
| fi
 | |
| 
 | |
| AC_CACHE_CHECK([for .popsection assembler directive],
 | |
| 	       libc_cv_asm_popsection_directive, [dnl
 | |
|   libc_cv_asm_popsection_directive=no
 | |
|   cat > conftest.s <<EOF
 | |
| .pushsection foo_section
 | |
| .popsection
 | |
| EOF
 | |
|   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AC_FD_CC); then
 | |
|     libc_cv_asm_popsection_directive=yes
 | |
|   fi
 | |
|   rm -f conftest*])
 | |
| if test "x${libc_cv_asm_popsection_directive}" = "xyes"; then
 | |
|   AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE, 1, [.pushsection/.popsection directives allowed])
 | |
| fi
 | |
| 
 | |
| AC_CACHE_CHECK([for section attributes],
 | |
| 	       libc_cv_section_attributes, [dnl
 | |
|   libc_cv_section_attributes=no
 | |
|   cat > conftest.c <<EOF
 | |
| int secttest __attribute__ ((section (".gnu.warning.secttest"))) = 10;
 | |
| int main() {}
 | |
| EOF
 | |
|   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.c 1>&AC_FD_CC); then
 | |
|     libc_cv_section_attributes=yes
 | |
|   fi
 | |
|   rm -f conftest*])
 | |
| if test "x${libc_cv_section_attributes}" = "xyes"; then
 | |
|   AC_DEFINE(HAVE_SECTION_ATTRIBUTES, 1, [support for section attributes])
 | |
| fi
 | |
| 
 | |
| AC_CACHE_CHECK([for symbol prefix], libc_cv_symbol_prefix, [dnl
 | |
|   cat > conftest.c <<\EOF
 | |
| foo () { }
 | |
| EOF
 | |
| dnl
 | |
|   libc_cv_symbol_prefix=''
 | |
|   if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]); then
 | |
|     libc_cv_symbol_prefix='$'
 | |
|   else
 | |
|     if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null]); then
 | |
|       libc_cv_symbol_prefix=_
 | |
|     fi
 | |
|   fi
 | |
|   rm -f conftest* ])
 | |
| AC_DEFINE_UNQUOTED(__SYMBOL_PREFIX, "$libc_cv_symbol_prefix", [symbol prefix])
 | |
| 
 | |
| m4_include([aarch64/acinclude.m4])
 | |
| m4_include([arm/acinclude.m4])
 | |
| m4_include([i386/acinclude.m4])
 | |
| m4_include([libnosys/acinclude.m4])
 | |
| m4_include([m68k/acinclude.m4])
 | |
| m4_include([mcore/acinclude.m4])
 | |
| m4_include([mips/acinclude.m4])
 | |
| m4_include([mn10300/acinclude.m4])
 | |
| m4_include([moxie/acinclude.m4])
 | |
| 
 | |
| AC_CACHE_CHECK([for compiler search settings], libc_cv_compiler_isystem, [dnl
 | |
|   for subdir in include include-fixed; do
 | |
|     AS_IF([dir=`$CC -print-file-name=$subdir`], [dnl
 | |
|       AS_IF([test -n "$dir"], [dnl
 | |
|         libc_cv_compiler_isystem="$libc_cv_compiler_isystem -isystem $dir"
 | |
|       ])
 | |
|     ])
 | |
|   done
 | |
| ])
 | |
| CC="$CC -nostdinc $libc_cv_compiler_isystem"
 | |
| 
 | |
| dnl We have to assign the same value to other variables because autoconf
 | |
| dnl doesn't provide a mechanism to substitute a replacement keyword with
 | |
| dnl arbitrary data or pathnames.
 | |
| dnl
 | |
| host_makefile_frag_path=$host_makefile_frag
 | |
| AC_SUBST(host_makefile_frag_path)
 | |
| AC_SUBST_FILE(host_makefile_frag)
 | |
| target_makefile_frag_path=$target_makefile_frag
 | |
| AC_SUBST(target_makefile_frag_path)
 | |
| AC_SUBST_FILE(target_makefile_frag)
 | |
| 
 | |
| dnl AM_ENABLE_MULTILIB only processes the top-level Makefile, but we want the
 | |
| dnl multilib settings to propagate to all sub-Makefiles that we recurse into
 | |
| dnl too.  This can go away if we ever get rid of sub-Makefiles and only use
 | |
| dnl Automake + makefile include fragments.
 | |
| AC_OUTPUT_COMMANDS([
 | |
| for subdir in $subdirs; do
 | |
|   case " $CONFIG_FILES " in
 | |
|    *" $subdir/Makefile "*)
 | |
|      ac_file=$subdir/Makefile . ${multi_basedir}/config-ml.in
 | |
|      ;;
 | |
|   esac
 | |
| done], [subdirs="$subdirs"])
 | |
| 
 | |
| AM_ENABLE_MULTILIB(, ..)
 | |
| 
 | |
| AC_CONFIG_FILES([Makefile])
 | |
| AC_OUTPUT
 |