mirror of
https://github.com/pret/agbcc.git
synced 2026-03-21 17:44:20 -05:00
make ARM compiler build on Windows
This commit is contained in:
parent
187c8b2508
commit
d8bdbc027f
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -19,7 +19,9 @@ old_agbcc
|
|||
*/genpeep
|
||||
*/genrecog
|
||||
*/config.log
|
||||
gcc_arm/config.cache
|
||||
gcc_arm/config.log
|
||||
gcc_arm/config.status
|
||||
gcc_arm/genrtl.c
|
||||
gcc_arm/genrtl.h
|
||||
gcc_arm/insn-attr.h
|
||||
|
|
|
|||
3
build.sh
3
build.sh
|
|
@ -13,7 +13,8 @@ make -C gcc $CCOPT $CXXOPT
|
|||
mv gcc/agbcc .
|
||||
# not sure if the ARM compiler is the old one or the new one (-DOLD_COMPILER)
|
||||
[ ! -e gcc_arm/Makefile ] || make -C gcc_arm clean
|
||||
cd gcc_arm && ./configure --target=arm-elf --host=i686-linux-gnu && make cc1 && cd ..
|
||||
rm -f gcc_arm/config.status gcc_arm/config.cache
|
||||
cd gcc_arm && ./configure --target=arm-elf --host=i386-linux-gnu && make cc1 && cd ..
|
||||
mv gcc_arm/cc1 agbcc_arm
|
||||
make -C libgcc clean
|
||||
make -C libgcc $CCOPT $CXXOPT
|
||||
|
|
|
|||
|
|
@ -604,7 +604,7 @@ SCHED_CFLAGS = @sched_cflags@
|
|||
OBJS = toplev.o version.o tree.o print-tree.o stor-layout.o fold-const.o \
|
||||
function.o stmt.o except.o expr.o calls.o expmed.o explow.o optabs.o \
|
||||
varasm.o rtl.o print-rtl.o rtlanal.o emit-rtl.o genrtl.o real.o regmove.o \
|
||||
dbxout.o sdbout.o dwarfout.o dwarf2out.o xcoffout.o bitmap.o alias.o \
|
||||
sdbout.o dwarfout.o dwarf2out.o xcoffout.o bitmap.o alias.o \
|
||||
integrate.o jump.o cse.o loop.o unroll.o flow.o stupid.o combine.o varray.o \
|
||||
regclass.o local-alloc.o global.o reload.o reload1.o caller-save.o gcse.o \
|
||||
insn-peep.o reorg.o $(SCHED_PREFIX)sched.o final.o recog.o reg-stack.o \
|
||||
|
|
@ -763,7 +763,7 @@ cstamp-h: config.in config.status
|
|||
config.status: configure version.c
|
||||
@if [ ! -f config.status ] ; then \
|
||||
echo You must configure gcc. Look at the INSTALL file for details.; \
|
||||
false; \
|
||||
true; \
|
||||
else \
|
||||
LANGUAGES="$(CONFIG_LANGUAGES)" $(SHELL) config.status --recheck; \
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -1,241 +0,0 @@
|
|||
/* auto-host.h. Generated automatically by configure. */
|
||||
/* config.in. Generated automatically from configure.in by autoheader. */
|
||||
/* Define if you can safely include both <string.h> and <strings.h>. */
|
||||
#define STRING_WITH_STRINGS 1
|
||||
|
||||
/* Define if printf supports "%p". */
|
||||
#define HAVE_PRINTF_PTR 1
|
||||
|
||||
/* Define if you want expensive run-time checks. */
|
||||
/* #undef ENABLE_CHECKING */
|
||||
|
||||
/* Define if your cpp understands the stringify operator. */
|
||||
#define HAVE_CPP_STRINGIFY 1
|
||||
|
||||
/* Define if your compiler understands volatile. */
|
||||
#define HAVE_VOLATILE 1
|
||||
|
||||
/* Define if your assembler supports specifying the maximum number
|
||||
of bytes to skip when using the GAS .p2align command. */
|
||||
/* #undef HAVE_GAS_MAX_SKIP_P2ALIGN */
|
||||
|
||||
/* Define if your assembler supports .balign and .p2align. */
|
||||
/* #undef HAVE_GAS_BALIGN_AND_P2ALIGN */
|
||||
|
||||
/* Define if your assembler supports .subsection and .subsection -1 starts
|
||||
emitting at the beginning of your section */
|
||||
/* #undef HAVE_GAS_SUBSECTION_ORDERING */
|
||||
|
||||
/* Define if you have a working <inttypes.h> header file. */
|
||||
#define HAVE_INTTYPES_H 1
|
||||
|
||||
/* Whether malloc must be declared even if <stdlib.h> is included. */
|
||||
/* #undef NEED_DECLARATION_MALLOC */
|
||||
|
||||
/* Whether realloc must be declared even if <stdlib.h> is included. */
|
||||
/* #undef NEED_DECLARATION_REALLOC */
|
||||
|
||||
/* Whether calloc must be declared even if <stdlib.h> is included. */
|
||||
/* #undef NEED_DECLARATION_CALLOC */
|
||||
|
||||
/* Whether free must be declared even if <stdlib.h> is included. */
|
||||
/* #undef NEED_DECLARATION_FREE */
|
||||
|
||||
/* Whether bcopy must be declared even if <string.h> is included. */
|
||||
/* #undef NEED_DECLARATION_BCOPY */
|
||||
|
||||
/* Whether bcmp must be declared even if <string.h> is included. */
|
||||
/* #undef NEED_DECLARATION_BCMP */
|
||||
|
||||
/* Whether bzero must be declared even if <string.h> is included. */
|
||||
/* #undef NEED_DECLARATION_BZERO */
|
||||
|
||||
/* Whether index must be declared even if <string.h> is included. */
|
||||
/* #undef NEED_DECLARATION_INDEX */
|
||||
|
||||
/* Whether rindex must be declared even if <string.h> is included. */
|
||||
/* #undef NEED_DECLARATION_RINDEX */
|
||||
|
||||
/* Whether getenv must be declared even if <stdlib.h> is included. */
|
||||
/* #undef NEED_DECLARATION_GETENV */
|
||||
|
||||
/* Whether atol must be declared even if <stdlib.h> is included. */
|
||||
/* #undef NEED_DECLARATION_ATOL */
|
||||
|
||||
/* Whether sbrk must be declared even if <stdlib.h> is included. */
|
||||
/* #undef NEED_DECLARATION_SBRK */
|
||||
|
||||
/* Whether abort must be declared even if <stdlib.h> is included. */
|
||||
/* #undef NEED_DECLARATION_ABORT */
|
||||
|
||||
/* Whether strerror must be declared even if <string.h> is included. */
|
||||
/* #undef NEED_DECLARATION_STRERROR */
|
||||
|
||||
/* Whether strsignal must be declared even if <string.h> is included. */
|
||||
/* #undef NEED_DECLARATION_STRSIGNAL */
|
||||
|
||||
/* Whether getcwd must be declared even if <unistd.h> is included. */
|
||||
/* #undef NEED_DECLARATION_GETCWD */
|
||||
|
||||
/* Whether getwd must be declared even if <unistd.h> is included. */
|
||||
/* #undef NEED_DECLARATION_GETWD */
|
||||
|
||||
/* Whether getrlimit must be declared even if <sys/resource.h> is included. */
|
||||
/* #undef NEED_DECLARATION_GETRLIMIT */
|
||||
|
||||
/* Whether setrlimit must be declared even if <sys/resource.h> is included. */
|
||||
/* #undef NEED_DECLARATION_SETRLIMIT */
|
||||
|
||||
/* Define if you want expensive run-time checks. */
|
||||
/* #undef ENABLE_CHECKING */
|
||||
|
||||
/* Define to enable the use of a default assembler. */
|
||||
/* #undef DEFAULT_ASSEMBLER */
|
||||
|
||||
/* Define to enable the use of a default linker. */
|
||||
/* #undef DEFAULT_LINKER */
|
||||
|
||||
|
||||
/* Define if you don't have vprintf but do have _doprnt. */
|
||||
/* #undef HAVE_DOPRNT */
|
||||
|
||||
/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
|
||||
#define HAVE_SYS_WAIT_H 1
|
||||
|
||||
/* Define if you have <vfork.h>. */
|
||||
/* #undef HAVE_VFORK_H */
|
||||
|
||||
/* Define if you have the vprintf function. */
|
||||
#define HAVE_VPRINTF 1
|
||||
|
||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||
/* #undef pid_t */
|
||||
|
||||
/* Define if you have the ANSI C header files. */
|
||||
#define STDC_HEADERS 1
|
||||
|
||||
/* Define if `sys_siglist' is declared by <signal.h>. */
|
||||
#define SYS_SIGLIST_DECLARED 1
|
||||
|
||||
/* Define if you can safely include both <sys/time.h> and <time.h>. */
|
||||
#define TIME_WITH_SYS_TIME 1
|
||||
|
||||
/* Define vfork as fork if vfork does not work. */
|
||||
/* #undef vfork */
|
||||
|
||||
/* Define if you have the atoll function. */
|
||||
#define HAVE_ATOLL 1
|
||||
|
||||
/* Define if you have the atoq function. */
|
||||
/* #undef HAVE_ATOQ */
|
||||
|
||||
/* Define if you have the bcmp function. */
|
||||
#define HAVE_BCMP 1
|
||||
|
||||
/* Define if you have the bcopy function. */
|
||||
#define HAVE_BCOPY 1
|
||||
|
||||
/* Define if you have the bsearch function. */
|
||||
#define HAVE_BSEARCH 1
|
||||
|
||||
/* Define if you have the bzero function. */
|
||||
#define HAVE_BZERO 1
|
||||
|
||||
/* Define if you have the fputc_unlocked function. */
|
||||
#define HAVE_FPUTC_UNLOCKED 1
|
||||
|
||||
/* Define if you have the fputs_unlocked function. */
|
||||
#define HAVE_FPUTS_UNLOCKED 1
|
||||
|
||||
/* Define if you have the getrlimit function. */
|
||||
#define HAVE_GETRLIMIT 1
|
||||
|
||||
/* Define if you have the gettimeofday function. */
|
||||
#define HAVE_GETTIMEOFDAY 1
|
||||
|
||||
/* Define if you have the index function. */
|
||||
#define HAVE_INDEX 1
|
||||
|
||||
/* Define if you have the isascii function. */
|
||||
#define HAVE_ISASCII 1
|
||||
|
||||
/* Define if you have the kill function. */
|
||||
#define HAVE_KILL 1
|
||||
|
||||
/* Define if you have the popen function. */
|
||||
#define HAVE_POPEN 1
|
||||
|
||||
/* Define if you have the putc_unlocked function. */
|
||||
#define HAVE_PUTC_UNLOCKED 1
|
||||
|
||||
/* Define if you have the putenv function. */
|
||||
#define HAVE_PUTENV 1
|
||||
|
||||
/* Define if you have the rindex function. */
|
||||
#define HAVE_RINDEX 1
|
||||
|
||||
/* Define if you have the setrlimit function. */
|
||||
#define HAVE_SETRLIMIT 1
|
||||
|
||||
/* Define if you have the strchr function. */
|
||||
#define HAVE_STRCHR 1
|
||||
|
||||
/* Define if you have the strerror function. */
|
||||
#define HAVE_STRERROR 1
|
||||
|
||||
/* Define if you have the strrchr function. */
|
||||
#define HAVE_STRRCHR 1
|
||||
|
||||
/* Define if you have the strsignal function. */
|
||||
#define HAVE_STRSIGNAL 1
|
||||
|
||||
/* Define if you have the strtoul function. */
|
||||
#define HAVE_STRTOUL 1
|
||||
|
||||
/* Define if you have the sysconf function. */
|
||||
#define HAVE_SYSCONF 1
|
||||
|
||||
/* Define if you have the <fcntl.h> header file. */
|
||||
#define HAVE_FCNTL_H 1
|
||||
|
||||
/* Define if you have the <limits.h> header file. */
|
||||
#define HAVE_LIMITS_H 1
|
||||
|
||||
/* Define if you have the <stab.h> header file. */
|
||||
#define HAVE_STAB_H 1
|
||||
|
||||
/* Define if you have the <stddef.h> header file. */
|
||||
#define HAVE_STDDEF_H 1
|
||||
|
||||
/* Define if you have the <stdlib.h> header file. */
|
||||
#define HAVE_STDLIB_H 1
|
||||
|
||||
/* Define if you have the <string.h> header file. */
|
||||
#define HAVE_STRING_H 1
|
||||
|
||||
/* Define if you have the <strings.h> header file. */
|
||||
#define HAVE_STRINGS_H 1
|
||||
|
||||
/* Define if you have the <sys/file.h> header file. */
|
||||
#define HAVE_SYS_FILE_H 1
|
||||
|
||||
/* Define if you have the <sys/param.h> header file. */
|
||||
#define HAVE_SYS_PARAM_H 1
|
||||
|
||||
/* Define if you have the <sys/resource.h> header file. */
|
||||
#define HAVE_SYS_RESOURCE_H 1
|
||||
|
||||
/* Define if you have the <sys/stat.h> header file. */
|
||||
#define HAVE_SYS_STAT_H 1
|
||||
|
||||
/* Define if you have the <sys/time.h> header file. */
|
||||
#define HAVE_SYS_TIME_H 1
|
||||
|
||||
/* Define if you have the <sys/times.h> header file. */
|
||||
#define HAVE_SYS_TIMES_H 1
|
||||
|
||||
/* Define if you have the <time.h> header file. */
|
||||
#define HAVE_TIME_H 1
|
||||
|
||||
/* Define if you have the <unistd.h> header file. */
|
||||
#define HAVE_UNISTD_H 1
|
||||
|
|
@ -1,588 +0,0 @@
|
|||
#! /bin/sh
|
||||
# Generated automatically by configure.
|
||||
# Run this file to recreate the current configuration.
|
||||
# This directory was configured as follows,
|
||||
# on host cameron-HP-Pavilion-g7-Notebook-PC:
|
||||
#
|
||||
# ./configure --target=arm-elf --host=i686-linux-gnu
|
||||
#
|
||||
# Compiler output produced by configure, useful for debugging
|
||||
# configure, is in ./config.log if it exists.
|
||||
|
||||
ac_cs_usage="Usage: ./config.status [--recheck] [--version] [--help]"
|
||||
for ac_option
|
||||
do
|
||||
case "$ac_option" in
|
||||
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
|
||||
echo "running ${CONFIG_SHELL-/bin/sh} ./configure --target=arm-elf --host=i686-linux-gnu --no-create --no-recursion"
|
||||
exec ${CONFIG_SHELL-/bin/sh} ./configure --target=arm-elf --host=i686-linux-gnu --no-create --no-recursion ;;
|
||||
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
|
||||
echo "./config.status generated by autoconf version 2.13"
|
||||
exit 0 ;;
|
||||
-help | --help | --hel | --he | --h)
|
||||
echo "$ac_cs_usage"; exit 0 ;;
|
||||
*) echo "$ac_cs_usage"; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
ac_given_srcdir=.
|
||||
|
||||
trap 'rm -fr Makefile auto-host.h conftest*; exit 1' 1 2 15
|
||||
|
||||
# Protect against being on the right side of a sed subst in config.status.
|
||||
sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\&%]/\\&/g;
|
||||
s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
|
||||
/^[ ]*VPATH[ ]*=[^:]*$/d
|
||||
|
||||
s%@SHELL@%/bin/sh%g
|
||||
s%@CFLAGS@%-g -O2%g
|
||||
s%@CPPFLAGS@%%g
|
||||
s%@CXXFLAGS@%%g
|
||||
s%@FFLAGS@%%g
|
||||
s%@DEFS@%-DHAVE_CONFIG_H%g
|
||||
s%@LDFLAGS@%%g
|
||||
s%@LIBS@%%g
|
||||
s%@exec_prefix@%${prefix}%g
|
||||
s%@prefix@%/usr/local%g
|
||||
s%@program_transform_name@%s,x,x,%g
|
||||
s%@bindir@%${exec_prefix}/bin%g
|
||||
s%@sbindir@%${exec_prefix}/sbin%g
|
||||
s%@libexecdir@%${exec_prefix}/libexec%g
|
||||
s%@datadir@%${prefix}/share%g
|
||||
s%@sysconfdir@%${prefix}/etc%g
|
||||
s%@sharedstatedir@%${prefix}/com%g
|
||||
s%@localstatedir@%${prefix}/var%g
|
||||
s%@libdir@%${exec_prefix}/lib%g
|
||||
s%@includedir@%${prefix}/include%g
|
||||
s%@oldincludedir@%/usr/include%g
|
||||
s%@infodir@%${prefix}/info%g
|
||||
s%@mandir@%${prefix}/man%g
|
||||
s%@host@%i686-pc-linux-gnu%g
|
||||
s%@host_alias@%i686-linux-gnu%g
|
||||
s%@host_cpu@%i686%g
|
||||
s%@host_vendor@%pc%g
|
||||
s%@host_os@%linux-gnu%g
|
||||
s%@target@%arm-unknown-elf%g
|
||||
s%@target_alias@%arm-elf%g
|
||||
s%@target_cpu@%arm%g
|
||||
s%@target_vendor@%unknown%g
|
||||
s%@target_os@%elf%g
|
||||
s%@build@%i686-pc-linux-gnu%g
|
||||
s%@build_alias@%i686-linux-gnu%g
|
||||
s%@build_cpu@%i686%g
|
||||
s%@build_vendor@%pc%g
|
||||
s%@build_os@%linux-gnu%g
|
||||
s%@CC@%gcc%g
|
||||
s%@stage1_warn_cflags@%$(WARN_CFLAGS)%g
|
||||
s%@SET_MAKE@%%g
|
||||
s%@AWK@%mawk%g
|
||||
s%@LEX@%flex%g
|
||||
s%@LEXLIB@%%g
|
||||
s%@LN@%ln%g
|
||||
s%@LN_S@%ln -s%g
|
||||
s%@RANLIB@%ranlib%g
|
||||
s%@YACC@%bison -y%g
|
||||
s%@INSTALL@%/usr/bin/install -c%g
|
||||
s%@INSTALL_PROGRAM@%${INSTALL}%g
|
||||
s%@INSTALL_DATA@%${INSTALL} -m 644%g
|
||||
s%@CPP@%gcc -E%g
|
||||
s%@gnat@%no%g
|
||||
s%@vfprintf@%%g
|
||||
s%@doprint@%%g
|
||||
s%@manext@%.1%g
|
||||
s%@objext@%.o%g
|
||||
s%@gthread_flags@%%g
|
||||
s%@build_canonical@%i686-pc-linux-gnu%g
|
||||
s%@host_canonical@%i686-pc-linux-gnu%g
|
||||
s%@target_subdir@%arm-unknown-elf/%g
|
||||
s%@inhibit_libc@%%g
|
||||
s%@sched_prefix@%%g
|
||||
s%@sched_cflags@%%g
|
||||
s%@gcc_tooldir@%$(libsubdir)/$(unlibsubdir)/../$(target_alias)%g
|
||||
s%@dollar@%%g
|
||||
s%@objdir@%/home/cameron/programming/agbcc2/gcc_arm%g
|
||||
s%@subdirs@%%g
|
||||
s%@all_languages@%%g
|
||||
s%@all_boot_languages@%%g
|
||||
s%@all_compilers@%%g
|
||||
s%@all_lang_makefiles@%%g
|
||||
s%@all_stagestuff@%%g
|
||||
s%@all_diff_excludes@%%g
|
||||
s%@all_lib2funcs@%%g
|
||||
s%@all_headers@%%g
|
||||
s%@cpp_main@%cccp%g
|
||||
s%@extra_passes@%%g
|
||||
s%@extra_programs@%%g
|
||||
s%@extra_parts@%%g
|
||||
s%@extra_c_objs@%%g
|
||||
s%@extra_cxx_objs@%%g
|
||||
s%@extra_cpp_objs@%%g
|
||||
s%@extra_c_flags@% -DMULTIBYTE_CHARS=1%g
|
||||
s%@extra_objs@% %g
|
||||
s%@host_extra_gcc_objs@%%g
|
||||
s%@extra_headers_list@%%g
|
||||
s%@dep_host_xmake_file@%%g
|
||||
s%@dep_tmake_file@% ./config/arm/t-arm-elf%g
|
||||
s%@out_file@%arm/arm.c%g
|
||||
s%@out_object_file@%arm.o%g
|
||||
s%@md_file@%arm/arm.md%g
|
||||
s%@tm_file_list@% gansidecl.h $(srcdir)/config/arm/unknown-elf.h%g
|
||||
s%@build_xm_file_list@% auto-host.h gansidecl.h $(srcdir)/config/i386/xm-i386.h%g
|
||||
s%@host_xm_file_list@% auto-host.h gansidecl.h $(srcdir)/config/i386/xm-i386.h%g
|
||||
s%@lang_specs_files@%%g
|
||||
s%@lang_options_files@%%g
|
||||
s%@lang_tree_files@%%g
|
||||
s%@thread_file@%single%g
|
||||
s%@objc_boehm_gc@%%g
|
||||
s%@JAVAGC@%boehm%g
|
||||
s%@gcc_version@%2.9-arm-000512%g
|
||||
s%@gcc_version_trigger@%./version.c%g
|
||||
s%@local_prefix@%$(prefix)%g
|
||||
s%@gcc_gxx_include_dir@%$(libsubdir)/$(unlibsubdir)/..`echo $(exec_prefix) | sed -e 's|^$(prefix)||' -e 's|/[^/]*|/..|g'`/include/g++-%g
|
||||
s%@fixincludes@%fixincludes%g
|
||||
s%@build_install_headers_dir@%install-headers-tar%g
|
||||
s%@build_exeext@%%g
|
||||
s%@host_exeext@%%g
|
||||
s%@float_h_file@%float-i64.h%g
|
||||
s%@cc_set_by_configure@%$(CC)%g
|
||||
s%@stage_prefix_set_by_configure@%$(STAGE_PREFIX)%g
|
||||
s%@install@%%g
|
||||
s%@symbolic_link@%ln -s%g
|
||||
/@target_overrides@/r Make-target
|
||||
s%@target_overrides@%%g
|
||||
/@host_overrides@/r Make-host
|
||||
s%@host_overrides@%%g
|
||||
s%@cross_defines@%CROSS=-DCROSS_COMPILE%g
|
||||
/@cross_overrides@/r /home/cameron/programming/agbcc2/gcc_arm/cross-make
|
||||
s%@cross_overrides@%%g
|
||||
/@build_overrides@/r /dev/null
|
||||
s%@build_overrides@%%g
|
||||
/@language_fragments@/r Make-lang
|
||||
s%@language_fragments@%%g
|
||||
/@language_hooks@/r Make-hooks
|
||||
s%@language_hooks@%%g
|
||||
|
||||
CEOF
|
||||
|
||||
# Split the substitutions into bite-sized pieces for seds with
|
||||
# small command number limits, like on Digital OSF/1 and HP-UX.
|
||||
ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
|
||||
ac_file=1 # Number of current file.
|
||||
ac_beg=1 # First line for current file.
|
||||
ac_end=$ac_max_sed_cmds # Line after last line for current file.
|
||||
ac_more_lines=:
|
||||
ac_sed_cmds=""
|
||||
while $ac_more_lines; do
|
||||
if test $ac_beg -gt 1; then
|
||||
sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
|
||||
else
|
||||
sed "${ac_end}q" conftest.subs > conftest.s$ac_file
|
||||
fi
|
||||
if test ! -s conftest.s$ac_file; then
|
||||
ac_more_lines=false
|
||||
rm -f conftest.s$ac_file
|
||||
else
|
||||
if test -z "$ac_sed_cmds"; then
|
||||
ac_sed_cmds="sed -f conftest.s$ac_file"
|
||||
else
|
||||
ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
|
||||
fi
|
||||
ac_file=`expr $ac_file + 1`
|
||||
ac_beg=$ac_end
|
||||
ac_end=`expr $ac_end + $ac_max_sed_cmds`
|
||||
fi
|
||||
done
|
||||
if test -z "$ac_sed_cmds"; then
|
||||
ac_sed_cmds=cat
|
||||
fi
|
||||
|
||||
CONFIG_FILES=${CONFIG_FILES-"Makefile"}
|
||||
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
|
||||
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
|
||||
case "$ac_file" in
|
||||
*:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
|
||||
ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
|
||||
*) ac_file_in="${ac_file}.in" ;;
|
||||
esac
|
||||
|
||||
# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
|
||||
|
||||
# Remove last slash and all that follows it. Not all systems have dirname.
|
||||
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
|
||||
if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
|
||||
# The file is in a subdirectory.
|
||||
test ! -d "$ac_dir" && mkdir "$ac_dir"
|
||||
ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
|
||||
# A "../" for each directory in $ac_dir_suffix.
|
||||
ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
|
||||
else
|
||||
ac_dir_suffix= ac_dots=
|
||||
fi
|
||||
|
||||
case "$ac_given_srcdir" in
|
||||
.) srcdir=.
|
||||
if test -z "$ac_dots"; then top_srcdir=.
|
||||
else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
|
||||
/*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
|
||||
*) # Relative path.
|
||||
srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
|
||||
top_srcdir="$ac_dots$ac_given_srcdir" ;;
|
||||
esac
|
||||
|
||||
|
||||
echo creating "$ac_file"
|
||||
rm -f "$ac_file"
|
||||
configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
|
||||
case "$ac_file" in
|
||||
*Makefile*) ac_comsub="1i\\
|
||||
# $configure_input" ;;
|
||||
*) ac_comsub= ;;
|
||||
esac
|
||||
|
||||
ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
|
||||
sed -e "$ac_comsub
|
||||
s%@configure_input@%$configure_input%g
|
||||
s%@srcdir@%$srcdir%g
|
||||
s%@top_srcdir@%$top_srcdir%g
|
||||
" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
|
||||
fi; done
|
||||
rm -f conftest.s*
|
||||
|
||||
# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
|
||||
# NAME is the cpp macro being defined and VALUE is the value it is being given.
|
||||
#
|
||||
# ac_d sets the value in "#define NAME VALUE" lines.
|
||||
ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
|
||||
ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
|
||||
ac_dC='\3'
|
||||
ac_dD='%g'
|
||||
# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
|
||||
ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
|
||||
ac_uB='\([ ]\)%\1#\2define\3'
|
||||
ac_uC=' '
|
||||
ac_uD='\4%g'
|
||||
# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
|
||||
ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
|
||||
ac_eB='$%\1#\2define\3'
|
||||
ac_eC=' '
|
||||
ac_eD='%g'
|
||||
|
||||
if test "${CONFIG_HEADERS+set}" != set; then
|
||||
CONFIG_HEADERS="auto-host.h:config.in"
|
||||
fi
|
||||
for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
|
||||
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
|
||||
case "$ac_file" in
|
||||
*:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
|
||||
ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
|
||||
*) ac_file_in="${ac_file}.in" ;;
|
||||
esac
|
||||
|
||||
echo creating $ac_file
|
||||
|
||||
rm -f conftest.frag conftest.in conftest.out
|
||||
ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
|
||||
cat $ac_file_inputs > conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_VOLATILE${ac_dB}HAVE_VOLATILE${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_VOLATILE${ac_uB}HAVE_VOLATILE${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_VOLATILE${ac_eB}HAVE_VOLATILE${ac_eC}1${ac_eD}
|
||||
${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD}
|
||||
${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD}
|
||||
${ac_eA}STDC_HEADERS${ac_eB}STDC_HEADERS${ac_eC}1${ac_eD}
|
||||
${ac_dA}TIME_WITH_SYS_TIME${ac_dB}TIME_WITH_SYS_TIME${ac_dC}1${ac_dD}
|
||||
${ac_uA}TIME_WITH_SYS_TIME${ac_uB}TIME_WITH_SYS_TIME${ac_uC}1${ac_uD}
|
||||
${ac_eA}TIME_WITH_SYS_TIME${ac_eB}TIME_WITH_SYS_TIME${ac_eC}1${ac_eD}
|
||||
${ac_dA}STRING_WITH_STRINGS${ac_dB}STRING_WITH_STRINGS${ac_dC}1${ac_dD}
|
||||
${ac_uA}STRING_WITH_STRINGS${ac_uB}STRING_WITH_STRINGS${ac_uC}1${ac_uD}
|
||||
${ac_eA}STRING_WITH_STRINGS${ac_eB}STRING_WITH_STRINGS${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_SYS_WAIT_H${ac_dB}HAVE_SYS_WAIT_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SYS_WAIT_H${ac_uB}HAVE_SYS_WAIT_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SYS_WAIT_H${ac_eB}HAVE_SYS_WAIT_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_LIMITS_H${ac_dB}HAVE_LIMITS_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_LIMITS_H${ac_uB}HAVE_LIMITS_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_LIMITS_H${ac_eB}HAVE_LIMITS_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_STDDEF_H${ac_dB}HAVE_STDDEF_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STDDEF_H${ac_uB}HAVE_STDDEF_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STDDEF_H${ac_eB}HAVE_STDDEF_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STRING_H${ac_uB}HAVE_STRING_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STRING_H${ac_eB}HAVE_STRING_H${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_STRINGS_H${ac_dB}HAVE_STRINGS_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STRINGS_H${ac_uB}HAVE_STRINGS_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STRINGS_H${ac_eB}HAVE_STRINGS_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STDLIB_H${ac_uB}HAVE_STDLIB_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STDLIB_H${ac_eB}HAVE_STDLIB_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_TIME_H${ac_dB}HAVE_TIME_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_TIME_H${ac_uB}HAVE_TIME_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_TIME_H${ac_eB}HAVE_TIME_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_FCNTL_H${ac_dB}HAVE_FCNTL_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_FCNTL_H${ac_uB}HAVE_FCNTL_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_FCNTL_H${ac_eB}HAVE_FCNTL_H${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_UNISTD_H${ac_eB}HAVE_UNISTD_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_STAB_H${ac_dB}HAVE_STAB_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STAB_H${ac_uB}HAVE_STAB_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STAB_H${ac_eB}HAVE_STAB_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_SYS_FILE_H${ac_dB}HAVE_SYS_FILE_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SYS_FILE_H${ac_uB}HAVE_SYS_FILE_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SYS_FILE_H${ac_eB}HAVE_SYS_FILE_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_SYS_TIME_H${ac_dB}HAVE_SYS_TIME_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SYS_TIME_H${ac_uB}HAVE_SYS_TIME_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SYS_TIME_H${ac_eB}HAVE_SYS_TIME_H${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_SYS_RESOURCE_H${ac_dB}HAVE_SYS_RESOURCE_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SYS_RESOURCE_H${ac_uB}HAVE_SYS_RESOURCE_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SYS_RESOURCE_H${ac_eB}HAVE_SYS_RESOURCE_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_SYS_PARAM_H${ac_dB}HAVE_SYS_PARAM_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SYS_PARAM_H${ac_uB}HAVE_SYS_PARAM_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SYS_PARAM_H${ac_eB}HAVE_SYS_PARAM_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_SYS_TIMES_H${ac_dB}HAVE_SYS_TIMES_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SYS_TIMES_H${ac_uB}HAVE_SYS_TIMES_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SYS_TIMES_H${ac_eB}HAVE_SYS_TIMES_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_SYS_STAT_H${ac_dB}HAVE_SYS_STAT_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SYS_STAT_H${ac_uB}HAVE_SYS_STAT_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SYS_STAT_H${ac_eB}HAVE_SYS_STAT_H${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_CPP_STRINGIFY${ac_dB}HAVE_CPP_STRINGIFY${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_CPP_STRINGIFY${ac_uB}HAVE_CPP_STRINGIFY${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_CPP_STRINGIFY${ac_eB}HAVE_CPP_STRINGIFY${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_INTTYPES_H${ac_dB}HAVE_INTTYPES_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_INTTYPES_H${ac_uB}HAVE_INTTYPES_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_INTTYPES_H${ac_eB}HAVE_INTTYPES_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_STRTOUL${ac_dB}HAVE_STRTOUL${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STRTOUL${ac_uB}HAVE_STRTOUL${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STRTOUL${ac_eB}HAVE_STRTOUL${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_BSEARCH${ac_dB}HAVE_BSEARCH${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_BSEARCH${ac_uB}HAVE_BSEARCH${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_BSEARCH${ac_eB}HAVE_BSEARCH${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_STRERROR${ac_dB}HAVE_STRERROR${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STRERROR${ac_uB}HAVE_STRERROR${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STRERROR${ac_eB}HAVE_STRERROR${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_PUTENV${ac_dB}HAVE_PUTENV${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_PUTENV${ac_uB}HAVE_PUTENV${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_PUTENV${ac_eB}HAVE_PUTENV${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_POPEN${ac_dB}HAVE_POPEN${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_POPEN${ac_uB}HAVE_POPEN${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_POPEN${ac_eB}HAVE_POPEN${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_BCOPY${ac_dB}HAVE_BCOPY${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_BCOPY${ac_uB}HAVE_BCOPY${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_BCOPY${ac_eB}HAVE_BCOPY${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_BZERO${ac_dB}HAVE_BZERO${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_BZERO${ac_uB}HAVE_BZERO${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_BZERO${ac_eB}HAVE_BZERO${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_BCMP${ac_dB}HAVE_BCMP${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_BCMP${ac_uB}HAVE_BCMP${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_BCMP${ac_eB}HAVE_BCMP${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_INDEX${ac_dB}HAVE_INDEX${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_INDEX${ac_uB}HAVE_INDEX${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_INDEX${ac_eB}HAVE_INDEX${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_RINDEX${ac_dB}HAVE_RINDEX${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_RINDEX${ac_uB}HAVE_RINDEX${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_RINDEX${ac_eB}HAVE_RINDEX${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_STRCHR${ac_dB}HAVE_STRCHR${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STRCHR${ac_uB}HAVE_STRCHR${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STRCHR${ac_eB}HAVE_STRCHR${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_STRRCHR${ac_dB}HAVE_STRRCHR${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STRRCHR${ac_uB}HAVE_STRRCHR${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STRRCHR${ac_eB}HAVE_STRRCHR${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_KILL${ac_dB}HAVE_KILL${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_KILL${ac_uB}HAVE_KILL${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_KILL${ac_eB}HAVE_KILL${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_GETRLIMIT${ac_dB}HAVE_GETRLIMIT${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_GETRLIMIT${ac_uB}HAVE_GETRLIMIT${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_GETRLIMIT${ac_eB}HAVE_GETRLIMIT${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_SETRLIMIT${ac_dB}HAVE_SETRLIMIT${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SETRLIMIT${ac_uB}HAVE_SETRLIMIT${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SETRLIMIT${ac_eB}HAVE_SETRLIMIT${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_ATOLL${ac_dB}HAVE_ATOLL${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_ATOLL${ac_uB}HAVE_ATOLL${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_ATOLL${ac_eB}HAVE_ATOLL${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_SYSCONF${ac_dB}HAVE_SYSCONF${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SYSCONF${ac_uB}HAVE_SYSCONF${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SYSCONF${ac_eB}HAVE_SYSCONF${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_ISASCII${ac_dB}HAVE_ISASCII${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_ISASCII${ac_uB}HAVE_ISASCII${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_ISASCII${ac_eB}HAVE_ISASCII${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_GETTIMEOFDAY${ac_dB}HAVE_GETTIMEOFDAY${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_GETTIMEOFDAY${ac_uB}HAVE_GETTIMEOFDAY${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_GETTIMEOFDAY${ac_eB}HAVE_GETTIMEOFDAY${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_STRSIGNAL${ac_dB}HAVE_STRSIGNAL${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STRSIGNAL${ac_uB}HAVE_STRSIGNAL${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STRSIGNAL${ac_eB}HAVE_STRSIGNAL${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_PUTC_UNLOCKED${ac_dB}HAVE_PUTC_UNLOCKED${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_PUTC_UNLOCKED${ac_uB}HAVE_PUTC_UNLOCKED${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_PUTC_UNLOCKED${ac_eB}HAVE_PUTC_UNLOCKED${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_FPUTC_UNLOCKED${ac_dB}HAVE_FPUTC_UNLOCKED${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_FPUTC_UNLOCKED${ac_uB}HAVE_FPUTC_UNLOCKED${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_FPUTC_UNLOCKED${ac_eB}HAVE_FPUTC_UNLOCKED${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_FPUTS_UNLOCKED${ac_dB}HAVE_FPUTS_UNLOCKED${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_FPUTS_UNLOCKED${ac_uB}HAVE_FPUTS_UNLOCKED${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_FPUTS_UNLOCKED${ac_eB}HAVE_FPUTS_UNLOCKED${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_VPRINTF${ac_dB}HAVE_VPRINTF${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_VPRINTF${ac_uB}HAVE_VPRINTF${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_VPRINTF${ac_eB}HAVE_VPRINTF${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_PRINTF_PTR${ac_dB}HAVE_PRINTF_PTR${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_PRINTF_PTR${ac_uB}HAVE_PRINTF_PTR${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_PRINTF_PTR${ac_eB}HAVE_PRINTF_PTR${ac_eC}1${ac_eD}
|
||||
${ac_dA}SYS_SIGLIST_DECLARED${ac_dB}SYS_SIGLIST_DECLARED${ac_dC}1${ac_dD}
|
||||
${ac_uA}SYS_SIGLIST_DECLARED${ac_uB}SYS_SIGLIST_DECLARED${ac_uC}1${ac_uD}
|
||||
${ac_eA}SYS_SIGLIST_DECLARED${ac_eB}SYS_SIGLIST_DECLARED${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
rm -f conftest.frag conftest.h
|
||||
echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
|
||||
cat conftest.in >> conftest.h
|
||||
rm -f conftest.in
|
||||
if cmp -s $ac_file conftest.h 2>/dev/null; then
|
||||
echo "$ac_file is unchanged"
|
||||
rm -f conftest.h
|
||||
else
|
||||
# Remove last slash and all that follows it. Not all systems have dirname.
|
||||
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
|
||||
if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
|
||||
# The file is in a subdirectory.
|
||||
test ! -d "$ac_dir" && mkdir "$ac_dir"
|
||||
fi
|
||||
rm -f $ac_file
|
||||
mv conftest.h $ac_file
|
||||
fi
|
||||
fi; done
|
||||
|
||||
|
||||
host='i686-pc-linux-gnu'
|
||||
build='i686-pc-linux-gnu'
|
||||
target='arm-unknown-elf'
|
||||
target_alias='arm-elf'
|
||||
srcdir='.'
|
||||
subdirs=''
|
||||
oldstyle_subdirs=''
|
||||
symbolic_link='ln -s'
|
||||
program_transform_set=''
|
||||
program_transform_name='s,x,x,'
|
||||
dep_host_xmake_file=''
|
||||
host_xmake_file='i386/x-i386'
|
||||
dep_tmake_file=' ./config/arm/t-arm-elf'
|
||||
tmake_file='arm/t-arm-elf'
|
||||
thread_file='single'
|
||||
gcc_version='2.9-arm-000512'
|
||||
gcc_version_trigger='./version.c'
|
||||
local_prefix='$(prefix)'
|
||||
build_install_headers_dir='install-headers-tar'
|
||||
build_exeext=''
|
||||
host_exeext=''
|
||||
out_file='arm/arm.c'
|
||||
gdb_needs_out_file_path=''
|
||||
SET_MAKE=''
|
||||
target_list='all.build all.cross start.encap rest.encap info dvi install-normal install-common install-info install-man uninstall distdir mostlyclean clean distclean extraclean maintainer-clean stage1 stage2 stage3 stage4'
|
||||
target_overrides='Make-target'
|
||||
host_overrides='Make-host'
|
||||
cross_defines='CROSS=-DCROSS_COMPILE'
|
||||
cross_overrides='/home/cameron/programming/agbcc2/gcc_arm/cross-make'
|
||||
build_overrides='/dev/null'
|
||||
|
||||
|
||||
. $srcdir/configure.lang
|
||||
case x$CONFIG_HEADERS in
|
||||
xauto-host.h:config.in)
|
||||
echo > cstamp-h ;;
|
||||
esac
|
||||
# If the host supports symlinks, point stage[1234] at ../stage[1234] so
|
||||
# bootstrapping and the installation procedure can still use
|
||||
# CC="stage1/xgcc -Bstage1/". If the host doesn't support symlinks,
|
||||
# FLAGS_TO_PASS has been modified to solve the problem there.
|
||||
# This is virtually a duplicate of what happens in configure.lang; we do
|
||||
# an extra check to make sure this only happens if ln -s can be used.
|
||||
if test "$symbolic_link" = "ln -s"; then
|
||||
for d in .. ${subdirs} ; do
|
||||
if test $d != ..; then
|
||||
STARTDIR=`pwd`
|
||||
cd $d
|
||||
for t in stage1 stage2 stage3 stage4 include
|
||||
do
|
||||
rm -f $t
|
||||
$symbolic_link ../$t $t 2>/dev/null
|
||||
done
|
||||
cd $STARTDIR
|
||||
fi
|
||||
done
|
||||
else true ; fi
|
||||
|
||||
exit 0
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
# 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. It is not useful on other systems.
|
||||
# If it contains results you don't want to keep, you may remove or edit it.
|
||||
#
|
||||
# By default, configure uses ./config.cache as the cache file,
|
||||
# creating it if it does not exist already. You can give configure
|
||||
# the --cache-file=FILE option to use a different cache file; that is
|
||||
# what configure does when it calls configure scripts in
|
||||
# subdirectories, so they share the cache.
|
||||
# Giving --cache-file=/dev/null disables caching, for debugging configure.
|
||||
# config.status only pays attention to the cache file if you give it the
|
||||
# --recheck option to rerun configure.
|
||||
#
|
||||
ac_cv_decl_sys_siglist=${ac_cv_decl_sys_siglist='yes'}
|
||||
ac_cv_func_atoll=${ac_cv_func_atoll='yes'}
|
||||
ac_cv_func_atoq=${ac_cv_func_atoq='no'}
|
||||
ac_cv_func_bcmp=${ac_cv_func_bcmp='yes'}
|
||||
ac_cv_func_bcopy=${ac_cv_func_bcopy='yes'}
|
||||
ac_cv_func_bsearch=${ac_cv_func_bsearch='yes'}
|
||||
ac_cv_func_bzero=${ac_cv_func_bzero='yes'}
|
||||
ac_cv_func_fputc_unlocked=${ac_cv_func_fputc_unlocked='yes'}
|
||||
ac_cv_func_fputs_unlocked=${ac_cv_func_fputs_unlocked='yes'}
|
||||
ac_cv_func_getrlimit=${ac_cv_func_getrlimit='yes'}
|
||||
ac_cv_func_gettimeofday=${ac_cv_func_gettimeofday='yes'}
|
||||
ac_cv_func_index=${ac_cv_func_index='yes'}
|
||||
ac_cv_func_isascii=${ac_cv_func_isascii='yes'}
|
||||
ac_cv_func_kill=${ac_cv_func_kill='yes'}
|
||||
ac_cv_func_popen=${ac_cv_func_popen='yes'}
|
||||
ac_cv_func_putc_unlocked=${ac_cv_func_putc_unlocked='yes'}
|
||||
ac_cv_func_putenv=${ac_cv_func_putenv='yes'}
|
||||
ac_cv_func_rindex=${ac_cv_func_rindex='yes'}
|
||||
ac_cv_func_setrlimit=${ac_cv_func_setrlimit='yes'}
|
||||
ac_cv_func_strchr=${ac_cv_func_strchr='yes'}
|
||||
ac_cv_func_strerror=${ac_cv_func_strerror='yes'}
|
||||
ac_cv_func_strrchr=${ac_cv_func_strrchr='yes'}
|
||||
ac_cv_func_strsignal=${ac_cv_func_strsignal='yes'}
|
||||
ac_cv_func_strtoul=${ac_cv_func_strtoul='yes'}
|
||||
ac_cv_func_sysconf=${ac_cv_func_sysconf='yes'}
|
||||
ac_cv_func_vfork_works=${ac_cv_func_vfork_works='yes'}
|
||||
ac_cv_func_vprintf=${ac_cv_func_vprintf='yes'}
|
||||
ac_cv_header_fcntl_h=${ac_cv_header_fcntl_h='yes'}
|
||||
ac_cv_header_limits_h=${ac_cv_header_limits_h='yes'}
|
||||
ac_cv_header_pthread_h=${ac_cv_header_pthread_h='yes'}
|
||||
ac_cv_header_stab_h=${ac_cv_header_stab_h='yes'}
|
||||
ac_cv_header_stdc=${ac_cv_header_stdc='yes'}
|
||||
ac_cv_header_stddef_h=${ac_cv_header_stddef_h='yes'}
|
||||
ac_cv_header_stdlib_h=${ac_cv_header_stdlib_h='yes'}
|
||||
ac_cv_header_string_h=${ac_cv_header_string_h='yes'}
|
||||
ac_cv_header_strings_h=${ac_cv_header_strings_h='yes'}
|
||||
ac_cv_header_sys_file_h=${ac_cv_header_sys_file_h='yes'}
|
||||
ac_cv_header_sys_param_h=${ac_cv_header_sys_param_h='yes'}
|
||||
ac_cv_header_sys_resource_h=${ac_cv_header_sys_resource_h='yes'}
|
||||
ac_cv_header_sys_stat_h=${ac_cv_header_sys_stat_h='yes'}
|
||||
ac_cv_header_sys_time_h=${ac_cv_header_sys_time_h='yes'}
|
||||
ac_cv_header_sys_times_h=${ac_cv_header_sys_times_h='yes'}
|
||||
ac_cv_header_sys_wait_h=${ac_cv_header_sys_wait_h='yes'}
|
||||
ac_cv_header_thread_h=${ac_cv_header_thread_h='no'}
|
||||
ac_cv_header_time=${ac_cv_header_time='yes'}
|
||||
ac_cv_header_time_h=${ac_cv_header_time_h='yes'}
|
||||
ac_cv_header_unistd_h=${ac_cv_header_unistd_h='yes'}
|
||||
ac_cv_header_vfork_h=${ac_cv_header_vfork_h='no'}
|
||||
ac_cv_lib_fl_yywrap=${ac_cv_lib_fl_yywrap='no'}
|
||||
ac_cv_path_install=${ac_cv_path_install='/usr/bin/install -c'}
|
||||
ac_cv_prog_AWK=${ac_cv_prog_AWK='mawk'}
|
||||
ac_cv_prog_CC=${ac_cv_prog_CC='gcc'}
|
||||
ac_cv_prog_CPP=${ac_cv_prog_CPP='gcc -E'}
|
||||
ac_cv_prog_LEX=${ac_cv_prog_LEX='flex'}
|
||||
ac_cv_prog_RANLIB=${ac_cv_prog_RANLIB='ranlib'}
|
||||
ac_cv_prog_YACC=${ac_cv_prog_YACC='bison -y'}
|
||||
ac_cv_prog_cc_cross=${ac_cv_prog_cc_cross='no'}
|
||||
ac_cv_prog_cc_g=${ac_cv_prog_cc_g='yes'}
|
||||
ac_cv_prog_cc_works=${ac_cv_prog_cc_works='yes'}
|
||||
ac_cv_prog_gcc=${ac_cv_prog_gcc='yes'}
|
||||
ac_cv_prog_gnat=${ac_cv_prog_gnat='no'}
|
||||
ac_cv_prog_make_make_set=${ac_cv_prog_make_make_set='yes'}
|
||||
ac_cv_type_pid_t=${ac_cv_type_pid_t='yes'}
|
||||
gcc_cv_as=${gcc_cv_as=''}
|
||||
gcc_cv_as_alignment_features=${gcc_cv_as_alignment_features=''}
|
||||
gcc_cv_as_gas_srcdir=${gcc_cv_as_gas_srcdir='./gas'}
|
||||
gcc_cv_as_subsections=${gcc_cv_as_subsections=''}
|
||||
gcc_cv_c_have_stringify=${gcc_cv_c_have_stringify='yes'}
|
||||
gcc_cv_c_volatile=${gcc_cv_c_volatile='yes'}
|
||||
gcc_cv_decl_needed_abort=${gcc_cv_decl_needed_abort='no'}
|
||||
gcc_cv_decl_needed_atof=${gcc_cv_decl_needed_atof='no'}
|
||||
gcc_cv_decl_needed_atol=${gcc_cv_decl_needed_atol='no'}
|
||||
gcc_cv_decl_needed_bcmp=${gcc_cv_decl_needed_bcmp='no'}
|
||||
gcc_cv_decl_needed_bcopy=${gcc_cv_decl_needed_bcopy='no'}
|
||||
gcc_cv_decl_needed_bzero=${gcc_cv_decl_needed_bzero='no'}
|
||||
gcc_cv_decl_needed_calloc=${gcc_cv_decl_needed_calloc='no'}
|
||||
gcc_cv_decl_needed_free=${gcc_cv_decl_needed_free='no'}
|
||||
gcc_cv_decl_needed_getcwd=${gcc_cv_decl_needed_getcwd='no'}
|
||||
gcc_cv_decl_needed_getenv=${gcc_cv_decl_needed_getenv='no'}
|
||||
gcc_cv_decl_needed_getrlimit=${gcc_cv_decl_needed_getrlimit='no'}
|
||||
gcc_cv_decl_needed_getwd=${gcc_cv_decl_needed_getwd='no'}
|
||||
gcc_cv_decl_needed_index=${gcc_cv_decl_needed_index='no'}
|
||||
gcc_cv_decl_needed_malloc=${gcc_cv_decl_needed_malloc='no'}
|
||||
gcc_cv_decl_needed_realloc=${gcc_cv_decl_needed_realloc='no'}
|
||||
gcc_cv_decl_needed_rindex=${gcc_cv_decl_needed_rindex='no'}
|
||||
gcc_cv_decl_needed_sbrk=${gcc_cv_decl_needed_sbrk='no'}
|
||||
gcc_cv_decl_needed_setrlimit=${gcc_cv_decl_needed_setrlimit='no'}
|
||||
gcc_cv_decl_needed_strerror=${gcc_cv_decl_needed_strerror='no'}
|
||||
gcc_cv_decl_needed_strsignal=${gcc_cv_decl_needed_strsignal='no'}
|
||||
gcc_cv_func_printf_ptr=${gcc_cv_func_printf_ptr='yes'}
|
||||
gcc_cv_header_inttypes_h=${gcc_cv_header_inttypes_h='yes'}
|
||||
gcc_cv_header_string=${gcc_cv_header_string='yes'}
|
||||
gcc_cv_prog_LN=${gcc_cv_prog_LN='ln'}
|
||||
gcc_cv_prog_LN_S=${gcc_cv_prog_LN_S='ln -s'}
|
||||
|
|
@ -1,588 +0,0 @@
|
|||
#! /bin/sh
|
||||
# Generated automatically by configure.
|
||||
# Run this file to recreate the current configuration.
|
||||
# This directory was configured as follows,
|
||||
# on host cameron-HP-Pavilion-g7-Notebook-PC:
|
||||
#
|
||||
# ./configure --target=arm-elf --host=i686-linux-gnu
|
||||
#
|
||||
# Compiler output produced by configure, useful for debugging
|
||||
# configure, is in ./config.log if it exists.
|
||||
|
||||
ac_cs_usage="Usage: ./config.status [--recheck] [--version] [--help]"
|
||||
for ac_option
|
||||
do
|
||||
case "$ac_option" in
|
||||
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
|
||||
echo "running ${CONFIG_SHELL-/bin/sh} ./configure --target=arm-elf --host=i686-linux-gnu --no-create --no-recursion"
|
||||
exec ${CONFIG_SHELL-/bin/sh} ./configure --target=arm-elf --host=i686-linux-gnu --no-create --no-recursion ;;
|
||||
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
|
||||
echo "./config.status generated by autoconf version 2.13"
|
||||
exit 0 ;;
|
||||
-help | --help | --hel | --he | --h)
|
||||
echo "$ac_cs_usage"; exit 0 ;;
|
||||
*) echo "$ac_cs_usage"; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
ac_given_srcdir=.
|
||||
|
||||
trap 'rm -fr Makefile auto-host.h conftest*; exit 1' 1 2 15
|
||||
|
||||
# Protect against being on the right side of a sed subst in config.status.
|
||||
sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\&%]/\\&/g;
|
||||
s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
|
||||
/^[ ]*VPATH[ ]*=[^:]*$/d
|
||||
|
||||
s%@SHELL@%/bin/sh%g
|
||||
s%@CFLAGS@%-g -O2%g
|
||||
s%@CPPFLAGS@%%g
|
||||
s%@CXXFLAGS@%%g
|
||||
s%@FFLAGS@%%g
|
||||
s%@DEFS@%-DHAVE_CONFIG_H%g
|
||||
s%@LDFLAGS@%%g
|
||||
s%@LIBS@%%g
|
||||
s%@exec_prefix@%${prefix}%g
|
||||
s%@prefix@%/usr/local%g
|
||||
s%@program_transform_name@%s,x,x,%g
|
||||
s%@bindir@%${exec_prefix}/bin%g
|
||||
s%@sbindir@%${exec_prefix}/sbin%g
|
||||
s%@libexecdir@%${exec_prefix}/libexec%g
|
||||
s%@datadir@%${prefix}/share%g
|
||||
s%@sysconfdir@%${prefix}/etc%g
|
||||
s%@sharedstatedir@%${prefix}/com%g
|
||||
s%@localstatedir@%${prefix}/var%g
|
||||
s%@libdir@%${exec_prefix}/lib%g
|
||||
s%@includedir@%${prefix}/include%g
|
||||
s%@oldincludedir@%/usr/include%g
|
||||
s%@infodir@%${prefix}/info%g
|
||||
s%@mandir@%${prefix}/man%g
|
||||
s%@host@%i686-pc-linux-gnu%g
|
||||
s%@host_alias@%i686-linux-gnu%g
|
||||
s%@host_cpu@%i686%g
|
||||
s%@host_vendor@%pc%g
|
||||
s%@host_os@%linux-gnu%g
|
||||
s%@target@%arm-unknown-elf%g
|
||||
s%@target_alias@%arm-elf%g
|
||||
s%@target_cpu@%arm%g
|
||||
s%@target_vendor@%unknown%g
|
||||
s%@target_os@%elf%g
|
||||
s%@build@%i686-pc-linux-gnu%g
|
||||
s%@build_alias@%i686-linux-gnu%g
|
||||
s%@build_cpu@%i686%g
|
||||
s%@build_vendor@%pc%g
|
||||
s%@build_os@%linux-gnu%g
|
||||
s%@CC@%gcc%g
|
||||
s%@stage1_warn_cflags@%$(WARN_CFLAGS)%g
|
||||
s%@SET_MAKE@%%g
|
||||
s%@AWK@%mawk%g
|
||||
s%@LEX@%flex%g
|
||||
s%@LEXLIB@%%g
|
||||
s%@LN@%ln%g
|
||||
s%@LN_S@%ln -s%g
|
||||
s%@RANLIB@%ranlib%g
|
||||
s%@YACC@%bison -y%g
|
||||
s%@INSTALL@%/usr/bin/install -c%g
|
||||
s%@INSTALL_PROGRAM@%${INSTALL}%g
|
||||
s%@INSTALL_DATA@%${INSTALL} -m 644%g
|
||||
s%@CPP@%gcc -E%g
|
||||
s%@gnat@%no%g
|
||||
s%@vfprintf@%%g
|
||||
s%@doprint@%%g
|
||||
s%@manext@%.1%g
|
||||
s%@objext@%.o%g
|
||||
s%@gthread_flags@%%g
|
||||
s%@build_canonical@%i686-pc-linux-gnu%g
|
||||
s%@host_canonical@%i686-pc-linux-gnu%g
|
||||
s%@target_subdir@%arm-unknown-elf/%g
|
||||
s%@inhibit_libc@%%g
|
||||
s%@sched_prefix@%%g
|
||||
s%@sched_cflags@%%g
|
||||
s%@gcc_tooldir@%$(libsubdir)/$(unlibsubdir)/../$(target_alias)%g
|
||||
s%@dollar@%%g
|
||||
s%@objdir@%/home/cameron/programming/agbcc2/gcc_arm%g
|
||||
s%@subdirs@%%g
|
||||
s%@all_languages@%%g
|
||||
s%@all_boot_languages@%%g
|
||||
s%@all_compilers@%%g
|
||||
s%@all_lang_makefiles@%%g
|
||||
s%@all_stagestuff@%%g
|
||||
s%@all_diff_excludes@%%g
|
||||
s%@all_lib2funcs@%%g
|
||||
s%@all_headers@%%g
|
||||
s%@cpp_main@%cccp%g
|
||||
s%@extra_passes@%%g
|
||||
s%@extra_programs@%%g
|
||||
s%@extra_parts@%%g
|
||||
s%@extra_c_objs@%%g
|
||||
s%@extra_cxx_objs@%%g
|
||||
s%@extra_cpp_objs@%%g
|
||||
s%@extra_c_flags@% -DMULTIBYTE_CHARS=1%g
|
||||
s%@extra_objs@% %g
|
||||
s%@host_extra_gcc_objs@%%g
|
||||
s%@extra_headers_list@%%g
|
||||
s%@dep_host_xmake_file@%%g
|
||||
s%@dep_tmake_file@% ./config/arm/t-arm-elf%g
|
||||
s%@out_file@%arm/arm.c%g
|
||||
s%@out_object_file@%arm.o%g
|
||||
s%@md_file@%arm/arm.md%g
|
||||
s%@tm_file_list@% gansidecl.h $(srcdir)/config/arm/unknown-elf.h%g
|
||||
s%@build_xm_file_list@% auto-host.h gansidecl.h $(srcdir)/config/i386/xm-i386.h%g
|
||||
s%@host_xm_file_list@% auto-host.h gansidecl.h $(srcdir)/config/i386/xm-i386.h%g
|
||||
s%@lang_specs_files@%%g
|
||||
s%@lang_options_files@%%g
|
||||
s%@lang_tree_files@%%g
|
||||
s%@thread_file@%single%g
|
||||
s%@objc_boehm_gc@%%g
|
||||
s%@JAVAGC@%boehm%g
|
||||
s%@gcc_version@%2.9-arm-000512%g
|
||||
s%@gcc_version_trigger@%./version.c%g
|
||||
s%@local_prefix@%$(prefix)%g
|
||||
s%@gcc_gxx_include_dir@%$(libsubdir)/$(unlibsubdir)/..`echo $(exec_prefix) | sed -e 's|^$(prefix)||' -e 's|/[^/]*|/..|g'`/include/g++-%g
|
||||
s%@fixincludes@%fixincludes%g
|
||||
s%@build_install_headers_dir@%install-headers-tar%g
|
||||
s%@build_exeext@%%g
|
||||
s%@host_exeext@%%g
|
||||
s%@float_h_file@%float-i64.h%g
|
||||
s%@cc_set_by_configure@%$(CC)%g
|
||||
s%@stage_prefix_set_by_configure@%$(STAGE_PREFIX)%g
|
||||
s%@install@%%g
|
||||
s%@symbolic_link@%ln -s%g
|
||||
/@target_overrides@/r Make-target
|
||||
s%@target_overrides@%%g
|
||||
/@host_overrides@/r Make-host
|
||||
s%@host_overrides@%%g
|
||||
s%@cross_defines@%CROSS=-DCROSS_COMPILE%g
|
||||
/@cross_overrides@/r /home/cameron/programming/agbcc2/gcc_arm/cross-make
|
||||
s%@cross_overrides@%%g
|
||||
/@build_overrides@/r /dev/null
|
||||
s%@build_overrides@%%g
|
||||
/@language_fragments@/r Make-lang
|
||||
s%@language_fragments@%%g
|
||||
/@language_hooks@/r Make-hooks
|
||||
s%@language_hooks@%%g
|
||||
|
||||
CEOF
|
||||
|
||||
# Split the substitutions into bite-sized pieces for seds with
|
||||
# small command number limits, like on Digital OSF/1 and HP-UX.
|
||||
ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
|
||||
ac_file=1 # Number of current file.
|
||||
ac_beg=1 # First line for current file.
|
||||
ac_end=$ac_max_sed_cmds # Line after last line for current file.
|
||||
ac_more_lines=:
|
||||
ac_sed_cmds=""
|
||||
while $ac_more_lines; do
|
||||
if test $ac_beg -gt 1; then
|
||||
sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
|
||||
else
|
||||
sed "${ac_end}q" conftest.subs > conftest.s$ac_file
|
||||
fi
|
||||
if test ! -s conftest.s$ac_file; then
|
||||
ac_more_lines=false
|
||||
rm -f conftest.s$ac_file
|
||||
else
|
||||
if test -z "$ac_sed_cmds"; then
|
||||
ac_sed_cmds="sed -f conftest.s$ac_file"
|
||||
else
|
||||
ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
|
||||
fi
|
||||
ac_file=`expr $ac_file + 1`
|
||||
ac_beg=$ac_end
|
||||
ac_end=`expr $ac_end + $ac_max_sed_cmds`
|
||||
fi
|
||||
done
|
||||
if test -z "$ac_sed_cmds"; then
|
||||
ac_sed_cmds=cat
|
||||
fi
|
||||
|
||||
CONFIG_FILES=${CONFIG_FILES-"Makefile"}
|
||||
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
|
||||
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
|
||||
case "$ac_file" in
|
||||
*:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
|
||||
ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
|
||||
*) ac_file_in="${ac_file}.in" ;;
|
||||
esac
|
||||
|
||||
# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
|
||||
|
||||
# Remove last slash and all that follows it. Not all systems have dirname.
|
||||
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
|
||||
if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
|
||||
# The file is in a subdirectory.
|
||||
test ! -d "$ac_dir" && mkdir "$ac_dir"
|
||||
ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
|
||||
# A "../" for each directory in $ac_dir_suffix.
|
||||
ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
|
||||
else
|
||||
ac_dir_suffix= ac_dots=
|
||||
fi
|
||||
|
||||
case "$ac_given_srcdir" in
|
||||
.) srcdir=.
|
||||
if test -z "$ac_dots"; then top_srcdir=.
|
||||
else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
|
||||
/*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
|
||||
*) # Relative path.
|
||||
srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
|
||||
top_srcdir="$ac_dots$ac_given_srcdir" ;;
|
||||
esac
|
||||
|
||||
|
||||
echo creating "$ac_file"
|
||||
rm -f "$ac_file"
|
||||
configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
|
||||
case "$ac_file" in
|
||||
*Makefile*) ac_comsub="1i\\
|
||||
# $configure_input" ;;
|
||||
*) ac_comsub= ;;
|
||||
esac
|
||||
|
||||
ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
|
||||
sed -e "$ac_comsub
|
||||
s%@configure_input@%$configure_input%g
|
||||
s%@srcdir@%$srcdir%g
|
||||
s%@top_srcdir@%$top_srcdir%g
|
||||
" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
|
||||
fi; done
|
||||
rm -f conftest.s*
|
||||
|
||||
# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
|
||||
# NAME is the cpp macro being defined and VALUE is the value it is being given.
|
||||
#
|
||||
# ac_d sets the value in "#define NAME VALUE" lines.
|
||||
ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
|
||||
ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
|
||||
ac_dC='\3'
|
||||
ac_dD='%g'
|
||||
# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
|
||||
ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
|
||||
ac_uB='\([ ]\)%\1#\2define\3'
|
||||
ac_uC=' '
|
||||
ac_uD='\4%g'
|
||||
# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
|
||||
ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
|
||||
ac_eB='$%\1#\2define\3'
|
||||
ac_eC=' '
|
||||
ac_eD='%g'
|
||||
|
||||
if test "${CONFIG_HEADERS+set}" != set; then
|
||||
CONFIG_HEADERS="auto-host.h:config.in"
|
||||
fi
|
||||
for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
|
||||
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
|
||||
case "$ac_file" in
|
||||
*:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
|
||||
ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
|
||||
*) ac_file_in="${ac_file}.in" ;;
|
||||
esac
|
||||
|
||||
echo creating $ac_file
|
||||
|
||||
rm -f conftest.frag conftest.in conftest.out
|
||||
ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
|
||||
cat $ac_file_inputs > conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_VOLATILE${ac_dB}HAVE_VOLATILE${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_VOLATILE${ac_uB}HAVE_VOLATILE${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_VOLATILE${ac_eB}HAVE_VOLATILE${ac_eC}1${ac_eD}
|
||||
${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD}
|
||||
${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD}
|
||||
${ac_eA}STDC_HEADERS${ac_eB}STDC_HEADERS${ac_eC}1${ac_eD}
|
||||
${ac_dA}TIME_WITH_SYS_TIME${ac_dB}TIME_WITH_SYS_TIME${ac_dC}1${ac_dD}
|
||||
${ac_uA}TIME_WITH_SYS_TIME${ac_uB}TIME_WITH_SYS_TIME${ac_uC}1${ac_uD}
|
||||
${ac_eA}TIME_WITH_SYS_TIME${ac_eB}TIME_WITH_SYS_TIME${ac_eC}1${ac_eD}
|
||||
${ac_dA}STRING_WITH_STRINGS${ac_dB}STRING_WITH_STRINGS${ac_dC}1${ac_dD}
|
||||
${ac_uA}STRING_WITH_STRINGS${ac_uB}STRING_WITH_STRINGS${ac_uC}1${ac_uD}
|
||||
${ac_eA}STRING_WITH_STRINGS${ac_eB}STRING_WITH_STRINGS${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_SYS_WAIT_H${ac_dB}HAVE_SYS_WAIT_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SYS_WAIT_H${ac_uB}HAVE_SYS_WAIT_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SYS_WAIT_H${ac_eB}HAVE_SYS_WAIT_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_LIMITS_H${ac_dB}HAVE_LIMITS_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_LIMITS_H${ac_uB}HAVE_LIMITS_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_LIMITS_H${ac_eB}HAVE_LIMITS_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_STDDEF_H${ac_dB}HAVE_STDDEF_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STDDEF_H${ac_uB}HAVE_STDDEF_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STDDEF_H${ac_eB}HAVE_STDDEF_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STRING_H${ac_uB}HAVE_STRING_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STRING_H${ac_eB}HAVE_STRING_H${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_STRINGS_H${ac_dB}HAVE_STRINGS_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STRINGS_H${ac_uB}HAVE_STRINGS_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STRINGS_H${ac_eB}HAVE_STRINGS_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STDLIB_H${ac_uB}HAVE_STDLIB_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STDLIB_H${ac_eB}HAVE_STDLIB_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_TIME_H${ac_dB}HAVE_TIME_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_TIME_H${ac_uB}HAVE_TIME_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_TIME_H${ac_eB}HAVE_TIME_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_FCNTL_H${ac_dB}HAVE_FCNTL_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_FCNTL_H${ac_uB}HAVE_FCNTL_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_FCNTL_H${ac_eB}HAVE_FCNTL_H${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_UNISTD_H${ac_eB}HAVE_UNISTD_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_STAB_H${ac_dB}HAVE_STAB_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STAB_H${ac_uB}HAVE_STAB_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STAB_H${ac_eB}HAVE_STAB_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_SYS_FILE_H${ac_dB}HAVE_SYS_FILE_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SYS_FILE_H${ac_uB}HAVE_SYS_FILE_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SYS_FILE_H${ac_eB}HAVE_SYS_FILE_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_SYS_TIME_H${ac_dB}HAVE_SYS_TIME_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SYS_TIME_H${ac_uB}HAVE_SYS_TIME_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SYS_TIME_H${ac_eB}HAVE_SYS_TIME_H${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_SYS_RESOURCE_H${ac_dB}HAVE_SYS_RESOURCE_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SYS_RESOURCE_H${ac_uB}HAVE_SYS_RESOURCE_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SYS_RESOURCE_H${ac_eB}HAVE_SYS_RESOURCE_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_SYS_PARAM_H${ac_dB}HAVE_SYS_PARAM_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SYS_PARAM_H${ac_uB}HAVE_SYS_PARAM_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SYS_PARAM_H${ac_eB}HAVE_SYS_PARAM_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_SYS_TIMES_H${ac_dB}HAVE_SYS_TIMES_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SYS_TIMES_H${ac_uB}HAVE_SYS_TIMES_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SYS_TIMES_H${ac_eB}HAVE_SYS_TIMES_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_SYS_STAT_H${ac_dB}HAVE_SYS_STAT_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SYS_STAT_H${ac_uB}HAVE_SYS_STAT_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SYS_STAT_H${ac_eB}HAVE_SYS_STAT_H${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_CPP_STRINGIFY${ac_dB}HAVE_CPP_STRINGIFY${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_CPP_STRINGIFY${ac_uB}HAVE_CPP_STRINGIFY${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_CPP_STRINGIFY${ac_eB}HAVE_CPP_STRINGIFY${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_INTTYPES_H${ac_dB}HAVE_INTTYPES_H${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_INTTYPES_H${ac_uB}HAVE_INTTYPES_H${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_INTTYPES_H${ac_eB}HAVE_INTTYPES_H${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_STRTOUL${ac_dB}HAVE_STRTOUL${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STRTOUL${ac_uB}HAVE_STRTOUL${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STRTOUL${ac_eB}HAVE_STRTOUL${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_BSEARCH${ac_dB}HAVE_BSEARCH${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_BSEARCH${ac_uB}HAVE_BSEARCH${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_BSEARCH${ac_eB}HAVE_BSEARCH${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_STRERROR${ac_dB}HAVE_STRERROR${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STRERROR${ac_uB}HAVE_STRERROR${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STRERROR${ac_eB}HAVE_STRERROR${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_PUTENV${ac_dB}HAVE_PUTENV${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_PUTENV${ac_uB}HAVE_PUTENV${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_PUTENV${ac_eB}HAVE_PUTENV${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_POPEN${ac_dB}HAVE_POPEN${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_POPEN${ac_uB}HAVE_POPEN${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_POPEN${ac_eB}HAVE_POPEN${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_BCOPY${ac_dB}HAVE_BCOPY${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_BCOPY${ac_uB}HAVE_BCOPY${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_BCOPY${ac_eB}HAVE_BCOPY${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_BZERO${ac_dB}HAVE_BZERO${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_BZERO${ac_uB}HAVE_BZERO${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_BZERO${ac_eB}HAVE_BZERO${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_BCMP${ac_dB}HAVE_BCMP${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_BCMP${ac_uB}HAVE_BCMP${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_BCMP${ac_eB}HAVE_BCMP${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_INDEX${ac_dB}HAVE_INDEX${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_INDEX${ac_uB}HAVE_INDEX${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_INDEX${ac_eB}HAVE_INDEX${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_RINDEX${ac_dB}HAVE_RINDEX${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_RINDEX${ac_uB}HAVE_RINDEX${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_RINDEX${ac_eB}HAVE_RINDEX${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_STRCHR${ac_dB}HAVE_STRCHR${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STRCHR${ac_uB}HAVE_STRCHR${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STRCHR${ac_eB}HAVE_STRCHR${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_STRRCHR${ac_dB}HAVE_STRRCHR${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STRRCHR${ac_uB}HAVE_STRRCHR${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STRRCHR${ac_eB}HAVE_STRRCHR${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_KILL${ac_dB}HAVE_KILL${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_KILL${ac_uB}HAVE_KILL${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_KILL${ac_eB}HAVE_KILL${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_GETRLIMIT${ac_dB}HAVE_GETRLIMIT${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_GETRLIMIT${ac_uB}HAVE_GETRLIMIT${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_GETRLIMIT${ac_eB}HAVE_GETRLIMIT${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_SETRLIMIT${ac_dB}HAVE_SETRLIMIT${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SETRLIMIT${ac_uB}HAVE_SETRLIMIT${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SETRLIMIT${ac_eB}HAVE_SETRLIMIT${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_ATOLL${ac_dB}HAVE_ATOLL${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_ATOLL${ac_uB}HAVE_ATOLL${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_ATOLL${ac_eB}HAVE_ATOLL${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_SYSCONF${ac_dB}HAVE_SYSCONF${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_SYSCONF${ac_uB}HAVE_SYSCONF${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_SYSCONF${ac_eB}HAVE_SYSCONF${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_ISASCII${ac_dB}HAVE_ISASCII${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_ISASCII${ac_uB}HAVE_ISASCII${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_ISASCII${ac_eB}HAVE_ISASCII${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_GETTIMEOFDAY${ac_dB}HAVE_GETTIMEOFDAY${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_GETTIMEOFDAY${ac_uB}HAVE_GETTIMEOFDAY${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_GETTIMEOFDAY${ac_eB}HAVE_GETTIMEOFDAY${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_STRSIGNAL${ac_dB}HAVE_STRSIGNAL${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_STRSIGNAL${ac_uB}HAVE_STRSIGNAL${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_STRSIGNAL${ac_eB}HAVE_STRSIGNAL${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_PUTC_UNLOCKED${ac_dB}HAVE_PUTC_UNLOCKED${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_PUTC_UNLOCKED${ac_uB}HAVE_PUTC_UNLOCKED${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_PUTC_UNLOCKED${ac_eB}HAVE_PUTC_UNLOCKED${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_FPUTC_UNLOCKED${ac_dB}HAVE_FPUTC_UNLOCKED${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_FPUTC_UNLOCKED${ac_uB}HAVE_FPUTC_UNLOCKED${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_FPUTC_UNLOCKED${ac_eB}HAVE_FPUTC_UNLOCKED${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
${ac_dA}HAVE_FPUTS_UNLOCKED${ac_dB}HAVE_FPUTS_UNLOCKED${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_FPUTS_UNLOCKED${ac_uB}HAVE_FPUTS_UNLOCKED${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_FPUTS_UNLOCKED${ac_eB}HAVE_FPUTS_UNLOCKED${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_VPRINTF${ac_dB}HAVE_VPRINTF${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_VPRINTF${ac_uB}HAVE_VPRINTF${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_VPRINTF${ac_eB}HAVE_VPRINTF${ac_eC}1${ac_eD}
|
||||
${ac_dA}HAVE_PRINTF_PTR${ac_dB}HAVE_PRINTF_PTR${ac_dC}1${ac_dD}
|
||||
${ac_uA}HAVE_PRINTF_PTR${ac_uB}HAVE_PRINTF_PTR${ac_uC}1${ac_uD}
|
||||
${ac_eA}HAVE_PRINTF_PTR${ac_eB}HAVE_PRINTF_PTR${ac_eC}1${ac_eD}
|
||||
${ac_dA}SYS_SIGLIST_DECLARED${ac_dB}SYS_SIGLIST_DECLARED${ac_dC}1${ac_dD}
|
||||
${ac_uA}SYS_SIGLIST_DECLARED${ac_uB}SYS_SIGLIST_DECLARED${ac_uC}1${ac_uD}
|
||||
${ac_eA}SYS_SIGLIST_DECLARED${ac_eB}SYS_SIGLIST_DECLARED${ac_eC}1${ac_eD}
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
cat > conftest.frag <<CEOF
|
||||
s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
|
||||
CEOF
|
||||
sed -f conftest.frag conftest.in > conftest.out
|
||||
rm -f conftest.in
|
||||
mv conftest.out conftest.in
|
||||
|
||||
rm -f conftest.frag conftest.h
|
||||
echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
|
||||
cat conftest.in >> conftest.h
|
||||
rm -f conftest.in
|
||||
if cmp -s $ac_file conftest.h 2>/dev/null; then
|
||||
echo "$ac_file is unchanged"
|
||||
rm -f conftest.h
|
||||
else
|
||||
# Remove last slash and all that follows it. Not all systems have dirname.
|
||||
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
|
||||
if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
|
||||
# The file is in a subdirectory.
|
||||
test ! -d "$ac_dir" && mkdir "$ac_dir"
|
||||
fi
|
||||
rm -f $ac_file
|
||||
mv conftest.h $ac_file
|
||||
fi
|
||||
fi; done
|
||||
|
||||
|
||||
host='i686-pc-linux-gnu'
|
||||
build='i686-pc-linux-gnu'
|
||||
target='arm-unknown-elf'
|
||||
target_alias='arm-elf'
|
||||
srcdir='.'
|
||||
subdirs=''
|
||||
oldstyle_subdirs=''
|
||||
symbolic_link='ln -s'
|
||||
program_transform_set=''
|
||||
program_transform_name='s,x,x,'
|
||||
dep_host_xmake_file=''
|
||||
host_xmake_file='i386/x-i386'
|
||||
dep_tmake_file=' ./config/arm/t-arm-elf'
|
||||
tmake_file='arm/t-arm-elf'
|
||||
thread_file='single'
|
||||
gcc_version='2.9-arm-000512'
|
||||
gcc_version_trigger='./version.c'
|
||||
local_prefix='$(prefix)'
|
||||
build_install_headers_dir='install-headers-tar'
|
||||
build_exeext=''
|
||||
host_exeext=''
|
||||
out_file='arm/arm.c'
|
||||
gdb_needs_out_file_path=''
|
||||
SET_MAKE=''
|
||||
target_list='all.build all.cross start.encap rest.encap info dvi install-normal install-common install-info install-man uninstall distdir mostlyclean clean distclean extraclean maintainer-clean stage1 stage2 stage3 stage4'
|
||||
target_overrides='Make-target'
|
||||
host_overrides='Make-host'
|
||||
cross_defines='CROSS=-DCROSS_COMPILE'
|
||||
cross_overrides='/home/cameron/programming/agbcc2/gcc_arm/cross-make'
|
||||
build_overrides='/dev/null'
|
||||
|
||||
|
||||
. $srcdir/configure.lang
|
||||
case x$CONFIG_HEADERS in
|
||||
xauto-host.h:config.in)
|
||||
echo > cstamp-h ;;
|
||||
esac
|
||||
# If the host supports symlinks, point stage[1234] at ../stage[1234] so
|
||||
# bootstrapping and the installation procedure can still use
|
||||
# CC="stage1/xgcc -Bstage1/". If the host doesn't support symlinks,
|
||||
# FLAGS_TO_PASS has been modified to solve the problem there.
|
||||
# This is virtually a duplicate of what happens in configure.lang; we do
|
||||
# an extra check to make sure this only happens if ln -s can be used.
|
||||
if test "$symbolic_link" = "ln -s"; then
|
||||
for d in .. ${subdirs} ; do
|
||||
if test $d != ..; then
|
||||
STARTDIR=`pwd`
|
||||
cd $d
|
||||
for t in stage1 stage2 stage3 stage4 include
|
||||
do
|
||||
rm -f $t
|
||||
$symbolic_link ../$t $t 2>/dev/null
|
||||
done
|
||||
cd $STARTDIR
|
||||
fi
|
||||
done
|
||||
else true ; fi
|
||||
|
||||
exit 0
|
||||
|
|
@ -1 +1,586 @@
|
|||
./../libiberty/obstack.c
|
||||
/* obstack.c - subroutines used implicitly by object stack macros
|
||||
Copyright (C) 1988,89,90,91,92,93,94,96,97 Free Software Foundation, Inc.
|
||||
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
||||
Bugs can be reported to bug-glibc@gnu.org.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the
|
||||
Free Software Foundation; either version 2, or (at your option) any
|
||||
later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include "obstack.h"
|
||||
|
||||
/* NOTE BEFORE MODIFYING THIS FILE: This version number must be
|
||||
incremented whenever callers compiled using an old obstack.h can no
|
||||
longer properly call the functions in this obstack.c. */
|
||||
#define OBSTACK_INTERFACE_VERSION 1
|
||||
|
||||
/* Comment out all this code if we are using the GNU C Library, and are not
|
||||
actually compiling the library itself, and the installed library
|
||||
supports the same library interface we do. This code is part of the GNU
|
||||
C Library, but also included in many other GNU distributions. Compiling
|
||||
and linking in this code is a waste when using the GNU C library
|
||||
(especially if it is a shared library). Rather than having every GNU
|
||||
program understand `configure --with-gnu-libc' and omit the object
|
||||
files, it is simpler to just do this in the source for each such file. */
|
||||
|
||||
#include <stdio.h> /* Random thing to get __GNU_LIBRARY__. */
|
||||
#if !defined (_LIBC) && defined (__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1
|
||||
#include <gnu-versions.h>
|
||||
#if _GNU_OBSTACK_INTERFACE_VERSION == OBSTACK_INTERFACE_VERSION
|
||||
#define ELIDE_CODE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef ELIDE_CODE
|
||||
|
||||
|
||||
#if defined (__STDC__) && __STDC__
|
||||
#define POINTER void *
|
||||
#else
|
||||
#define POINTER char *
|
||||
#endif
|
||||
|
||||
/* Determine default alignment. */
|
||||
struct fooalign {char x; double d;};
|
||||
#define DEFAULT_ALIGNMENT \
|
||||
((PTR_INT_TYPE) ((char *) &((struct fooalign *) 0)->d - (char *) 0))
|
||||
/* If malloc were really smart, it would round addresses to DEFAULT_ALIGNMENT.
|
||||
But in fact it might be less smart and round addresses to as much as
|
||||
DEFAULT_ROUNDING. So we prepare for it to do that. */
|
||||
union fooround {long x; double d;};
|
||||
#define DEFAULT_ROUNDING (sizeof (union fooround))
|
||||
|
||||
/* When we copy a long block of data, this is the unit to do it with.
|
||||
On some machines, copying successive ints does not work;
|
||||
in such a case, redefine COPYING_UNIT to `long' (if that works)
|
||||
or `char' as a last resort. */
|
||||
#ifndef COPYING_UNIT
|
||||
#define COPYING_UNIT int
|
||||
#endif
|
||||
|
||||
|
||||
/* The functions allocating more room by calling `obstack_chunk_alloc'
|
||||
jump to the handler pointed to by `obstack_alloc_failed_handler'.
|
||||
This variable by default points to the internal function
|
||||
`print_and_abort'. */
|
||||
#if defined (__STDC__) && __STDC__
|
||||
static void print_and_abort (void);
|
||||
void (*obstack_alloc_failed_handler) (void) = print_and_abort;
|
||||
#else
|
||||
static void print_and_abort ();
|
||||
void (*obstack_alloc_failed_handler) () = print_and_abort;
|
||||
#endif
|
||||
|
||||
/* Exit value used when `print_and_abort' is used. */
|
||||
#if defined __GNU_LIBRARY__ || defined HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#ifndef EXIT_FAILURE
|
||||
#define EXIT_FAILURE 1
|
||||
#endif
|
||||
int obstack_exit_failure = EXIT_FAILURE;
|
||||
|
||||
/* The non-GNU-C macros copy the obstack into this global variable
|
||||
to avoid multiple evaluation. */
|
||||
|
||||
struct obstack *_obstack;
|
||||
|
||||
/* Define a macro that either calls functions with the traditional malloc/free
|
||||
calling interface, or calls functions with the mmalloc/mfree interface
|
||||
(that adds an extra first argument), based on the state of use_extra_arg.
|
||||
For free, do not use ?:, since some compilers, like the MIPS compilers,
|
||||
do not allow (expr) ? void : void. */
|
||||
|
||||
#if defined (__STDC__) && __STDC__
|
||||
#define CALL_CHUNKFUN(h, size) \
|
||||
(((h) -> use_extra_arg) \
|
||||
? (*(h)->chunkfun) ((h)->extra_arg, (size)) \
|
||||
: (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size)))
|
||||
|
||||
#define CALL_FREEFUN(h, old_chunk) \
|
||||
do { \
|
||||
if ((h) -> use_extra_arg) \
|
||||
(*(h)->freefun) ((h)->extra_arg, (old_chunk)); \
|
||||
else \
|
||||
(*(void (*) (void *)) (h)->freefun) ((old_chunk)); \
|
||||
} while (0)
|
||||
#else
|
||||
#define CALL_CHUNKFUN(h, size) \
|
||||
(((h) -> use_extra_arg) \
|
||||
? (*(h)->chunkfun) ((h)->extra_arg, (size)) \
|
||||
: (*(struct _obstack_chunk *(*) ()) (h)->chunkfun) ((size)))
|
||||
|
||||
#define CALL_FREEFUN(h, old_chunk) \
|
||||
do { \
|
||||
if ((h) -> use_extra_arg) \
|
||||
(*(h)->freefun) ((h)->extra_arg, (old_chunk)); \
|
||||
else \
|
||||
(*(void (*) ()) (h)->freefun) ((old_chunk)); \
|
||||
} while (0)
|
||||
#endif
|
||||
|
||||
|
||||
/* Initialize an obstack H for use. Specify chunk size SIZE (0 means default).
|
||||
Objects start on multiples of ALIGNMENT (0 means use default).
|
||||
CHUNKFUN is the function to use to allocate chunks,
|
||||
and FREEFUN the function to free them.
|
||||
|
||||
Return nonzero if successful, zero if out of memory.
|
||||
To recover from an out of memory error,
|
||||
free up some memory, then call this again. */
|
||||
|
||||
int
|
||||
_obstack_begin (h, size, alignment, chunkfun, freefun)
|
||||
struct obstack *h;
|
||||
int size;
|
||||
int alignment;
|
||||
#if defined (__STDC__) && __STDC__
|
||||
POINTER (*chunkfun) (long);
|
||||
void (*freefun) (void *);
|
||||
#else
|
||||
POINTER (*chunkfun) ();
|
||||
void (*freefun) ();
|
||||
#endif
|
||||
{
|
||||
register struct _obstack_chunk *chunk; /* points to new chunk */
|
||||
|
||||
if (alignment == 0)
|
||||
alignment = (int) DEFAULT_ALIGNMENT;
|
||||
if (size == 0)
|
||||
/* Default size is what GNU malloc can fit in a 4096-byte block. */
|
||||
{
|
||||
/* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc.
|
||||
Use the values for range checking, because if range checking is off,
|
||||
the extra bytes won't be missed terribly, but if range checking is on
|
||||
and we used a larger request, a whole extra 4096 bytes would be
|
||||
allocated.
|
||||
|
||||
These number are irrelevant to the new GNU malloc. I suspect it is
|
||||
less sensitive to the size of the request. */
|
||||
int extra = ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1))
|
||||
+ 4 + DEFAULT_ROUNDING - 1)
|
||||
& ~(DEFAULT_ROUNDING - 1));
|
||||
size = 4096 - extra;
|
||||
}
|
||||
|
||||
#if defined (__STDC__) && __STDC__
|
||||
h->chunkfun = (struct _obstack_chunk * (*)(void *, long)) chunkfun;
|
||||
h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
|
||||
#else
|
||||
h->chunkfun = (struct _obstack_chunk * (*)()) chunkfun;
|
||||
h->freefun = freefun;
|
||||
#endif
|
||||
h->chunk_size = size;
|
||||
h->alignment_mask = alignment - 1;
|
||||
h->use_extra_arg = 0;
|
||||
|
||||
chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size);
|
||||
if (!chunk)
|
||||
(*obstack_alloc_failed_handler) ();
|
||||
h->next_free = h->object_base = chunk->contents;
|
||||
h->chunk_limit = chunk->limit
|
||||
= (char *) chunk + h->chunk_size;
|
||||
chunk->prev = 0;
|
||||
/* The initial chunk now contains no empty object. */
|
||||
h->maybe_empty_object = 0;
|
||||
h->alloc_failed = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
int
|
||||
_obstack_begin_1 (h, size, alignment, chunkfun, freefun, arg)
|
||||
struct obstack *h;
|
||||
int size;
|
||||
int alignment;
|
||||
#if defined (__STDC__) && __STDC__
|
||||
POINTER (*chunkfun) (POINTER, long);
|
||||
void (*freefun) (POINTER, POINTER);
|
||||
#else
|
||||
POINTER (*chunkfun) ();
|
||||
void (*freefun) ();
|
||||
#endif
|
||||
POINTER arg;
|
||||
{
|
||||
register struct _obstack_chunk *chunk; /* points to new chunk */
|
||||
|
||||
if (alignment == 0)
|
||||
alignment = (int) DEFAULT_ALIGNMENT;
|
||||
if (size == 0)
|
||||
/* Default size is what GNU malloc can fit in a 4096-byte block. */
|
||||
{
|
||||
/* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc.
|
||||
Use the values for range checking, because if range checking is off,
|
||||
the extra bytes won't be missed terribly, but if range checking is on
|
||||
and we used a larger request, a whole extra 4096 bytes would be
|
||||
allocated.
|
||||
|
||||
These number are irrelevant to the new GNU malloc. I suspect it is
|
||||
less sensitive to the size of the request. */
|
||||
int extra = ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1))
|
||||
+ 4 + DEFAULT_ROUNDING - 1)
|
||||
& ~(DEFAULT_ROUNDING - 1));
|
||||
size = 4096 - extra;
|
||||
}
|
||||
|
||||
#if defined(__STDC__) && __STDC__
|
||||
h->chunkfun = (struct _obstack_chunk * (*)(void *,long)) chunkfun;
|
||||
h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
|
||||
#else
|
||||
h->chunkfun = (struct _obstack_chunk * (*)()) chunkfun;
|
||||
h->freefun = freefun;
|
||||
#endif
|
||||
h->chunk_size = size;
|
||||
h->alignment_mask = alignment - 1;
|
||||
h->extra_arg = arg;
|
||||
h->use_extra_arg = 1;
|
||||
|
||||
chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size);
|
||||
if (!chunk)
|
||||
(*obstack_alloc_failed_handler) ();
|
||||
h->next_free = h->object_base = chunk->contents;
|
||||
h->chunk_limit = chunk->limit
|
||||
= (char *) chunk + h->chunk_size;
|
||||
chunk->prev = 0;
|
||||
/* The initial chunk now contains no empty object. */
|
||||
h->maybe_empty_object = 0;
|
||||
h->alloc_failed = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Allocate a new current chunk for the obstack *H
|
||||
on the assumption that LENGTH bytes need to be added
|
||||
to the current object, or a new object of length LENGTH allocated.
|
||||
Copies any partial object from the end of the old chunk
|
||||
to the beginning of the new one. */
|
||||
|
||||
void
|
||||
_obstack_newchunk (h, length)
|
||||
struct obstack *h;
|
||||
int length;
|
||||
{
|
||||
register struct _obstack_chunk *old_chunk = h->chunk;
|
||||
register struct _obstack_chunk *new_chunk;
|
||||
register long new_size;
|
||||
register long obj_size = h->next_free - h->object_base;
|
||||
register long i;
|
||||
long already;
|
||||
|
||||
/* Compute size for new chunk. */
|
||||
new_size = (obj_size + length) + (obj_size >> 3) + 100;
|
||||
if (new_size < h->chunk_size)
|
||||
new_size = h->chunk_size;
|
||||
|
||||
/* Allocate and initialize the new chunk. */
|
||||
new_chunk = CALL_CHUNKFUN (h, new_size);
|
||||
if (!new_chunk)
|
||||
(*obstack_alloc_failed_handler) ();
|
||||
h->chunk = new_chunk;
|
||||
new_chunk->prev = old_chunk;
|
||||
new_chunk->limit = h->chunk_limit = (char *) new_chunk + new_size;
|
||||
|
||||
/* Move the existing object to the new chunk.
|
||||
Word at a time is fast and is safe if the object
|
||||
is sufficiently aligned. */
|
||||
if (h->alignment_mask + 1 >= DEFAULT_ALIGNMENT)
|
||||
{
|
||||
for (i = obj_size / sizeof (COPYING_UNIT) - 1;
|
||||
i >= 0; i--)
|
||||
((COPYING_UNIT *)new_chunk->contents)[i]
|
||||
= ((COPYING_UNIT *)h->object_base)[i];
|
||||
/* We used to copy the odd few remaining bytes as one extra COPYING_UNIT,
|
||||
but that can cross a page boundary on a machine
|
||||
which does not do strict alignment for COPYING_UNITS. */
|
||||
already = obj_size / sizeof (COPYING_UNIT) * sizeof (COPYING_UNIT);
|
||||
}
|
||||
else
|
||||
already = 0;
|
||||
/* Copy remaining bytes one by one. */
|
||||
for (i = already; i < obj_size; i++)
|
||||
new_chunk->contents[i] = h->object_base[i];
|
||||
|
||||
/* If the object just copied was the only data in OLD_CHUNK,
|
||||
free that chunk and remove it from the chain.
|
||||
But not if that chunk might contain an empty object. */
|
||||
if (h->object_base == old_chunk->contents && ! h->maybe_empty_object)
|
||||
{
|
||||
new_chunk->prev = old_chunk->prev;
|
||||
CALL_FREEFUN (h, old_chunk);
|
||||
}
|
||||
|
||||
h->object_base = new_chunk->contents;
|
||||
h->next_free = h->object_base + obj_size;
|
||||
/* The new chunk certainly contains no empty object yet. */
|
||||
h->maybe_empty_object = 0;
|
||||
}
|
||||
|
||||
/* Return nonzero if object OBJ has been allocated from obstack H.
|
||||
This is here for debugging.
|
||||
If you use it in a program, you are probably losing. */
|
||||
|
||||
#if defined (__STDC__) && __STDC__
|
||||
/* Suppress -Wmissing-prototypes warning. We don't want to declare this in
|
||||
obstack.h because it is just for debugging. */
|
||||
int _obstack_allocated_p (struct obstack *h, POINTER obj);
|
||||
#endif
|
||||
|
||||
int
|
||||
_obstack_allocated_p (h, obj)
|
||||
struct obstack *h;
|
||||
POINTER obj;
|
||||
{
|
||||
register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */
|
||||
register struct _obstack_chunk *plp; /* point to previous chunk if any */
|
||||
|
||||
lp = (h)->chunk;
|
||||
/* We use >= rather than > since the object cannot be exactly at
|
||||
the beginning of the chunk but might be an empty object exactly
|
||||
at the end of an adjacent chunk. */
|
||||
while (lp != 0 && ((POINTER) lp >= obj || (POINTER) (lp)->limit < obj))
|
||||
{
|
||||
plp = lp->prev;
|
||||
lp = plp;
|
||||
}
|
||||
return lp != 0;
|
||||
}
|
||||
|
||||
/* Free objects in obstack H, including OBJ and everything allocate
|
||||
more recently than OBJ. If OBJ is zero, free everything in H. */
|
||||
|
||||
#undef obstack_free
|
||||
|
||||
/* This function has two names with identical definitions.
|
||||
This is the first one, called from non-ANSI code. */
|
||||
|
||||
void
|
||||
_obstack_free (h, obj)
|
||||
struct obstack *h;
|
||||
POINTER obj;
|
||||
{
|
||||
register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */
|
||||
register struct _obstack_chunk *plp; /* point to previous chunk if any */
|
||||
|
||||
lp = h->chunk;
|
||||
/* We use >= because there cannot be an object at the beginning of a chunk.
|
||||
But there can be an empty object at that address
|
||||
at the end of another chunk. */
|
||||
while (lp != 0 && ((POINTER) lp >= obj || (POINTER) (lp)->limit < obj))
|
||||
{
|
||||
plp = lp->prev;
|
||||
CALL_FREEFUN (h, lp);
|
||||
lp = plp;
|
||||
/* If we switch chunks, we can't tell whether the new current
|
||||
chunk contains an empty object, so assume that it may. */
|
||||
h->maybe_empty_object = 1;
|
||||
}
|
||||
if (lp)
|
||||
{
|
||||
h->object_base = h->next_free = (char *) (obj);
|
||||
h->chunk_limit = lp->limit;
|
||||
h->chunk = lp;
|
||||
}
|
||||
else if (obj != 0)
|
||||
/* obj is not in any of the chunks! */
|
||||
abort ();
|
||||
}
|
||||
|
||||
/* This function is used from ANSI code. */
|
||||
|
||||
void
|
||||
obstack_free (h, obj)
|
||||
struct obstack *h;
|
||||
POINTER obj;
|
||||
{
|
||||
register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */
|
||||
register struct _obstack_chunk *plp; /* point to previous chunk if any */
|
||||
|
||||
lp = h->chunk;
|
||||
/* We use >= because there cannot be an object at the beginning of a chunk.
|
||||
But there can be an empty object at that address
|
||||
at the end of another chunk. */
|
||||
while (lp != 0 && ((POINTER) lp >= obj || (POINTER) (lp)->limit < obj))
|
||||
{
|
||||
plp = lp->prev;
|
||||
CALL_FREEFUN (h, lp);
|
||||
lp = plp;
|
||||
/* If we switch chunks, we can't tell whether the new current
|
||||
chunk contains an empty object, so assume that it may. */
|
||||
h->maybe_empty_object = 1;
|
||||
}
|
||||
if (lp)
|
||||
{
|
||||
h->object_base = h->next_free = (char *) (obj);
|
||||
h->chunk_limit = lp->limit;
|
||||
h->chunk = lp;
|
||||
}
|
||||
else if (obj != 0)
|
||||
/* obj is not in any of the chunks! */
|
||||
abort ();
|
||||
}
|
||||
|
||||
int
|
||||
_obstack_memory_used (h)
|
||||
struct obstack *h;
|
||||
{
|
||||
register struct _obstack_chunk* lp;
|
||||
register int nbytes = 0;
|
||||
|
||||
for (lp = h->chunk; lp != 0; lp = lp->prev)
|
||||
{
|
||||
nbytes += lp->limit - (char *) lp;
|
||||
}
|
||||
return nbytes;
|
||||
}
|
||||
|
||||
/* Define the error handler. */
|
||||
#ifndef _
|
||||
#define _(Str) (Str)
|
||||
#endif
|
||||
|
||||
static void
|
||||
print_and_abort ()
|
||||
{
|
||||
fputs (_("memory exhausted\n"), stderr);
|
||||
exit (obstack_exit_failure);
|
||||
}
|
||||
|
||||
#if 0
|
||||
/* These are now turned off because the applications do not use it
|
||||
and it uses bcopy via obstack_grow, which causes trouble on sysV. */
|
||||
|
||||
/* Now define the functional versions of the obstack macros.
|
||||
Define them to simply use the corresponding macros to do the job. */
|
||||
|
||||
#if defined (__STDC__) && __STDC__
|
||||
/* These function definitions do not work with non-ANSI preprocessors;
|
||||
they won't pass through the macro names in parentheses. */
|
||||
|
||||
/* The function names appear in parentheses in order to prevent
|
||||
the macro-definitions of the names from being expanded there. */
|
||||
|
||||
POINTER (obstack_base) (obstack)
|
||||
struct obstack *obstack;
|
||||
{
|
||||
return obstack_base (obstack);
|
||||
}
|
||||
|
||||
POINTER (obstack_next_free) (obstack)
|
||||
struct obstack *obstack;
|
||||
{
|
||||
return obstack_next_free (obstack);
|
||||
}
|
||||
|
||||
int (obstack_object_size) (obstack)
|
||||
struct obstack *obstack;
|
||||
{
|
||||
return obstack_object_size (obstack);
|
||||
}
|
||||
|
||||
int (obstack_room) (obstack)
|
||||
struct obstack *obstack;
|
||||
{
|
||||
return obstack_room (obstack);
|
||||
}
|
||||
|
||||
int (obstack_make_room) (obstack, length)
|
||||
struct obstack *obstack;
|
||||
int length;
|
||||
{
|
||||
return obstack_make_room (obstack, length);
|
||||
}
|
||||
|
||||
void (obstack_grow) (obstack, pointer, length)
|
||||
struct obstack *obstack;
|
||||
POINTER pointer;
|
||||
int length;
|
||||
{
|
||||
obstack_grow (obstack, pointer, length);
|
||||
}
|
||||
|
||||
void (obstack_grow0) (obstack, pointer, length)
|
||||
struct obstack *obstack;
|
||||
POINTER pointer;
|
||||
int length;
|
||||
{
|
||||
obstack_grow0 (obstack, pointer, length);
|
||||
}
|
||||
|
||||
void (obstack_1grow) (obstack, character)
|
||||
struct obstack *obstack;
|
||||
int character;
|
||||
{
|
||||
obstack_1grow (obstack, character);
|
||||
}
|
||||
|
||||
void (obstack_blank) (obstack, length)
|
||||
struct obstack *obstack;
|
||||
int length;
|
||||
{
|
||||
obstack_blank (obstack, length);
|
||||
}
|
||||
|
||||
void (obstack_1grow_fast) (obstack, character)
|
||||
struct obstack *obstack;
|
||||
int character;
|
||||
{
|
||||
obstack_1grow_fast (obstack, character);
|
||||
}
|
||||
|
||||
void (obstack_blank_fast) (obstack, length)
|
||||
struct obstack *obstack;
|
||||
int length;
|
||||
{
|
||||
obstack_blank_fast (obstack, length);
|
||||
}
|
||||
|
||||
POINTER (obstack_finish) (obstack)
|
||||
struct obstack *obstack;
|
||||
{
|
||||
return obstack_finish (obstack);
|
||||
}
|
||||
|
||||
POINTER (obstack_alloc) (obstack, length)
|
||||
struct obstack *obstack;
|
||||
int length;
|
||||
{
|
||||
return obstack_alloc (obstack, length);
|
||||
}
|
||||
|
||||
POINTER (obstack_copy) (obstack, pointer, length)
|
||||
struct obstack *obstack;
|
||||
POINTER pointer;
|
||||
int length;
|
||||
{
|
||||
return obstack_copy (obstack, pointer, length);
|
||||
}
|
||||
|
||||
POINTER (obstack_copy0) (obstack, pointer, length)
|
||||
struct obstack *obstack;
|
||||
POINTER pointer;
|
||||
int length;
|
||||
{
|
||||
return obstack_copy0 (obstack, pointer, length);
|
||||
}
|
||||
|
||||
#endif /* __STDC__ */
|
||||
|
||||
#endif /* 0 */
|
||||
|
||||
#endif /* !ELIDE_CODE */
|
||||
|
|
|
|||
|
|
@ -1 +1,337 @@
|
|||
./../libiberty/splay-tree.c
|
||||
/* A splay-tree datatype.
|
||||
Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
Contributed by Mark Mitchell (mark@markmitchell.com).
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
GNU CC is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU CC is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU CC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
/* For an easily readable description of splay-trees, see:
|
||||
|
||||
Lewis, Harry R. and Denenberg, Larry. Data Structures and Their
|
||||
Algorithms. Harper-Collins, Inc. 1991. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#include "libiberty.h"
|
||||
#include "splay-tree.h"
|
||||
|
||||
static void splay_tree_delete_helper PARAMS((splay_tree,
|
||||
splay_tree_node));
|
||||
static void splay_tree_splay PARAMS((splay_tree,
|
||||
splay_tree_key));
|
||||
static splay_tree_node splay_tree_splay_helper
|
||||
PARAMS((splay_tree,
|
||||
splay_tree_key,
|
||||
splay_tree_node*,
|
||||
splay_tree_node*,
|
||||
splay_tree_node*));
|
||||
static int splay_tree_foreach_helper PARAMS((splay_tree,
|
||||
splay_tree_node,
|
||||
splay_tree_foreach_fn,
|
||||
void*));
|
||||
|
||||
/* Deallocate NODE (a member of SP), and all its sub-trees. */
|
||||
|
||||
static void
|
||||
splay_tree_delete_helper (sp, node)
|
||||
splay_tree sp;
|
||||
splay_tree_node node;
|
||||
{
|
||||
if (!node)
|
||||
return;
|
||||
|
||||
splay_tree_delete_helper (sp, node->left);
|
||||
splay_tree_delete_helper (sp, node->right);
|
||||
|
||||
if (sp->delete_key)
|
||||
(*sp->delete_key)(node->key);
|
||||
if (sp->delete_value)
|
||||
(*sp->delete_value)(node->value);
|
||||
|
||||
free ((char*) node);
|
||||
}
|
||||
|
||||
/* Help splay SP around KEY. PARENT and GRANDPARENT are the parent
|
||||
and grandparent, respectively, of NODE. */
|
||||
|
||||
static splay_tree_node
|
||||
splay_tree_splay_helper (sp, key, node, parent, grandparent)
|
||||
splay_tree sp;
|
||||
splay_tree_key key;
|
||||
splay_tree_node *node;
|
||||
splay_tree_node *parent;
|
||||
splay_tree_node *grandparent;
|
||||
{
|
||||
splay_tree_node *next;
|
||||
splay_tree_node n;
|
||||
int comparison;
|
||||
|
||||
n = *node;
|
||||
|
||||
if (!n)
|
||||
return *parent;
|
||||
|
||||
comparison = (*sp->comp) (key, n->key);
|
||||
|
||||
if (comparison == 0)
|
||||
/* We've found the target. */
|
||||
next = 0;
|
||||
else if (comparison < 0)
|
||||
/* The target is to the left. */
|
||||
next = &n->left;
|
||||
else
|
||||
/* The target is to the right. */
|
||||
next = &n->right;
|
||||
|
||||
if (next)
|
||||
{
|
||||
/* Continue down the tree. */
|
||||
n = splay_tree_splay_helper (sp, key, next, node, parent);
|
||||
|
||||
/* The recursive call will change the place to which NODE
|
||||
points. */
|
||||
if (*node != n)
|
||||
return n;
|
||||
}
|
||||
|
||||
if (!parent)
|
||||
/* NODE is the root. We are done. */
|
||||
return n;
|
||||
|
||||
/* First, handle the case where there is no grandparent (i.e.,
|
||||
*PARENT is the root of the tree.) */
|
||||
if (!grandparent)
|
||||
{
|
||||
if (n == (*parent)->left)
|
||||
{
|
||||
*node = n->right;
|
||||
n->right = *parent;
|
||||
}
|
||||
else
|
||||
{
|
||||
*node = n->left;
|
||||
n->left = *parent;
|
||||
}
|
||||
*parent = n;
|
||||
return n;
|
||||
}
|
||||
|
||||
/* Next handle the cases where both N and *PARENT are left children,
|
||||
or where both are right children. */
|
||||
if (n == (*parent)->left && *parent == (*grandparent)->left)
|
||||
{
|
||||
splay_tree_node p = *parent;
|
||||
|
||||
(*grandparent)->left = p->right;
|
||||
p->right = *grandparent;
|
||||
p->left = n->right;
|
||||
n->right = p;
|
||||
*grandparent = n;
|
||||
return n;
|
||||
}
|
||||
else if (n == (*parent)->right && *parent == (*grandparent)->right)
|
||||
{
|
||||
splay_tree_node p = *parent;
|
||||
|
||||
(*grandparent)->right = p->left;
|
||||
p->left = *grandparent;
|
||||
p->right = n->left;
|
||||
n->left = p;
|
||||
*grandparent = n;
|
||||
return n;
|
||||
}
|
||||
|
||||
/* Finally, deal with the case where N is a left child, but *PARENT
|
||||
is a right child, or vice versa. */
|
||||
if (n == (*parent)->left)
|
||||
{
|
||||
(*parent)->left = n->right;
|
||||
n->right = *parent;
|
||||
(*grandparent)->right = n->left;
|
||||
n->left = *grandparent;
|
||||
*grandparent = n;
|
||||
return n;
|
||||
}
|
||||
else
|
||||
{
|
||||
(*parent)->right = n->left;
|
||||
n->left = *parent;
|
||||
(*grandparent)->left = n->right;
|
||||
n->right = *grandparent;
|
||||
*grandparent = n;
|
||||
return n;
|
||||
}
|
||||
}
|
||||
|
||||
/* Splay SP around KEY. */
|
||||
|
||||
static void
|
||||
splay_tree_splay (sp, key)
|
||||
splay_tree sp;
|
||||
splay_tree_key key;
|
||||
{
|
||||
if (sp->root == 0)
|
||||
return;
|
||||
|
||||
splay_tree_splay_helper (sp, key, &sp->root,
|
||||
/*grandparent=*/0, /*parent=*/0);
|
||||
}
|
||||
|
||||
/* Call FN, passing it the DATA, for every node below NODE, all of
|
||||
which are from SP, following an in-order traversal. If FN every
|
||||
returns a non-zero value, the iteration ceases immediately, and the
|
||||
value is returned. Otherwise, this function returns 0. */
|
||||
|
||||
static int
|
||||
splay_tree_foreach_helper (sp, node, fn, data)
|
||||
splay_tree sp;
|
||||
splay_tree_node node;
|
||||
splay_tree_foreach_fn fn;
|
||||
void* data;
|
||||
{
|
||||
int val;
|
||||
|
||||
if (!node)
|
||||
return 0;
|
||||
|
||||
val = splay_tree_foreach_helper (sp, node->left, fn, data);
|
||||
if (val)
|
||||
return val;
|
||||
|
||||
val = (*fn)(node, data);
|
||||
if (val)
|
||||
return val;
|
||||
|
||||
return splay_tree_foreach_helper (sp, node->right, fn, data);
|
||||
}
|
||||
|
||||
/* Allocate a new splay tree, using COMPARE_FN to compare nodes,
|
||||
DELETE_KEY_FN to deallocate keys, and DELETE_VALUE_FN to deallocate
|
||||
values. */
|
||||
|
||||
splay_tree
|
||||
splay_tree_new (compare_fn, delete_key_fn, delete_value_fn)
|
||||
splay_tree_compare_fn compare_fn;
|
||||
splay_tree_delete_key_fn delete_key_fn;
|
||||
splay_tree_delete_value_fn delete_value_fn;
|
||||
{
|
||||
splay_tree sp = (splay_tree) xmalloc (sizeof (struct splay_tree));
|
||||
sp->root = 0;
|
||||
sp->comp = compare_fn;
|
||||
sp->delete_key = delete_key_fn;
|
||||
sp->delete_value = delete_value_fn;
|
||||
|
||||
return sp;
|
||||
}
|
||||
|
||||
/* Deallocate SP. */
|
||||
|
||||
void
|
||||
splay_tree_delete (sp)
|
||||
splay_tree sp;
|
||||
{
|
||||
splay_tree_delete_helper (sp, sp->root);
|
||||
free ((char*) sp);
|
||||
}
|
||||
|
||||
/* Insert a new node (associating KEY with DATA) into SP. If a
|
||||
previous node with the indicated KEY exists, its data is replaced
|
||||
with the new value. */
|
||||
|
||||
void
|
||||
splay_tree_insert (sp, key, value)
|
||||
splay_tree sp;
|
||||
splay_tree_key key;
|
||||
splay_tree_value value;
|
||||
{
|
||||
int comparison;
|
||||
|
||||
splay_tree_splay (sp, key);
|
||||
|
||||
if (sp->root)
|
||||
comparison = (*sp->comp)(sp->root->key, key);
|
||||
|
||||
if (sp->root && comparison == 0)
|
||||
{
|
||||
/* If the root of the tree already has the indicated KEY, just
|
||||
replace the value with VALUE. */
|
||||
if (sp->delete_value)
|
||||
(*sp->delete_value)(sp->root->value);
|
||||
sp->root->value = value;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Create a new node, and insert it at the root. */
|
||||
splay_tree_node node;
|
||||
|
||||
node = (splay_tree_node) xmalloc (sizeof (struct splay_tree_node));
|
||||
node->key = key;
|
||||
node->value = value;
|
||||
|
||||
if (!sp->root)
|
||||
node->left = node->right = 0;
|
||||
else if (comparison < 0)
|
||||
{
|
||||
node->left = sp->root;
|
||||
node->right = node->left->right;
|
||||
node->left->right = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
node->right = sp->root;
|
||||
node->left = node->right->left;
|
||||
node->right->left = 0;
|
||||
}
|
||||
|
||||
sp->root = node;
|
||||
}
|
||||
}
|
||||
|
||||
/* Lookup KEY in SP, returning VALUE if present, and NULL
|
||||
otherwise. */
|
||||
|
||||
splay_tree_node
|
||||
splay_tree_lookup (sp, key)
|
||||
splay_tree sp;
|
||||
splay_tree_key key;
|
||||
{
|
||||
splay_tree_splay (sp, key);
|
||||
|
||||
if (sp->root && (*sp->comp)(sp->root->key, key) == 0)
|
||||
return sp->root;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Call FN, passing it the DATA, for every node in SP, following an
|
||||
in-order traversal. If FN every returns a non-zero value, the
|
||||
iteration ceases immediately, and the value is returned.
|
||||
Otherwise, this function returns 0. */
|
||||
|
||||
int
|
||||
splay_tree_foreach (sp, fn, data)
|
||||
splay_tree sp;
|
||||
splay_tree_foreach_fn fn;
|
||||
void *data;
|
||||
{
|
||||
return splay_tree_foreach_helper (sp, sp->root, fn, data);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,21 +36,6 @@ Boston, MA 02111-1307, USA. */
|
|||
#define NULL 0
|
||||
#endif
|
||||
|
||||
/* The compiler is not a multi-threaded application and therefore we
|
||||
do not have to use the locking functions. */
|
||||
#ifdef HAVE_PUTC_UNLOCKED
|
||||
# undef putc
|
||||
# define putc(C, Stream) putc_unlocked (C, Stream)
|
||||
#endif
|
||||
#ifdef HAVE_FPUTC_UNLOCKED
|
||||
# undef fputc
|
||||
# define fputc(C, Stream) fputc_unlocked (C, Stream)
|
||||
#endif
|
||||
#ifdef HAVE_FPUTS_UNLOCKED
|
||||
# undef fputs
|
||||
# define fputs(String, Stream) fputs_unlocked (String, Stream)
|
||||
#endif
|
||||
|
||||
#include <ctype.h>
|
||||
|
||||
/* Jim Meyering writes:
|
||||
|
|
@ -195,10 +180,6 @@ extern int errno;
|
|||
#define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
|
||||
#define MAX(X,Y) ((X) > (Y) ? (X) : (Y))
|
||||
|
||||
#ifdef HAVE_SYS_WAIT_H
|
||||
#include <sys/wait.h>
|
||||
#endif
|
||||
|
||||
#ifndef WIFSIGNALED
|
||||
#define WIFSIGNALED(S) (((S) & 0xff) != 0 && ((S) & 0xff) != 0x7f)
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -30,14 +30,6 @@ Boston, MA 02111-1307, USA. */
|
|||
#include <signal.h>
|
||||
#include <setjmp.h>
|
||||
|
||||
#ifdef HAVE_SYS_RESOURCE_H
|
||||
# include <sys/resource.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_SYS_TIMES_H
|
||||
# include <sys/times.h>
|
||||
#endif
|
||||
|
||||
#include "input.h"
|
||||
#include "tree.h"
|
||||
#include "rtl.h"
|
||||
|
|
@ -63,6 +55,9 @@ Boston, MA 02111-1307, USA. */
|
|||
#include "dwarf2out.h"
|
||||
#endif
|
||||
|
||||
#undef SDB_DEBUGGING_INFO
|
||||
#undef DBX_DEBUGGING_INFO
|
||||
|
||||
#if defined(DBX_DEBUGGING_INFO) || defined(XCOFF_DEBUGGING_INFO)
|
||||
#include "dbxout.h"
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -998,17 +998,7 @@ assemble_start_function (decl, fnname)
|
|||
ASM_OUTPUT_FUNCTION_PREFIX (asm_out_file, fnname);
|
||||
#endif
|
||||
|
||||
#ifdef SDB_DEBUGGING_INFO
|
||||
/* Output SDB definition of the function. */
|
||||
if (write_symbols == SDB_DEBUG)
|
||||
sdbout_mark_begin_function ();
|
||||
#endif
|
||||
|
||||
#ifdef DBX_DEBUGGING_INFO
|
||||
/* Output DBX definition of the function. */
|
||||
if (write_symbols == DBX_DEBUG)
|
||||
dbxout_begin_function (decl);
|
||||
#endif
|
||||
|
||||
/* Make function name accessible from other files, if appropriate. */
|
||||
|
||||
|
|
@ -1294,19 +1284,6 @@ assemble_variable (decl, top_level, at_end, dont_output_data)
|
|||
return;
|
||||
TREE_ASM_WRITTEN (decl) = 1;
|
||||
|
||||
#if defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO)
|
||||
/* File-scope global variables are output here. */
|
||||
if ((write_symbols == DBX_DEBUG || write_symbols == XCOFF_DEBUG)
|
||||
&& top_level)
|
||||
dbxout_symbol (decl, 0);
|
||||
#endif
|
||||
#ifdef SDB_DEBUGGING_INFO
|
||||
if (write_symbols == SDB_DEBUG && top_level
|
||||
/* Leave initialized global vars for end of compilation;
|
||||
see comment in compile_file. */
|
||||
&& (TREE_PUBLIC (decl) == 0 || DECL_INITIAL (decl) == 0))
|
||||
sdbout_symbol (decl, 0);
|
||||
#endif
|
||||
|
||||
/* Don't output any DWARF debugging information for variables here.
|
||||
In the case of local variables, the information for them is output
|
||||
|
|
@ -1464,18 +1441,6 @@ assemble_variable (decl, top_level, at_end, dont_output_data)
|
|||
(decl, "requested alignment for %s is greater than implemented alignment of %d.",rounded);
|
||||
#endif
|
||||
|
||||
#ifdef DBX_DEBUGGING_INFO
|
||||
/* File-scope global variables are output here. */
|
||||
if (write_symbols == DBX_DEBUG && top_level)
|
||||
dbxout_symbol (decl, 0);
|
||||
#endif
|
||||
#ifdef SDB_DEBUGGING_INFO
|
||||
if (write_symbols == SDB_DEBUG && top_level
|
||||
/* Leave initialized global vars for end of compilation;
|
||||
see comment in compile_file. */
|
||||
&& (TREE_PUBLIC (decl) == 0 || DECL_INITIAL (decl) == 0))
|
||||
sdbout_symbol (decl, 0);
|
||||
#endif
|
||||
|
||||
/* Don't output any DWARF debugging information for variables here.
|
||||
In the case of local variables, the information for them is output
|
||||
|
|
@ -1545,18 +1510,6 @@ assemble_variable (decl, top_level, at_end, dont_output_data)
|
|||
|
||||
/* Output the dbx info now that we have chosen the section. */
|
||||
|
||||
#ifdef DBX_DEBUGGING_INFO
|
||||
/* File-scope global variables are output here. */
|
||||
if (write_symbols == DBX_DEBUG && top_level)
|
||||
dbxout_symbol (decl, 0);
|
||||
#endif
|
||||
#ifdef SDB_DEBUGGING_INFO
|
||||
if (write_symbols == SDB_DEBUG && top_level
|
||||
/* Leave initialized global vars for end of compilation;
|
||||
see comment in compile_file. */
|
||||
&& (TREE_PUBLIC (decl) == 0 || DECL_INITIAL (decl) == 0))
|
||||
sdbout_symbol (decl, 0);
|
||||
#endif
|
||||
|
||||
/* Don't output any DWARF debugging information for variables here.
|
||||
In the case of local variables, the information for them is output
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user