Re: [PATCH] libgloss support for nios2 QEMU
Corinna Vinschen <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
Hi Sandra, would you mind to send the patch in git format-patch format? We don't use CVS anymore for quite some time. Thanks, Corinna On Aug 2 15:52, Sandra Loosemore wrote: > This patch adds semihosting support for Nios II plus startup code and a > linker script for bare-board emulation with QEMU. The QEMU side of things > requires this patch set > > http://lists.nongnu.org/archive/html/qemu-devel/2018-05/msg04571.html > > The semihosting code is pretty much a direct copy of the m68k > implementation, which was contributed by CodeSourcery years ago. We've been > using this protocol in our toolchain distributions for Nios II for some > years now (plus other targets we've been asked to produce toolchains for > that don't already have some other semihosting protocol supported by other > tools). > > -Sandra > 2018-08-02 Sandra Loosemore <[email protected]> > > Add libgloss BSP for Nios II QEMU with semihosting. > > libgloss/ > * configure.in: Add nios2. > * configure: Regenerated. > * nios2/*: New. > diff --git a/libgloss/configure b/libgloss/configure > index aa6f8f8..1a4033d 100755 > --- a/libgloss/configure > +++ b/libgloss/configure > @@ -710,6 +710,7 @@ spu > tic6x > iq2000 > or1k > +nios2 > libnosys' > > # Initialize some variables set by options. > @@ -2586,6 +2587,10 @@ case "${target}" in > subdirs="$subdirs or1k" > > ;; > + nios2-*-*) > + subdirs="$subdirs nios2" > + > + ;; > esac > > > diff --git a/libgloss/configure.in b/libgloss/configure.in > index 6da1643..41843ee 100644 > --- a/libgloss/configure.in > +++ b/libgloss/configure.in > @@ -176,6 +176,9 @@ case "${target}" in > or1k-*-* | or1knd-*-* ) > AC_CONFIG_SUBDIRS([or1k]) > ;; > + nios2-*-*) > + AC_CONFIG_SUBDIRS([nios2]) > + ;; > esac > > dnl For now, don't bother configuring testsuite > diff --git a/libgloss/nios2/Makefile.in b/libgloss/nios2/Makefile.in > new file mode 100644 > index 0000000..fd7e79f > --- /dev/null > +++ b/libgloss/nios2/Makefile.in > @@ -0,0 +1,118 @@ > +# Copyright (c) 1995, 1996, 2001 Cygnus Support -*- mode:makefile -*- > +# Copyright (c) 2018, Mentor Graphics > +# > +# The authors hereby grant permission to use, copy, modify, distribute, > +# and license this software and its documentation for any purpose, provided > +# that existing copyright notices are retained in all copies and that this > +# notice is included verbatim in any distributions. No written agreement, > +# license, or royalty fee is required for any of the authorized uses. > +# Modifications to this software may be copyrighted by their authors > +# and need not follow the licensing terms described here, provided that > +# the new terms are clearly indicated on the first page of each file where > +# they apply. > +# > + > +DESTDIR = > +VPATH = @srcdir@ > +srcdir = @srcdir@ > +objdir = . > +srcroot = $(srcdir)/../.. > +objroot = $(objdir)/../.. > + > +prefix = @prefix@ > +exec_prefix = @exec_prefix@ > + > +host_alias = @host_alias@ > +target_alias = @target_alias@ > +program_transform_name = @program_transform_name@ > + > +bindir = @bindir@ > +libdir = @libdir@ > +tooldir = $(exec_prefix)/$(target_alias) > + > +# Multilib support variables. > +# TOP is used instead of MULTI{BUILD,SRC}TOP. > +MULTIDIRS = > +MULTISUBDIR = > +MULTIDO = true > +MULTICLEAN = true > + > +INSTALL = @INSTALL@ > +INSTALL_PROGRAM = @INSTALL_PROGRAM@ > +INSTALL_DATA = @INSTALL_DATA@ > + > +SHELL = /bin/sh > + > +CC = @CC@ > + > +AS = @AS@ > +AR = @AR@ > +LD = @LD@ > +RANLIB = @RANLIB@ > +AR_FLAGS = qv > + > +OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \ > + then echo ${objroot}/../binutils/objdump ; \ > + else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi` > +OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \ > + then echo ${objroot}/../binutils/objcopy ; \ > + else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi` > + > +# Linker scripts. > + > +BSP_SCRIPTS= qemu-hosted.ld > + > +# Semihosting library. > + > +HOSTED_BSP= libnios2.a > +HOSTED_OBJS= io-gdb.o io-exit.o \ > + io-close.o io-fstat.o \ > + io-gettimeofday.o io-isatty.o io-lseek.o \ > + io-open.o io-read.o io-rename.o \ > + io-stat.o io-system.o io-time.o \ > + io-unlink.o io-write.o \ > + sbrk.o kill.o getpid.o > + > +# Host specific makefile fragment comes in here. > +@host_makefile_frag@ > + > +all :: ${HOSTED_BSP} > + > +# Build semihosting library. > +crt0.o: crt0.S > + $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) -c $< -o $@ > +io-nios2.o: io-nios2.S > + $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) -c $< -o $@ > +$(HOSTED_OBJS): %.o: %.c io.h > + $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) -DHOSTED=1 $(INCLUDES) -c $< -o $@ > +$(HOSTED_BSP): crt0.o io-nios2.o $(HOSTED_OBJS) $(OTHER_OBJS) > + ${AR} ${ARFLAGS} $@ $^ > + ${RANLIB} $@ > + > + > +.PHONY: install info dvi doc install-info clean-info > +install:: > + $(INSTALL_DATA) $(HOSTED_BSP) \ > + $(DESTDIR)$(tooldir)/lib${MULTISUBDIR} > + for x in ${BSP_SCRIPTS}; do\ > + ${INSTALL_DATA} ${srcdir}/$${x} $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; \ > + done > + > +# target specific makefile fragment comes in here. > +@target_makefile_frag@ > + > +clean mostlyclean: > + rm -f a.out core *.i *~ *.a *.o *-test *.srec *.dis *.x *.map > + > +distclean maintainer-clean realclean: clean > + rm -f Makefile config.cache config.log config.status > + > +info dvi doc: > +install-info: > +clean-info: > + > +Makefile: Makefile.in config.status @host_makefile_frag_path@ @target_makefile_frag_path@ > + $(SHELL) config.status > + > +config.status: configure > + $(SHELL) config.status --recheck > diff --git a/libgloss/nios2/aclocal.m4 b/libgloss/nios2/aclocal.m4 > new file mode 100644 > index 0000000..b6cdfae > --- /dev/null > +++ b/libgloss/nios2/aclocal.m4 > @@ -0,0 +1,344 @@ > +# generated automatically by aclocal 1.9.5 -*- Autoconf -*- > + > +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, > +# 2005 Free Software Foundation, Inc. > +# This file is free software; the Free Software Foundation > +# gives unlimited permission to copy and/or distribute it, > +# with or without modifications, as long as this notice is preserved. > + > +# This program is distributed in the hope that it will be useful, > +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without > +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A > +# PARTICULAR PURPOSE. > + > +# AM_CONDITIONAL -*- Autoconf -*- > + > +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 > +# Free Software Foundation, Inc. > +# > +# This file is free software; the Free Software Foundation > +# gives unlimited permission to copy and/or distribute it, > +# with or without modifications, as long as this notice is preserved. > + > +# serial 7 > + > +# AM_CONDITIONAL(NAME, SHELL-CONDITION) > +# ------------------------------------- > +# Define a conditional. > +AC_DEFUN([AM_CONDITIONAL], > +[AC_PREREQ(2.52)dnl > + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], > + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl > +AC_SUBST([$1_TRUE]) > +AC_SUBST([$1_FALSE]) > +if $2; then > + $1_TRUE= > + $1_FALSE='#' > +else > + $1_TRUE='#' > + $1_FALSE= > +fi > +AC_CONFIG_COMMANDS_PRE( > +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then > + AC_MSG_ERROR([[conditional "$1" was never defined. > +Usually this means the macro was only invoked conditionally.]]) > +fi])]) > + > + > +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 > +# Free Software Foundation, Inc. > +# > +# This file is free software; the Free Software Foundation > +# gives unlimited permission to copy and/or distribute it, > +# with or without modifications, as long as this notice is preserved. > + > +# serial 8 > + > +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be > +# written in clear, in which case automake, when reading aclocal.m4, > +# will think it sees a *use*, and therefore will trigger all it's > +# C support machinery. Also note that it means that autoscan, seeing > +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... > + > + > +# _AM_DEPENDENCIES(NAME) > +# ---------------------- > +# See how the compiler implements dependency checking. > +# NAME is "CC", "CXX", "GCJ", or "OBJC". > +# We try a few techniques and use that to set a single cache variable. > +# > +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was > +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular > +# dependency, and given that the user is not expected to run this macro, > +# just rely on AC_PROG_CC. > +AC_DEFUN([_AM_DEPENDENCIES], > +[AC_REQUIRE([AM_SET_DEPDIR])dnl > +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl > +AC_REQUIRE([AM_MAKE_INCLUDE])dnl > +AC_REQUIRE([AM_DEP_TRACK])dnl > + > +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], > + [$1], CXX, [depcc="$CXX" am_compiler_list=], > + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], > + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], > + [depcc="$$1" am_compiler_list=]) > + > +AC_CACHE_CHECK([dependency style of $depcc], > + [am_cv_$1_dependencies_compiler_type], > +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then > + # We make a subdir and do the tests there. Otherwise we can end up > + # making bogus files that we don't know about and never remove. For > + # instance it was reported that on HP-UX the gcc test will end up > + # making a dummy file named `D' -- because `-MD' means `put the output > + # in D'. > + mkdir conftest.dir > + # Copy depcomp to subdir because otherwise we won't find it if we're > + # using a relative directory. > + cp "$am_depcomp" conftest.dir > + cd conftest.dir > + # We will build objects and dependencies in a subdirectory because > + # it helps to detect inapplicable dependency modes. For instance > + # both Tru64's cc and ICC support -MD to output dependencies as a > + # side effect of compilation, but ICC will put the dependencies in > + # the current directory while Tru64 will put them in the object > + # directory. > + mkdir sub > + > + am_cv_$1_dependencies_compiler_type=none > + if test "$am_compiler_list" = ""; then > + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` > + fi > + for depmode in $am_compiler_list; do > + # Setup a source with many dependencies, because some compilers > + # like to wrap large dependency lists on column 80 (with \), and > + # we should not choose a depcomp mode which is confused by this. > + # > + # We need to recreate these files for each test, as the compiler may > + # overwrite some of them when testing with obscure command lines. > + # This happens at least with the AIX C compiler. > + : > sub/conftest.c > + for i in 1 2 3 4 5 6; do > + echo '#include "conftst'$i'.h"' >> sub/conftest.c > + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with > + # Solaris 8's {/usr,}/bin/sh. > + touch sub/conftst$i.h > + done > + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf > + > + case $depmode in > + nosideeffect) > + # after this tag, mechanisms are not by side-effect, so they'll > + # only be used when explicitly requested > + if test "x$enable_dependency_tracking" = xyes; then > + continue > + else > + break > + fi > + ;; > + none) break ;; > + esac > + # We check with `-c' and `-o' for the sake of the "dashmstdout" > + # mode. It turns out that the SunPro C++ compiler does not properly > + # handle `-M -o', and we need to detect this. > + if depmode=$depmode \ > + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ > + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ > + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ > + >/dev/null 2>conftest.err && > + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && > + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && > + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then > + # icc doesn't choke on unknown options, it will just issue warnings > + # or remarks (even with -Werror). So we grep stderr for any message > + # that says an option was ignored or not supported. > + # When given -MP, icc 7.0 and 7.1 complain thusly: > + # icc: Command line warning: ignoring option '-M'; no argument required > + # The diagnosis changed in icc 8.0: > + # icc: Command line remark: option '-MP' not supported > + if (grep 'ignoring option' conftest.err || > + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else > + am_cv_$1_dependencies_compiler_type=$depmode > + break > + fi > + fi > + done > + > + cd .. > + rm -rf conftest.dir > +else > + am_cv_$1_dependencies_compiler_type=none > +fi > +]) > +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) > +AM_CONDITIONAL([am__fastdep$1], [ > + test "x$enable_dependency_tracking" != xno \ > + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) > +]) > + > + > +# AM_SET_DEPDIR > +# ------------- > +# Choose a directory name for dependency files. > +# This macro is AC_REQUIREd in _AM_DEPENDENCIES > +AC_DEFUN([AM_SET_DEPDIR], > +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl > +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl > +]) > + > + > +# AM_DEP_TRACK > +# ------------ > +AC_DEFUN([AM_DEP_TRACK], > +[AC_ARG_ENABLE(dependency-tracking, > +[ --disable-dependency-tracking speeds up one-time build > + --enable-dependency-tracking do not reject slow dependency extractors]) > +if test "x$enable_dependency_tracking" != xno; then > + am_depcomp="$ac_aux_dir/depcomp" > + AMDEPBACKSLASH='\' > +fi > +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) > +AC_SUBST([AMDEPBACKSLASH]) > +]) > + > +# Generate code to set up dependency tracking. -*- Autoconf -*- > + > +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 > +# Free Software Foundation, Inc. > +# > +# This file is free software; the Free Software Foundation > +# gives unlimited permission to copy and/or distribute it, > +# with or without modifications, as long as this notice is preserved. > + > +#serial 3 > + > +# _AM_OUTPUT_DEPENDENCY_COMMANDS > +# ------------------------------ > +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], > +[for mf in $CONFIG_FILES; do > + # Strip MF so we end up with the name of the file. > + mf=`echo "$mf" | sed -e 's/:.*$//'` > + # Check whether this is an Automake generated Makefile or not. > + # We used to match only the files named `Makefile.in', but > + # some people rename them; so instead we look at the file content. > + # Grep'ing the first line is not enough: some people post-process > + # each Makefile.in and add a new line on top of each file to say so. > + # So let's grep whole file. > + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then > + dirpart=`AS_DIRNAME("$mf")` > + else > + continue > + fi > + # Extract the definition of DEPDIR, am__include, and am__quote > + # from the Makefile without running `make'. > + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` > + test -z "$DEPDIR" && continue > + am__include=`sed -n 's/^am__include = //p' < "$mf"` > + test -z "am__include" && continue > + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` > + # When using ansi2knr, U may be empty or an underscore; expand it > + U=`sed -n 's/^U = //p' < "$mf"` > + # Find all dependency output files, they are included files with > + # $(DEPDIR) in their names. We invoke sed twice because it is the > + # simplest approach to changing $(DEPDIR) to its actual value in the > + # expansion. > + for file in `sed -n " > + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ > + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do > + # Make sure the directory exists. > + test -f "$dirpart/$file" && continue > + fdir=`AS_DIRNAME(["$file"])` > + AS_MKDIR_P([$dirpart/$fdir]) > + # echo "creating $dirpart/$file" > + echo '# dummy' > "$dirpart/$file" > + done > +done > +])# _AM_OUTPUT_DEPENDENCY_COMMANDS > + > + > +# AM_OUTPUT_DEPENDENCY_COMMANDS > +# ----------------------------- > +# This macro should only be invoked once -- use via AC_REQUIRE. > +# > +# This code is only required when automatic dependency tracking > +# is enabled. FIXME. This creates each `.P' file that we will > +# need in order to bootstrap the dependency handling code. > +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], > +[AC_CONFIG_COMMANDS([depfiles], > + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], > + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) > +]) > + > +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. > +# > +# This file is free software; the Free Software Foundation > +# gives unlimited permission to copy and/or distribute it, > +# with or without modifications, as long as this notice is preserved. > + > +# serial 2 > + > +# Check whether the underlying file-system supports filenames > +# with a leading dot. For instance MS-DOS doesn't. > +AC_DEFUN([AM_SET_LEADING_DOT], > +[rm -rf .tst 2>/dev/null > +mkdir .tst 2>/dev/null > +if test -d .tst; then > + am__leading_dot=. > +else > + am__leading_dot=_ > +fi > +rmdir .tst 2>/dev/null > +AC_SUBST([am__leading_dot])]) > + > +# Check to see how 'make' treats includes. -*- Autoconf -*- > + > +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. > +# > +# This file is free software; the Free Software Foundation > +# gives unlimited permission to copy and/or distribute it, > +# with or without modifications, as long as this notice is preserved. > + > +# serial 3 > + > +# AM_MAKE_INCLUDE() > +# ----------------- > +# Check to see how make treats includes. > +AC_DEFUN([AM_MAKE_INCLUDE], > +[am_make=${MAKE-make} > +cat > confinc << 'END' > +am__doit: > + @echo done > +.PHONY: am__doit > +END > +# If we don't find an include directive, just comment out the code. > +AC_MSG_CHECKING([for style of include used by $am_make]) > +am__include="#" > +am__quote= > +_am_result=none > +# First try GNU make style include. > +echo "include confinc" > confmf > +# We grep out `Entering directory' and `Leaving directory' > +# messages which can occur if `w' ends up in MAKEFLAGS. > +# In particular we don't look at `^make:' because GNU make might > +# be invoked under some other name (usually "gmake"), in which > +# case it prints its new name instead of `make'. > +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then > + am__include=include > + am__quote= > + _am_result=GNU > +fi > +# Now try BSD make style include. > +if test "$am__include" = "#"; then > + echo '.include "confinc"' > confmf > + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then > + am__include=.include > + am__quote="\"" > + _am_result=BSD > + fi > +fi > +AC_SUBST([am__include]) > +AC_SUBST([am__quote]) > +AC_MSG_RESULT([$_am_result]) > +rm -f confinc confmf > +]) > + > +m4_include([../acinclude.m4]) > diff --git a/libgloss/nios2/configure b/libgloss/nios2/configure > new file mode 100755 > index 0000000..7b64f8f > --- /dev/null > +++ b/libgloss/nios2/configure > @@ -0,0 +1,3850 @@ > +#! /bin/sh > +# Guess values for system-dependent variables and create Makefiles. > +# Generated by GNU Autoconf 2.68. > +# > +# > +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, > +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software > +# Foundation, Inc. > +# > +# > +# This configure script is free software; the Free Software Foundation > +# gives unlimited permission to copy, distribute and modify it. > +## -------------------- ## > +## M4sh Initialization. ## > +## -------------------- ## > + > +# Be more Bourne compatible > +DUALCASE=1; export DUALCASE # for MKS sh > +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : > + emulate sh > + NULLCMD=: > + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which > + # is contrary to our usage. Disable this feature. > + alias -g '${1+"$@"}'='"$@"' > + setopt NO_GLOB_SUBST > +else > + case `(set -o) 2>/dev/null` in #( > + *posix*) : > + set -o posix ;; #( > + *) : > + ;; > +esac > +fi > + > + > +as_nl=' > +' > +export as_nl > +# Printing a long string crashes Solaris 7 /usr/bin/printf. > +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' > +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo > +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo > +# Prefer a ksh shell builtin over an external printf program on Solaris, > +# but without wasting forks for bash or zsh. > +if test -z "$BASH_VERSION$ZSH_VERSION" \ > + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then > + as_echo='print -r --' > + as_echo_n='print -rn --' > +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then > + as_echo='printf %s\n' > + as_echo_n='printf %s' > +else > + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then > + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' > + as_echo_n='/usr/ucb/echo -n' > + else > + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' > + as_echo_n_body='eval > + arg=$1; > + case $arg in #( > + *"$as_nl"*) > + expr "X$arg" : "X\\(.*\\)$as_nl"; > + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; > + esac; > + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" > + ' > + export as_echo_n_body > + as_echo_n='sh -c $as_echo_n_body as_echo' > + fi > + export as_echo_body > + as_echo='sh -c $as_echo_body as_echo' > +fi > + > +# The user is always right. > +if test "${PATH_SEPARATOR+set}" != set; then > + PATH_SEPARATOR=: > + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { > + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || > + PATH_SEPARATOR=';' > + } > +fi > + > + > +# IFS > +# We need space, tab and new line, in precisely that order. Quoting is > +# there to prevent editors from complaining about space-tab. > +# (If _AS_PATH_WALK were called with IFS unset, it would disable word > +# splitting by setting IFS to empty value.) > +IFS=" "" $as_nl" > + > +# Find who we are. Look in the path if we contain no directory separator. > +as_myself= > +case $0 in #(( > + *[\\/]* ) as_myself=$0 ;; > + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR > +for as_dir in $PATH > +do > + IFS=$as_save_IFS > + test -z "$as_dir" && as_dir=. > + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break > + done > +IFS=$as_save_IFS > + > + ;; > +esac > +# We did not find ourselves, most probably we were run as `sh COMMAND' > +# in which case we are not to be found in the path. > +if test "x$as_myself" = x; then > + as_myself=$0 > +fi > +if test ! -f "$as_myself"; then > + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 > + exit 1 > +fi > + > +# Unset variables that we do not need and which cause bugs (e.g. in > +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" > +# suppresses any "Segmentation fault" message there. '((' could > +# trigger a bug in pdksh 5.2.14. > +for as_var in BASH_ENV ENV MAIL MAILPATH > +do eval test x\${$as_var+set} = xset \ > + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : > +done > +PS1='$ ' > +PS2='> ' > +PS4='+ ' > + > +# NLS nuisances. > +LC_ALL=C > +export LC_ALL > +LANGUAGE=C > +export LANGUAGE > + > +# CDPATH. > +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH > + > +if test "x$CONFIG_SHELL" = x; then > + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : > + emulate sh > + NULLCMD=: > + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which > + # is contrary to our usage. Disable this feature. > + alias -g '\${1+\"\$@\"}'='\"\$@\"' > + setopt NO_GLOB_SUBST > +else > + case \`(set -o) 2>/dev/null\` in #( > + *posix*) : > + set -o posix ;; #( > + *) : > + ;; > +esac > +fi > +" > + as_required="as_fn_return () { (exit \$1); } > +as_fn_success () { as_fn_return 0; } > +as_fn_failure () { as_fn_return 1; } > +as_fn_ret_success () { return 0; } > +as_fn_ret_failure () { return 1; } > + > +exitcode=0 > +as_fn_success || { exitcode=1; echo as_fn_success failed.; } > +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } > +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } > +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } > +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : > + > +else > + exitcode=1; echo positional parameters were not saved. > +fi > +test x\$exitcode = x0 || exit 1" > + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO > + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO > + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && > + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" > + if (eval "$as_required") 2>/dev/null; then : > + as_have_required=yes > +else > + as_have_required=no > +fi > + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : > + > +else > + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR > +as_found=false > +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH > +do > + IFS=$as_save_IFS > + test -z "$as_dir" && as_dir=. > + as_found=: > + case $as_dir in #( > + /*) > + for as_base in sh bash ksh sh5; do > + # Try only shells that exist, to save several forks. > + as_shell=$as_dir/$as_base > + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && > + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : > + CONFIG_SHELL=$as_shell as_have_required=yes > + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : > + break 2 > +fi > +fi > + done;; > + esac > + as_found=false > +done > +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && > + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : > + CONFIG_SHELL=$SHELL as_have_required=yes > +fi; } > +IFS=$as_save_IFS > + > + > + if test "x$CONFIG_SHELL" != x; then : > + # We cannot yet assume a decent shell, so we have to provide a > + # neutralization value for shells without unset; and this also > + # works around shells that cannot unset nonexistent variables. > + # Preserve -v and -x to the replacement shell. > + BASH_ENV=/dev/null > + ENV=/dev/null > + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV > + export CONFIG_SHELL > + case $- in # (((( > + *v*x* | *x*v* ) as_opts=-vx ;; > + *v* ) as_opts=-v ;; > + *x* ) as_opts=-x ;; > + * ) as_opts= ;; > + esac > + exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} > +fi > + > + if test x$as_have_required = xno; then : > + $as_echo "$0: This script requires a shell more modern than all" > + $as_echo "$0: the shells that I found on your system." > + if test x${ZSH_VERSION+set} = xset ; then > + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" > + $as_echo "$0: be upgraded to zsh 4.3.4 or later." > + else > + $as_echo "$0: Please tell [email protected] about your system, > +$0: including any error possibly output before this > +$0: message. Then install a modern shell, or manually run > +$0: the script under such a shell if you do have one." > + fi > + exit 1 > +fi > +fi > +fi > +SHELL=${CONFIG_SHELL-/bin/sh} > +export SHELL > +# Unset more variables known to interfere with behavior of common tools. > +CLICOLOR_FORCE= GREP_OPTIONS= > +unset CLICOLOR_FORCE GREP_OPTIONS > + > +## --------------------- ## > +## M4sh Shell Functions. ## > +## --------------------- ## > +# as_fn_unset VAR > +# --------------- > +# Portably unset VAR. > +as_fn_unset () > +{ > + { eval $1=; unset $1;} > +} > +as_unset=as_fn_unset > + > +# as_fn_set_status STATUS > +# ----------------------- > +# Set $? to STATUS, without forking. > +as_fn_set_status () > +{ > + return $1 > +} # as_fn_set_status > + > +# as_fn_exit STATUS > +# ----------------- > +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. > +as_fn_exit () > +{ > + set +e > + as_fn_set_status $1 > + exit $1 > +} # as_fn_exit > + > +# as_fn_mkdir_p > +# ------------- > +# Create "$as_dir" as a directory, including parents if necessary. > +as_fn_mkdir_p () > +{ > + > + case $as_dir in #( > + -*) as_dir=./$as_dir;; > + esac > + test -d "$as_dir" || eval $as_mkdir_p || { > + as_dirs= > + while :; do > + case $as_dir in #( > + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( > + *) as_qdir=$as_dir;; > + esac > + as_dirs="'$as_qdir' $as_dirs" > + as_dir=`$as_dirname -- "$as_dir" || > +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ > + X"$as_dir" : 'X\(//\)[^/]' \| \ > + X"$as_dir" : 'X\(//\)$' \| \ > + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || > +$as_echo X"$as_dir" | > + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ > + s//\1/ > + q > + } > + /^X\(\/\/\)[^/].*/{ > + s//\1/ > + q > + } > + /^X\(\/\/\)$/{ > + s//\1/ > + q > + } > + /^X\(\/\).*/{ > + s//\1/ > + q > + } > + s/.*/./; q'` > + test -d "$as_dir" && break > + done > + test -z "$as_dirs" || eval "mkdir $as_dirs" > + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" > + > + > +} # as_fn_mkdir_p > +# as_fn_append VAR VALUE > +# ---------------------- > +# Append the text in VALUE to the end of the definition contained in VAR. Take > +# advantage of any shell optimizations that allow amortized linear growth over > +# repeated appends, instead of the typical quadratic growth present in naive > +# implementations. > +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : > + eval 'as_fn_append () > + { > + eval $1+=\$2 > + }' > +else > + as_fn_append () > + { > + eval $1=\$$1\$2 > + } > +fi # as_fn_append > + > +# as_fn_arith ARG... > +# ------------------ > +# Perform arithmetic evaluation on the ARGs, and store the result in the > +# global $as_val. Take advantage of shells that can avoid forks. The arguments > +# must be portable across $(()) and expr. > +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : > + eval 'as_fn_arith () > + { > + as_val=$(( $* )) > + }' > +else > + as_fn_arith () > + { > + as_val=`expr "$@" || test $? -eq 1` > + } > +fi # as_fn_arith > + > + > +# as_fn_error STATUS ERROR [LINENO LOG_FD] > +# ---------------------------------------- > +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are > +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the > +# script with STATUS, using 1 if that was 0. > +as_fn_error () > +{ > + as_status=$1; test $as_status -eq 0 && as_status=1 > + if test "$4"; then > + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack > + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 > + fi > + $as_echo "$as_me: error: $2" >&2 > + as_fn_exit $as_status > +} # as_fn_error > + > +if expr a : '\(a\)' >/dev/null 2>&1 && > + test "X`expr 00001 : '.*\(...\)'`" = X001; then > + as_expr=expr > +else > + as_expr=false > +fi > + > +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then > + as_basename=basename > +else > + as_basename=false > +fi > + > +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then > + as_dirname=dirname > +else > + as_dirname=false > +fi > + > +as_me=`$as_basename -- "$0" || > +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ > + X"$0" : 'X\(//\)$' \| \ > + X"$0" : 'X\(/\)' \| . 2>/dev/null || > +$as_echo X/"$0" | > + sed '/^.*\/\([^/][^/]*\)\/*$/{ > + s//\1/ > + q > + } > + /^X\/\(\/\/\)$/{ > + s//\1/ > + q > + } > + /^X\/\(\/\).*/{ > + s//\1/ > + q > + } > + s/.*/./; q'` > + > +# Avoid depending upon Character Ranges. > +as_cr_letters='abcdefghijklmnopqrstuvwxyz' > +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' > +as_cr_Letters=$as_cr_letters$as_cr_LETTERS > +as_cr_digits='0123456789' > +as_cr_alnum=$as_cr_Letters$as_cr_digits > + > + > + as_lineno_1=$LINENO as_lineno_1a=$LINENO > + as_lineno_2=$LINENO as_lineno_2a=$LINENO > + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && > + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { > + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) > + sed -n ' > + p > + /[$]LINENO/= > + ' <$as_myself | > + sed ' > + s/[$]LINENO.*/&-/ > + t lineno > + b > + :lineno > + N > + :loop > + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ > + t loop > + s/-\n.*// > + ' >$as_me.lineno && > + chmod +x "$as_me.lineno" || > + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } > + > + # Don't try to exec as it changes $[0], causing all sort of problems > + # (the dirname of $[0] is not the place where we might find the > + # original and so on. Autoconf is especially sensitive to this). > + . "./$as_me.lineno" > + # Exit status is that of the last command. > + exit > +} > + > +ECHO_C= ECHO_N= ECHO_T= > +case `echo -n x` in #((((( > +-n*) > + case `echo 'xy\c'` in > + *c*) ECHO_T=' ';; # ECHO_T is single tab character. > + xy) ECHO_C='\c';; > + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null > + ECHO_T=' ';; > + esac;; > +*) > + ECHO_N='-n';; > +esac > + > +rm -f conf$$ conf$$.exe conf$$.file > +if test -d conf$$.dir; then > + rm -f conf$$.dir/conf$$.file > +else > + rm -f conf$$.dir > + mkdir conf$$.dir 2>/dev/null > +fi > +if (echo >conf$$.file) 2>/dev/null; then > + if ln -s conf$$.file conf$$ 2>/dev/null; then > + as_ln_s='ln -s' > + # ... but there are two gotchas: > + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. > + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. > + # In both cases, we have to default to `cp -p'. > + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || > + as_ln_s='cp -p' > + elif ln conf$$.file conf$$ 2>/dev/null; then > + as_ln_s=ln > + else > + as_ln_s='cp -p' > + fi > +else > + as_ln_s='cp -p' > +fi > +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file > +rmdir conf$$.dir 2>/dev/null > + > +if mkdir -p . 2>/dev/null; then > + as_mkdir_p='mkdir -p "$as_dir"' > +else > + test -d ./-p && rmdir ./-p > + as_mkdir_p=false > +fi > + > +if test -x / >/dev/null 2>&1; then > + as_test_x='test -x' > +else > + if ls -dL / >/dev/null 2>&1; then > + as_ls_L_option=L > + else > + as_ls_L_option= > + fi > + as_test_x=' > + eval sh -c '\'' > + if test -d "$1"; then > + test -d "$1/."; > + else > + case $1 in #( > + -*)set "./$1";; > + esac; > + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( > + ???[sx]*):;;*)false;;esac;fi > + '\'' sh > + ' > +fi > +as_executable_p=$as_test_x > + > +# Sed expression to map a string onto a valid CPP name. > +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" > + > +# Sed expression to map a string onto a valid variable name. > +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" > + > + > +test -n "$DJDIR" || exec 7<&0 </dev/null > +exec 6>&1 > + > +# Name of the host. > +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, > +# so uname gets run too. > +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` > + > +# > +# Initializations. > +# > +ac_default_prefix=/usr/local > +ac_clean_files= > +ac_config_libobj_dir=. > +LIBOBJS= > +cross_compiling=no > +subdirs= > +MFLAGS= > +MAKEFLAGS= > + > +# Identity of this package. > +PACKAGE_NAME= > +PACKAGE_TARNAME= > +PACKAGE_VERSION= > +PACKAGE_STRING= > +PACKAGE_BUGREPORT= > +PACKAGE_URL= > + > +ac_unique_file="crt0.S" > +ac_subst_vars='LTLIBOBJS > +LIBOBJS > +target_makefile_frag_path > +host_makefile_frag_path > +CCASFLAGS > +CCAS > +RANLIB > +LD > +AR > +AS > +am__fastdepCC_FALSE > +am__fastdepCC_TRUE > +CCDEPMODE > +AMDEPBACKSLASH > +AMDEP_FALSE > +AMDEP_TRUE > +am__quote > +am__include > +DEPDIR > +am__leading_dot > +CC > +INSTALL_DATA > +INSTALL_SCRIPT > +INSTALL_PROGRAM > +target_os > +target_vendor > +target_cpu > +target > +host_os > +host_vendor > +host_cpu > +host > +build_os > +build_vendor > +build_cpu > +build > +target_alias > +host_alias > +build_alias > +LIBS > +ECHO_T > +ECHO_N > +ECHO_C > +DEFS > +mandir > +localedir > +libdir > +psdir > +pdfdir > +dvidir > +htmldir > +infodir > +docdir > +oldincludedir > +includedir > +localstatedir > +sharedstatedir > +sysconfdir > +datadir > +datarootdir > +libexecdir > +sbindir > +bindir > +program_transform_name > +prefix > +exec_prefix > +PACKAGE_URL > +PACKAGE_BUGREPORT > +PACKAGE_STRING > +PACKAGE_VERSION > +PACKAGE_TARNAME > +PACKAGE_NAME > +PATH_SEPARATOR > +SHELL' > +ac_subst_files='host_makefile_frag > +target_makefile_frag' > +ac_user_opts=' > +enable_option_checking > +enable_dependency_tracking > +' > + ac_precious_vars='build_alias > +host_alias > +target_alias > +CCAS > +CCASFLAGS' > + > + > +# Initialize some variables set by options. > +ac_init_help= > +ac_init_version=false > +ac_unrecognized_opts= > +ac_unrecognized_sep= > +# The variables have the same names as the options, with > +# dashes changed to underlines. > +cache_file=/dev/null > +exec_prefix=NONE > +no_create= > +no_recursion= > +prefix=NONE > +program_prefix=NONE > +program_suffix=NONE > +program_transform_name=s,x,x, > +silent= > +site= > +srcdir= > +verbose= > +x_includes=NONE > +x_libraries=NONE > + > +# Installation directory options. > +# These are left unexpanded so users can "make install exec_prefix=/foo" > +# and all the variables that are supposed to be based on exec_prefix > +# by default will actually change. > +# Use braces instead of parens because sh, perl, etc. also accept them. > +# (The list follows the same order as the GNU Coding Standards.) > +bindir='${exec_prefix}/bin' > +sbindir='${exec_prefix}/sbin' > +libexecdir='${exec_prefix}/libexec' > +datarootdir='${prefix}/share' > +datadir='${datarootdir}' > +sysconfdir='${prefix}/etc' > +sharedstatedir='${prefix}/com' > +localstatedir='${prefix}/var' > +includedir='${prefix}/include' > +oldincludedir='/usr/include' > +docdir='${datarootdir}/doc/${PACKAGE}' > +infodir='${datarootdir}/info' > +htmldir='${docdir}' > +dvidir='${docdir}' > +pdfdir='${docdir}' > +psdir='${docdir}' > +libdir='${exec_prefix}/lib' > +localedir='${datarootdir}/locale' > +mandir='${datarootdir}/man' > + > +ac_prev= > +ac_dashdash= > +for ac_option > +do > + # If the previous option needs an argument, assign it. > + if test -n "$ac_prev"; then > + eval $ac_prev=\$ac_option > + ac_prev= > + continue > + fi > + > + case $ac_option in > + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; > + *=) ac_optarg= ;; > + *) ac_optarg=yes ;; > + esac > + > + # Accept the important Cygnus configure options, so we can diagnose typos. > + > + case $ac_dashdash$ac_option in > + --) > + ac_dashdash=yes ;; > + > + -bindir | --bindir | --bindi | --bind | --bin | --bi) > + ac_prev=bindir ;; > + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) > + bindir=$ac_optarg ;; > + > + -build | --build | --buil | --bui | --bu) > + ac_prev=build_alias ;; > + -build=* | --build=* | --buil=* | --bui=* | --bu=*) > + build_alias=$ac_optarg ;; > + > + -cache-file | --cache-file | --cache-fil | --cache-fi \ > + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) > + ac_prev=cache_file ;; > + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ > + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) > + cache_file=$ac_optarg ;; > + > + --config-cache | -C) > + cache_file=config.cache ;; > + > + -datadir | --datadir | --datadi | --datad) > + ac_prev=datadir ;; > + -datadir=* | --datadir=* | --datadi=* | --datad=*) > + datadir=$ac_optarg ;; > + > + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ > + | --dataroo | --dataro | --datar) > + ac_prev=datarootdir ;; > + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ > + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) > + datarootdir=$ac_optarg ;; > + > + -disable-* | --disable-*) > + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` > + # Reject names that are not valid shell variable names. > + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && > + as_fn_error $? "invalid feature name: $ac_useropt" > + ac_useropt_orig=$ac_useropt > + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` > + case $ac_user_opts in > + *" > +"enable_$ac_useropt" > +"*) ;; > + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" > + ac_unrecognized_sep=', ';; > + esac > + eval enable_$ac_useropt=no ;; > + > + -docdir | --docdir | --docdi | --doc | --do) > + ac_prev=docdir ;; > + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) > + docdir=$ac_optarg ;; > + > + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) > + ac_prev=dvidir ;; > + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) > + dvidir=$ac_optarg ;; > + > + -enable-* | --enable-*) > + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` > + # Reject names that are not valid shell variable names. > + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && > + as_fn_error $? "invalid feature name: $ac_useropt" > + ac_useropt_orig=$ac_useropt > + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` > + case $ac_user_opts in > + *" > +"enable_$ac_useropt" > +"*) ;; > + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" > + ac_unrecognized_sep=', ';; > + esac > + eval enable_$ac_useropt=\$ac_optarg ;; > + > + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ > + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ > + | --exec | --exe | --ex) > + ac_prev=exec_prefix ;; > + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ > + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ > + | --exec=* | --exe=* | --ex=*) > + exec_prefix=$ac_optarg ;; > + > + -gas | --gas | --ga | --g) > + # Obsolete; use --with-gas. > + with_gas=yes ;; > + > + -help | --help | --hel | --he | -h) > + ac_init_help=long ;; > + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) > + ac_init_help=recursive ;; > + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) > + ac_init_help=short ;; > + > + -host | --host | --hos | --ho) > + ac_prev=host_alias ;; > + -host=* | --host=* | --hos=* | --ho=*) > + host_alias=$ac_optarg ;; > + > + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) > + ac_prev=htmldir ;; > + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ > + | --ht=*) > + htmldir=$ac_optarg ;; > + > + -includedir | --includedir | --includedi | --included | --include \ > + | --includ | --inclu | --incl | --inc) > + ac_prev=includedir ;; > + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ > + | --includ=* | --inclu=* | --incl=* | --inc=*) > + includedir=$ac_optarg ;; > + > + -infodir | --infodir | --infodi | --infod | --info | --inf) > + ac_prev=infodir ;; > + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) > + infodir=$ac_optarg ;; > + > + -libdir | --libdir | --libdi | --libd) > + ac_prev=libdir ;; > + -libdir=* | --libdir=* | --libdi=* | --libd=*) > + libdir=$ac_optarg ;; > + > + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ > + | --libexe | --libex | --libe) > + ac_prev=libexecdir ;; > + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ > + | --libexe=* | --libex=* | --libe=*) > + libexecdir=$ac_optarg ;; > + > + -localedir | --localedir | --localedi | --localed | --locale) > + ac_prev=localedir ;; > + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) > + localedir=$ac_optarg ;; > + > + -localstatedir | --localstatedir | --localstatedi | --localstated \ > + | --localstate | --localstat | --localsta | --localst | --locals) > + ac_prev=localstatedir ;; > + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ > + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) > + localstatedir=$ac_optarg ;; > + > + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) > + ac_prev=mandir ;; > + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) > + mandir=$ac_optarg ;; > + > + -nfp | --nfp | --nf) > + # Obsolete; use --without-fp. > + with_fp=no ;; > + > + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ > + | --no-cr | --no-c | -n) > + no_create=yes ;; > + > + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ > + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) > + no_recursion=yes ;; > + > + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ > + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ > + | --oldin | --oldi | --old | --ol | --o) > + ac_prev=oldincludedir ;; > + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ > + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ > + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) > + oldincludedir=$ac_optarg ;; > + > + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) > + ac_prev=prefix ;; > + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) > + prefix=$ac_optarg ;; > + > + -program-prefix | --program-prefix | --program-prefi | --program-pref \ > + | --program-pre | --program-pr | --program-p) > + ac_prev=program_prefix ;; > + -program-prefix=* | --program-prefix=* | --program-prefi=* \ > + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) > + program_prefix=$ac_optarg ;; > + > + -program-suffix | --program-suffix | --program-suffi | --program-suff \ > + | --program-suf | --program-su | --program-s) > + ac_prev=program_suffix ;; > + -program-suffix=* | --program-suffix=* | --program-suffi=* \ > + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) > + program_suffix=$ac_optarg ;; > + > + -program-transform-name | --program-transform-name \ > + | --program-transform-nam | --program-transform-na \ > + | --program-transform-n | --program-transform- \ > + | --program-transform | --program-transfor \ > + | --program-transfo | --program-transf \ > + | --program-trans | --program-tran \ > + | --progr-tra | --program-tr | --program-t) > + ac_prev=program_transform_name ;; > + -program-transform-name=* | --program-transform-name=* \ > + | --program-transform-nam=* | --program-transform-na=* \ > + | --program-transform-n=* | --program-transform-=* \ > + | --program-transform=* | --program-transfor=* \ > + | --program-transfo=* | --program-transf=* \ > + | --program-trans=* | --program-tran=* \ > + | --progr-tra=* | --program-tr=* | --program-t=*) > + program_transform_name=$ac_optarg ;; > + > + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) > + ac_prev=pdfdir ;; > + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) > + pdfdir=$ac_optarg ;; > + > + -psdir | --psdir | --psdi | --psd | --ps) > + ac_prev=psdir ;; > + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) > + psdir=$ac_optarg ;; > + > + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ > + | -silent | --silent | --silen | --sile | --sil) > + silent=yes ;; > + > + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) > + ac_prev=sbindir ;; > + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ > + | --sbi=* | --sb=*) > + sbindir=$ac_optarg ;; > + > + -sharedstatedir | --sharedstatedir | --sharedstatedi \ > + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ > + | --sharedst | --shareds | --shared | --share | --shar \ > + | --sha | --sh) > + ac_prev=sharedstatedir ;; > + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ > + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ > + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ > + | --sha=* | --sh=*) > + sharedstatedir=$ac_optarg ;; > + > + -site | --site | --sit) > + ac_prev=site ;; > + -site=* | --site=* | --sit=*) > + site=$ac_optarg ;; > + > + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) > + ac_prev=srcdir ;; > + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) > + srcdir=$ac_optarg ;; > + > + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ > + | --syscon | --sysco | --sysc | --sys | --sy) > + ac_prev=sysconfdir ;; > + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ > + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) > + sysconfdir=$ac_optarg ;; > + > + -target | --target | --targe | --targ | --tar | --ta | --t) > + ac_prev=target_alias ;; > + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) > + target_alias=$ac_optarg ;; > + > + -v | -verbose | --verbose | --verbos | --verbo | --verb) > + verbose=yes ;; > + > + -version | --version | --versio | --versi | --vers | -V) > + ac_init_version=: ;; > + > + -with-* | --with-*) > + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` > + # Reject names that are not valid shell variable names. > + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && > + as_fn_error $? "invalid package name: $ac_useropt" > + ac_useropt_orig=$ac_useropt > + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` > + case $ac_user_opts in > + *" > +"with_$ac_useropt" > +"*) ;; > + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" > + ac_unrecognized_sep=', ';; > + esac > + eval with_$ac_useropt=\$ac_optarg ;; > + > + -without-* | --without-*) > + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` > + # Reject names that are not valid shell variable names. > + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && > + as_fn_error $? "invalid package name: $ac_useropt" > + ac_useropt_orig=$ac_useropt > + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` > + case $ac_user_opts in > + *" > +"with_$ac_useropt" > +"*) ;; > + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" > + ac_unrecognized_sep=', ';; > + esac > + eval with_$ac_useropt=no ;; > + > + --x) > + # Obsolete; use --with-x. > + with_x=yes ;; > + > + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ > + | --x-incl | --x-inc | --x-in | --x-i) > + ac_prev=x_includes ;; > + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ > + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) > + x_includes=$ac_optarg ;; > + > + -x-libraries | --x-libraries | --x-librarie | --x-librari \ > + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) > + ac_prev=x_libraries ;; > + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ > + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) > + x_libraries=$ac_optarg ;; > + > + -*) as_fn_error $? "unrecognized option: \`$ac_option' > +Try \`$0 --help' for more information" > + ;; > + > + *=*) > + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` > + # Reject names that are not valid shell variable names. > + case $ac_envvar in #( > + '' | [0-9]* | *[!_$as_cr_alnum]* ) > + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; > + esac > + eval $ac_envvar=\$ac_optarg > + export $ac_envvar ;; > + > + *) > + # FIXME: should be removed in autoconf 3.0. > + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 > + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && > + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 > + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" > + ;; > + > + esac > +done > + > +if test -n "$ac_prev"; then > + ac_option=--`echo $ac_prev | sed 's/_/-/g'` > + as_fn_error $? "missing argument to $ac_option" > +fi > + > +if test -n "$ac_unrecognized_opts"; then > + case $enable_option_checking in > + no) ;; > + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; > + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; > + esac > +fi > + > +# Check all directory arguments for consistency. > +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ > + datadir sysconfdir sharedstatedir localstatedir includedir \ > + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ > + libdir localedir mandir > +do > + eval ac_val=\$$ac_var > + # Remove trailing slashes. > + case $ac_val in > + */ ) > + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` > + eval $ac_var=\$ac_val;; > + esac > + # Be sure to have absolute directory names. > + case $ac_val in > + [\\/$]* | ?:[\\/]* ) continue;; > + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; > + esac > + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" > +done > + > +# There might be people who depend on the old broken behavior: `$host' > +# used to hold the argument of --host etc. > +# FIXME: To remove some day. > +build=$build_alias > +host=$host_alias > +target=$target_alias > + > +# FIXME: To remove some day. > +if test "x$host_alias" != x; then > + if test "x$build_alias" = x; then > + cross_compiling=maybe > + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. > + If a cross compiler is detected then cross compile mode will be used" >&2 > + elif test "x$build_alias" != "x$host_alias"; then > + cross_compiling=yes > + fi > +fi > + > +ac_tool_prefix= > +test -n "$host_alias" && ac_tool_prefix=$host_alias- > + > +test "$silent" = yes && exec 6>/dev/null > + > + > +ac_pwd=`pwd` && test -n "$ac_pwd" && > +ac_ls_di=`ls -di .` && > +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || > + as_fn_error $? "working directory cannot be determined" > +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || > + as_fn_error $? "pwd does not report name of working directory" > + > + > +# Find the source files, if location was not specified. > +if test -z "$srcdir"; then > + ac_srcdir_defaulted=yes > + # Try the directory containing this script, then the parent directory. > + ac_confdir=`$as_dirname -- "$as_myself" || > +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ > + X"$as_myself" : 'X\(//\)[^/]' \| \ > + X"$as_myself" : 'X\(//\)$' \| \ > + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || > +$as_echo X"$as_myself" | > + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ > + s//\1/ > + q > + } > + /^X\(\/\/\)[^/].*/{ > + s//\1/ > + q > + } > + /^X\(\/\/\)$/{ > + s//\1/ > + q > + } > + /^X\(\/\).*/{ > + s//\1/ > + q > + } > + s/.*/./; q'` > + srcdir=$ac_confdir > + if test ! -r "$srcdir/$ac_unique_file"; then > + srcdir=.. > + fi > +else > + ac_srcdir_defaulted=no > +fi > +if test ! -r "$srcdir/$ac_unique_file"; then > + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." > + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" > +fi > +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" > +ac_abs_confdir=`( > + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" > + pwd)` > +# When building in place, set srcdir=. > +if test "$ac_abs_confdir" = "$ac_pwd"; then > + srcdir=. > +fi > +# Remove unnecessary trailing slashes from srcdir. > +# Double slashes in file names in object file debugging info > +# mess up M-x gdb in Emacs. > +case $srcdir in > +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; > +esac > +for ac_var in $ac_precious_vars; do > + eval ac_env_${ac_var}_set=\${${ac_var}+set} > + eval ac_env_${ac_var}_value=\$${ac_var} > + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} > + eval ac_cv_env_${ac_var}_value=\$${ac_var} > +done > + > +# > +# Report the --help message. > +# > +if test "$ac_init_help" = "long"; then > + # Omit some internal or obsolete options to make the list less imposing. > + # This message is too long to be a string in the A/UX 3.1 sh. > + cat <<_ACEOF > +\`configure' configures this package to adapt to many kinds of systems. > + > +Usage: $0 [OPTION]... [VAR=VALUE]... > + > +To assign environment variables (e.g., CC, CFLAGS...), specify them as > +VAR=VALUE. See below for descriptions of some of the useful variables. > + > +Defaults for the options are specified in brackets. > + > +Configuration: > + -h, --help display this help and exit > + --help=short display options specific to this package > + --help=recursive display the short help of all the included packages > + -V, --version display version information and exit > + -q, --quiet, --silent do not print \`checking ...' messages > + --cache-file=FILE cache test results in FILE [disabled] > + -C, --config-cache alias for \`--cache-file=config.cache' > + -n, --no-create do not create output files > + --srcdir=DIR find the sources in DIR [configure dir or \`..'] > + > +Installation directories: > + --prefix=PREFIX install architecture-independent files in PREFIX > + [$ac_default_prefix] > + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX > + [PREFIX] > + > +By default, \`make install' will install all the files in > +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify > +an installation prefix other than \`$ac_default_prefix' using \`--prefix', > +for instance \`--prefix=\$HOME'. > + > +For better control, use the options below. > + > +Fine tuning of the installation directories: > + --bindir=DIR user executables [EPREFIX/bin] > + --sbindir=DIR system admin executables [EPREFIX/sbin] > + --libexecdir=DIR program executables [EPREFIX/libexec] > + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] > + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] > + --localstatedir=DIR modifiable single-machine data [PREFIX/var] > + --libdir=DIR object code libraries [EPREFIX/lib] > + --includedir=DIR C header files [PREFIX/include] > + --oldincludedir=DIR C header files for non-gcc [/usr/include] > + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] > + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] > + --infodir=DIR info documentation [DATAROOTDIR/info] > + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] > + --mandir=DIR man documentation [DATAROOTDIR/man] > + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] > + --htmldir=DIR html documentation [DOCDIR] > + --dvidir=DIR dvi documentation [DOCDIR] > + --pdfdir=DIR pdf documentation [DOCDIR] > + --psdir=DIR ps documentation [DOCDIR] > +_ACEOF > + > + cat <<\_ACEOF > + > +Program names: > + --program-prefix=PREFIX prepend PREFIX to installed program names > + --program-suffix=SUFFIX append SUFFIX to installed program names > + --program-transform-name=PROGRAM run sed PROGRAM on installed program names > + > +System types: > + --build=BUILD configure for building on BUILD [guessed] > + --host=HOST cross-compile to build programs to run on HOST [BUILD] > + --target=TARGET configure for building compilers for TARGET [HOST] > +_ACEOF > +fi > + > +if test -n "$ac_init_help"; then > + > + cat <<\_ACEOF > + > +Optional Features: > + --disable-option-checking ignore unrecognized --enable/--with options > + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) > + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] > + --disable-dependency-tracking speeds up one-time build > + --enable-dependency-tracking do not reject slow dependency extractors > + > +Some influential environment variables: > + CCAS assembler compiler command (defaults to CC) > + CCASFLAGS assembler compiler flags (defaults to CFLAGS) > + > +Use these variables to override the choices made by `configure' or to help > +it to find libraries and programs with nonstandard names/locations. > + > +Report bugs to the package provider. > +_ACEOF > +ac_status=$? > +fi > + > +if test "$ac_init_help" = "recursive"; then > + # If there are subdirs, report their specific --help. > + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue > + test -d "$ac_dir" || > + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || > + continue > + ac_builddir=. > + > +case "$ac_dir" in > +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; > +*) > + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` > + # A ".." for each directory in $ac_dir_suffix. > + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` > + case $ac_top_builddir_sub in > + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; > + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; > + esac ;; > +esac > +ac_abs_top_builddir=$ac_pwd > +ac_abs_builddir=$ac_pwd$ac_dir_suffix > +# for backward compatibility: > +ac_top_builddir=$ac_top_build_prefix > + > +case $srcdir in > + .) # We are building in place. > + ac_srcdir=. > + ac_top_srcdir=$ac_top_builddir_sub > + ac_abs_top_srcdir=$ac_pwd ;; > + [\\/]* | ?:[\\/]* ) # Absolute name. > + ac_srcdir=$srcdir$ac_dir_suffix; > + ac_top_srcdir=$srcdir > + ac_abs_top_srcdir=$srcdir ;; > + *) # Relative name. > + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix > + ac_top_srcdir=$ac_top_build_prefix$srcdir > + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; > +esac > +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix > + > + cd "$ac_dir" || { ac_status=$?; continue; } > + # Check for guested configure. > + if test -f "$ac_srcdir/configure.gnu"; then > + echo && > + $SHELL "$ac_srcdir/configure.gnu" --help=recursive > + elif test -f "$ac_srcdir/configure"; then > + echo && > + $SHELL "$ac_srcdir/configure" --help=recursive > + else > + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 > + fi || ac_status=$? > + cd "$ac_pwd" || { ac_status=$?; break; } > + done > +fi > + > +test -n "$ac_init_help" && exit $ac_status > +if $ac_init_version; then > + cat <<\_ACEOF > +configure > +generated by GNU Autoconf 2.68 > + > +Copyright (C) 2010 Free Software Foundation, Inc. > +This configure script is free software; the Free Software Foundation > +gives unlimited permission to copy, distribute and modify it. > +_ACEOF > + exit > +fi > + > +## ------------------------ ## > +## Autoconf initialization. ## > +## ------------------------ ## > + > +# ac_fn_c_try_compile LINENO > +# -------------------------- > +# Try to compile conftest.$ac_ext, and return whether this succeeded. > +ac_fn_c_try_compile () > +{ > + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack > + rm -f conftest.$ac_objext > + if { { ac_try="$ac_compile" > +case "(($ac_try" in > + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; > + *) ac_try_echo=$ac_try;; > +esac > +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" > +$as_echo "$ac_try_echo"; } >&5 > + (eval "$ac_compile") 2>conftest.err > + ac_status=$? > + if test -s conftest.err; then > + grep -v '^ *+' conftest.err >conftest.er1 > + cat conftest.er1 >&5 > + mv -f conftest.er1 conftest.err > + fi > + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 > + test $ac_status = 0; } && { > + test -z "$ac_c_werror_flag" || > + test ! -s conftest.err > + } && test -s conftest.$ac_objext; then : > + ac_retval=0 > +else > + $as_echo "$as_me: failed program was:" >&5 > +sed 's/^/| /' conftest.$ac_ext >&5 > + > + ac_retval=1 > +fi > + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno > + as_fn_set_status $ac_retval > + > +} # ac_fn_c_try_compile > +cat >config.log <<_ACEOF > +This file contains any messages produced by compilers while > +running configure, to aid debugging if configure makes a mistake. > + > +It was created by $as_me, which was > +generated by GNU Autoconf 2.68. Invocation command line was > + > + $ $0 $@ > + > +_ACEOF > +exec 5>>config.log > +{ > +cat <<_ASUNAME > +## --------- ## > +## Platform. ## > +## --------- ## > + > +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` > +uname -m = `(uname -m) 2>/dev/null || echo unknown` > +uname -r = `(uname -r) 2>/dev/null || echo unknown` > +uname -s = `(uname -s) 2>/dev/null || echo unknown` > +uname -v = `(uname -v) 2>/dev/null || echo unknown` > + > +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` > +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` > + > +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` > +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` > +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` > +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` > +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` > +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` > +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` > + > +_ASUNAME > + > +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR > +for as_dir in $PATH > +do > + IFS=$as_save_IFS > + test -z "$as_dir" && as_dir=. > + $as_echo "PATH: $as_dir" > + done > +IFS=$as_save_IFS > + > +} >&5 > + > +cat >&5 <<_ACEOF > + > + > +## ----------- ## > +## Core tests. ## > +## ----------- ## > + > +_ACEOF > + > + > +# Keep a trace of the command line. > +# Strip out --no-create and --no-recursion so they do not pile up. > +# Strip out --silent because we don't want to record it for future runs. > +# Also quote any args containing shell meta-characters. > +# Make two passes to allow for proper duplicate-argument suppression. > +ac_configure_args= > +ac_configure_args0= > +ac_configure_args1= > +ac_must_keep_next=false > +for ac_pass in 1 2 > +do > + for ac_arg > + do > + case $ac_arg in > + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; > + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ > + | -silent | --silent | --silen | --sile | --sil) > + continue ;; > + *\'*) > + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; > + esac > + case $ac_pass in > + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; > + 2) > + as_fn_append ac_configure_args1 " '$ac_arg'" > + if test $ac_must_keep_next = true; then > + ac_must_keep_next=false # Got value, back to normal. > + else > + case $ac_arg in > + *=* | --config-cache | -C | -disable-* | --disable-* \ > + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ > + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ > + | -with-* | --with-* | -without-* | --without-* | --x) > + case "$ac_configure_args0 " in > + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; > + esac > + ;; > + -* ) ac_must_keep_next=true ;; > + esac > + fi > + as_fn_append ac_configure_args " '$ac_arg'" > + ;; > + esac > + done > +done > +{ ac_configure_args0=; unset ac_configure_args0;} > +{ ac_configure_args1=; unset ac_configure_args1;} > + > +# When interrupted or exit'd, cleanup temporary files, and complete > +# config.log. We remove comments because anyway the quotes in there > +# would cause problems or look ugly. > +# WARNING: Use '\'' to represent an apostrophe within the trap. > +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. > +trap 'exit_status=$? > + # Save into config.log some information that might help in debugging. > + { > + echo > + > + $as_echo "## ---------------- ## > +## Cache variables. ## > +## ---------------- ##" > + echo > + # The following way of writing the cache mishandles newlines in values, > +( > + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do > + eval ac_val=\$$ac_var > + case $ac_val in #( > + *${as_nl}*) > + case $ac_var in #( > + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 > +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; > + esac > + case $ac_var in #( > + _ | IFS | as_nl) ;; #( > + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( > + *) { eval $ac_var=; unset $ac_var;} ;; > + esac ;; > + esac > + done > + (set) 2>&1 | > + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( > + *${as_nl}ac_space=\ *) > + sed -n \ > + "s/'\''/'\''\\\\'\'''\''/g; > + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" > + ;; #( > + *) > + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" > + ;; > + esac | > + sort > +) > + echo > + > + $as_echo "## ----------------- ## > +## Output variables. ## > +## ----------------- ##" > + echo > + for ac_var in $ac_subst_vars > + do > + eval ac_val=\$$ac_var > + case $ac_val in > + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; > + esac > + $as_echo "$ac_var='\''$ac_val'\''" > + done | sort > + echo > + > + if test -n "$ac_subst_files"; then > + $as_echo "## ------------------- ## > +## File substitutions. ## > +## ------------------- ##" > + echo > + for ac_var in $ac_subst_files > + do > + eval ac_val=\$$ac_var > + case $ac_val in > + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; > + esac > + $as_echo "$ac_var='\''$ac_val'\''" > + done | sort > + echo > + fi > + > + if test -s confdefs.h; then > + $as_echo "## ----------- ## > +## confdefs.h. ## > +## ----------- ##" > + echo > + cat confdefs.h > + echo > + fi > + test "$ac_signal" != 0 && > + $as_echo "$as_me: caught signal $ac_signal" > + $as_echo "$as_me: exit $exit_status" > + } >&5 > + rm -f core *.core core.conftest.* && > + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && > + exit $exit_status > +' 0 > +for ac_signal in 1 2 13 15; do > + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal > +done > +ac_signal=0 > + > +# confdefs.h avoids OS command line length limits that DEFS can exceed. > +rm -f -r conftest* confdefs.h > + > +$as_echo "/* confdefs.h */" > confdefs.h > + > +# Predefined preprocessor variables. > + > +cat >>confdefs.h <<_ACEOF > +#define PACKAGE_NAME "$PACKAGE_NAME" > +_ACEOF > + > +cat >>confdefs.h <<_ACEOF > +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" > +_ACEOF > + > +cat >>confdefs.h <<_ACEOF > +#define PACKAGE_VERSION "$PACKAGE_VERSION" > +_ACEOF > + > +cat >>confdefs.h <<_ACEOF > +#define PACKAGE_STRING "$PACKAGE_STRING" > +_ACEOF > + > +cat >>confdefs.h <<_ACEOF > +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" > +_ACEOF > + > +cat >>confdefs.h <<_ACEOF > +#define PACKAGE_URL "$PACKAGE_URL" > +_ACEOF > + > + > +# Let the site file select an alternate cache file if it wants to. > +# Prefer an explicitly selected file to automatically selected ones. > +ac_site_file1=NONE > +ac_site_file2=NONE > +if test -n "$CONFIG_SITE"; then > + # We do not want a PATH search for config.site. > + case $CONFIG_SITE in #(( > + -*) ac_site_file1=./$CONFIG_SITE;; > + */*) ac_site_file1=$CONFIG_SITE;; > + *) ac_site_file1=./$CONFIG_SITE;; > + esac > +elif test "x$prefix" != xNONE; then > + ac_site_file1=$prefix/share/config.site > + ac_site_file2=$prefix/etc/config.site > +else > + ac_site_file1=$ac_default_prefix/share/config.site > + ac_site_file2=$ac_default_prefix/etc/config.site > +fi > +for ac_site_file in "$ac_site_file1" "$ac_site_file2" > +do > + test "x$ac_site_file" = xNONE && continue > + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then > + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 > +$as_echo "$as_me: loading site script $ac_site_file" >&6;} > + sed 's/^/| /' "$ac_site_file" >&5 > + . "$ac_site_file" \ > + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 > +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} > +as_fn_error $? "failed to load site script $ac_site_file > +See \`config.log' for more details" "$LINENO" 5; } > + fi > +done > + > +if test -r "$cache_file"; then > + # Some versions of bash will fail to source /dev/null (special files > + # actually), so we avoid doing that. DJGPP emulates it as a regular file. > + if test /dev/null != "$cache_file" && test -f "$cache_file"; then > + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 > +$as_echo "$as_me: loading cache $cache_file" >&6;} > + case $cache_file in > + [\\/]* | ?:[\\/]* ) . "$cache_file";; > + *) . "./$cache_file";; > + esac > + fi > +else > + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 > +$as_echo "$as_me: creating cache $cache_file" >&6;} > + >$cache_file > +fi > + > +# Check that the precious variables saved in the cache have kept the same > +# value. > +ac_cache_corrupted=false > +for ac_var in $ac_precious_vars; do > + eval ac_old_set=\$ac_cv_env_${ac_var}_set > + eval ac_new_set=\$ac_env_${ac_var}_set > + eval ac_old_val=\$ac_cv_env_${ac_var}_value > + eval ac_new_val=\$ac_env_${ac_var}_value > + case $ac_old_set,$ac_new_set in > + set,) > + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 > +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} > + ac_cache_corrupted=: ;; > + ,set) > + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 > +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} > + ac_cache_corrupted=: ;; > + ,);; > + *) > + if test "x$ac_old_val" != "x$ac_new_val"; then > + # differences in whitespace do not lead to failure. > + ac_old_val_w=`echo x $ac_old_val` > + ac_new_val_w=`echo x $ac_new_val` > + if test "$ac_old_val_w" != "$ac_new_val_w"; then > + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 > +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} > + ac_cache_corrupted=: > + else > + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 > +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} > + eval $ac_var=\$ac_old_val > + fi > + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 > +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} > + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 > +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} > + fi;; > + esac > + # Pass precious variables to config.status. > + if test "$ac_new_set" = set; then > + case $ac_new_val in > + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; > + *) ac_arg=$ac_var=$ac_new_val ;; > + esac > + case " $ac_configure_args " in > + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. > + *) as_fn_append ac_configure_args " '$ac_arg'" ;; > + esac > + fi > +done > +if $ac_cache_corrupted; then > + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 > +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} > + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 > +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} > + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 > +fi > +## -------------------- ## > +## Main body of script. ## > +## -------------------- ## > + > +ac_ext=c > +ac_cpp='$CPP $CPPFLAGS' > +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' > +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' > +ac_compiler_gnu=$ac_cv_c_compiler_gnu > + > + > + > +if test "${enable_shared}" = "yes" ; then > + echo "Shared libraries not supported for cross compiling, ignored" > +fi > + > +if test "$srcdir" = "." ; then > + if test "${with_target_subdir}" != "." ; then > + libgloss_topdir="${with_multisrctop}../../.." > + else > + libgloss_topdir="${with_multisrctop}../.." > + fi > +else > + libgloss_topdir="${srcdir}/../.." > +fi > +ac_aux_dir= > +for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do > + if test -f "$ac_dir/install-sh"; then > + ac_aux_dir=$ac_dir > + ac_install_sh="$ac_aux_dir/install-sh -c" > + break > + elif test -f "$ac_dir/install.sh"; then > + ac_aux_dir=$ac_dir > + ac_install_sh="$ac_aux_dir/install.sh -c" > + break > + elif test -f "$ac_dir/shtool"; then > + ac_aux_dir=$ac_dir > + ac_install_sh="$ac_aux_dir/shtool install -c" > + break > + fi > +done > +if test -z "$ac_aux_dir"; then > + as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5 > +fi > + > +# These three variables are undocumented and unsupported, > +# and are intended to be withdrawn in a future Autoconf release. > +# They can cause serious problems if a builder's source tree is in a directory > +# whose full name contains unusual characters. > +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. > +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. > +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. > + > + > + > +# Make sure we can run config.sub. > +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || > + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 > + > +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 > +$as_echo_n "checking build system type... " >&6; } > +if ${ac_cv_build+:} false; then : > + $as_echo_n "(cached) " >&6 > +else > + ac_build_alias=$build_alias > +test "x$ac_build_alias" = x && > + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` > +test "x$ac_build_alias" = x && > + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 > +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || > + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 > + > +fi > +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 > +$as_echo "$ac_cv_build" >&6; } > +case $ac_cv_build in > +*-*-*) ;; > +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; > +esac > +build=$ac_cv_build > +ac_save_IFS=$IFS; IFS='-' > +set x $ac_cv_build > +shift > +build_cpu=$1 > +build_vendor=$2 > +shift; shift > +# Remember, the first character of IFS is used to create $*, > +# except with old shells: > +build_os=$* > +IFS=$ac_save_IFS > +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac > + > + > +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 > +$as_echo_n "checking host system type... " >&6; } > +if ${ac_cv_host+:} false; then : > + $as_echo_n "(cached) " >&6 > +else > + if test "x$host_alias" = x; then > + ac_cv_host=$ac_cv_build > +else > + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || > + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 > +fi > + > +fi > +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 > +$as_echo "$ac_cv_host" >&6; } > +case $ac_cv_host in > +*-*-*) ;; > +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; > +esac > +host=$ac_cv_host > +ac_save_IFS=$IFS; IFS='-' > +set x $ac_cv_host > +shift > +host_cpu=$1 > +host_vendor=$2 > +shift; shift > +# Remember, the first character of IFS is used to create $*, > +# except with old shells: > +host_os=$* > +IFS=$ac_save_IFS > +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac > + > + > +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 > +$as_echo_n "checking target system type... " >&6; } > +if ${ac_cv_target+:} false; then : > + $as_echo_n "(cached) " >&6 > +else > + if test "x$target_alias" = x; then > + ac_cv_target=$ac_cv_host > +else > + ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || > + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 > +fi > + > +fi > +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 > +$as_echo "$ac_cv_target" >&6; } > +case $ac_cv_target in > +*-*-*) ;; > +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; > +esac > +target=$ac_cv_target > +ac_save_IFS=$IFS; IFS='-' > +set x $ac_cv_target > +shift > +target_cpu=$1 > +target_vendor=$2 > +shift; shift > +# Remember, the first character of IFS is used to create $*, > +# except with old shells: > +target_os=$* > +IFS=$ac_save_IFS > +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac > + > + > +# The aliases save the names the user supplied, while $host etc. > +# will get canonicalized. > +test -n "$target_alias" && > + test "$program_prefix$program_suffix$program_transform_name" = \ > + NONENONEs,x,x, && > + program_prefix=${target_alias}- > + > +test "$program_prefix" != NONE && > + program_transform_name="s&^&$program_prefix&;$program_transform_name" > +# Use a double $ so make ignores it. > +test "$program_suffix" != NONE && > + program_transform_name="s&\$&$program_suffix&;$program_transform_name" > +# Double any \ or $. > +# By default was `s,x,x', remove it if useless. > +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' > +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` > + > + > +# Find a good install program. We prefer a C program (faster), > +# so one script is as good as another. But avoid the broken or > +# incompatible versions: > +# SysV /etc/install, /usr/sbin/install > +# SunOS /usr/etc/install > +# IRIX /sbin/install > +# AIX /bin/install > +# AmigaOS /C/install, which installs bootblocks on floppy discs > +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag > +# AFS /usr/afsws/bin/install, which mishandles nonexistent args > +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" > +# OS/2's system install, which has a completely different semantic > +# ./install, which can be erroneously created by make from ./install.sh. > +# Reject install programs that cannot install multiple files. > +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 > +$as_echo_n "checking for a BSD-compatible install... " >&6; } > +if test -z "$INSTALL"; then > +if ${ac_cv_path_install+:} false; then : > + $as_echo_n "(cached) " >&6 > +else > + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR > +for as_dir in $PATH > +do > + IFS=$as_save_IFS > + test -z "$as_dir" && as_dir=. > + # Account for people who put trailing slashes in PATH elements. > +case $as_dir/ in #(( > + ./ | .// | /[cC]/* | \ > + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ > + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ > + /usr/ucb/* ) ;; > + *) > + # OSF1 and SCO ODT 3.0 have their own names for install. > + # Don't use installbsd from OSF since it installs stuff as root > + # by default. > + for ac_prog in ginstall scoinst install; do > + for ac_exec_ext in '' $ac_executable_extensions; do > + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then > + if test $ac_prog = install && > + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then > + # AIX install. It has an incompatible calling convention. > + : > + elif test $ac_prog = install && > + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then > + # program-specific install script used by HP pwplus--don't use. > + : > + else > + rm -rf conftest.one conftest.two conftest.dir > + echo one > conftest.one > + echo two > conftest.two > + mkdir conftest.dir > + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && > + test -s conftest.one && test -s conftest.two && > + test -s conftest.dir/conftest.one && > + test -s conftest.dir/conftest.two > + then > + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" > + break 3 > + fi > + fi > + fi > + done > + done > + ;; > +esac > + > + done > +IFS=$as_save_IFS > + > +rm -rf conftest.one conftest.two conftest.dir > + > +fi > + if test "${ac_cv_path_install+set}" = set; then > + INSTALL=$ac_cv_path_install > + else > + # As a last resort, use the slow shell script. Don't cache a > + # value for INSTALL within a source directory, because that will > + # break other packages using the cache if that directory is > + # removed, or if the value is a relative name. > + INSTALL=$ac_install_sh > + fi > +fi > +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 > +$as_echo "$INSTALL" >&6; } > + > +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. > +# It thinks the first close brace ends the variable substitution. > +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' > + > +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' > + > +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' > + > + > +rm -rf .tst 2>/dev/null > +mkdir .tst 2>/dev/null > +if test -d .tst; then > + am__leading_dot=. > +else > + am__leading_dot=_ > +fi > +rmdir .tst 2>/dev/null > + > +DEPDIR="${am__leading_dot}deps" > + > +ac_config_commands="$ac_config_commands depfiles" > + > + > +am_make=${MAKE-make} > +cat > confinc << 'END' > +am__doit: > + @echo done > +.PHONY: am__doit > +END > +# If we don't find an include directive, just comment out the code. > +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 > +$as_echo_n "checking for style of include used by $am_make... " >&6; } > +am__include="#" > +am__quote= > +_am_result=none > +# First try GNU make style include. > +echo "include confinc" > confmf > +# We grep out `Entering directory' and `Leaving directory' > +# messages which can occur if `w' ends up in MAKEFLAGS. > +# In particular we don't look at `^make:' because GNU make might > +# be invoked under some other name (usually "gmake"), in which > +# case it prints its new name instead of `make'. > +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then > + am__include=include > + am__quote= > + _am_result=GNU > +fi > +# Now try BSD make style include. > +if test "$am__include" = "#"; then > + echo '.include "confinc"' > confmf > + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then > + am__include=.include > + am__quote="\"" > + _am_result=BSD > + fi > +fi > + > + > +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 > +$as_echo "$_am_result" >&6; } > +rm -f confinc confmf > + > +# Check whether --enable-dependency-tracking was given. > +if test "${enable_dependency_tracking+set}" = set; then : > + enableval=$enable_dependency_tracking; > +fi > + > +if test "x$enable_dependency_tracking" != xno; then > + am_depcomp="$ac_aux_dir/depcomp" > + AMDEPBACKSLASH='\' > +fi > + > + > +if test "x$enable_dependency_tracking" != xno; then > + AMDEP_TRUE= > + AMDEP_FALSE='#' > +else > + AMDEP_TRUE='#' > + AMDEP_FALSE= > +fi > + > + > + > +# Extract the first word of "gcc", so it can be a program name with args. > +set dummy gcc; ac_word=$2 > +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 > +$as_echo_n "checking for $ac_word... " >&6; } > +if ${ac_cv_prog_CC+:} false; then : > + $as_echo_n "(cached) " >&6 > +else > + if test -n "$CC"; then > + ac_cv_prog_CC="$CC" # Let the user override the test. > +else > +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR > +for as_dir in $PATH > +do > + IFS=$as_save_IFS > + test -z "$as_dir" && as_dir=. > + for ac_exec_ext in '' $ac_executable_extensions; do > + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then > + ac_cv_prog_CC="gcc" > + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 > + break 2 > + fi > +done > + done > +IFS=$as_save_IFS > + > +fi > +fi > +CC=$ac_cv_prog_CC > +if test -n "$CC"; then > + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 > +$as_echo "$CC" >&6; } > +else > + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 > +$as_echo "no" >&6; } > +fi > + > + > + > +depcc="$CC" am_compiler_list= > + > +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 > +$as_echo_n "checking dependency style of $depcc... " >&6; } > +if ${am_cv_CC_dependencies_compiler_type+:} false; then : > + $as_echo_n "(cached) " >&6 > +else > + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then > + # We make a subdir and do the tests there. Otherwise we can end up > + # making bogus files that we don't know about and never remove. For > + # instance it was reported that on HP-UX the gcc test will end up > + # making a dummy file named `D' -- because `-MD' means `put the output > + # in D'. > + mkdir conftest.dir > + # Copy depcomp to subdir because otherwise we won't find it if we're > + # using a relative directory. > + cp "$am_depcomp" conftest.dir > + cd conftest.dir > + # We will build objects and dependencies in a subdirectory because > + # it helps to detect inapplicable dependency modes. For instance > + # both Tru64's cc and ICC support -MD to output dependencies as a > + # side effect of compilation, but ICC will put the dependencies in > + # the current directory while Tru64 will put them in the object > + # directory. > + mkdir sub > + > + am_cv_CC_dependencies_compiler_type=none > + if test "$am_compiler_list" = ""; then > + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` > + fi > + for depmode in $am_compiler_list; do > + # Setup a source with many dependencies, because some compilers > + # like to wrap large dependency lists on column 80 (with \), and > + # we should not choose a depcomp mode which is confused by this. > + # > + # We need to recreate these files for each test, as the compiler may > + # overwrite some of them when testing with obscure command lines. > + # This happens at least with the AIX C compiler. > + : > sub/conftest.c > + for i in 1 2 3 4 5 6; do > + echo '#include "conftst'$i'.h"' >> sub/conftest.c > + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with > + # Solaris 8's {/usr,}/bin/sh. > + touch sub/conftst$i.h > + done > + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf > + > + case $depmode in > + nosideeffect) > + # after this tag, mechanisms are not by side-effect, so they'll > + # only be used when explicitly requested > + if test "x$enable_dependency_tracking" = xyes; then > + continue > + else > + break > + fi > + ;; > + none) break ;; > + esac > + # We check with `-c' and `-o' for the sake of the "dashmstdout" > + # mode. It turns out that the SunPro C++ compiler does not properly > + # handle `-M -o', and we need to detect this. > + if depmode=$depmode \ > + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ > + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ > + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ > + >/dev/null 2>conftest.err && > + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && > + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && > + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then > + # icc doesn't choke on unknown options, it will just issue warnings > + # or remarks (even with -Werror). So we grep stderr for any message > + # that says an option was ignored or not supported. > + # When given -MP, icc 7.0 and 7.1 complain thusly: > + # icc: Command line warning: ignoring option '-M'; no argument required > + # The diagnosis changed in icc 8.0: > + # icc: Command line remark: option '-MP' not supported > + if (grep 'ignoring option' conftest.err || > + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else > + am_cv_CC_dependencies_compiler_type=$depmode > + break > + fi > + fi > + done > + > + cd .. > + rm -rf conftest.dir > +else > + am_cv_CC_dependencies_compiler_type=none > +fi > + > +fi > +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 > +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } > +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type > + > + > + > +if > + test "x$enable_dependency_tracking" != xno \ > + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then > + am__fastdepCC_TRUE= > + am__fastdepCC_FALSE='#' > +else > + am__fastdepCC_TRUE='#' > + am__fastdepCC_FALSE= > +fi > + > + > +if test -z "$CC"; then > + # Extract the first word of "cc", so it can be a program name with args. > +set dummy cc; ac_word=$2 > +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 > +$as_echo_n "checking for $ac_word... " >&6; } > +if ${ac_cv_prog_CC+:} false; then : > + $as_echo_n "(cached) " >&6 > +else > + if test -n "$CC"; then > + ac_cv_prog_CC="$CC" # Let the user override the test. > +else > + ac_prog_rejected=no > +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR > +for as_dir in $PATH > +do > + IFS=$as_save_IFS > + test -z "$as_dir" && as_dir=. > + for ac_exec_ext in '' $ac_executable_extensions; do > + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then > + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then > + ac_prog_rejected=yes > + continue > + fi > + ac_cv_prog_CC="cc" > + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 > + break 2 > + fi > +done > + done > +IFS=$as_save_IFS > + > +if test $ac_prog_rejected = yes; then > + # We found a bogon in the path, so make sure we never use it. > + set dummy $ac_cv_prog_CC > + shift > + if test $# != 0; then > + # We chose a different compiler from the bogus one. > + # However, it has the same basename, so the bogon will be chosen > + # first if we set CC to just the basename; use the full file name. > + shift > + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" > + fi > +fi > +fi > +fi > +CC=$ac_cv_prog_CC > +if test -n "$CC"; then > + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 > +$as_echo "$CC" >&6; } > +else > + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 > +$as_echo "no" >&6; } > +fi > + > + > + test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5 > +fi > + > +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5 > +$as_echo_n "checking whether we are using GNU C... " >&6; } > +if ${ac_cv_c_compiler_gnu+:} false; then : > + $as_echo_n "(cached) " >&6 > +else > + cat > conftest.c <<EOF > +#ifdef __GNUC__ > + yes; > +#endif > +EOF > +if { ac_try='${CC-cc} -E conftest.c' > + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 > + (eval $ac_try) 2>&5 > + ac_status=$? > + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 > + test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then > + ac_cv_c_compiler_gnu=yes > +else > + ac_cv_c_compiler_gnu=no > +fi > +fi > +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 > +$as_echo "$ac_cv_c_compiler_gnu" >&6; } > + > +if test $ac_cv_c_compiler_gnu = yes; then > + GCC=yes > + ac_test_CFLAGS="${CFLAGS+set}" > + ac_save_CFLAGS="$CFLAGS" > + CFLAGS= > + ac_test_CFLAGS=${CFLAGS+set} > +ac_save_CFLAGS=$CFLAGS > +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 > +$as_echo_n "checking whether $CC accepts -g... " >&6; } > +if ${ac_cv_prog_cc_g+:} false; then : > + $as_echo_n "(cached) " >&6 > +else > + ac_save_c_werror_flag=$ac_c_werror_flag > + ac_c_werror_flag=yes > + ac_cv_prog_cc_g=no > + CFLAGS="-g" > + cat confdefs.h - <<_ACEOF >conftest.$ac_ext > +/* end confdefs.h. */ > + > +int > +main () > +{ > + > + ; > + return 0; > +} > +_ACEOF > +if ac_fn_c_try_compile "$LINENO"; then : > + ac_cv_prog_cc_g=yes > +else > + CFLAGS="" > + cat confdefs.h - <<_ACEOF >conftest.$ac_ext > +/* end confdefs.h. */ > + > +int > +main () > +{ > + > + ; > + return 0; > +} > +_ACEOF > +if ac_fn_c_try_compile "$LINENO"; then : > + > +else > + ac_c_werror_flag=$ac_save_c_werror_flag > + CFLAGS="-g" > + cat confdefs.h - <<_ACEOF >conftest.$ac_ext > +/* end confdefs.h. */ > + > +int > +main () > +{ > + > + ; > + return 0; > +} > +_ACEOF > +if ac_fn_c_try_compile "$LINENO"; then : > + ac_cv_prog_cc_g=yes > +fi > +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext > +fi > +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext > +fi > +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext > + ac_c_werror_flag=$ac_save_c_werror_flag > +fi > +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 > +$as_echo "$ac_cv_prog_cc_g" >&6; } > +if test "$ac_test_CFLAGS" = set; then > + CFLAGS=$ac_save_CFLAGS > +elif test $ac_cv_prog_cc_g = yes; then > + if test "$GCC" = yes; then > + CFLAGS="-g -O2" > + else > + CFLAGS="-g" > + fi > +else > + if test "$GCC" = yes; then > + CFLAGS="-O2" > + else > + CFLAGS= > + fi > +fi > + if test "$ac_test_CFLAGS" = set; then > + CFLAGS="$ac_save_CFLAGS" > + elif test $ac_cv_prog_cc_g = yes; then > + CFLAGS="-g -O2" > + else > + CFLAGS="-O2" > + fi > +else > + GCC= > + test "${CFLAGS+set}" = set || CFLAGS="-g" > +fi > + > +AS=${AS-as} > + > +AR=${AR-ar} > + > +LD=${LD-ld} > + > +if test -n "$ac_tool_prefix"; then > + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. > +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 > +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 > +$as_echo_n "checking for $ac_word... " >&6; } > +if ${ac_cv_prog_RANLIB+:} false; then : > + $as_echo_n "(cached) " >&6 > +else > + if test -n "$RANLIB"; then > + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. > +else > +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR > +for as_dir in $PATH > +do > + IFS=$as_save_IFS > + test -z "$as_dir" && as_dir=. > + for ac_exec_ext in '' $ac_executable_extensions; do > + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then > + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" > + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 > + break 2 > + fi > +done > + done > +IFS=$as_save_IFS > + > +fi > +fi > +RANLIB=$ac_cv_prog_RANLIB > +if test -n "$RANLIB"; then > + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 > +$as_echo "$RANLIB" >&6; } > +else > + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 > +$as_echo "no" >&6; } > +fi > + > + > +fi > +if test -z "$ac_cv_prog_RANLIB"; then > + ac_ct_RANLIB=$RANLIB > + # Extract the first word of "ranlib", so it can be a program name with args. > +set dummy ranlib; ac_word=$2 > +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 > +$as_echo_n "checking for $ac_word... " >&6; } > +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : > + $as_echo_n "(cached) " >&6 > +else > + if test -n "$ac_ct_RANLIB"; then > + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. > +else > +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR > +for as_dir in $PATH > +do > + IFS=$as_save_IFS > + test -z "$as_dir" && as_dir=. > + for ac_exec_ext in '' $ac_executable_extensions; do > + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then > + ac_cv_prog_ac_ct_RANLIB="ranlib" > + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 > + break 2 > + fi > +done > + done > +IFS=$as_save_IFS > + > +fi > +fi > +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB > +if test -n "$ac_ct_RANLIB"; then > + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 > +$as_echo "$ac_ct_RANLIB" >&6; } > +else > + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 > +$as_echo "no" >&6; } > +fi > + > + if test "x$ac_ct_RANLIB" = x; then > + RANLIB=":" > + else > + case $cross_compiling:$ac_tool_warned in > +yes:) > +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 > +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} > +ac_tool_warned=yes ;; > +esac > + RANLIB=$ac_ct_RANLIB > + fi > +else > + RANLIB="$ac_cv_prog_RANLIB" > +fi > + > +# By default we simply use the C compiler to build assembly code. > + > +test "${CCAS+set}" = set || CCAS=$CC > +test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS > + > + > + > + > +host_makefile_frag=${srcdir}/../config/default.mh > +target_makefile_frag=${srcdir}/../config/default.mt > + > +host_makefile_frag_path=$host_makefile_frag > + > + > +target_makefile_frag_path=$target_makefile_frag > + > + > + > +ac_config_files="$ac_config_files Makefile" > + > +cat >confcache <<\_ACEOF > +# This file is a shell script that caches the results of configure > +# tests run on this system so they can be shared between configure > +# scripts and configure runs, see configure's option --config-cache. > +# It is not useful on other systems. If it contains results you don't > +# want to keep, you may remove or edit it. > +# > +# config.status only pays attention to the cache file if you give it > +# the --recheck option to rerun configure. > +# > +# `ac_cv_env_foo' variables (set or unset) will be overridden when > +# loading this file, other *unset* `ac_cv_foo' will be assigned the > +# following values. > + > +_ACEOF > + > +# The following way of writing the cache mishandles newlines in values, > +# but we know of no workaround that is simple, portable, and efficient. > +# So, we kill variables containing newlines. > +# Ultrix sh set writes to stderr and can't be redirected directly, > +# and sets the high bit in the cache file unless we assign to the vars. > +( > + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do > + eval ac_val=\$$ac_var > + case $ac_val in #( > + *${as_nl}*) > + case $ac_var in #( > + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 > +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; > + esac > + case $ac_var in #( > + _ | IFS | as_nl) ;; #( > + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( > + *) { eval $ac_var=; unset $ac_var;} ;; > + esac ;; > + esac > + done > + > + (set) 2>&1 | > + case $as_nl`(ac_space=' '; set) 2>&1` in #( > + *${as_nl}ac_space=\ *) > + # `set' does not quote correctly, so add quotes: double-quote > + # substitution turns \\\\ into \\, and sed turns \\ into \. > + sed -n \ > + "s/'/'\\\\''/g; > + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" > + ;; #( > + *) > + # `set' quotes correctly as required by POSIX, so do not add quotes. > + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" > + ;; > + esac | > + sort > +) | > + sed ' > + /^ac_cv_env_/b end > + t clear > + :clear > + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ > + t end > + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ > + :end' >>confcache > +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else > + if test -w "$cache_file"; then > + if test "x$cache_file" != "x/dev/null"; then > + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 > +$as_echo "$as_me: updating cache $cache_file" >&6;} > + if test ! -f "$cache_file" || test -h "$cache_file"; then > + cat confcache >"$cache_file" > + else > + case $cache_file in #( > + */* | ?:*) > + mv -f confcache "$cache_file"$$ && > + mv -f "$cache_file"$$ "$cache_file" ;; #( > + *) > + mv -f confcache "$cache_file" ;; > + esac > + fi > + fi > + else > + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 > +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} > + fi > +fi > +rm -f confcache > + > +test "x$prefix" = xNONE && prefix=$ac_default_prefix > +# Let make expand exec_prefix. > +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' > + > +# Transform confdefs.h into DEFS. > +# Protect against shell expansion while executing Makefile rules. > +# Protect against Makefile macro expansion. > +# > +# If the first sed substitution is executed (which looks for macros that > +# take arguments), then branch to the quote section. Otherwise, > +# look for a macro that doesn't take arguments. > +ac_script=' > +:mline > +/\\$/{ > + N > + s,\\\n,, > + b mline > +} > +t clear > +:clear > +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g > +t quote > +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g > +t quote > +b any > +:quote > +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g > +s/\[/\\&/g > +s/\]/\\&/g > +s/\$/$$/g > +H > +:any > +${ > + g > + s/^\n// > + s/\n/ /g > + p > +} > +' > +DEFS=`sed -n "$ac_script" confdefs.h` > + > + > +ac_libobjs= > +ac_ltlibobjs= > +U= > +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue > + # 1. Remove the extension, and $U if already installed. > + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' > + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` > + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR > + # will be set to the directory where LIBOBJS objects are built. > + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" > + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' > +done > +LIBOBJS=$ac_libobjs > + > +LTLIBOBJS=$ac_ltlibobjs > + > + > +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then > + as_fn_error $? "conditional \"AMDEP\" was never defined. > +Usually this means the macro was only invoked conditionally." "$LINENO" 5 > +fi > +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then > + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. > +Usually this means the macro was only invoked conditionally." "$LINENO" 5 > +fi > + > +: "${CONFIG_STATUS=./config.status}" > +ac_write_fail=0 > +ac_clean_files_save=$ac_clean_files > +ac_clean_files="$ac_clean_files $CONFIG_STATUS" > +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 > +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} > +as_write_fail=0 > +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 > +#! $SHELL > +# Generated by $as_me. > +# Run this file to recreate the current configuration. > +# Compiler output produced by configure, useful for debugging > +# configure, is in config.log if it exists. > + > +debug=false > +ac_cs_recheck=false > +ac_cs_silent=false > + > +SHELL=\${CONFIG_SHELL-$SHELL} > +export SHELL > +_ASEOF > +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 > +## -------------------- ## > +## M4sh Initialization. ## > +## -------------------- ## > + > +# Be more Bourne compatible > +DUALCASE=1; export DUALCASE # for MKS sh > +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : > + emulate sh > + NULLCMD=: > + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which > + # is contrary to our usage. Disable this feature. > + alias -g '${1+"$@"}'='"$@"' > + setopt NO_GLOB_SUBST > +else > + case `(set -o) 2>/dev/null` in #( > + *posix*) : > + set -o posix ;; #( > + *) : > + ;; > +esac > +fi > + > + > +as_nl=' > +' > +export as_nl > +# Printing a long string crashes Solaris 7 /usr/bin/printf. > +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' > +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo > +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo > +# Prefer a ksh shell builtin over an external printf program on Solaris, > +# but without wasting forks for bash or zsh. > +if test -z "$BASH_VERSION$ZSH_VERSION" \ > + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then > + as_echo='print -r --' > + as_echo_n='print -rn --' > +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then > + as_echo='printf %s\n' > + as_echo_n='printf %s' > +else > + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then > + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' > + as_echo_n='/usr/ucb/echo -n' > + else > + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' > + as_echo_n_body='eval > + arg=$1; > + case $arg in #( > + *"$as_nl"*) > + expr "X$arg" : "X\\(.*\\)$as_nl"; > + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; > + esac; > + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" > + ' > + export as_echo_n_body > + as_echo_n='sh -c $as_echo_n_body as_echo' > + fi > + export as_echo_body > + as_echo='sh -c $as_echo_body as_echo' > +fi > + > +# The user is always right. > +if test "${PATH_SEPARATOR+set}" != set; then > + PATH_SEPARATOR=: > + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { > + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || > + PATH_SEPARATOR=';' > + } > +fi > + > + > +# IFS > +# We need space, tab and new line, in precisely that order. Quoting is > +# there to prevent editors from complaining about space-tab. > +# (If _AS_PATH_WALK were called with IFS unset, it would disable word > +# splitting by setting IFS to empty value.) > +IFS=" "" $as_nl" > + > +# Find who we are. Look in the path if we contain no directory separator. > +as_myself= > +case $0 in #(( > + *[\\/]* ) as_myself=$0 ;; > + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR > +for as_dir in $PATH > +do > + IFS=$as_save_IFS > + test -z "$as_dir" && as_dir=. > + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break > + done > +IFS=$as_save_IFS > + > + ;; > +esac > +# We did not find ourselves, most probably we were run as `sh COMMAND' > +# in which case we are not to be found in the path. > +if test "x$as_myself" = x; then > + as_myself=$0 > +fi > +if test ! -f "$as_myself"; then > + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 > + exit 1 > +fi > + > +# Unset variables that we do not need and which cause bugs (e.g. in > +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" > +# suppresses any "Segmentation fault" message there. '((' could > +# trigger a bug in pdksh 5.2.14. > +for as_var in BASH_ENV ENV MAIL MAILPATH > +do eval test x\${$as_var+set} = xset \ > + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : > +done > +PS1='$ ' > +PS2='> ' > +PS4='+ ' > + > +# NLS nuisances. > +LC_ALL=C > +export LC_ALL > +LANGUAGE=C > +export LANGUAGE > + > +# CDPATH. > +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH > + > + > +# as_fn_error STATUS ERROR [LINENO LOG_FD] > +# ---------------------------------------- > +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are > +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the > +# script with STATUS, using 1 if that was 0. > +as_fn_error () > +{ > + as_status=$1; test $as_status -eq 0 && as_status=1 > + if test "$4"; then > + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack > + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 > + fi > + $as_echo "$as_me: error: $2" >&2 > + as_fn_exit $as_status > +} # as_fn_error > + > + > +# as_fn_set_status STATUS > +# ----------------------- > +# Set $? to STATUS, without forking. > +as_fn_set_status () > +{ > + return $1 > +} # as_fn_set_status > + > +# as_fn_exit STATUS > +# ----------------- > +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. > +as_fn_exit () > +{ > + set +e > + as_fn_set_status $1 > + exit $1 > +} # as_fn_exit > + > +# as_fn_unset VAR > +# --------------- > +# Portably unset VAR. > +as_fn_unset () > +{ > + { eval $1=; unset $1;} > +} > +as_unset=as_fn_unset > +# as_fn_append VAR VALUE > +# ---------------------- > +# Append the text in VALUE to the end of the definition contained in VAR. Take > +# advantage of any shell optimizations that allow amortized linear growth over > +# repeated appends, instead of the typical quadratic growth present in naive > +# implementations. > +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : > + eval 'as_fn_append () > + { > + eval $1+=\$2 > + }' > +else > + as_fn_append () > + { > + eval $1=\$$1\$2 > + } > +fi # as_fn_append > + > +# as_fn_arith ARG... > +# ------------------ > +# Perform arithmetic evaluation on the ARGs, and store the result in the > +# global $as_val. Take advantage of shells that can avoid forks. The arguments > +# must be portable across $(()) and expr. > +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : > + eval 'as_fn_arith () > + { > + as_val=$(( $* )) > + }' > +else > + as_fn_arith () > + { > + as_val=`expr "$@" || test $? -eq 1` > + } > +fi # as_fn_arith > + > + > +if expr a : '\(a\)' >/dev/null 2>&1 && > + test "X`expr 00001 : '.*\(...\)'`" = X001; then > + as_expr=expr > +else > + as_expr=false > +fi > + > +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then > + as_basename=basename > +else > + as_basename=false > +fi > + > +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then > + as_dirname=dirname > +else > + as_dirname=false > +fi > + > +as_me=`$as_basename -- "$0" || > +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ > + X"$0" : 'X\(//\)$' \| \ > + X"$0" : 'X\(/\)' \| . 2>/dev/null || > +$as_echo X/"$0" | > + sed '/^.*\/\([^/][^/]*\)\/*$/{ > + s//\1/ > + q > + } > + /^X\/\(\/\/\)$/{ > + s//\1/ > + q > + } > + /^X\/\(\/\).*/{ > + s//\1/ > + q > + } > + s/.*/./; q'` > + > +# Avoid depending upon Character Ranges. > +as_cr_letters='abcdefghijklmnopqrstuvwxyz' > +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' > +as_cr_Letters=$as_cr_letters$as_cr_LETTERS > +as_cr_digits='0123456789' > +as_cr_alnum=$as_cr_Letters$as_cr_digits > + > +ECHO_C= ECHO_N= ECHO_T= > +case `echo -n x` in #((((( > +-n*) > + case `echo 'xy\c'` in > + *c*) ECHO_T=' ';; # ECHO_T is single tab character. > + xy) ECHO_C='\c';; > + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null > + ECHO_T=' ';; > + esac;; > +*) > + ECHO_N='-n';; > +esac > + > +rm -f conf$$ conf$$.exe conf$$.file > +if test -d conf$$.dir; then > + rm -f conf$$.dir/conf$$.file > +else > + rm -f conf$$.dir > + mkdir conf$$.dir 2>/dev/null > +fi > +if (echo >conf$$.file) 2>/dev/null; then > + if ln -s conf$$.file conf$$ 2>/dev/null; then > + as_ln_s='ln -s' > + # ... but there are two gotchas: > + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. > + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. > + # In both cases, we have to default to `cp -p'. > + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || > + as_ln_s='cp -p' > + elif ln conf$$.file conf$$ 2>/dev/null; then > + as_ln_s=ln > + else > + as_ln_s='cp -p' > + fi > +else > + as_ln_s='cp -p' > +fi > +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file > +rmdir conf$$.dir 2>/dev/null > + > + > +# as_fn_mkdir_p > +# ------------- > +# Create "$as_dir" as a directory, including parents if necessary. > +as_fn_mkdir_p () > +{ > + > + case $as_dir in #( > + -*) as_dir=./$as_dir;; > + esac > + test -d "$as_dir" || eval $as_mkdir_p || { > + as_dirs= > + while :; do > + case $as_dir in #( > + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( > + *) as_qdir=$as_dir;; > + esac > + as_dirs="'$as_qdir' $as_dirs" > + as_dir=`$as_dirname -- "$as_dir" || > +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ > + X"$as_dir" : 'X\(//\)[^/]' \| \ > + X"$as_dir" : 'X\(//\)$' \| \ > + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || > +$as_echo X"$as_dir" | > + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ > + s//\1/ > + q > + } > + /^X\(\/\/\)[^/].*/{ > + s//\1/ > + q > + } > + /^X\(\/\/\)$/{ > + s//\1/ > + q > + } > + /^X\(\/\).*/{ > + s//\1/ > + q > + } > + s/.*/./; q'` > + test -d "$as_dir" && break > + done > + test -z "$as_dirs" || eval "mkdir $as_dirs" > + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" > + > + > +} # as_fn_mkdir_p > +if mkdir -p . 2>/dev/null; then > + as_mkdir_p='mkdir -p "$as_dir"' > +else > + test -d ./-p && rmdir ./-p > + as_mkdir_p=false > +fi > + > +if test -x / >/dev/null 2>&1; then > + as_test_x='test -x' > +else > + if ls -dL / >/dev/null 2>&1; then > + as_ls_L_option=L > + else > + as_ls_L_option= > + fi > + as_test_x=' > + eval sh -c '\'' > + if test -d "$1"; then > + test -d "$1/."; > + else > + case $1 in #( > + -*)set "./$1";; > + esac; > + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( > + ???[sx]*):;;*)false;;esac;fi > + '\'' sh > + ' > +fi > +as_executable_p=$as_test_x > + > +# Sed expression to map a string onto a valid CPP name. > +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" > + > +# Sed expression to map a string onto a valid variable name. > +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" > + > + > +exec 6>&1 > +## ----------------------------------- ## > +## Main body of $CONFIG_STATUS script. ## > +## ----------------------------------- ## > +_ASEOF > +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 > + > +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 > +# Save the log message, to keep $0 and so on meaningful, and to > +# report actual input values of CONFIG_FILES etc. instead of their > +# values after options handling. > +ac_log=" > +This file was extended by $as_me, which was > +generated by GNU Autoconf 2.68. Invocation command line was > + > + CONFIG_FILES = $CONFIG_FILES > + CONFIG_HEADERS = $CONFIG_HEADERS > + CONFIG_LINKS = $CONFIG_LINKS > + CONFIG_COMMANDS = $CONFIG_COMMANDS > + $ $0 $@ > + > +on `(hostname || uname -n) 2>/dev/null | sed 1q` > +" > + > +_ACEOF > + > +case $ac_config_files in *" > +"*) set x $ac_config_files; shift; ac_config_files=$*;; > +esac > + > + > + > +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 > +# Files that config.status was made for. > +config_files="$ac_config_files" > +config_commands="$ac_config_commands" > + > +_ACEOF > + > +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 > +ac_cs_usage="\ > +\`$as_me' instantiates files and other configuration actions > +from templates according to the current configuration. Unless the files > +and actions are specified as TAGs, all are instantiated by default. > + > +Usage: $0 [OPTION]... [TAG]... > + > + -h, --help print this help, then exit > + -V, --version print version number and configuration settings, then exit > + --config print configuration, then exit > + -q, --quiet, --silent > + do not print progress messages > + -d, --debug don't remove temporary files > + --recheck update $as_me by reconfiguring in the same conditions > + --file=FILE[:TEMPLATE] > + instantiate the configuration file FILE > + > +Configuration files: > +$config_files > + > +Configuration commands: > +$config_commands > + > +Report bugs to the package provider." > + > +_ACEOF > +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 > +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" > +ac_cs_version="\\ > +config.status > +configured by $0, generated by GNU Autoconf 2.68, > + with options \\"\$ac_cs_config\\" > + > +Copyright (C) 2010 Free Software Foundation, Inc. > +This config.status script is free software; the Free Software Foundation > +gives unlimited permission to copy, distribute and modify it." > + > +ac_pwd='$ac_pwd' > +srcdir='$srcdir' > +INSTALL='$INSTALL' > +test -n "\$AWK" || AWK=awk > +_ACEOF > + > +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 > +# The default lists apply if the user does not specify any file. > +ac_need_defaults=: > +while test $# != 0 > +do > + case $1 in > + --*=?*) > + ac_option=`expr "X$1" : 'X\([^=]*\)='` > + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` > + ac_shift=: > + ;; > + --*=) > + ac_option=`expr "X$1" : 'X\([^=]*\)='` > + ac_optarg= > + ac_shift=: > + ;; > + *) > + ac_option=$1 > + ac_optarg=$2 > + ac_shift=shift > + ;; > + esac > + > + case $ac_option in > + # Handling of the options. > + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) > + ac_cs_recheck=: ;; > + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) > + $as_echo "$ac_cs_version"; exit ;; > + --config | --confi | --conf | --con | --co | --c ) > + $as_echo "$ac_cs_config"; exit ;; > + --debug | --debu | --deb | --de | --d | -d ) > + debug=: ;; > + --file | --fil | --fi | --f ) > + $ac_shift > + case $ac_optarg in > + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; > + '') as_fn_error $? "missing file argument" ;; > + esac > + as_fn_append CONFIG_FILES " '$ac_optarg'" > + ac_need_defaults=false;; > + --he | --h | --help | --hel | -h ) > + $as_echo "$ac_cs_usage"; exit ;; > + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ > + | -silent | --silent | --silen | --sile | --sil | --si | --s) > + ac_cs_silent=: ;; > + > + # This is an error. > + -*) as_fn_error $? "unrecognized option: \`$1' > +Try \`$0 --help' for more information." ;; > + > + *) as_fn_append ac_config_targets " $1" > + ac_need_defaults=false ;; > + > + esac > + shift > +done > + > +ac_configure_extra_args= > + > +if $ac_cs_silent; then > + exec 6>/dev/null > + ac_configure_extra_args="$ac_configure_extra_args --silent" > +fi > + > +_ACEOF > +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 > +if \$ac_cs_recheck; then > + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion > + shift > + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 > + CONFIG_SHELL='$SHELL' > + export CONFIG_SHELL > + exec "\$@" > +fi > + > +_ACEOF > +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 > +exec 5>>config.log > +{ > + echo > + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX > +## Running $as_me. ## > +_ASBOX > + $as_echo "$ac_log" > +} >&5 > + > +_ACEOF > +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 > +# > +# INIT-COMMANDS > +# > +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" > +srcdir=${srcdir} > +target=${target} > +with_multisubdir=${with_multisubdir} > +ac_configure_args="${ac_configure_args} --enable-multilib" > +CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} > +libgloss_topdir=${libgloss_topdir} > + > + > +_ACEOF > + > +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 > + > +# Handling of arguments. > +for ac_config_target in $ac_config_targets > +do > + case $ac_config_target in > + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; > + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; > + > + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; > + esac > +done > + > + > +# If the user did not use the arguments to specify the items to instantiate, > +# then the envvar interface is used. Set only those that are not. > +# We use the long form for the default assignment because of an extremely > +# bizarre bug on SunOS 4.1.3. > +if $ac_need_defaults; then > + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files > + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands > +fi > + > +# Have a temporary directory for convenience. Make it in the build tree > +# simply because there is no reason against having it here, and in addition, > +# creating and moving files from /tmp can sometimes cause problems. > +# Hook for its removal unless debugging. > +# Note that there is a small window in which the directory will not be cleaned: > +# after its creation but before its name has been assigned to `$tmp'. > +$debug || > +{ > + tmp= ac_tmp= > + trap 'exit_status=$? > + : "${ac_tmp:=$tmp}" > + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status > +' 0 > + trap 'as_fn_exit 1' 1 2 13 15 > +} > +# Create a (secure) tmp directory for tmp files. > + > +{ > + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && > + test -d "$tmp" > +} || > +{ > + tmp=./conf$$-$RANDOM > + (umask 077 && mkdir "$tmp") > +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 > +ac_tmp=$tmp > + > +# Set up the scripts for CONFIG_FILES section. > +# No need to generate them if there are no CONFIG_FILES. > +# This happens for instance with `./config.status config.h'. > +if test -n "$CONFIG_FILES"; then > + > +if $AWK 'BEGIN { getline <"/dev/null" }' </dev/null 2>/dev/null; then > + ac_cs_awk_getline=: > + ac_cs_awk_pipe_init= > + ac_cs_awk_read_file=' > + while ((getline aline < (F[key])) > 0) > + print(aline) > + close(F[key])' > + ac_cs_awk_pipe_fini= > +else > + ac_cs_awk_getline=false > + ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\"" > + ac_cs_awk_read_file=' > + print "|#_!!_#|" > + print "cat " F[key] " &&" > + '$ac_cs_awk_pipe_init > + # The final `:' finishes the AND list. > + ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }' > +fi > +ac_cr=`echo X | tr X '\015'` > +# On cygwin, bash can eat \r inside `` if the user requested igncr. > +# But we know of no other shell where ac_cr would be empty at this > +# point, so we can use a bashism as a fallback. > +if test "x$ac_cr" = x; then > + eval ac_cr=\$\'\\r\' > +fi > +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` > +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then > + ac_cs_awk_cr='\\r' > +else > + ac_cs_awk_cr=$ac_cr > +fi > + > +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && > +_ACEOF > + > +# Create commands to substitute file output variables. > +{ > + echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" && > + echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' && > + echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' && > + echo "_ACAWK" && > + echo "_ACEOF" > +} >conf$$files.sh && > +. ./conf$$files.sh || > + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 > +rm -f conf$$files.sh > + > +{ > + echo "cat >conf$$subs.awk <<_ACEOF" && > + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && > + echo "_ACEOF" > +} >conf$$subs.sh || > + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 > +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` > +ac_delim='%!_!# ' > +for ac_last_try in false false false false false :; do > + . ./conf$$subs.sh || > + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 > + > + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` > + if test $ac_delim_n = $ac_delim_num; then > + break > + elif $ac_last_try; then > + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 > + else > + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " > + fi > +done > +rm -f conf$$subs.sh > + > +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 > +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && > +_ACEOF > +sed -n ' > +h > +s/^/S["/; s/!.*/"]=/ > +p > +g > +s/^[^!]*!// > +:repl > +t repl > +s/'"$ac_delim"'$// > +t delim > +:nl > +h > +s/\(.\{148\}\)..*/\1/ > +t more1 > +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ > +p > +n > +b repl > +:more1 > +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ > +p > +g > +s/.\{148\}// > +t nl > +:delim > +h > +s/\(.\{148\}\)..*/\1/ > +t more2 > +s/["\\]/\\&/g; s/^/"/; s/$/"/ > +p > +b > +:more2 > +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ > +p > +g > +s/.\{148\}// > +t delim > +' <conf$$subs.awk | sed ' > +/^[^""]/{ > + N > + s/\n// > +} > +' >>$CONFIG_STATUS || ac_write_fail=1 > +rm -f conf$$subs.awk > +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 > +_ACAWK > +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && > + for (key in S) S_is_set[key] = 1 > + FS = "" > + \$ac_cs_awk_pipe_init > +} > +{ > + line = $ 0 > + nfields = split(line, field, "@") > + substed = 0 > + len = length(field[1]) > + for (i = 2; i < nfields; i++) { > + key = field[i] > + keylen = length(key) > + if (S_is_set[key]) { > + value = S[key] > + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) > + len += length(value) + length(field[++i]) > + substed = 1 > + } else > + len += 1 + keylen > + } > + if (nfields == 3 && !substed) { > + key = field[2] > + if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) { > + \$ac_cs_awk_read_file > + next > + } > + } > + print line > +} > +\$ac_cs_awk_pipe_fini > +_ACAWK > +_ACEOF > +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 > +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then > + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" > +else > + cat > +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ > + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 > +_ACEOF > + > +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), > +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and > +# trailing colons and then remove the whole line if VPATH becomes empty > +# (actually we leave an empty line to preserve line numbers). > +if test "x$srcdir" = x.; then > + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ > +h > +s/// > +s/^/:/ > +s/[ ]*$/:/ > +s/:\$(srcdir):/:/g > +s/:\${srcdir}:/:/g > +s/:@srcdir@:/:/g > +s/^:*// > +s/:*$// > +x > +s/\(=[ ]*\).*/\1/ > +G > +s/\n// > +s/^[^=]*=[ ]*$// > +}' > +fi > + > +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 > +fi # test -n "$CONFIG_FILES" > + > + > +eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS" > +shift > +for ac_tag > +do > + case $ac_tag in > + :[FHLC]) ac_mode=$ac_tag; continue;; > + esac > + case $ac_mode$ac_tag in > + :[FHL]*:*);; > + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; > + :[FH]-) ac_tag=-:-;; > + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; > + esac > + ac_save_IFS=$IFS > + IFS=: > + set x $ac_tag > + IFS=$ac_save_IFS > + shift > + ac_file=$1 > + shift > + > + case $ac_mode in > + :L) ac_source=$1;; > + :[FH]) > + ac_file_inputs= > + for ac_f > + do > + case $ac_f in > + -) ac_f="$ac_tmp/stdin";; > + *) # Look for the file first in the build tree, then in the source tree > + # (if the path is not absolute). The absolute path cannot be DOS-style, > + # because $ac_f cannot contain `:'. > + test -f "$ac_f" || > + case $ac_f in > + [\\/$]*) false;; > + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; > + esac || > + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; > + esac > + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac > + as_fn_append ac_file_inputs " '$ac_f'" > + done > + > + # Let's still pretend it is `configure' which instantiates (i.e., don't > + # use $as_me), people would be surprised to read: > + # /* config.h. Generated by config.status. */ > + configure_input='Generated from '` > + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' > + `' by configure.' > + if test x"$ac_file" != x-; then > + configure_input="$ac_file. $configure_input" > + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 > +$as_echo "$as_me: creating $ac_file" >&6;} > + fi > + # Neutralize special characters interpreted by sed in replacement strings. > + case $configure_input in #( > + *\&* | *\|* | *\\* ) > + ac_sed_conf_input=`$as_echo "$configure_input" | > + sed 's/[\\\\&|]/\\\\&/g'`;; #( > + *) ac_sed_conf_input=$configure_input;; > + esac > + > + case $ac_tag in > + *:-:* | *:-) cat >"$ac_tmp/stdin" \ > + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; > + esac > + ;; > + esac > + > + ac_dir=`$as_dirname -- "$ac_file" || > +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ > + X"$ac_file" : 'X\(//\)[^/]' \| \ > + X"$ac_file" : 'X\(//\)$' \| \ > + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || > +$as_echo X"$ac_file" | > + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ > + s//\1/ > + q > + } > + /^X\(\/\/\)[^/].*/{ > + s//\1/ > + q > + } > + /^X\(\/\/\)$/{ > + s//\1/ > + q > + } > + /^X\(\/\).*/{ > + s//\1/ > + q > + } > + s/.*/./; q'` > + as_dir="$ac_dir"; as_fn_mkdir_p > + ac_builddir=. > + > +case "$ac_dir" in > +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; > +*) > + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` > + # A ".." for each directory in $ac_dir_suffix. > + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` > + case $ac_top_builddir_sub in > + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; > + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; > + esac ;; > +esac > +ac_abs_top_builddir=$ac_pwd > +ac_abs_builddir=$ac_pwd$ac_dir_suffix > +# for backward compatibility: > +ac_top_builddir=$ac_top_build_prefix > + > +case $srcdir in > + .) # We are building in place. > + ac_srcdir=. > + ac_top_srcdir=$ac_top_builddir_sub > + ac_abs_top_srcdir=$ac_pwd ;; > + [\\/]* | ?:[\\/]* ) # Absolute name. > + ac_srcdir=$srcdir$ac_dir_suffix; > + ac_top_srcdir=$srcdir > + ac_abs_top_srcdir=$srcdir ;; > + *) # Relative name. > + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix > + ac_top_srcdir=$ac_top_build_prefix$srcdir > + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; > +esac > +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix > + > + > + case $ac_mode in > + :F) > + # > + # CONFIG_FILE > + # > + > + case $INSTALL in > + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; > + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; > + esac > +_ACEOF > + > +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 > +# If the template does not know about datarootdir, expand it. > +# FIXME: This hack should be removed a few years after 2.60. > +ac_datarootdir_hack=; ac_datarootdir_seen= > +ac_sed_dataroot=' > +/datarootdir/ { > + p > + q > +} > +/@datadir@/p > +/@docdir@/p > +/@infodir@/p > +/@localedir@/p > +/@mandir@/p' > +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in > +*datarootdir*) ac_datarootdir_seen=yes;; > +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) > + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 > +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} > +_ACEOF > +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 > + ac_datarootdir_hack=' > + s&@datadir@&$datadir&g > + s&@docdir@&$docdir&g > + s&@infodir@&$infodir&g > + s&@localedir@&$localedir&g > + s&@mandir@&$mandir&g > + s&\\\${datarootdir}&$datarootdir&g' ;; > +esac > +_ACEOF > + > +# Neutralize VPATH when `$srcdir' = `.'. > +# Shell code in configure.ac might set extrasub. > +# FIXME: do we really want to maintain this feature? > +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 > +ac_sed_extra="$ac_vpsub > +$extrasub > +_ACEOF > +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 > +:t > +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b > +s|@configure_input@|$ac_sed_conf_input|;t t > +s&@top_builddir@&$ac_top_builddir_sub&;t t > +s&@top_build_prefix@&$ac_top_build_prefix&;t t > +s&@srcdir@&$ac_srcdir&;t t > +s&@abs_srcdir@&$ac_abs_srcdir&;t t > +s&@top_srcdir@&$ac_top_srcdir&;t t > +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t > +s&@builddir@&$ac_builddir&;t t > +s&@abs_builddir@&$ac_abs_builddir&;t t > +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t > +s&@INSTALL@&$ac_INSTALL&;t t > +$ac_datarootdir_hack > +" > +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | > +if $ac_cs_awk_getline; then > + $AWK -f "$ac_tmp/subs.awk" > +else > + $AWK -f "$ac_tmp/subs.awk" | $SHELL > +fi \ > + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 > + > +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && > + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && > + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ > + "$ac_tmp/out"`; test -z "$ac_out"; } && > + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' > +which seems to be undefined. Please make sure it is defined" >&5 > +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' > +which seems to be undefined. Please make sure it is defined" >&2;} > + > + rm -f "$ac_tmp/stdin" > + case $ac_file in > + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; > + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; > + esac \ > + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 > + ;; > + > + > + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 > +$as_echo "$as_me: executing $ac_file commands" >&6;} > + ;; > + esac > + > + > + case $ac_file$ac_mode in > + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do > + # Strip MF so we end up with the name of the file. > + mf=`echo "$mf" | sed -e 's/:.*$//'` > + # Check whether this is an Automake generated Makefile or not. > + # We used to match only the files named `Makefile.in', but > + # some people rename them; so instead we look at the file content. > + # Grep'ing the first line is not enough: some people post-process > + # each Makefile.in and add a new line on top of each file to say so. > + # So let's grep whole file. > + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then > + dirpart=`$as_dirname -- "$mf" || > +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ > + X"$mf" : 'X\(//\)[^/]' \| \ > + X"$mf" : 'X\(//\)$' \| \ > + X"$mf" : 'X\(/\)' \| . 2>/dev/null || > +$as_echo X"$mf" | > + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ > + s//\1/ > + q > + } > + /^X\(\/\/\)[^/].*/{ > + s//\1/ > + q > + } > + /^X\(\/\/\)$/{ > + s//\1/ > + q > + } > + /^X\(\/\).*/{ > + s//\1/ > + q > + } > + s/.*/./; q'` > + else > + continue > + fi > + # Extract the definition of DEPDIR, am__include, and am__quote > + # from the Makefile without running `make'. > + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` > + test -z "$DEPDIR" && continue > + am__include=`sed -n 's/^am__include = //p' < "$mf"` > + test -z "am__include" && continue > + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` > + # When using ansi2knr, U may be empty or an underscore; expand it > + U=`sed -n 's/^U = //p' < "$mf"` > + # Find all dependency output files, they are included files with > + # $(DEPDIR) in their names. We invoke sed twice because it is the > + # simplest approach to changing $(DEPDIR) to its actual value in the > + # expansion. > + for file in `sed -n " > + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ > + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do > + # Make sure the directory exists. > + test -f "$dirpart/$file" && continue > + fdir=`$as_dirname -- "$file" || > +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ > + X"$file" : 'X\(//\)[^/]' \| \ > + X"$file" : 'X\(//\)$' \| \ > + X"$file" : 'X\(/\)' \| . 2>/dev/null || > +$as_echo X"$file" | > + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ > + s//\1/ > + q > + } > + /^X\(\/\/\)[^/].*/{ > + s//\1/ > + q > + } > + /^X\(\/\/\)$/{ > + s//\1/ > + q > + } > + /^X\(\/\).*/{ > + s//\1/ > + q > + } > + s/.*/./; q'` > + as_dir=$dirpart/$fdir; as_fn_mkdir_p > + # echo "creating $dirpart/$file" > + echo '# dummy' > "$dirpart/$file" > + done > +done > + ;; > + "Makefile":F) . ${libgloss_topdir}/config-ml.in ;; > + > + esac > +done # for ac_tag > + > + > +as_fn_exit 0 > +_ACEOF > +ac_clean_files=$ac_clean_files_save > + > +test $ac_write_fail = 0 || > + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 > + > + > +# configure is writing to config.log, and then calls config.status. > +# config.status does its own redirection, appending to config.log. > +# Unfortunately, on DOS this fails, as config.log is still kept open > +# by configure, so config.status won't be able to write to it; its > +# output is simply discarded. So we exec the FD to /dev/null, > +# effectively closing config.log, so it can be properly (re)opened and > +# appended to by config.status. When coming back to configure, we > +# need to make the FD available again. > +if test "$no_create" != yes; then > + ac_cs_success=: > + ac_config_status_args= > + test "$silent" = yes && > + ac_config_status_args="$ac_config_status_args --quiet" > + exec 5>/dev/null > + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false > + exec 5>>config.log > + # Use ||, not &&, to avoid exiting from the if with $? = 1, which > + # would make configure fail if this is the last instruction. > + $ac_cs_success || as_fn_exit 1 > +fi > +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then > + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 > +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} > +fi > + > diff --git a/libgloss/nios2/configure.in b/libgloss/nios2/configure.in > new file mode 100644 > index 0000000..fb187b7 > --- /dev/null > +++ b/libgloss/nios2/configure.in > @@ -0,0 +1,58 @@ > +dnl Process this file with autoconf to produce a configure script. > +AC_PREREQ(2.59) > +AC_INIT(crt0.S) > + > +if test "${enable_shared}" = "yes" ; then > + echo "Shared libraries not supported for cross compiling, ignored" > +fi > + > +if test "$srcdir" = "." ; then > + if test "${with_target_subdir}" != "." ; then > + libgloss_topdir="${with_multisrctop}../../.." > + else > + libgloss_topdir="${with_multisrctop}../.." > + fi > +else > + libgloss_topdir="${srcdir}/../.." > +fi > +AC_CONFIG_AUX_DIR($libgloss_topdir) > + > +AC_CANONICAL_SYSTEM > +AC_ARG_PROGRAM > + > +AC_PROG_INSTALL > + > +LIB_AC_PROG_CC > +AS=${AS-as} > +AC_SUBST(AS) > +AR=${AR-ar} > +AC_SUBST(AR) > +LD=${LD-ld} > +AC_SUBST(LD) > +AC_PROG_RANLIB > +LIB_AM_PROG_AS > + > +host_makefile_frag=${srcdir}/../config/default.mh > +target_makefile_frag=${srcdir}/../config/default.mt > + > +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) > + > +AC_CONFIG_FILES(Makefile, > +. ${libgloss_topdir}/config-ml.in, > +srcdir=${srcdir} > +target=${target} > +with_multisubdir=${with_multisubdir} > +ac_configure_args="${ac_configure_args} --enable-multilib" > +CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} > +libgloss_topdir=${libgloss_topdir} > +) > +AC_OUTPUT > diff --git a/libgloss/nios2/crt0.S b/libgloss/nios2/crt0.S > new file mode 100644 > index 0000000..77eacb3 > --- /dev/null > +++ b/libgloss/nios2/crt0.S > @@ -0,0 +1,140 @@ > +/* crt0.S -- startup code for Nios II QEMU generic-nommu board emulation. > + > + Copyright (c) 2018 Mentor Graphics > + > + The authors hereby grant permission to use, copy, modify, distribute, > + and license this software and its documentation for any purpose, provided > + that existing copyright notices are retained in all copies and that this > + notice is included verbatim in any distributions. No written agreement, > + license, or royalty fee is required for any of the authorized uses. > + Modifications to this software may be copyrighted by their authors > + and need not follow the licensing terms described here, provided that > + the new terms are clearly indicated on the first page of each file where > + they apply. > + > + Parts of this file were derived from code written by Altera Corporation > + and distributed under the following license: > + > + Copyright (c) 2006 Altera Corporation, San Jose, California, USA. > + All rights reserved. > + > + Permission is hereby granted, free of charge, to any person obtaining a > + copy of this software and associated documentation files (the "Software"), > + to deal in the Software without restriction, including without limitation > + the rights to use, copy, modify, merge, publish, distribute, sublicense, > + and/or sell copies of the Software, and to permit persons to whom the > + Software is furnished to do so, subject to the following conditions: > + > + The above copyright notice and this permission notice shall be included in > + all copies or substantial portions of the Software. > + > + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR > + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE > + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER > + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER > + DEALINGS IN THE SOFTWARE. > + > + This agreement shall be governed in all respects by the laws of the State > + of California and by the laws of the United States of America. > +*/ > + > +/* Cache sizes. */ > + > +#define NIOS2_ICACHE_LINE_SIZE 32 > +#define NIOS2_ICACHE_SIZE 32768 > +#define NIOS2_DCACHE_LINE_SIZE 32 > +#define NIOS2_DCACHE_SIZE 32768 > + > +/* External symbols. */ > + .globl __stack > + .globl __gp > + .globl __bss_start > + .globl __bss_end > + .weak exit > + > +/* Processor reset code lives at the base of RAM. At reset, only the cache > + line that contains the reset vector is initialized; the reset code has > + to fit in this cache line and initialize the remainder of the instruction > + cache. */ > + > + .section .text.entry, "ax" > + .align 5 > + .set noat > + > + .globl __reset > + .type __reset, @function > +__reset: > + > + /* Initialize the icache. */ > + movui r2, NIOS2_ICACHE_SIZE > +0: > + initi r2 > + addi r2, r2, -NIOS2_ICACHE_LINE_SIZE > + bgt r2, zero, 0b > +1: > + /* Jump to the __start entry point. */ > + movhi r1, %hi(__start) > + ori r1, r1, %lo(__start) > + jmp r1 > + > + .size __reset, . - __reset > + > + > +/* __start is the ELF entry point. */ > + > + .section .text.start, "ax" > + .align 4 > + .globl __start > + .type __start, @function > + > +__start: > + > + /* Initialize the data cache. */ > + movui r2, NIOS2_DCACHE_SIZE > +0: > + initd 0(r2) > + addi r2, r2, -NIOS2_DCACHE_LINE_SIZE > + bgt r2, zero, 0b > +1: > + > + /* Initialize the stack pointer. */ > + movhi sp, %hi(__stack) > + ori sp, sp, %lo(__stack) > + > + /* Initialize the GP. */ > + movhi gp, %hi(_gp) > + ori gp, gp, %lo(_gp) > + > + /* Clear BSS. */ > + movhi r2, %hi(__bss_start) > + ori r2, r2, %lo(__bss_start) > + movhi r3, %hi(__bss_end) > + ori r3, r3, %lo(__bss_end) > + beq r2, r3, 1f > +0: > + stw zero, (r2) > + addi r2, r2, 4 > + bltu r2, r3, 0b > +1: > + > + /* Run initializers. */ > + call __libc_init_array > + > + /* Call the C entry point. */ > + mov r4, zero /* argc */ > + mov r5, zero /* argv */ > + call main > + > + /* If main returns, call exit if it is defined. */ > + movhi r3, %hi(exit) > + ori r3, r3, %lo(exit) > + beq r3, zero, 2f > + mov r4, r2 /* exit status from main */ > + callr r3 > + > + /* Otherwise sit in busy loop. */ > +2: > + br 2b > + .size __start, . - __start > diff --git a/libgloss/nios2/getpid.c b/libgloss/nios2/getpid.c > new file mode 100644 > index 0000000..d0ffbba > --- /dev/null > +++ b/libgloss/nios2/getpid.c > @@ -0,0 +1,22 @@ > +/* > + * kill.c > + * > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +/* Minimal implementation of getpid for a target system without processes. */ > +int > +getpid () > +{ > + return 1; > +} > diff --git a/libgloss/nios2/io-close.c b/libgloss/nios2/io-close.c > new file mode 100644 > index 0000000..676fbba > --- /dev/null > +++ b/libgloss/nios2/io-close.c > @@ -0,0 +1,43 @@ > +/* > + * io-close.c -- > + * > + * Copyright (c) 2006 CodeSourcery Inc > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#include <unistd.h> > +#include <errno.h> > +#define IO close > +#include "io.h" > + > +/* > + * close -- close a file descriptor. > + * input parameters: > + * 0 : file descriptor > + * output parameters: > + * 0 : result > + * 1 : errno > + */ > + > +int close (int fd) > +{ > +#if HOSTED > + gdb_parambuf_t parameters; > + parameters[0] = (uint32_t) fd; > + __io_hosted (HOSTED_CLOSE, parameters); > + errno = __hosted_from_gdb_errno (parameters[1]); > + return parameters[0]; > +#else > + return 0; > +#endif > +} > diff --git a/libgloss/nios2/io-exit.c b/libgloss/nios2/io-exit.c > new file mode 100644 > index 0000000..e9801c4 > --- /dev/null > +++ b/libgloss/nios2/io-exit.c > @@ -0,0 +1,30 @@ > +/* > + * io-exit.c -- > + * > + * Copyright (c) 2006 CodeSourcery Inc > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#if HOSTED > +#include "io.h" > + > +/* > + * _exit -- Exit from the application. > + */ > + > +void __attribute__ ((noreturn)) _exit (int code) > +{ > + while (1) > + __io_hosted (HOSTED_EXIT, (void *)code); > +} > +#endif > diff --git a/libgloss/nios2/io-fstat.c b/libgloss/nios2/io-fstat.c > new file mode 100644 > index 0000000..113ef8e > --- /dev/null > +++ b/libgloss/nios2/io-fstat.c > @@ -0,0 +1,50 @@ > +/* > + * io-fstat.c -- > + * > + * Copyright (c) 2006 CodeSourcery Inc > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#include <sys/types.h> > +#include <sys/stat.h> > +#include <unistd.h> > +#include <errno.h> > +#define IO fstat > +#include "io.h" > + > +/* > + * fstat -- get file information > + * input parameters: > + * 0 : file descriptor > + * 1 : stat buf ptr > + * output parameters: > + * 0 : result > + * 1 : errno > + */ > + > +int fstat (int fd, struct stat *buf) > +{ > +#if HOSTED > + gdb_parambuf_t parameters; > + struct gdb_stat gbuf; > + parameters[0] = (uint32_t) fd; > + parameters[1] = (uint32_t) &gbuf; > + __io_hosted (HOSTED_FSTAT, parameters); > + __hosted_from_gdb_stat (&gbuf, buf); > + errno = __hosted_from_gdb_errno (parameters[1]); > + return parameters[0]; > +#else > + errno = ENOSYS; > + return -1; > +#endif > +} > diff --git a/libgloss/nios2/io-gdb.c b/libgloss/nios2/io-gdb.c > new file mode 100644 > index 0000000..ee58559 > --- /dev/null > +++ b/libgloss/nios2/io-gdb.c > @@ -0,0 +1,152 @@ > +/* > + * hosted io support for GDB's remote fileio protocol > + * > + * Copyright (c) 2006 CodeSourcery Inc > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#include "io.h" > +#include <fcntl.h> > +#include <unistd.h> > +#include <errno.h> > + > +gdb_mode_t > +__hosted_to_gdb_mode_t (mode_t m) > +{ > + gdb_mode_t result = 0; > + if (m & S_IFREG) > + result |= GDB_S_IFREG; > + if (m & S_IFDIR) > + result |= GDB_S_IFDIR; > + if (m & S_IRUSR) > + result |= GDB_S_IRUSR; > + if (m & S_IWUSR) > + result |= GDB_S_IWUSR; > + if (m & S_IXUSR) > + result |= GDB_S_IXUSR; > + if (m & S_IRGRP) > + result |= GDB_S_IRGRP; > + if (m & S_IWGRP) > + result |= GDB_S_IWGRP; > + if (m & S_IXGRP) > + result |= GDB_S_IXGRP; > + if (m & S_IROTH) > + result |= GDB_S_IROTH; > + if (m & S_IWOTH) > + result |= GDB_S_IWOTH; > + if (m & S_IXOTH) > + result |= GDB_S_IXOTH; > + return result; > +} > + > +int32_t > +__hosted_to_gdb_open_flags (int f) > +{ > + int32_t result = 0; > + if (f & O_RDONLY) > + result |= GDB_O_RDONLY; > + if (f & O_WRONLY) > + result |= GDB_O_WRONLY; > + if (f & O_RDWR) > + result |= GDB_O_RDWR; > + if (f & O_APPEND) > + result |= GDB_O_APPEND; > + if (f & O_CREAT) > + result |= GDB_O_CREAT; > + if (f & O_TRUNC) > + result |= GDB_O_TRUNC; > + if (f & O_EXCL) > + result |= GDB_O_EXCL; > + return result; > +} > + > +int32_t > +__hosted_to_gdb_lseek_flags (int f) > +{ > + if (f == SEEK_CUR) > + return GDB_SEEK_CUR; > + else if (f == SEEK_END) > + return GDB_SEEK_END; > + else > + return GDB_SEEK_SET; > +} > + > +/* The GDB remote protocol documentation specifies that integer fields > + within structures are stored in big-endian byte order. On little-endian > + targets, we have to byte-swap the values to match the target. */ > +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ > +#define SWAP32(n) __builtin_bswap32 (n) > +#define SWAP64(n) __builtin_bswap64 (n) > +#else > +#define SWAP32(n) (n) > +#define SWAP64(n) (n) > +#endif /* __BYTE_ORDER__ */ > + > +void > +__hosted_from_gdb_stat (const struct gdb_stat *gs, > + struct stat *s) > +{ > + s->st_dev = SWAP32 (gs->st_dev); > + s->st_ino = SWAP32 (gs->st_ino); > + s->st_mode = SWAP32 (gs->st_mode); > + s->st_nlink = SWAP32 (gs->st_nlink); > + s->st_uid = SWAP32 (gs->st_uid); > + s->st_gid = SWAP32 (gs->st_gid); > + s->st_rdev = SWAP32 (gs->st_rdev); > + s->st_size = SWAP64 (gs->st_size); > + s->st_blksize = SWAP64 (gs->st_blksize); > + s->st_blocks = SWAP64 (gs->st_blocks); > + s->st_atime = SWAP32 (gs->st_atime); > + s->st_mtime = SWAP32 (gs->st_mtime); > + s->st_ctime = SWAP32 (gs->st_ctime); > +} > + > +void > +__hosted_from_gdb_timeval (const struct gdb_timeval *gt, > + struct timeval *t) > +{ > + t->tv_sec = SWAP32 (gt->tv_sec); > + t->tv_usec = SWAP64 (gt->tv_usec); > +} > + > +int > +__hosted_from_gdb_errno (int32_t err) > +{ > + switch (err) > + { > + case 0: return 0; > + case GDB_EPERM: return EPERM; > + case GDB_ENOENT: return ENOENT; > + case GDB_EINTR: return EINTR; > + case GDB_EBADF: return EBADF; > + case GDB_EACCES: return EACCES; > + case GDB_EFAULT: return EFAULT; > + case GDB_EBUSY: return EBUSY; > + case GDB_EEXIST: return EEXIST; > + case GDB_ENODEV: return ENODEV; > + case GDB_ENOTDIR: return ENOTDIR; > + case GDB_EISDIR: return EISDIR; > + case GDB_EINVAL: return EINVAL; > + case GDB_ENFILE: return ENFILE; > + case GDB_EMFILE: return EMFILE; > + case GDB_EFBIG: return EFBIG; > + case GDB_ENOSPC: return ENOSPC; > + case GDB_ESPIPE: return ESPIPE; > + case GDB_EROFS: return EROFS; > + case GDB_ENAMETOOLONG: return ENAMETOOLONG; > + case GDB_EUNKNOWN: > + default: > + return EIO; > + } > +} > + > diff --git a/libgloss/nios2/io-gettimeofday.c b/libgloss/nios2/io-gettimeofday.c > new file mode 100644 > index 0000000..1f5750e > --- /dev/null > +++ b/libgloss/nios2/io-gettimeofday.c > @@ -0,0 +1,54 @@ > +/* > + * io-gettimeofday.c -- > + * > + * Copyright (c) 2006 CodeSourcery Inc > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#include <sys/time.h> > +#include <errno.h> > +#define IO gettimeofday > +#include "io.h" > + > +/* > + * gettimeofday -- get the current time > + * input parameters: > + * 0 : timeval ptr > + * output parameters: > + * 0 : result > + * 1 : errno > + */ > + > +int gettimeofday (struct timeval *tv, void *tzvp) > +{ > +#if HOSTED > + gdb_parambuf_t parameters; > + struct gdb_timeval gtv; > + struct timezone *tz = tzvp; > + if (!tv) > + return 0; > + if (tz) > + { > + errno = EINVAL; > + return -1; > + } > + parameters[0] = (uint32_t) >v; > + __io_hosted (HOSTED_GETTIMEOFDAY, parameters); > + __hosted_from_gdb_timeval (>v, tv); > + errno = __hosted_from_gdb_errno (parameters[1]); > + return parameters[0]; > +#else > + errno = ENOSYS; > + return -1; > +#endif > +} > diff --git a/libgloss/nios2/io-isatty.c b/libgloss/nios2/io-isatty.c > new file mode 100644 > index 0000000..ae33f08 > --- /dev/null > +++ b/libgloss/nios2/io-isatty.c > @@ -0,0 +1,43 @@ > +/* > + * io-isatty.c -- > + * > + * Copyright (c) 2006 CodeSourcery Inc > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#include <unistd.h> > +#include <errno.h> > +#define IO isatty > +#include "io.h" > + > +/* > + * isatty -- check if fd is a terminal > + * input parameters: > + * 0 : file descriptor > + * output parameters: > + * 0 : result > + * 1 : errno > + */ > + > +int isatty (int fd) > +{ > +#if HOSTED > + gdb_parambuf_t parameters; > + parameters[0] = (uint32_t) fd; > + __io_hosted (HOSTED_ISATTY, parameters); > + errno = __hosted_from_gdb_errno (parameters[1]); > + return parameters[0]; > +#else > + return 1; > +#endif > +} > diff --git a/libgloss/nios2/io-lseek.c b/libgloss/nios2/io-lseek.c > new file mode 100644 > index 0000000..bfc23c1 > --- /dev/null > +++ b/libgloss/nios2/io-lseek.c > @@ -0,0 +1,52 @@ > +/* > + * io-lseek.c -- > + * > + * Copyright (c) 2006 CodeSourcery Inc > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#include <sys/types.h> > +#include <unistd.h> > +#include <errno.h> > +#define IO lseek > +#include "io.h" > + > +/* > + * lseek -- reposition a file descriptor > + * input parameters: > + * 0 : file descriptor > + * 1 : high word of offset > + * 2 : low word of offset > + * 3 : seek flag > + * output parameters: > + * 0 : high word of result > + * 1 : low word of result > + * 2 : errno > + */ > + > +off_t lseek (int fd, off_t offset, int whence) > +{ > +#if HOSTED > + gdb_parambuf_t parameters; > + parameters[0] = (uint32_t) fd; > + parameters[1] = (uint32_t) ((offset >> 32) & 0xffffffff); > + parameters[2] = (uint32_t) (offset & 0xffffffff); > + parameters[3] = __hosted_to_gdb_lseek_flags (whence); > + __io_hosted (HOSTED_LSEEK, parameters); > + errno = __hosted_from_gdb_errno (parameters[2]); > + return ((uint64_t)parameters[0] << 32) | ((uint64_t)parameters[1]); > +#else > + errno = ENOSYS; > + return -1; > +#endif > +} > diff --git a/libgloss/nios2/io-nios2.S b/libgloss/nios2/io-nios2.S > new file mode 100644 > index 0000000..0b818a8 > --- /dev/null > +++ b/libgloss/nios2/io-nios2.S > @@ -0,0 +1,31 @@ > +/* > + * Low-level semihosting primitive for csky. > + * > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +/* Implement > + void __io_hosted (int func, void *args); > + by causing a break 1. The break handler can find the two parameters in > + r4 and r5 per the normal C calling convention. */ > + > + .text > + .align 2 > + .global __io_hosted > + .type _io_hosted, @function > + > +__io_hosted: > + break 1 > + ret > + > + .size __io_hosted, .-__io_hosted > diff --git a/libgloss/nios2/io-open.c b/libgloss/nios2/io-open.c > new file mode 100644 > index 0000000..885c646 > --- /dev/null > +++ b/libgloss/nios2/io-open.c > @@ -0,0 +1,62 @@ > +/* > + * io-open.c -- > + * > + * Copyright (c) 2006 CodeSourcery Inc > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#include <sys/types.h> > +#include <sys/stat.h> > +#include <fcntl.h> > +#include <stdarg.h> > +#include <string.h> > +#include <errno.h> > +#define IO open > +#include "io.h" > + > +/* > + * open -- Open a file. > + * input parameters: > + * 0 : fname ptr > + * 1 : fname length > + * 2 : flags > + * 3 : mode > + * output parameters: > + * 0 : result > + * 1 : errno > + */ > + > +int open (const char *fname, int flags, ...) > +{ > +#if HOSTED > + gdb_parambuf_t parameters; > + parameters[0] = (uint32_t) fname; > + parameters[1] = strlen (fname) + 1; > + parameters[2] = __hosted_to_gdb_open_flags (flags); > + if (flags & O_CREAT) > + { > + va_list ap; > + va_start (ap, flags); > + parameters[3] = __hosted_to_gdb_mode_t (va_arg (ap, mode_t)); > + va_end (ap); > + } > + else > + parameters[3] = 0; > + __io_hosted (HOSTED_OPEN, parameters); > + errno = __hosted_from_gdb_errno (parameters[1]); > + return parameters[0]; > +#else > + errno = ENOSYS; > + return -1; > +#endif > +} > diff --git a/libgloss/nios2/io-read.c b/libgloss/nios2/io-read.c > new file mode 100644 > index 0000000..91c475e > --- /dev/null > +++ b/libgloss/nios2/io-read.c > @@ -0,0 +1,48 @@ > +/* > + * io-read.c -- > + * > + * Copyright (c) 2006 CodeSourcery Inc > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#include <unistd.h> > +#include <errno.h> > +#define IO read > +#include "io.h" > + > +/* > + * read -- read from a file descriptor > + * input parameters: > + * 0 : file descriptor > + * 1 : buf ptr > + * 2 : count > + * output parameters: > + * 0 : result > + * 1 : errno > + */ > + > +ssize_t read (int fd, void *buf, size_t count) > +{ > +#if HOSTED > + gdb_parambuf_t parameters; > + parameters[0] = (uint32_t) fd; > + parameters[1] = (uint32_t) buf; > + parameters[2] = (uint32_t) count; > + __io_hosted (HOSTED_READ, parameters); > + errno = __hosted_from_gdb_errno (parameters[1]); > + return parameters[0]; > +#else > + errno = ENOSYS; > + return -1; > +#endif > +} > diff --git a/libgloss/nios2/io-rename.c b/libgloss/nios2/io-rename.c > new file mode 100644 > index 0000000..1a6cbeb > --- /dev/null > +++ b/libgloss/nios2/io-rename.c > @@ -0,0 +1,51 @@ > +/* > + * io-rename.c -- > + * > + * Copyright (c) 2006 CodeSourcery Inc > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#include <stdio.h> > +#include <string.h> > +#include <errno.h> > +#define IO rename > +#include "io.h" > + > +/* > + * rename -- rename a file > + * input parameters: > + * 0 : oldname ptr > + * 1 : oldname length > + * 2 : newname ptr > + * 3 : newname length > + * output parameters: > + * 0 : result > + * 1 : errno > + */ > + > +int _rename (const char *oldpath, const char *newpath) > +{ > +#if HOSTED > + gdb_parambuf_t parameters; > + parameters[0] = (uint32_t) oldpath; > + parameters[1] = (uint32_t) strlen (oldpath) + 1; > + parameters[2] = (uint32_t) newpath; > + parameters[3] = (uint32_t) strlen (newpath) + 1; > + __io_hosted (HOSTED_RENAME, parameters); > + errno = __hosted_from_gdb_errno (parameters[1]); > + return parameters[0]; > +#else > + errno = ENOSYS; > + return -1; > +#endif > +} > diff --git a/libgloss/nios2/io-stat.c b/libgloss/nios2/io-stat.c > new file mode 100644 > index 0000000..3ba6f66 > --- /dev/null > +++ b/libgloss/nios2/io-stat.c > @@ -0,0 +1,54 @@ > +/* > + * io-stat.c -- > + * > + * Copyright (c) 2006 CodeSourcery Inc > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#include <string.h> > +#include <sys/types.h> > +#include <sys/stat.h> > +#include <unistd.h> > +#include <errno.h> > +#define IO stat > +#include "io.h" > + > +/* > + * stat -- get file information > + * input parameters: > + * 0 : filename ptr > + * 1 : filename length > + * 2 : stat buf ptr > + * output parameters: > + * 0 : result > + * 1 : errno > + */ > + > + > +int stat (const char *__restrict filename, struct stat *__restrict buf) > +{ > +#if HOSTED > + gdb_parambuf_t parameters; > + struct gdb_stat gbuf; > + parameters[0] = (uint32_t) filename; > + parameters[1] = (uint32_t) strlen (filename) + 1; > + parameters[2] = (uint32_t) &gbuf; > + __io_hosted (HOSTED_STAT, parameters); > + __hosted_from_gdb_stat (&gbuf, buf); > + errno = __hosted_from_gdb_errno (parameters[1]); > + return parameters[0]; > +#else > + errno = ENOSYS; > + return -1; > +#endif > +} > diff --git a/libgloss/nios2/io-system.c b/libgloss/nios2/io-system.c > new file mode 100644 > index 0000000..bb7c590 > --- /dev/null > +++ b/libgloss/nios2/io-system.c > @@ -0,0 +1,64 @@ > +/* > + * io-system.c -- > + * > + * Copyright (c) 2006 CodeSourcery Inc > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#include <stdlib.h> > +#include <string.h> > +#include <errno.h> > +#include <sys/wait.h> > +#define IO _system > +#include "io.h" > + > +/* > + * system: execute command on (remote) host > + * input parameters: > + * 0 : command ptr > + * 1 : command length > + * output parameters: > + * 0 : result > + * 1 : errno > + */ > + > +int _system (const char *command) > +{ > +#if HOSTED > + int e; > + gdb_parambuf_t parameters; > + > + parameters[0] = (uint32_t) command; > + parameters[1] = command ? (uint32_t) strlen (command) + 1 : 0; > + __io_hosted (HOSTED_SYSTEM, parameters); > + errno = __hosted_from_gdb_errno (parameters[1]); > + e = parameters[0]; > + if (e >= 0 && command) > + { > + /* We have to convert e, an exit status to the encoded status of > + the command. To avoid hard coding the exit status, we simply > + loop until we find the right position. */ > + int exit_code; > + > + for (exit_code = e; e && WEXITSTATUS (e) != exit_code; e <<= 1) > + continue; > + } > + > + return e; > +#else > + if (!command) > + return 0; > + errno = ENOSYS; > + return -1; > +#endif > +} > diff --git a/libgloss/nios2/io-time.c b/libgloss/nios2/io-time.c > new file mode 100644 > index 0000000..03707c6 > --- /dev/null > +++ b/libgloss/nios2/io-time.c > @@ -0,0 +1,46 @@ > +/* > + * io-time.c -- > + * > + * Copyright (c) 2006 CodeSourcery Inc > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#include <sys/time.h> > +#include <errno.h> > +#define IO time > +#include "io.h" > + > +/* > + * time -- get the current time > + * input parameters: > + * 0 : timeval ptr > + * output parameters: > + * 0 : result > + * 1 : errno > + */ > + > +time_t time (time_t *t) > +{ > +#if HOSTED > + struct timeval tv; > + > + if (gettimeofday (&tv, NULL)) > + return -1; > + if (t) > + *t = tv.tv_sec; > + return tv.tv_sec; > +#else > + errno = ENOSYS; > + return -1; > +#endif > +} > diff --git a/libgloss/nios2/io-unlink.c b/libgloss/nios2/io-unlink.c > new file mode 100644 > index 0000000..b6ac921 > --- /dev/null > +++ b/libgloss/nios2/io-unlink.c > @@ -0,0 +1,47 @@ > +/* > + * io-unlink.c -- > + * > + * Copyright (c) 2006 CodeSourcery Inc > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#include <stdio.h> > +#include <string.h> > +#include <errno.h> > +#define IO unlink > +#include "io.h" > + > +/* > + * unlink -- unlink (delete) a file > + * input parameters: > + * 0 : filename ptr > + * 1 : filename length > + * output parameters: > + * 0 : result > + * 1 : errno > + */ > + > +int unlink (const char *path) > +{ > +#if HOSTED > + gdb_parambuf_t parameters; > + parameters[0] = (uint32_t) path; > + parameters[1] = (uint32_t) strlen (path) + 1; > + __io_hosted (HOSTED_UNLINK, parameters); > + errno = __hosted_from_gdb_errno (parameters[1]); > + return parameters[0]; > +#else > + errno = ENOSYS; > + return -1; > +#endif > +} > diff --git a/libgloss/nios2/io-write.c b/libgloss/nios2/io-write.c > new file mode 100644 > index 0000000..f26268c > --- /dev/null > +++ b/libgloss/nios2/io-write.c > @@ -0,0 +1,48 @@ > +/* > + * io-write.c -- > + * > + * Copyright (c) 2006 CodeSourcery Inc > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#include <unistd.h> > +#include <errno.h> > +#define IO write > +#include "io.h" > + > +/* > + * write -- write to a file descriptor > + * input parameters: > + * 0 : file descriptor > + * 1 : buf ptr > + * 2 : count > + * output parameters: > + * 0 : result > + * 1 : errno > + */ > + > +ssize_t write (int fd, const void *buf, size_t count) > +{ > +#if HOSTED > + gdb_parambuf_t parameters; > + parameters[0] = (uint32_t) fd; > + parameters[1] = (uint32_t) buf; > + parameters[2] = (uint32_t) count; > + __io_hosted (HOSTED_WRITE, parameters); > + errno = __hosted_from_gdb_errno (parameters[1]); > + return parameters[0]; > +#else > + errno = ENOSYS; > + return -1; > +#endif > +} > diff --git a/libgloss/nios2/io.h b/libgloss/nios2/io.h > new file mode 100644 > index 0000000..e118435 > --- /dev/null > +++ b/libgloss/nios2/io.h > @@ -0,0 +1,154 @@ > +/* > + * hosted & unhosted io support. > + * > + * Copyright (c) 2006 CodeSourcery Inc > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#if HOSTED > +#include <stdint.h> > +#include <sys/types.h> > +#include <sys/time.h> > +#include <sys/stat.h> > + > +#define HOSTED_EXIT 0 > +#define HOSTED_INIT_SIM 1 > +#define HOSTED_OPEN 2 > +#define HOSTED_CLOSE 3 > +#define HOSTED_READ 4 > +#define HOSTED_WRITE 5 > +#define HOSTED_LSEEK 6 > +#define HOSTED_RENAME 7 > +#define HOSTED_UNLINK 8 > +#define HOSTED_STAT 9 > +#define HOSTED_FSTAT 10 > +#define HOSTED_GETTIMEOFDAY 11 > +#define HOSTED_ISATTY 12 > +#define HOSTED_SYSTEM 13 > + > +/* This function is provided by the board's BSP, because the precise > + mechanism of informing gdb is board specific. */ > +extern void __io_hosted (int func, void *args); > + > +/* Protocol specific representation of datatypes, as specified in D.9.11 > + * of the GDB manual. The values here are stored in big-endian order. */ > + > +typedef uint32_t gdb_mode_t; > +typedef uint32_t gdb_time_t; > + > +struct gdb_stat { > + uint32_t st_dev; /* device */ > + uint32_t st_ino; /* inode */ > + gdb_mode_t st_mode; /* protection */ > + uint32_t st_nlink; /* number of hard links */ > + uint32_t st_uid; /* user ID of owner */ > + uint32_t st_gid; /* group ID of owner */ > + uint32_t st_rdev; /* device type (if inode device) */ > + uint64_t st_size; /* total size, in bytes */ > + uint64_t st_blksize; /* blocksize for filesystem I/O */ > + uint64_t st_blocks; /* number of blocks allocated */ > + gdb_time_t st_atime; /* time of last access */ > + gdb_time_t st_mtime; /* time of last modification */ > + gdb_time_t st_ctime; /* time of last change */ > +}; > + > +struct gdb_timeval { > + gdb_time_t tv_sec; /* second */ > + uint64_t tv_usec; /* microsecond */ > +}; > + > + > +/* Parameters are passed between the library and the debugging stub > + * in a fixed-size buffer. > + */ > + > +typedef uint32_t gdb_parambuf_t[4]; > + > +/* open flags */ > + > +#define GDB_O_RDONLY 0x0 > +#define GDB_O_WRONLY 0x1 > +#define GDB_O_RDWR 0x2 > +#define GDB_O_APPEND 0x8 > +#define GDB_O_CREAT 0x200 > +#define GDB_O_TRUNC 0x400 > +#define GDB_O_EXCL 0x800 > + > +/* mode_t values */ > + > +#define GDB_S_IFREG 0100000 > +#define GDB_S_IFDIR 040000 > +#define GDB_S_IRUSR 0400 > +#define GDB_S_IWUSR 0200 > +#define GDB_S_IXUSR 0100 > +#define GDB_S_IRGRP 040 > +#define GDB_S_IWGRP 020 > +#define GDB_S_IXGRP 010 > +#define GDB_S_IROTH 04 > +#define GDB_S_IWOTH 02 > +#define GDB_S_IXOTH 01 > + > +/* errno values */ > + > +#define GDB_EPERM 1 > +#define GDB_ENOENT 2 > +#define GDB_EINTR 4 > +#define GDB_EBADF 9 > +#define GDB_EACCES 13 > +#define GDB_EFAULT 14 > +#define GDB_EBUSY 16 > +#define GDB_EEXIST 17 > +#define GDB_ENODEV 19 > +#define GDB_ENOTDIR 20 > +#define GDB_EISDIR 21 > +#define GDB_EINVAL 22 > +#define GDB_ENFILE 23 > +#define GDB_EMFILE 24 > +#define GDB_EFBIG 27 > +#define GDB_ENOSPC 28 > +#define GDB_ESPIPE 29 > +#define GDB_EROFS 30 > +#define GDB_ENAMETOOLONG 91 > +#define GDB_EUNKNOWN 9999 > + > +/* lseek flags */ > + > +#define GDB_SEEK_SET 0 > +#define GDB_SEEK_CUR 1 > +#define GDB_SEEK_END 2 > + > + > +/* conversion functions */ > + > +extern gdb_mode_t __hosted_to_gdb_mode_t (mode_t m); > +extern int32_t __hosted_to_gdb_open_flags (int f); > +extern int32_t __hosted_to_gdb_lseek_flags (int f); > + > +extern void __hosted_from_gdb_stat (const struct gdb_stat *gs, > + struct stat *s); > +extern void __hosted_from_gdb_timeval (const struct gdb_timeval *gt, > + struct timeval *t); > +extern int __hosted_from_gdb_errno (int32_t err); > + > +#else > +#ifdef IO > +#define IO_NAME_(IO) __hosted_##IO > +#define IO_NAME(IO) IO_NAME_(IO) > +#define IO_STRING_(IO) #IO > +#define IO_STRING(IO) IO_STRING_(IO) > +/* Emit an object that causes a gnu linker warning. */ > +static const char IO_NAME (IO) [] > +__attribute__ ((section (".gnu.warning"), used)) = > +"IO function '" IO_STRING (IO) "' used"; > +#endif > +#endif > diff --git a/libgloss/nios2/kill.c b/libgloss/nios2/kill.c > new file mode 100644 > index 0000000..972b599 > --- /dev/null > +++ b/libgloss/nios2/kill.c > @@ -0,0 +1,27 @@ > +/* > + * kill.c > + * > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +/* Minimal implementation of kill for a target system without processes. */ > + > +extern void _exit (int); > + > +int > +kill (int pid, int sig) > +{ > + if (pid == 1) > + _exit (sig); > + return 0; > +} > diff --git a/libgloss/nios2/qemu-hosted.ld b/libgloss/nios2/qemu-hosted.ld > new file mode 100644 > index 0000000..28a38b1 > --- /dev/null > +++ b/libgloss/nios2/qemu-hosted.ld > @@ -0,0 +1,210 @@ > +/* qemu-hosted.ld -- Linker script for QEMU generic-nommu board emulation. > + > + Copyright (c) 2018 Mentor Graphics > + > + The authors hereby grant permission to use, copy, modify, distribute, > + and license this software and its documentation for any purpose, provided > + that existing copyright notices are retained in all copies and that this > + notice is included verbatim in any distributions. No written agreement, > + license, or royalty fee is required for any of the authorized uses. > + Modifications to this software may be copyrighted by their authors > + and need not follow the licensing terms described here, provided that > + the new terms are clearly indicated on the first page of each file where > + they apply. > + > + Parts of this file were derived from code written by Altera Corporation > + and distributed under the following license: > + > + Copyright (c) 2008 > + Altera Corporation, San Jose, California, USA. > + All rights reserved. > + > + Permission is hereby granted, free of charge, to any person obtaining a > + copy of this software and associated documentation files (the "Software"), > + to deal in the Software without restriction, including without limitation > + the rights to use, copy, modify, merge, publish, distribute, sublicense, > + and/or sell copies of the Software, and to permit persons to whom the > + Software is furnished to do so, subject to the following conditions: > + > + The above copyright notice and this permission notice shall be included in > + all copies or substantial portions of the Software. > + > + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR > + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE > + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER > + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER > + DEALINGS IN THE SOFTWARE. > + > + This agreement shall be governed in all respects by the laws of the State > + of California and by the laws of the United States of America. > + > +*/ > + > +ENTRY(__start) > +SEARCH_DIR(.) > +GROUP(-lgcc -lc -lnios2) > + > +MEMORY > +{ > + rom (rx) : ORIGIN = 0x0, LENGTH = 64M > + ram (rwx) : ORIGIN = 0x10000000, LENGTH = 128M > + tlbmiss (rwx) : ORIGIN = 0x7fff400, LENGTH = 1K > + descriptor (rwx) : ORIGIN = 0x8002000, LENGTH = 8K > +} > + > +/* Force the linker to search for these symbols from > + the start of the link process. */ > +EXTERN(__reset) > +EXTERN(__start) > +EXTERN(main __stack __heap_start __heap_end __heap_end) > + > +/* Where to put the stack and heap. Allocate 1M heap space. */ > +PROVIDE(__heap_start = _end); > +PROVIDE(__heap_end = _end + 100000); > +PROVIDE(__stack = 0x18000000); > + > +/* Force exit to be picked up in a hosted environment. */ > +EXTERN(exit atexit) > + > +/* Ensure that newlib runs the finalizers. */ > +__libc_fini = _fini; > + > +SECTIONS > +{ > + .text : > + { > + _ftext = .; > + *(.text.entry) > + *(.text.start) > + *(.text .text.* .gnu.linkonce.t.*) > + > + . = ALIGN(0x4); > + KEEP (*crtbegin.o(.jcr)) > + KEEP (*(EXCLUDE_FILE (*crtend.o) .jcr)) > + KEEP (*crtend.o(.jcr)) > + > + . = ALIGN(0x4); > + *(.gcc_except_table .gcc_except_table.*) > + *(.gnu_extab .gnu_extab.*) > + } > ram > + .eh_frame_hdr : ALIGN (4) > + { > + KEEP (*(.eh_frame_hdr)) > + *(.eh_frame_entry .eh_frame_entry.*) > + } > ram > + .eh_frame : ALIGN (4) > + { > + KEEP (*(.eh_frame)) *(.eh_frame.*) > + } > ram > + .note.gnu.build-id : ALIGN (4) > + { > + KEEP (*(.note.gnu.build-id)) > + } > ram > + .rodata : ALIGN (4) > + { > + *(.rodata .rodata.* .gnu.linkonce.r.*) > + > + . = ALIGN(4); > + KEEP(*(.init)) > + > + . = ALIGN(4); > + __preinit_array_start = .; > + KEEP (*(.preinit_array)) > + __preinit_array_end = .; > + > + . = ALIGN(4); > + __init_array_start = .; > + KEEP (*(SORT(.init_array.*))) > + KEEP (*(.init_array)) > + __init_array_end = .; > + > + . = ALIGN(4); > + KEEP(*(.fini)) > + > + . = ALIGN(4); > + __fini_array_start = .; > + KEEP (*(.fini_array)) > + KEEP (*(SORT(.fini_array.*))) > + __fini_array_end = .; > + > + . = ALIGN(0x4); > + KEEP (*crtbegin.o(.ctors)) > + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) > + KEEP (*(SORT(.ctors.*))) > + KEEP (*crtend.o(.ctors)) > + > + . = ALIGN(0x4); > + KEEP (*crtbegin.o(.dtors)) > + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) > + KEEP (*(SORT(.dtors.*))) > + KEEP (*crtend.o(.dtors)) > + > + *(.lit) > + > + . = ALIGN (8); > + _etext = .; > + } > ram > + > + .data : ALIGN (8) > + { > + *(.shdata) > + *(.data .data.* .gnu.linkonce.d.*) > + . = ALIGN(8); > + _gp = ABSOLUTE(. + 0x8000); > + *(.got.plt) *(.got) > + *(.lit8) > + *(.lit4) > + *(.sdata .sdata.* .gnu.linkonce.s.*) > + . = ALIGN (8); > + *(.ram) > + . = ALIGN (8); > + _edata = .; > + } > ram > + .bss : ALIGN (8) > + { > + __bss_start = ABSOLUTE(.); > + *(.sbss .sbss.* .gnu.linkonce.sb.*) > + *(.scommon) > + *(.bss .bss.* .gnu.linkonce.b.*) > + *(COMMON) > + . = ALIGN (8); > + __bss_end = ABSOLUTE(.); > + _end = .; > + __end = .; > + } > ram > + > + .stab 0 (NOLOAD) : { *(.stab) } > + .stabstr 0 (NOLOAD) : { *(.stabstr) } > + /* DWARF debug sections. > + * Symbols in the DWARF debugging sections are relative to > + * the beginning of the section so we begin them at 0. > + */ > + /* DWARF 1 */ > + .debug 0 : { *(.debug) } > + .line 0 : { *(.line) } > + /* GNU DWARF 1 extensions */ > + .debug_srcinfo 0 : { *(.debug_srcinfo) } > + .debug_sfnames 0 : { *(.debug_sfnames) } > + /* DWARF 1.1 and DWARF 2 */ > + .debug_aranges 0 : { *(.debug_aranges) } > + .debug_pubnames 0 : { *(.debug_pubnames) } > + /* DWARF 2 */ > + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } > + .debug_abbrev 0 : { *(.debug_abbrev) } > + .debug_line 0 : { *(.debug_line) } > + .debug_frame 0 : { *(.debug_frame) } > + .debug_str 0 : { *(.debug_str) } > + .debug_loc 0 : { *(.debug_loc) } > + .debug_macinfo 0 : { *(.debug_macinfo) } > + /* DWARF 2.1 */ > + .debug_ranges 0 : { *(.debug_ranges) } > + /* SGI/MIPS DWARF 2 extensions */ > + .debug_weaknames 0 : { *(.debug_weaknames) } > + .debug_funcnames 0 : { *(.debug_funcnames) } > + .debug_typenames 0 : { *(.debug_typenames) } > + .debug_varnames 0 : { *(.debug_varnames) } > + > + .debug_alt_sim_info 0 : { *(.debug_alt_sim_info) } > +} > diff --git a/libgloss/nios2/sbrk.c b/libgloss/nios2/sbrk.c > new file mode 100644 > index 0000000..1b309ec > --- /dev/null > +++ b/libgloss/nios2/sbrk.c > @@ -0,0 +1,42 @@ > +/* > + * sbrk.c > + * > + * Copyright (c) 2018 Mentor Graphics > + * > + * The authors hereby grant permission to use, copy, modify, distribute, > + * and license this software and its documentation for any purpose, provided > + * that existing copyright notices are retained in all copies and that this > + * notice is included verbatim in any distributions. No written agreement, > + * license, or royalty fee is required for any of the authorized uses. > + * Modifications to this software may be copyrighted by their authors > + * and need not follow the licensing terms described here, provided that > + * the new terms are clearly indicated on the first page of each file where > + * they apply. > + */ > + > +#include <errno.h> > +/* > + * sbrk -- changes heap size size. Get nbytes more > + * RAM. We just increment a pointer in what's > + * left of memory on the board. > + */ > + > +/* Provided by the linker script. */ > +extern char __heap_start[] __attribute__ ((aligned (8))); > +extern char __heap_end[] __attribute__ ((aligned (8))); > + > +void * > +sbrk (int nbytes) > +{ > + static char *heap = __heap_start; > + char *base = heap; > + char *new_heap = heap + nbytes; > + > + if (nbytes < 0 || new_heap > __heap_end) > + { > + errno = ENOMEM; > + return (void *)-1; > + } > + heap = new_heap; > + return base; > +} -- Corinna Vinschen Cygwin Maintainer Red Hat
signature.asc
(application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEoVYPmneWZnwT6kwF9TYGna5ET6AFAltkGHsACgkQ9TYGna5E T6CzOg//S4taxGAMvC9AbsoDUKg6SOc9gi02XrQ6HCuCedZ5E1LSPsTSIQ4MEm+4 SE4bHqmlALZQ0TRwSzt9UW21zMbTnj5qMc+vNjlaDG5zC3r8xAFBKSIJh9clqkVm 8CfkM0gfPiBG5q3rH3SpyANNys5wCrLSrN7rdq8X9Di1cejDWk9cz2Zk8kZViaf2 w1gpK1n2sXYOH+WvL1rd4Zf7qDYXJiYj+PG4lfqn5bSR3XAGEH73dmnU7MrgRz8L 7/8cMjWVrDqdKd3ghnaKVvuv6JmG3Jp5uQW/FDHGLy6fou1aCuqYnp9M4MCMF/aT fEu4AoFTyZF8jDsmHH/opHJ5NgBJNvHBD0Fr3OQ+89TAdGfnbalg3342eGWcUYsv /E9M7Znld+Hstmtn7FQ9++632dXXXUrkuPhckxj83sLpNR0vKCyVbYZlnF2s5Mvj VqLjAlbm4MPel2hX2hSfJz95vXrIg7AkMF3M19S0x36i759/kcU5BLf8+wtW44hy jrCqK9bHmiB2S42RxbewHbxQ2oxRN6+S4NsJBJG/+SZzkjuQ1224ZJtWEs205Gng 6ZDGxdRLt6rOFpOtw+MDmTcT1USfXpNbH7xxlglpTfKsXbcPdeEPPrTZmatur0Wd AqSD0gQ48/BmwIzJjpfaKZWKagY/SWF9meV9eJXxEzxBc39hzVk= =q9so -----END PGP SIGNATURE-----