mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-26 13:30:30 +00:00
Conversion to autoconf:
* acconfig.h, aclocal.m4: New files. * configure.in: Rewritten (except for some target-specific code) for autoconf. * conf.in, configure: New files, generated from the above. * Makefile.in: Changed magic sequence indicating insertion of makefile fragments. (VPATH, srcdir, CC, LIBS, OBJS dependencies): Use @-substitutions from configure. (LINKED_HEADERS): Deleted a.out.gnu.h, a.out.h, and host.h. (config.status, configure): Rewrite rules. (config-stamp): Depend on conf. Skip variables that configure is now substituting itself. (*.o dependencies): Deleted host.h. (distclean, realclean): Don't delete host.h. * as.c: Don't include stdio.h, string.h, sys/types.h. Include signal.h after as.h. * as.h: Include alloca-conf.h first. Include ctype.h, string.h, strings.h, stdlib.h, unistd.h, sys/types.h, fopen-bin.h, fopen-same.h, as suggested by autoconf test results. [BROKEN_ASSERT]: Don't include assert.h. (strdup): Declare. (volatile, const): Define if not __STDC__ and not already defined. (malloc, realloc) [NEED_MALLOC_DECLARATION]: Declare. (free) [NEED_FREE_DECLARATION]: Declare. * gasp.c: Include config.h, stdlib.h (if HAVE_STDLIB_H). Don't include host.h. (malloc) [NEED_MALLOC_DECLARATION]: Declare. * messages.c: Include as.h first. Include errno.h only if HAVE_ERRNO_H. If HAVE_VARARGS_H and not __STDC__, undefine HAVE_STDARG_H. Set NO_STDARG and NO_VARARGS as appropriate. * doc/Makefile.in (srcdir, INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Use autoconf @-substitutions.
This commit is contained in:
parent
27bf48ecfe
commit
b11fb93989
@ -1,5 +1,39 @@
|
||||
Sat Aug 27 20:26:12 1994 Ken Raeburn (raeburn@kr-laptop.cygnus.com)
|
||||
|
||||
Conversion to autoconf:
|
||||
* acconfig.h, aclocal.m4: New files.
|
||||
* configure.in: Rewritten (except for some target-specific code)
|
||||
for autoconf.
|
||||
* conf.in, configure: New files, generated from the above.
|
||||
* Makefile.in: Changed magic sequence indicating insertion of
|
||||
makefile fragments.
|
||||
(VPATH, srcdir, CC, LIBS, OBJS dependencies): Use @-substitutions
|
||||
from configure.
|
||||
(LINKED_HEADERS): Deleted a.out.gnu.h, a.out.h, and host.h.
|
||||
(config.status, configure): Rewrite rules.
|
||||
(config-stamp): Depend on conf. Skip variables that configure is
|
||||
now substituting itself.
|
||||
(*.o dependencies): Deleted host.h.
|
||||
(distclean, realclean): Don't delete host.h.
|
||||
* as.c: Don't include stdio.h, string.h, sys/types.h. Include
|
||||
signal.h after as.h.
|
||||
* as.h: Include alloca-conf.h first. Include ctype.h, string.h,
|
||||
strings.h, stdlib.h, unistd.h, sys/types.h, fopen-bin.h,
|
||||
fopen-same.h, as suggested by autoconf test results.
|
||||
[BROKEN_ASSERT]: Don't include assert.h.
|
||||
(strdup): Declare.
|
||||
(volatile, const): Define if not __STDC__ and not already defined.
|
||||
(malloc, realloc) [NEED_MALLOC_DECLARATION]: Declare.
|
||||
(free) [NEED_FREE_DECLARATION]: Declare.
|
||||
* gasp.c: Include config.h, stdlib.h (if HAVE_STDLIB_H). Don't
|
||||
include host.h.
|
||||
(malloc) [NEED_MALLOC_DECLARATION]: Declare.
|
||||
* messages.c: Include as.h first. Include errno.h only if
|
||||
HAVE_ERRNO_H. If HAVE_VARARGS_H and not __STDC__, undefine
|
||||
HAVE_STDARG_H. Set NO_STDARG and NO_VARARGS as appropriate.
|
||||
* doc/Makefile.in (srcdir, INSTALL, INSTALL_PROGRAM,
|
||||
INSTALL_DATA): Use autoconf @-substitutions.
|
||||
|
||||
* input-file.c: Don't include assert.h here, 'cause as.h already
|
||||
includes it.
|
||||
|
||||
|
100
gas/Makefile.in
100
gas/Makefile.in
@ -24,7 +24,8 @@
|
||||
# Variables that exist for you to override.
|
||||
# See below for how to change them for certain systems.
|
||||
|
||||
srcdir = .
|
||||
VPATH = @srcdir@
|
||||
srcdir = @srcdir@
|
||||
srcroot = $(srcdir)/..
|
||||
|
||||
prefix = /usr/local
|
||||
@ -66,6 +67,7 @@ BISON = bison
|
||||
MAKEINFO = makeinfo
|
||||
TEXI2DVI = texi2dvi
|
||||
RANLIB = ranlib
|
||||
CC = @CC@
|
||||
CFLAGS = -g
|
||||
|
||||
MAKEOVERRIDES=
|
||||
@ -189,9 +191,6 @@ REAL_HEADERS = \
|
||||
$(srcdir)/ecoff.h
|
||||
|
||||
LINKED_HEADERS = \
|
||||
a.out.gnu.h \
|
||||
a.out.h \
|
||||
host.h \
|
||||
targ-env.h \
|
||||
targ-cpu.h \
|
||||
obj-format.h \
|
||||
@ -199,7 +198,7 @@ LINKED_HEADERS = \
|
||||
|
||||
HEADERS = $(LINKED_HEADERS) $(REAL_HEADERS)
|
||||
|
||||
#### host, target, and site specific Makefile frags come in here.
|
||||
# @target_frag@
|
||||
|
||||
OBJS = \
|
||||
targ-cpu.o \
|
||||
@ -262,8 +261,7 @@ ALL_CFLAGS = $(INTERNAL_CFLAGS) $(CROSS) $(CFLAGS) $(HDEFINES) $(TDEFINES)
|
||||
# How to link with both our special library facilities
|
||||
# and the system's installed libraries.
|
||||
|
||||
LIBS = $(OPCODES_LIB) $(BFDLIB) $(LOCAL_LOADLIBES) \
|
||||
../libiberty/libiberty.a
|
||||
LIBS = @OPCODES_LIB@ @BFDLIB@ $(LOCAL_LOADLIBES) ../libiberty/libiberty.a
|
||||
|
||||
# Specify the directories to be searched for header files.
|
||||
# Both . and srcdir are used, in that order,
|
||||
@ -283,11 +281,13 @@ SUBDIR_INCLUDES = -I.. -I$(srcdir) -I$(srcdir)/config
|
||||
# Files to be copied away after each stage in building.
|
||||
STAGESTUFF = *.o as.new gasp.new
|
||||
|
||||
$(OBJS): $(ALL_OBJ_DEPS)
|
||||
$(OBJS): @ALL_OBJ_DEPS@
|
||||
|
||||
as.new: $(OBJS) $(LIBS)
|
||||
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o as.new $(OBJS) $(LIBS) $(LOADLIBES)
|
||||
|
||||
$(OBJS): config.h
|
||||
|
||||
gasp.new: gasp.o
|
||||
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o gasp.new gasp.o $(LIBS) $(LOADLIBES)
|
||||
|
||||
@ -298,122 +298,126 @@ check:
|
||||
@(here=`pwd` ; export here ; \
|
||||
cd testsuite ; $(MAKE) $(FLAGS_TO_PASS) $(CHECKFLAGS) check)
|
||||
|
||||
config.status:
|
||||
@echo You must configure gas. Look at the INSTALL file for details.
|
||||
@false
|
||||
config.status: configure
|
||||
if [ -r config.status ]; then \
|
||||
sh $(srcdir)/config.status --recheck ; \
|
||||
else \
|
||||
echo You must configure gas. Look at the INSTALL file for details. ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
|
||||
configure: configure.in aclocal.m4 acconfig.h
|
||||
(cd ${srcdir} && \
|
||||
autoheader configure.in > conf-in.h && \
|
||||
../move-if-change conf-in.h conf.in)
|
||||
(cd ${srcdir} && autoconf )
|
||||
|
||||
config.h: config-stamp ; @true
|
||||
config-stamp: Makefile
|
||||
config-stamp: Makefile conf
|
||||
-rm -f config.new config-stamp
|
||||
echo '#ifndef TARGET_CPU' > config.new
|
||||
echo '#define TARGET_CPU "$(target_cpu)"' >> config.new
|
||||
echo '#define TARGET_ALIAS "$(target_alias)"' >> config.new
|
||||
echo '#define TARGET_CANONICAL "$(target_canonical)"' >> config.new
|
||||
echo '#define GAS_VERSION "$(VERSION)"' >> config.new
|
||||
if [ "$(defs)" != "" ]; then \
|
||||
for d in $(defs) ; do \
|
||||
echo "#define $$d" >> config.new ; \
|
||||
done ; \
|
||||
else true; fi
|
||||
echo '#endif /* TARGET_CPU */' >> config.new
|
||||
echo '#ifndef GAS_VERSION' > config.new
|
||||
echo '#define GAS_VERSION "$(VERSION)"' >> config.new
|
||||
echo '' >> config.new
|
||||
cat conf >> config.new
|
||||
echo '#endif /* GAS_VERSION */' >> config.new
|
||||
$(srcdir)/../move-if-change config.new config.h
|
||||
touch config-stamp
|
||||
|
||||
# Compiling object files from source files.
|
||||
|
||||
gasp.o : gasp.c
|
||||
app.o : app.c as.h host.h targ-env.h obj-format.h \
|
||||
app.o : app.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
|
||||
as.o : as.c as.h host.h targ-env.h obj-format.h output-file.h \
|
||||
as.o : as.c as.h targ-env.h obj-format.h output-file.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h subsegs.h \
|
||||
tc.h obj.h config.h
|
||||
atof-generic.o : atof-generic.c as.h host.h targ-env.h obj-format.h \
|
||||
atof-generic.o : atof-generic.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
|
||||
bignum-copy.o : bignum-copy.c as.h host.h \
|
||||
bignum-copy.o : bignum-copy.c as.h \
|
||||
targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
|
||||
cond.o : cond.c as.h host.h targ-env.h obj-format.h \
|
||||
cond.o : cond.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
|
||||
|
||||
debug.o : debug.c as.h host.h targ-env.h obj-format.h \
|
||||
debug.o : debug.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h \
|
||||
subsegs.h
|
||||
expr.o : expr.c as.h host.h targ-env.h obj-format.h \
|
||||
expr.o : expr.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
|
||||
|
||||
flonum-konst.o : flonum-konst.c flonum.h bignum.h
|
||||
flonum-copy.o : flonum-copy.c as.h host.h targ-env.h obj-format.h \
|
||||
flonum-copy.o : flonum-copy.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
|
||||
flonum-mult.o : flonum-mult.c flonum.h bignum.h
|
||||
frags.o : frags.c as.h host.h targ-env.h obj-format.h \
|
||||
frags.o : frags.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h \
|
||||
subsegs.h
|
||||
hash.o : hash.c as.h host.h targ-env.h obj-format.h \
|
||||
hash.o : hash.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
|
||||
hex-value.o : hex-value.c
|
||||
input-file.o : input-file.c as.h host.h \
|
||||
input-file.o : input-file.c as.h \
|
||||
targ-env.h obj-format.h targ-cpu.h \
|
||||
struc-symbol.h write.h flonum.h bignum.h expr.h \
|
||||
frags.h hash.h read.h symbols.h tc.h obj.h input-file.h
|
||||
input-scrub.o : input-scrub.c /usr/include/errno.h /usr/include/sys/errno.h \
|
||||
as.h host.h targ-env.h obj-format.h \
|
||||
as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h \
|
||||
input-file.h
|
||||
listing.o : listing.c as.h host.h targ-env.h flonum.h bignum.h \
|
||||
listing.o : listing.c as.h targ-env.h flonum.h bignum.h \
|
||||
listing.h obj-format.h targ-cpu.h struc-symbol.h write.h expr.h \
|
||||
frags.h hash.h read.h symbols.h tc.h obj.h input-file.h subsegs.h
|
||||
literal.o : literal.c subsegs.h as.h host.h targ-env.h obj-format.h \
|
||||
literal.o : literal.c subsegs.h as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
|
||||
messages.o : messages.c as.h host.h targ-env.h obj-format.h \
|
||||
messages.o : messages.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
|
||||
output-file.o : output-file.c as.h host.h targ-env.h obj-format.h \
|
||||
output-file.o : output-file.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h \
|
||||
output-file.h
|
||||
read.o : read.c as.h host.h targ-env.h obj-format.h \
|
||||
read.o : read.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h
|
||||
subsegs.o : subsegs.c as.h host.h targ-env.h obj-format.h \
|
||||
subsegs.o : subsegs.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h \
|
||||
subsegs.h
|
||||
symbols.o : symbols.c as.h host.h targ-env.h obj-format.h \
|
||||
symbols.o : symbols.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h \
|
||||
subsegs.h
|
||||
write.o : write.c as.h host.h targ-env.h obj-format.h \
|
||||
write.o : write.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h \
|
||||
subsegs.h output-file.h
|
||||
ecoff.o : ecoff.c as.h host.h targ-env.h obj-format.h \
|
||||
ecoff.o : ecoff.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h \
|
||||
ecoff.h $(srcdir)/../include/coff/internal.h \
|
||||
$(srcdir)/../include/coff/sym.h $(srcdir)/../include/coff/ecoff.h \
|
||||
$(srcdir)/../include/coff/symconst.h $(srcdir)/../include/aout/stab_gnu.h
|
||||
stabs.o : stabs.c as.h host.h targ-env.h obj-format.h \
|
||||
stabs.o : stabs.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h symbols.h tc.h obj.h \
|
||||
subsegs.h $(srcdir)/../include/aout/stab_gnu.h
|
||||
xmalloc.o : xmalloc.c
|
||||
atof-targ.o : atof-targ.c as.h host.h targ-env.h obj-format.h \
|
||||
atof-targ.o : atof-targ.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h \
|
||||
symbols.h tc.h obj.h
|
||||
obj-format.o : obj-format.c as.h host.h targ-env.h obj-format.h \
|
||||
obj-format.o : obj-format.c as.h targ-env.h obj-format.h \
|
||||
targ-cpu.h struc-symbol.h \
|
||||
write.h flonum.h bignum.h expr.h frags.h hash.h read.h \
|
||||
subsegs.h symbols.h tc.h obj.h
|
||||
@ -444,7 +448,7 @@ distclean realclean: clean-here
|
||||
@if [ -d testsuite ] ; then \
|
||||
cd testsuite ; $(MAKE) $(FLAGS_TO_PASS) $@ ; \
|
||||
else true; fi
|
||||
-rm -f config.status Makefile host.h targ-env.h targ-cpu.h \
|
||||
-rm -f config.status Makefile targ-env.h targ-cpu.h \
|
||||
targ-cpu.c obj-format.h obj-format.c atof-targ.c TAGS \
|
||||
config-stamp config.h
|
||||
|
||||
|
43
gas/acconfig.h
Normal file
43
gas/acconfig.h
Normal file
@ -0,0 +1,43 @@
|
||||
/* Should gas use high-level BFD interfaces? */
|
||||
#undef BFD_ASSEMBLER
|
||||
|
||||
/* Some assert/preprocessor combinations are incapable of handling
|
||||
certain kinds of constructs in the argument of assert. For example,
|
||||
quoted strings (if requoting isn't done right) or newlines. */
|
||||
#undef BROKEN_ASSERT
|
||||
|
||||
/* If we aren't doing cross-assembling, some operations can be optimized,
|
||||
since byte orders and value sizes don't need to be adjusted. */
|
||||
#undef CROSS_COMPILE
|
||||
|
||||
/* Some IBM compilers can't handle some of the (rather basic) constructs
|
||||
used in the 68k support code. */
|
||||
#undef IBM_COMPILER_SUX
|
||||
|
||||
/* Some gas code wants to know these parameters. */
|
||||
#undef TARGET_ALIAS
|
||||
#undef TARGET_CPU
|
||||
#undef TARGET_CANONICAL
|
||||
#undef TARGET_OS
|
||||
#undef TARGET_VENDOR
|
||||
|
||||
/* Some operating systems, for example DOS, require the use of "wb" mode when
|
||||
opening a binary file for writing. If only "w" is used, the file will not
|
||||
be correct. However, some other systems reject such a mode. This indicates
|
||||
which ../include/fopen-*.h header file we want to include, so that we can
|
||||
get macros that'll do the right thing for this system. */
|
||||
#undef WANT_FOPEN_BIN
|
||||
|
||||
/* Sometimes the system header files don't declare malloc and realloc. */
|
||||
#undef NEED_MALLOC_DECLARATION
|
||||
|
||||
/* Sometimes the system header files don't declare free. */
|
||||
#undef NEED_FREE_DECLARATION
|
||||
|
||||
/* Sometimes errno.h doesn't declare errno itself. */
|
||||
#undef NEED_ERRNO_DECLARATION
|
||||
|
||||
#undef MANY_SEGMENTS
|
||||
|
||||
/* Needed only for sparc configuration */
|
||||
#undef sparcv9
|
69
gas/aclocal.m4
vendored
Normal file
69
gas/aclocal.m4
vendored
Normal file
@ -0,0 +1,69 @@
|
||||
dnl
|
||||
dnl The autoconf 1.107 version of this doesn't substitute variables
|
||||
dnl in the names of the links or their targets. This is a problem...
|
||||
dnl
|
||||
undefine([AC_OUTPUT_LINKS])dnl
|
||||
define(AC_OUTPUT_LINKS,
|
||||
[EOF
|
||||
|
||||
cat >> ${CONFIG_STATUS} <<EOF
|
||||
ac_links="$1"
|
||||
ac_files="$2"
|
||||
EOF
|
||||
|
||||
cat >> ${CONFIG_STATUS} <<\EOF
|
||||
while test -n "${ac_files}"; do
|
||||
set ${ac_links}; ac_link=[$]1; shift; ac_links=[$]*
|
||||
set ${ac_files}; ac_file=[$]1; shift; ac_files=[$]*
|
||||
|
||||
echo "linking ${ac_link} to ${srcdir}/${ac_file}"
|
||||
|
||||
if test ! -r ${srcdir}/${ac_file}; then
|
||||
AC_MSG_ERROR(${srcdir}/${ac_file}: File not found)
|
||||
fi
|
||||
rm -f ${ac_link}
|
||||
# Make a symlink if possible; otherwise try a hard link.
|
||||
if ln -s ${srcdir}/${ac_file} ${ac_link} 2>/dev/null ||
|
||||
ln ${srcdir}/${ac_file} ${ac_link}; then :
|
||||
else
|
||||
AC_MSG_ERROR(can not link ${ac_link} to ${srcdir}/${ac_file})
|
||||
fi
|
||||
done
|
||||
])dnl
|
||||
dnl
|
||||
dnl This ugly hack is needed because the Cygnus configure script won't
|
||||
dnl tell us what CC is going to be, and "cc" isn't always right. (The
|
||||
dnl top-level Makefile will always override anything we choose here, so
|
||||
dnl the usual gcc/cc selection is useless.)
|
||||
dnl
|
||||
dnl It knows where it is in the tree; don't try using it elsewhere.
|
||||
dnl
|
||||
undefine([AC_PROG_CC])dnl
|
||||
define(AC_PROG_CC,
|
||||
[AC_BEFORE([$0], [AC_PROG_CPP])dnl
|
||||
AC_PROVIDE([$0])dnl
|
||||
dnl
|
||||
dnl The ugly bit...
|
||||
dnl
|
||||
AC_MSG_CHECKING([for CC])
|
||||
dnl Don't bother with cache.
|
||||
test -z "$CC" && CC=`egrep '^CC *=' ../Makefile | tail -1 | sed 's/^CC *= *//'`
|
||||
test -z "$CC" && CC=cc
|
||||
AC_MSG_RESULT(setting CC to $CC)
|
||||
AC_SUBST(CC)
|
||||
dnl
|
||||
dnl
|
||||
# Find out if we are using GNU C, under whatever name.
|
||||
cat > conftest.c <<EOF
|
||||
#ifdef __GNUC__
|
||||
yes
|
||||
#endif
|
||||
EOF
|
||||
${CC-cc} -E conftest.c > conftest.out 2>&1
|
||||
if egrep yes conftest.out >/dev/null 2>&1; then
|
||||
GCC=yes
|
||||
else
|
||||
GCC=
|
||||
fi
|
||||
rm -f conftest*
|
||||
])dnl
|
10
gas/as.c
10
gas/as.c
@ -35,20 +35,14 @@
|
||||
#include "ansidecl.h"
|
||||
#include "libiberty.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifdef _POSIX_SOURCE
|
||||
#include <sys/types.h> /* For pid_t in signal.h */
|
||||
#endif
|
||||
#include <signal.h>
|
||||
|
||||
#define COMMON
|
||||
|
||||
#include "as.h"
|
||||
#include "subsegs.h"
|
||||
#include "output-file.h"
|
||||
|
||||
#include <signal.h>
|
||||
|
||||
#ifndef SIGTY
|
||||
#ifdef __STDC__
|
||||
#define SIGTY void
|
||||
|
95
gas/as.h
95
gas/as.h
@ -37,11 +37,38 @@
|
||||
|
||||
/* These #defines are for parameters of entire assembler. */
|
||||
|
||||
/* These #includes are for type definitions etc. */
|
||||
/* For some systems, this is required to be first. */
|
||||
#include "../libiberty/alloca-conf.h"
|
||||
|
||||
/* Now, tend to the rest of the configuration. */
|
||||
#include "config.h"
|
||||
|
||||
/* System include files first... */
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#ifdef HAVE_STRING_H
|
||||
#include <string.h>
|
||||
#else
|
||||
#include <strings.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
/* for size_t, pid_t */
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
|
||||
/* Some systems do declare this, but this seems to be the universal
|
||||
declaration, though the parameter type varies. (It ought to use
|
||||
`const' but many systems prototype it without.) Include it here
|
||||
for systems that don't declare it. If conflicts arise, just add
|
||||
another autoconf test... */
|
||||
extern char *strdup (/* const char * */);
|
||||
|
||||
#include <getopt.h>
|
||||
/* The first getopt value for machine-independent long options.
|
||||
150 isn't special; it's just an arbitrary non-ASCII char value. */
|
||||
@ -53,14 +80,55 @@
|
||||
#ifdef DEBUG
|
||||
#undef NDEBUG
|
||||
#endif
|
||||
/* Handle lossage with assert.h. */
|
||||
#ifndef BROKEN_ASSERT
|
||||
#include <assert.h>
|
||||
#else /* BROKEN_ASSERT */
|
||||
#ifndef NDEBUG
|
||||
#define assert(p) ((p) ? 0 : (abort(), 0))
|
||||
#else
|
||||
#define assert(p) ((p), 0)
|
||||
#endif
|
||||
#endif /* BROKEN_ASSERT */
|
||||
|
||||
|
||||
/* Now GNU header files... */
|
||||
#include <ansidecl.h>
|
||||
#ifdef BFD_ASSEMBLER
|
||||
#include <bfd.h>
|
||||
#endif
|
||||
#include "host.h"
|
||||
#include "flonum.h"
|
||||
|
||||
#ifdef WANT_FOPEN_BIN
|
||||
#include "fopen-bin.h"
|
||||
#else
|
||||
#include "fopen-same.h"
|
||||
#endif
|
||||
|
||||
/* This doesn't get taken care of by ansidecl.h. */
|
||||
#if !defined (__STDC__) && !defined (volatile)
|
||||
#define volatile
|
||||
#endif
|
||||
|
||||
/* This doesn't get taken care of anywhere. */
|
||||
#if !defined (__GNUC__) && !defined (inline)
|
||||
#define inline
|
||||
#endif
|
||||
|
||||
/* Other stuff from config.h. */
|
||||
#ifdef NEED_MALLOC_DECLARATION
|
||||
extern PTR malloc ();
|
||||
extern PTR realloc ();
|
||||
#endif
|
||||
#ifdef NEED_FREE_DECLARATION
|
||||
extern void free ();
|
||||
#endif
|
||||
|
||||
#ifdef BFD_ASSEMBLER
|
||||
/* This one doesn't get declared, but we're using it anyways. This
|
||||
should be fixed -- either it's part of the external interface or
|
||||
it's not. */
|
||||
extern PTR bfd_alloc_by_size_t PARAMS ((bfd *abfd, size_t sz));
|
||||
#endif
|
||||
|
||||
/* Make Saber happier on obstack.h. */
|
||||
#ifdef SABER
|
||||
@ -92,8 +160,12 @@
|
||||
#endif
|
||||
|
||||
#ifndef FOPEN_WB
|
||||
#ifdef GO32
|
||||
#include "fopen-bin.h"
|
||||
#else
|
||||
#include "fopen-same.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define obstack_chunk_alloc xmalloc
|
||||
#define obstack_chunk_free xfree
|
||||
@ -111,6 +183,7 @@
|
||||
system, just delete it. */
|
||||
extern char *strstr ();
|
||||
|
||||
#include "flonum.h"
|
||||
|
||||
/* These are assembler-wide concepts */
|
||||
|
||||
@ -142,15 +215,6 @@ typedef addressT valueT;
|
||||
#else
|
||||
#define know(p) /* know() checks are no-op.ed */
|
||||
#endif
|
||||
|
||||
#if defined (BROKEN_ASSERT) && !defined (NDEBUG)
|
||||
/* Used on machines where the "assert" macro is buggy. (For example, on the
|
||||
RS/6000, Reiser-cpp substitution is done to put the condition into a
|
||||
string, so if the condition contains a string, parse errors result.) If
|
||||
the condition fails, just drop core file. */
|
||||
#undef assert
|
||||
#define assert(p) ((p) ? 0 : (abort (), 0))
|
||||
#endif
|
||||
|
||||
/* input_scrub.c */
|
||||
|
||||
@ -224,8 +288,8 @@ extern int section_alignment[];
|
||||
extern segT reg_section, expr_section;
|
||||
/* Shouldn't these be eliminated someday? */
|
||||
extern segT text_section, data_section, bss_section;
|
||||
#define absolute_section (&bfd_abs_section)
|
||||
#define undefined_section (&bfd_und_section)
|
||||
#define absolute_section bfd_abs_section_ptr
|
||||
#define undefined_section bfd_und_section_ptr
|
||||
#else
|
||||
#define reg_section SEG_REGISTER
|
||||
#define expr_section SEG_EXPR
|
||||
@ -463,10 +527,11 @@ struct symbol;
|
||||
valueT add_to_literal_pool PARAMS ((struct symbol *, valueT, segT, int));
|
||||
#endif
|
||||
|
||||
#include "expr.h" /* Before targ-*.h */
|
||||
|
||||
/* this one starts the chain of target dependant headers */
|
||||
#include "targ-env.h"
|
||||
|
||||
#include "expr.h"
|
||||
#include "struc-symbol.h"
|
||||
#include "write.h"
|
||||
#include "frags.h"
|
||||
|
97
gas/conf.in
Normal file
97
gas/conf.in
Normal file
@ -0,0 +1,97 @@
|
||||
/* conf.in. Generated automatically from configure.in by autoheader. */
|
||||
|
||||
/* Define if using alloca.c. */
|
||||
#undef C_ALLOCA
|
||||
|
||||
/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
|
||||
This function is required for alloca.c support on those systems. */
|
||||
#undef CRAY_STACKSEG_END
|
||||
|
||||
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
|
||||
#undef HAVE_ALLOCA_H
|
||||
|
||||
/* Define as __inline if that's what the C compiler calls it. */
|
||||
#undef inline
|
||||
|
||||
/* If using the C implementation of alloca, define if you know the
|
||||
direction of stack growth for your system; otherwise it will be
|
||||
automatically deduced at run-time.
|
||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
||||
STACK_DIRECTION = 0 => direction of growth unknown
|
||||
*/
|
||||
#undef STACK_DIRECTION
|
||||
|
||||
/* Define if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Should gas use high-level BFD interfaces? */
|
||||
#undef BFD_ASSEMBLER
|
||||
|
||||
/* Some assert/preprocessor combinations are incapable of handling
|
||||
certain kinds of constructs in the argument of assert. For example,
|
||||
quoted strings (if requoting isn't done right) or newlines. */
|
||||
#undef BROKEN_ASSERT
|
||||
|
||||
/* If we aren't doing cross-assembling, some operations can be optimized,
|
||||
since byte orders and value sizes don't need to be adjusted. */
|
||||
#undef CROSS_COMPILE
|
||||
|
||||
/* Some IBM compilers can't handle some of the (rather basic) constructs
|
||||
used in the 68k support code. */
|
||||
#undef IBM_COMPILER_SUX
|
||||
|
||||
/* Some gas code wants to know these parameters. */
|
||||
#undef TARGET_ALIAS
|
||||
#undef TARGET_CPU
|
||||
#undef TARGET_CANONICAL
|
||||
#undef TARGET_OS
|
||||
#undef TARGET_VENDOR
|
||||
|
||||
/* Some operating systems, for example DOS, require the use of "wb" mode when
|
||||
opening a binary file for writing. If only "w" is used, the file will not
|
||||
be correct. However, some other systems reject such a mode. This indicates
|
||||
which ../include/fopen-*.h header file we want to include, so that we can
|
||||
get macros that'll do the right thing for this system. */
|
||||
#undef WANT_FOPEN_BIN
|
||||
|
||||
/* Sometimes the system header files don't declare malloc and realloc. */
|
||||
#undef NEED_MALLOC_DECLARATION
|
||||
|
||||
/* Sometimes the system header files don't declare free. */
|
||||
#undef NEED_FREE_DECLARATION
|
||||
|
||||
/* Sometimes errno.h doesn't declare errno itself. */
|
||||
#undef NEED_ERRNO_DECLARATION
|
||||
|
||||
#undef MANY_SEGMENTS
|
||||
|
||||
/* Needed only for sparc configuration */
|
||||
#undef sparcv9
|
||||
|
||||
/* Define if you have the <errno.h> header file. */
|
||||
#undef HAVE_ERRNO_H
|
||||
|
||||
/* Define if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define if you have the <stdarg.h> header file. */
|
||||
#undef HAVE_STDARG_H
|
||||
|
||||
/* Define if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define if you have the <varargs.h> header file. */
|
||||
#undef HAVE_VARARGS_H
|
1963
gas/configure
vendored
Executable file
1963
gas/configure
vendored
Executable file
File diff suppressed because it is too large
Load Diff
338
gas/configure.in
338
gas/configure.in
@ -1,124 +1,47 @@
|
||||
# This file is configure.in
|
||||
#
|
||||
# Copyright (C) 1987-1992,1993,1994 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GAS, the GNU Assembler.
|
||||
#
|
||||
# GAS 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.
|
||||
#
|
||||
# GAS 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 GAS; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
#
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
dnl
|
||||
dnl And be careful when changing it! If you must add tests with square
|
||||
dnl brackets, be sure changequote invocations surround it.
|
||||
dnl
|
||||
dnl Remember to use "dnl" in each line before the AC_INIT call...
|
||||
dnl
|
||||
dnl
|
||||
AC_INIT(as.h)
|
||||
dnl
|
||||
AC_ARG_ENABLE(bfd-assembler,
|
||||
[ bfd-assembler use BFD back end for writing object files],
|
||||
[case "${enableval}" in
|
||||
yes) need_bfd=yes bfd_gas=yes ;;
|
||||
no) ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} given for bfd-assembler option) ;;
|
||||
esac])dnl
|
||||
|
||||
# This file was written, and is maintained by K. Richard Pixley
|
||||
# <rich@cygnus.com>.
|
||||
# Generate a header file -- gets more post-processing by Makefile later.
|
||||
AC_CONFIG_HEADER(conf)
|
||||
|
||||
# This file is a shell script that supplies the information necessary
|
||||
# to tailor a template configure script into the configure script
|
||||
# appropriate for this directory. For more information, check any
|
||||
# existing configure script.
|
||||
dnl For recursion to work right, this must be an absolute pathname.
|
||||
AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
|
||||
AC_CANONICAL_SYSTEM
|
||||
|
||||
srctrigger=as.c
|
||||
srcname="gas"
|
||||
need_bfd=no
|
||||
bfd_gas=no
|
||||
configdirs="doc testsuite"
|
||||
|
||||
# per-host:
|
||||
|
||||
gas_host=generic
|
||||
|
||||
case "${host}" in
|
||||
a29k-*-*) gas_host=a29k ;;
|
||||
|
||||
alpha-*-osf*) gas_host=ansi ;;
|
||||
|
||||
hppa*-*-hpux*) gas_host=hpux ;;
|
||||
hppa*-*-bsd*) gas_host=hppabsd ;;
|
||||
hppa*-*-osf*) gas_host=hppaosf ;;
|
||||
hppa*-*-hiux*) gas_host=hpux ;;
|
||||
|
||||
i[345]86-ibm-aix*) gas_host=i386aix ;;
|
||||
i[345]86-*-isc*) gas_host=sysv ;;
|
||||
i[345]86-sun-sunos*) gas_host=sun386 ;;
|
||||
i[345]86-*-mach*) gas_host=mach3 ;;
|
||||
i[345]86-*-go32) host_makefile_frag=config/go32.mh
|
||||
gas_host=go32 ;;
|
||||
|
||||
m68k-sun-sunos*) gas_host=sun3 ;;
|
||||
m68*-*-hpux) gas_host=hpux ;;
|
||||
|
||||
mips*-dec-ultrix*) gas_host=decstatn ;;
|
||||
mips*-*-bsd*) gas_host=mipsbsd ;;
|
||||
mips*-sgi-irix*) gas_host=irix ;;
|
||||
|
||||
rs6000-*-*) gas_host=rs6000 ;;
|
||||
|
||||
sparc-sun-sunos*) gas_host=sun4 ;;
|
||||
sparc-sun-solaris2*) gas_host=sysv ;;
|
||||
|
||||
vax-*-vms*) gas_host=vms ;;
|
||||
vax-*-bsd*) gas_host=vax ;;
|
||||
vax-*-ultrix*) gas_host=vax ;;
|
||||
|
||||
*-*-sysv4* | *-*-unixware) gas_host=sysv ;;
|
||||
|
||||
*-*-ansi | *-*-hpux | *-*-sysv)
|
||||
gas_host=${host_os} ;;
|
||||
|
||||
esac
|
||||
|
||||
if [ ! -r ${srcdir}/config/ho-${gas_host}.h ]; then
|
||||
echo '*** GAS does not support host' ${host} 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# per-target:
|
||||
|
||||
case ${with_bfd_assembler} in
|
||||
yes)
|
||||
echo "*** Warning: GAS BFD configuration option not yet fully supported" 1>&2
|
||||
need_bfd=yes
|
||||
bfd_gas=yes
|
||||
;;
|
||||
no | "")
|
||||
;;
|
||||
*)
|
||||
echo "*** Bad value \"${with_bfd_assembler}\" for --with-bfd-assembler option" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# assign cpu type
|
||||
emulation=generic
|
||||
|
||||
# default is big
|
||||
endian=big
|
||||
# assign cpu type
|
||||
|
||||
# check for architecture variants
|
||||
case ${target_cpu} in
|
||||
# Actually we've only got support for the 1.1, so we shouldn't generalize,
|
||||
# but this is what the support files are named...
|
||||
hppa*) cpu_type=hppa ;;
|
||||
changequote(,)dnl
|
||||
i[45]86) cpu_type=i386 ;;
|
||||
m680[012346]0) cpu_type=m68k ;;
|
||||
m68008) cpu_type=m68k ;;
|
||||
m683??) cpu_type=m68k ;;
|
||||
changequote([,])dnl
|
||||
m8*) cpu_type=m88k ;;
|
||||
mips*el) cpu_type=mips endian=little;;
|
||||
mips*) cpu_type=mips ;;
|
||||
mips*) cpu_type=mips endian=big ;;
|
||||
powerpc*) cpu_type=ppc ;;
|
||||
rs6000*) cpu_type=ppc ;;
|
||||
sparc64) cpu_type=sparc obj_format=elf extra_def=sparcv9 ;;
|
||||
sparc64) cpu_type=sparc obj_format=elf AC_DEFINE(sparcv9) ;;
|
||||
sparclite*) cpu_type=sparc ;;
|
||||
*) cpu_type=${target_cpu} ;;
|
||||
esac
|
||||
@ -126,12 +49,12 @@ esac
|
||||
# do we need the opcodes library?
|
||||
case ${cpu_type} in
|
||||
alpha | vax)
|
||||
opcodes=
|
||||
;;
|
||||
*)
|
||||
opcodes="../opcodes/libopcodes.a"
|
||||
OPCODES_LIB="../opcodes/libopcodes.a"
|
||||
;;
|
||||
esac
|
||||
AC_SUBST(OPCODES_LIB)
|
||||
|
||||
gas_target=${cpu_type}
|
||||
generic_target=${cpu_type}-${target_vendor}-${target_os}
|
||||
@ -198,11 +121,10 @@ case ${generic_target} in
|
||||
mips-*-bsd*) bfd_gas=yes obj_format=aout gas_target=mips-lit ;;
|
||||
mips-*-ultrix*) obj_format=ecoff gas_target=mips-lit ;;
|
||||
mips-*-ecoff*) obj_format=ecoff
|
||||
if [ $endian = big ] ; then
|
||||
gas_target=mips-big
|
||||
else
|
||||
gas_target=mips-lit
|
||||
fi
|
||||
case "$endian" in
|
||||
big) gas_target=mips-big ;;
|
||||
*) gas_target=mips-lit ;;
|
||||
esac
|
||||
;;
|
||||
mips-*-ecoff*) obj_format=ecoff gas_target=mips-big ;;
|
||||
mips-*-irix5*) obj_format=elf gas_target=mips-big ;;
|
||||
@ -210,13 +132,11 @@ case ${generic_target} in
|
||||
mips-*-riscos*) obj_format=ecoff gas_target=mips-big ;;
|
||||
mips-*-sysv*) obj_format=ecoff gas_target=mips-big ;;
|
||||
mips-*-elf*) obj_format=elf
|
||||
if [ $endian = big ] ; then
|
||||
gas_target=mips-big
|
||||
else
|
||||
gas_target=mips-lit
|
||||
fi
|
||||
case "$endian" in
|
||||
big) gas_target=mips-big ;;
|
||||
*) gas_target=mips-lit ;;
|
||||
esac
|
||||
;;
|
||||
|
||||
ppc-*-aix*) obj_format=coff bfd_gas=yes ;;
|
||||
ppc-*-elf*) obj_format=elf bfd_gas=yes ;;
|
||||
ppc-*-netware*) obj_format=elf emulation=ppcnw ;;
|
||||
@ -253,7 +173,7 @@ case ${generic_target} in
|
||||
*-*-xray | *-*-hms) obj_format=coff ;;
|
||||
*-*-sim) obj_format=coff ;;
|
||||
*-*-elf | *-*-sysv4* | *-*-solaris*)
|
||||
echo '*** Warning: GAS support for ELF format is incomplete' 1>&2
|
||||
AC_MSG_WARN(GAS support for ELF format is incomplete)
|
||||
obj_format=elf dev=yes ;;
|
||||
*-*-vxworks) obj_format=aout ;;
|
||||
*-*-netware) obj_format=elf ;;
|
||||
@ -267,30 +187,35 @@ case ${target_cpu} in
|
||||
*) atof=ieee ;;
|
||||
esac
|
||||
|
||||
if [ ! -r ${srcdir}/config/tc-${cpu_type}.c ]; then
|
||||
echo '*** GAS does not support target CPU' ${cpu_type} 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "${obj_format}" in
|
||||
"")
|
||||
echo "*** GAS doesn't know what format to use for target" ${target} 1>&2
|
||||
exit 1
|
||||
;;
|
||||
"") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
|
||||
esac
|
||||
|
||||
if [ ! -r ${srcdir}/config/obj-${obj_format}.c ]; then
|
||||
echo '*** GAS does not have support for object file format' ${obj_format} 1>&2
|
||||
exit 1
|
||||
dnl
|
||||
dnl Make sure the desired support files exist.
|
||||
dnl
|
||||
|
||||
changequote(<<<,>>>)dnl
|
||||
|
||||
if [ ! -r ${srcdir}/config/tc-${cpu_type}.c ]; then
|
||||
AC_MSG_ERROR(GAS does not support target CPU ${cpu_type})
|
||||
fi
|
||||
|
||||
if [ ! -r ${srcdir}/config/obj-${obj_format}.c ]; then
|
||||
AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
|
||||
fi
|
||||
|
||||
changequote([,])dnl
|
||||
|
||||
# and target makefile frag
|
||||
|
||||
target_makefile_frag=config/${gas_target}.mt
|
||||
target_frag=${srcdir}/config/${gas_target}.mt
|
||||
AC_SUBST_FILE(target_frag)
|
||||
|
||||
case ${bfd_gas}-${obj_format} in
|
||||
yes-coff) need_bfd=yes ;;
|
||||
no-coff) need_bfd=yes extra_def="MANY_SEGMENTS" ;;
|
||||
no-coff) need_bfd=yes
|
||||
AC_DEFINE(MANY_SEGMENTS) ;;
|
||||
*-elf) bfd_gas=yes ;;
|
||||
*-ecoff) bfd_gas=yes ;;
|
||||
*-som) bfd_gas=yes ;;
|
||||
@ -302,8 +227,7 @@ case ${with_bfd_assembler}-${bfd_gas} in
|
||||
# We didn't override user's choice.
|
||||
;;
|
||||
no-yes)
|
||||
echo '*** Use of BFD is required for ${target}; overriding config options'\
|
||||
1>&2
|
||||
AC_MSG_WARN(Use of BFD is required for ${target}; overriding config options.)
|
||||
;;
|
||||
no-preferred)
|
||||
bfd_gas=no
|
||||
@ -320,44 +244,134 @@ reject_dev_configs=yes
|
||||
|
||||
case ${reject_dev_configs}-${dev} in
|
||||
yes-yes) # Oops.
|
||||
echo "*** GAS does not support the ${generic_target} configuration" 1>&2
|
||||
exit 1
|
||||
AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
|
||||
;;
|
||||
esac
|
||||
|
||||
files="config/ho-${gas_host}.h config/tc-${cpu_type}.c \
|
||||
config/tc-${cpu_type}.h config/te-${emulation}.h \
|
||||
dnl Looks like the AC_MAKE_LINKS string is taken literally and put into the
|
||||
dnl config.status file. So the necessary variables also have to be
|
||||
dnl exported.
|
||||
AC_SUBST(cpu_type) AC_SUBST(obj_format) AC_SUBST(emulation) AC_SUBST(atof)
|
||||
AC_LINK_FILES(targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c,
|
||||
config/tc-${cpu_type}.c config/tc-${cpu_type}.h \
|
||||
config/obj-${obj_format}.h config/obj-${obj_format}.c \
|
||||
config/atof-${atof}.c"
|
||||
config/te-${emulation}.h config/atof-${atof}.c)
|
||||
|
||||
links="host.h targ-cpu.c targ-cpu.h targ-env.h obj-format.h obj-format.c atof-targ.c"
|
||||
|
||||
# post-target:
|
||||
|
||||
case ${bfd_gas} in
|
||||
yes) extra_def="$extra_def BFD_ASSEMBLER" need_bfd=yes ;;
|
||||
case "${bfd_gas}" in
|
||||
yes) AC_DEFINE(BFD_ASSEMBLER)
|
||||
need_bfd=yes ;;
|
||||
esac
|
||||
|
||||
case ${need_bfd} in
|
||||
yes) bfdlib="BFDLIB=../bfd/libbfd.a"
|
||||
all_obj_deps="$all_obj_deps ../bfd/bfd.h"
|
||||
;;
|
||||
*) bfdlib=""
|
||||
case "${need_bfd}" in
|
||||
yes) BFDLIB=../bfd/libbfd.a
|
||||
ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
|
||||
;;
|
||||
esac
|
||||
AC_SUBST(BFDLIB)
|
||||
AC_SUBST(ALL_OBJ_DEPS)
|
||||
|
||||
case "x${host}" in
|
||||
"x${target}") cross="" ;;
|
||||
*) cross="CROSS=-DCROSS_COMPILE" ;;
|
||||
case "x${host_canon}" in
|
||||
x${target_canon}) ;;
|
||||
*) AC_DEFINE(CROSS_COMPILE);;
|
||||
esac
|
||||
|
||||
rm -f Makefile.tem
|
||||
echo $cross > Makefile.tem
|
||||
echo ALL_OBJ_DEPS=$all_obj_deps >> Makefile.tem
|
||||
echo defs=$extra_def >> Makefile.tem
|
||||
echo $bfdlib >> Makefile.tem
|
||||
echo "OPCODES_LIB=$opcodes" >> Makefile.tem
|
||||
cat Makefile >> Makefile.tem
|
||||
mv -f Makefile.tem Makefile
|
||||
AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${target_alias}")
|
||||
AC_DEFINE_UNQUOTED(TARGET_CANONICAL, "${target}")
|
||||
AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}")
|
||||
AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${target_vendor}")
|
||||
AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}")
|
||||
|
||||
# end of gas/configure.in
|
||||
case ${host} in
|
||||
rs6000-*-*)
|
||||
# The IBM compiler mis-compiles some expressions used in gas.
|
||||
# This will tell gas to work around this lossage.
|
||||
AC_DEFINE(IBM_COMPILER_SUX) ;;
|
||||
i386-*-go32)
|
||||
# Using fopen(..., "w") for a binary file breaks under DOS.
|
||||
AC_DEFINE(WANT_FOPEN_BIN) ;;
|
||||
esac
|
||||
|
||||
AC_PROG_CC
|
||||
AC_PROG_INSTALL
|
||||
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
|
||||
|
||||
dnl ansidecl.h will deal with const
|
||||
dnl AC_CONST
|
||||
AC_FUNC_ALLOCA
|
||||
AC_C_INLINE
|
||||
|
||||
# Some non-ANSI preprocessors botch requoting inside strings. That's bad
|
||||
# enough, but on some of those systems, the assert macro relies on requoting
|
||||
# working properly!
|
||||
AC_CHECKING([for working assert macro])
|
||||
AC_TRY_LINK([#include <assert.h>
|
||||
#include <stdio.h>], [
|
||||
/* check for requoting problems */
|
||||
static int a, b, c, d;
|
||||
static char *s;
|
||||
assert (!strcmp(s, "foo bar baz quux"));
|
||||
/* check for newline handling */
|
||||
assert (a == b
|
||||
|| c == d);
|
||||
], , AC_DEFINE(BROKEN_ASSERT))
|
||||
|
||||
# On some systems, the system header files may not declare malloc, realloc,
|
||||
# and free. There are places where gas needs these functions to have been
|
||||
# declared -- such as when taking their addresses.
|
||||
AC_CHECKING([whether malloc declaration is required])
|
||||
AC_TRY_LINK([
|
||||
#ifdef HAVE_MEMORY_H
|
||||
#include <memory.h>
|
||||
#endif
|
||||
#ifdef HAVE_STRING_H
|
||||
#include <string.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
], [
|
||||
char *(*f) ();
|
||||
f = (char *(*)()) malloc;
|
||||
], , AC_DEFINE(NEED_MALLOC_DECLARATION))
|
||||
AC_CHECKING([free declaration required])
|
||||
AC_TRY_LINK([
|
||||
#ifdef HAVE_MEMORY_H
|
||||
#include <memory.h>
|
||||
#endif
|
||||
#ifdef HAVE_STRING_H
|
||||
#include <string.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
], [
|
||||
int (*f) ();
|
||||
f = (int (*)()) free;
|
||||
], , AC_DEFINE(NEED_FREE_DECLARATION))
|
||||
|
||||
# Does errno.h declare errno, or do we have to add a separate declaration
|
||||
# for it?
|
||||
AC_CHECKING([errno declaration required])
|
||||
AC_TRY_LINK([
|
||||
#ifdef HAVE_ERRNO_H
|
||||
#include <errno.h>
|
||||
#endif
|
||||
], [
|
||||
int x;
|
||||
x = errno;
|
||||
], , AC_DEFINE(NEED_ERRNO_DECLARATION))
|
||||
|
||||
AC_CONFIG_SUBDIRS(testsuite)
|
||||
|
||||
dnl This must come last.
|
||||
dnl Apparently symlinks are checked for in the directory containing
|
||||
dnl the last Makefile. Thus the order used here...
|
||||
AC_OUTPUT(doc/Makefile Makefile)
|
||||
|
10
gas/gasp.c
10
gas/gasp.c
@ -50,8 +50,16 @@ suitable for gas to consume.
|
||||
#include <stdio.h>
|
||||
#include <getopt.h>
|
||||
#include <ctype.h>
|
||||
#include "config.h"
|
||||
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#ifdef NEED_MALLOC_DECLARATION
|
||||
extern char *malloc ();
|
||||
#endif
|
||||
|
||||
#include "host.h"
|
||||
#include "libiberty.h"
|
||||
|
||||
char *program_version = "1.2";
|
||||
|
Loading…
Reference in New Issue
Block a user