2005-12-12 Paul Brook <paul@codesourcery.com>
[deliverable/binutils-gdb.git] / gas / configure.in
CommitLineData
252b5132
RH
1dnl Process this file with autoconf to produce a configure script.
2dnl
3dnl And be careful when changing it! If you must add tests with square
4dnl brackets, be sure changequote invocations surround it.
5dnl
6dnl
7dnl v2.5 needed for --bindir et al
13b2be9c 8AC_PREREQ(2.57)
252b5132
RH
9AC_INIT(as.h)
10
13b2be9c
DJ
11dnl Autoconf 2.57 will find the aux dir without this. However, unless
12dnl we specify this explicitly, automake-1.7 will assume that ylwrap is in
13dnl gas/ instead of gas/../.
14AC_CONFIG_AUX_DIR(..)
252b5132 15AC_CANONICAL_SYSTEM
5d64ca4e 16AC_ISC_POSIX
252b5132 17
27b7e12d
AM
18changequote(,)dnl
19BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[ ]*\([^ ]*\)[ ]*).*/\1/p' < ${srcdir}/../bfd/configure.in`
20changequote([,])dnl
21AM_INIT_AUTOMAKE(gas, ${BFD_VERSION})
252b5132
RH
22
23AM_PROG_LIBTOOL
24
252b5132
RH
25AC_ARG_ENABLE(targets,
26[ targets alternative target configurations besides the primary],
27[case "${enableval}" in
28 yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
29 ;;
30 no) enable_targets= ;;
31 *) enable_targets=$enableval ;;
32esac])dnl
33AC_ARG_ENABLE(commonbfdlib,
34[ --enable-commonbfdlib build shared BFD/opcodes/libiberty library],
35[case "${enableval}" in
36 yes) commonbfdlib=true ;;
37 no) commonbfdlib=false ;;
38 *) AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;;
39esac])dnl
40
41using_cgen=no
42
9e9b66a9 43AM_BINUTILS_WARNINGS
a2d91340 44
252b5132
RH
45# Generate a header file
46AM_CONFIG_HEADER(config.h:config.in)
47
76a27922
ILT
48# If we are on a DOS filesystem, we must use gdb.ini rather than
49# .gdbinit.
76a27922 50case "${host}" in
591d4689 51 *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-windows*)
76a27922 52 GDBINIT="gdb.ini"
13b2be9c
DJ
53 AC_CONFIG_FILES(gdb.ini:gdbinit.in)
54 ;;
55 *)
56 GDBINIT=".gdbinit"
57 AC_CONFIG_FILES(.gdbinit:gdbinit.in)
76a27922
ILT
58 ;;
59esac
60AC_SUBST(GDBINIT)
61
44f2f9d2
AM
62#We need this for the host. BOUT header is in host order.
63AC_C_BIGENDIAN
64
252b5132
RH
65te_file=generic
66
67# Makefile target for installing gas in $(tooldir)/bin.
68install_tooldir=install-exec-tooldir
69
70canon_targets=""
15886821 71all_targets=no
252b5132
RH
72if test -n "$enable_targets" ; then
73 for t in `echo $enable_targets | sed 's/,/ /g'`; do
15886821
L
74 if test $t = "all"; then
75 all_targets=yes
76 continue
77 fi
6d83c84b 78 result=`$ac_config_sub $t 2>/dev/null`
252b5132
RH
79 if test -n "$result" ; then
80 canon_targets="$canon_targets $result"
81# else
82# # Permit "all", etc. We don't support it yet though.
83# canon_targets="$canon_targets $t"
84 fi
85 done
86 GAS_UNIQ(canon_targets)
87fi
88
89emulations=""
90
91for this_target in $target $canon_targets ; do
92
14ee9f48
ILT
93 targ=${this_target}
94 . ${srcdir}/configure.tgt
95
96 case ${target_cpu} in
97 crisv32)
98 AC_DEFINE_UNQUOTED(DEFAULT_CRIS_ARCH, $arch,
99 [Default CRIS architecture.])
100 ;;
252b5132
RH
101 esac
102
103 if test ${this_target} = $target ; then
104 target_cpu_type=${cpu_type}
105 elif test ${target_cpu_type} != ${cpu_type} ; then
106 continue
107 fi
108
14ee9f48 109 generic_target=${cpu_type}-${target_vendor}-${target_os}
252b5132 110 case ${generic_target} in
14ee9f48
ILT
111 i386-*-sco3.2v5*)
112 if test ${this_target} = $target; then
113 AC_DEFINE(SCO_ELF, 1, [Define if defaulting to ELF on SCO 5.])
114 fi
115 ;;
1fe1f39c 116
79500683
AM
117 i386-*-msdosdjgpp* \
118 | i386-*-go32* \
14ee9f48
ILT
119 | i386-go32-rtems*)
120 AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?])
121 ;;
79500683 122
14ee9f48
ILT
123 i860-*-*)
124 AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress)
125 ;;
79500683 126
14ee9f48
ILT
127 mips-sony-bsd*)
128 ;;
79500683 129 mips-*-bsd*)
14ee9f48
ILT
130 AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.)
131 ;;
4101eec8 132
14ee9f48
ILT
133 ppc-*-aix5.*)
134 AC_DEFINE(AIX_WEAK_SUPPORT, 1,
f8fc3443 135 [Define if using AIX 5.2 value for C_WEAKEXT.])
14ee9f48 136 ;;
ed84e695 137 ppc-*-linux-*)
14ee9f48
ILT
138 case "$endian" in
139 big) ;;
140 *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
141 esac
142 ;;
143 ppc-*-solaris*)
144 if test ${this_target} = $target; then
145 AC_DEFINE(TARGET_SOLARIS_COMMENT, 1,
146 [Define if default target is PowerPC Solaris.])
147 fi
148 if test x${endian} = xbig; then
149 AC_MSG_ERROR(Solaris must be configured little endian)
150 fi
151 ;;
152
153 sh*-*-symbianelf*)
154 AC_DEFINE(TARGET_SYMBIAN, 1, [Define if target is Symbian OS.])
155 ;;
252b5132
RH
156 esac
157
158 if test ${this_target} = $target ; then
159 endian_def=
160 if test x${endian} = xbig; then
161 endian_def=1
162 elif test x${endian} = xlittle; then
163 endian_def=0
164 fi
165 if test x${endian_def} != x; then
166 AC_DEFINE_UNQUOTED(TARGET_BYTES_BIG_ENDIAN, $endian_def,
167 [Define as 1 if big endian.])
168 fi
169 fi
170
252b5132
RH
171# Other random stuff.
172
316f5878
RS
173 case ${cpu_type} in
174 mips)
175 # Set mips_cpu to the name of the default CPU.
176 case ${target_cpu} in
177 mips | mipsbe | mipseb | mipsle | mipsel | mips64 | mips64el)
178 mips_cpu=from-abi
179 ;;
180 mipsisa32 | mipsisa32el)
181 mips_cpu=mips32
182 ;;
af7ee8bf
CD
183 mipsisa32r2 | mipsisa32r2el)
184 mips_cpu=mips32r2
185 ;;
316f5878
RS
186 mipsisa64 | mipsisa64el)
187 mips_cpu=mips64
188 ;;
5f74bc13
CD
189 mipsisa64r2 | mipsisa64r2el)
190 mips_cpu=mips64r2
191 ;;
316f5878
RS
192 mipstx39 | mipstx39el)
193 mips_cpu=r3900
194 ;;
8f6847cb
RS
195 mips64vr | mips64vrel)
196 mips_cpu=vr4100
197 ;;
5f74bc13 198 mipsisa32r2* | mipsisa64r2*)
af7ee8bf
CD
199changequote(,)dnl
200 mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r2//' -e 's/el$//'`
201changequote([,])dnl
202 ;;
316f5878
RS
203 mips64* | mipsisa64* | mipsisa32*)
204changequote(,)dnl
205 mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..//' -e 's/el$//'`
206changequote([,])dnl
207 ;;
208 *)
209 AC_ERROR($target_cpu isn't a supported MIPS CPU name)
210 ;;
211 esac
212 # See whether it's appropriate to set E_MIPS_ABI_O32 for o32
213 # binaries. It's a GNU extension that some OSes don't understand.
214 # The value only matters on ELF targets.
215 case ${target} in
216 *-*-irix*)
217 use_e_mips_abi_o32=0
218 ;;
219 *)
220 use_e_mips_abi_o32=1
221 ;;
222 esac
223 # Decide whether to generate 32-bit or 64-bit code by default.
224 # Used to resolve -march=from-abi when an embedded ABI is selected.
225 case ${target} in
226 mips64*-*-* | mipsisa64*-*-*)
227 mips_default_64bit=1
228 ;;
229 *)
230 mips_default_64bit=0
231 ;;
232 esac
cac012d6
AO
233 # Decide which ABI to target by default.
234 case ${target} in
235 mips64*-linux* | mips-sgi-irix6*)
236 mips_default_abi=N32_ABI
237 ;;
238 mips*-linux*)
239 mips_default_abi=O32_ABI
240 ;;
26eebcf5
MK
241 mips64*-openbsd*)
242 mips_default_abi=N64_ABI
243 ;;
cac012d6
AO
244 *)
245 mips_default_abi=NO_ABI
246 ;;
247 esac
316f5878
RS
248 AC_DEFINE_UNQUOTED(MIPS_CPU_STRING_DEFAULT, "$mips_cpu",
249 [Default CPU for MIPS targets. ])
250 AC_DEFINE_UNQUOTED(USE_E_MIPS_ABI_O32, $use_e_mips_abi_o32,
251 [Allow use of E_MIPS_ABI_O32 on MIPS targets. ])
252 AC_DEFINE_UNQUOTED(MIPS_DEFAULT_64BIT, $mips_default_64bit,
253 [Generate 64-bit code by default on MIPS targets. ])
cac012d6
AO
254 AC_DEFINE_UNQUOTED(MIPS_DEFAULT_ABI, $mips_default_abi,
255 [Choose a default ABI for MIPS targets. ])
316f5878
RS
256 ;;
257 esac
258
252b5132
RH
259 # Do we need the opcodes library?
260 case ${cpu_type} in
261 vax | i386 | tic30)
262 ;;
263
264 *)
265 need_opcodes=yes
266
267 case "${enable_shared}" in
268 yes) shared_opcodes=true ;;
269 *opcodes*) shared_opcodes=true ;;
270 *) shared_opcodes=false ;;
271 esac
252b5132
RH
272 ;;
273 esac
274
275 # Any other special object files needed ?
276 case ${cpu_type} in
07c1b327
CM
277
278 bfin)
279 echo ${extra_objects} | grep -s "bfin-parse.o"
280 if test $? -ne 0 ; then
281 extra_objects="$extra_objects bfin-parse.o"
282 fi
283
284 echo ${extra_objects} | grep -s "bfin-lex.o"
285 if test $? -ne 0 ; then
286 extra_objects="$extra_objects bfin-lex.o"
287 fi
288 ;;
289
1c53c80d 290 fr30 | ip2k | iq2000 | m32r | openrisc)
252b5132
RH
291 using_cgen=yes
292 ;;
293
49f58d10
JB
294 m32c)
295 using_cgen=yes
296 ;;
0ebb9a87
DB
297 frv)
298 using_cgen=yes
299 ;;
252b5132
RH
300 m68k)
301 case ${extra_objects} in
302 *m68k-parse.o*) ;;
303 *) extra_objects="$extra_objects m68k-parse.o" ;;
304 esac
305 ;;
306
307 mips)
308 echo ${extra_objects} | grep -s "itbl-parse.o"
309 if test $? -ne 0 ; then
310 extra_objects="$extra_objects itbl-parse.o"
311 fi
312
313 echo ${extra_objects} | grep -s "itbl-lex.o"
314 if test $? -ne 0 ; then
315 extra_objects="$extra_objects itbl-lex.o"
316 fi
317
318 echo ${extra_objects} | grep -s "itbl-ops.o"
319 if test $? -ne 0 ; then
320 extra_objects="$extra_objects itbl-ops.o"
321 fi
322 ;;
323
4970f871 324 mt)
047af9ef
AH
325 using_cgen=yes
326 ;;
327
c1e4eef7 328 i386 | s390 | sparc)
252b5132
RH
329 if test $this_target = $target ; then
330 AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
331 fi
332 ;;
93fbbb04
GK
333
334 xstormy16)
335 using_cgen=yes
336 ;;
337
e0001a05
NC
338 xtensa)
339 echo ${extra_objects} | grep -s "xtensa-relax.o"
340 if test $? -ne 0 ; then
341 extra_objects="$extra_objects xtensa-relax.o"
342 fi
343 ;;
344
252b5132
RH
345 *)
346 ;;
347 esac
348
349 if test $using_cgen = yes ; then
350 case "x${extra_objects}" in
351 *cgen.o*) ;;
352 *) extra_objects="$extra_objects cgen.o" ;;
353 esac
354 fi
355
356# See if we really can support this configuration with the emulation code.
357
358 if test $this_target = $target ; then
252b5132
RH
359 obj_format=$fmt
360 te_file=$em
252b5132
RH
361 fi
362
363# From target name and format, produce a list of supported emulations.
364
365 case ${generic_target}-${fmt} in
366 mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
4008bd9b 367 mips*-*-linux*-*) case "$endian" in
df3bcd6f
L
368 big) emulation="mipsbelf mipslelf mipself" ;;
369 *) emulation="mipslelf mipsbelf mipself" ;;
252b5132
RH
370 esac ;;
371 mips-*-lnews*-ecoff) ;;
372 mips-*-*-ecoff) case "$endian" in
373 big) emulation="mipsbecoff mipslecoff mipsecoff" ;;
374 *) emulation="mipslecoff mipsbecoff mipsecoff" ;;
375 esac ;;
376 mips-*-*-elf) case "$endian" in
377 big) emulation="mipsbelf mipslelf mipself" ;;
378 *) emulation="mipslelf mipsbelf mipself" ;;
252b5132 379 esac ;;
906fac54 380 mips-*-sysv4*MP*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
119caedd
L
381 # i386-pc-pe-coff != i386-pc-coff.
382 i386-*-pe-coff) ;;
4c63da97
AM
383 # Uncommenting the next line will turn on support for i386 AOUT
384 # for the default linux configuration
385 # i386-*-linux*-elf) emulation="i386elf i386aout" ;;
386 #
387 i386-*-aout) emulation="i386aout" ;;
4ca72d38 388 i386-*-coff) emulation="i386coff" ;;
4c63da97 389 i386-*-elf) emulation="i386elf" ;;
3bcbcc3d 390
f9c19112
HPN
391 # Always all formats. The first stated emulation becomes the default.
392 cris-*-*aout*) emulation="crisaout criself" ;;
393 cris-*-*) emulation="criself crisaout" ;;
252b5132
RH
394 esac
395
396 emulations="$emulations $emulation"
397
398done
399
15886821
L
400# Turn on all targets if possible
401if test ${all_targets} = "yes"; then
402 case ${target_cpu_type} in
403 i386)
404 case ${obj_format} in
405 aout)
406 emulations="$emulations i386coff i386elf"
407 ;;
408 coff)
409 emulations="$emulations i386aout i386elf"
410 ;;
411 elf)
412 emulations="$emulations i386aout i386coff"
413 ;;
414 esac
415 ;;
416 esac
417fi
418
252b5132
RH
419# Assign floating point type. Most processors with FP support
420# IEEE FP. On those that don't support FP at all, usually IEEE
421# is emulated.
422case ${target_cpu} in
423 vax | tahoe ) atof=${target_cpu} ;;
e135f41b 424 pdp11) atof=vax ;;
252b5132
RH
425 *) atof=ieee ;;
426esac
427
428case "${obj_format}" in
429 "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
430esac
431
432# Unfortunately the cpu in cpu-opc.h file isn't always $(TARGET_CPU).
433cgen_cpu_prefix=""
434if test $using_cgen = yes ; then
435 case ${target_cpu} in
4970f871 436 mt) cgen_cpu_prefix=ms1 ;;
252b5132
RH
437 *) cgen_cpu_prefix=${target_cpu} ;;
438 esac
439 AC_SUBST(cgen_cpu_prefix)
440 AC_DEFINE(USING_CGEN, 1, [Using cgen code?])
441fi
442
443dnl
444dnl Make sure the desired support files exist.
445dnl
446
447if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
448 AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
449fi
450
451if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
452 AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
453fi
454
252b5132
RH
455# Some COFF configurations want these random other flags set.
456case ${obj_format} in
457 coff)
458 case ${target_cpu_type} in
459 i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
460 m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
461 m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
462 esac
463 ;;
464esac
465
466# Getting this done right is going to be a bitch. Each configuration specified
7be1c489
AM
467# with --enable-targets=... should be checked for environment, format, cpu
468# setting.
252b5132
RH
469#
470# For each configuration, the necessary object file support code must be linked
471# in. This might be only one, it might be up to four. The necessary emulation
472# code needs to be provided, too.
473#
474# And then there's "--enable-targets=all"....
475#
476# For now, just always do it for MIPS ELF or ECOFF configurations. Sigh.
477
478formats="${obj_format}"
479emfiles=""
480EMULATIONS=""
481GAS_UNIQ(emulations)
482for em in . $emulations ; do
483 case $em in
484 .) continue ;;
97238fbd 485 mipsbelf | mipslelf | mipself)
252b5132 486 fmt=elf file=mipself ;;
97238fbd 487 mipsbecoff | mipslecoff | mipsecoff)
252b5132 488 fmt=ecoff file=mipsecoff ;;
0aa5d426
HPN
489 *coff)
490 fmt=coff file=$em ;;
491 *aout)
492 fmt=aout file=$em ;;
493 *elf)
494 fmt=elf file=$em ;;
252b5132
RH
495 esac
496 formats="$formats $fmt"
497 emfiles="$emfiles e-$file.o"
498 EMULATIONS="$EMULATIONS &$em,"
499done
500GAS_UNIQ(formats)
501GAS_UNIQ(emfiles)
502if test `set . $formats ; shift ; echo $#` -gt 1 ; then
503 for fmt in $formats ; do
504 case $fmt in
505 aout) AC_DEFINE(OBJ_MAYBE_AOUT, 1, [a.out support?]) ;;
506 bout) AC_DEFINE(OBJ_MAYBE_BOUT, 1, [b.out support?]) ;;
507 coff) AC_DEFINE(OBJ_MAYBE_COFF, 1, [COFF support?]) ;;
508 ecoff) AC_DEFINE(OBJ_MAYBE_ECOFF, 1, [ECOFF support?]) ;;
509 elf) AC_DEFINE(OBJ_MAYBE_ELF, 1, [ELF support?]) ;;
510 generic) AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
252b5132
RH
511 ieee) AC_DEFINE(OBJ_MAYBE_IEEE, 1, [IEEE support?]) ;;
512 som) AC_DEFINE(OBJ_MAYBE_SOM, 1, [SOM support?]) ;;
252b5132
RH
513 esac
514 extra_objects="$extra_objects obj-$fmt.o"
515 done
516 obj_format=multi
517fi
518if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
252b5132 519 DEFAULT_EMULATION=`set . $emulations ; echo $2`
4ca72d38
AM
520 # e-mips* has more than one emulation per file, e-i386* has just one at the
521 # moment. If only one emulation is specified, then don't define
522 # USE_EMULATIONS or include any of the e-files as they will only be bloat.
523 case "${obj_format}${emfiles}" in
524 multi* | *mips*)
4ca72d38
AM
525 extra_objects="$extra_objects $emfiles"
526 AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
527 esac
252b5132
RH
528fi
529AC_SUBST(extra_objects)
530AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
531AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
532 [Default emulation.])
533
252b5132
RH
534reject_dev_configs=yes
535
536case ${reject_dev_configs}-${dev} in
537 yes-yes) # Oops.
538 AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
539 ;;
540esac
541
542AC_SUBST(target_cpu_type)
543AC_SUBST(obj_format)
544AC_SUBST(te_file)
545AC_SUBST(install_tooldir)
546AC_SUBST(atof)
547dnl AC_SUBST(emulation)
548
252b5132
RH
549# do we need the opcodes library?
550case "${need_opcodes}" in
551yes)
552 OPCODES_LIB=../opcodes/libopcodes.la
553 ;;
554esac
555
7be1c489
AM
556BFDLIB=../bfd/libbfd.la
557BFDVER_H=../bfd/bfdver.h
558ALL_OBJ_DEPS="$ALL_OBJ_DEPS"' ../bfd/bfd.h $(INCDIR)/symcat.h'
252b5132
RH
559
560AC_SUBST(BFDLIB)
561AC_SUBST(OPCODES_LIB)
562
4001ad8c 563AC_SUBST(BFDVER_H)
252b5132
RH
564AC_SUBST(ALL_OBJ_DEPS)
565
566AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${target_alias}", [Target alias.])
567AC_DEFINE_UNQUOTED(TARGET_CANONICAL, "${target}", [Canonical target.])
568AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}", [Target CPU.])
569AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${target_vendor}", [Target vendor.])
570AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.])
571
572AC_PROG_CC
573
574AC_PROG_YACC
575AM_PROG_LEX
576
0d6af1ab 577ALL_LINGUAS="fr tr es rw"
252b5132
RH
578CY_GNU_GETTEXT
579
580AM_MAINTAINER_MODE
581AC_EXEEXT
582
583AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
584
585# Put this here so that autoconf's "cross-compiling" message doesn't confuse
586# people who are not cross-compiling but are compiling cross-assemblers.
587AC_MSG_CHECKING(whether compiling a cross-assembler)
588if test "${host}" = "${target}"; then
589 cross_gas=no
590else
591 cross_gas=yes
592 AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
593fi
594AC_MSG_RESULT($cross_gas)
595
596dnl ansidecl.h will deal with const
597dnl AC_CONST
598AC_FUNC_ALLOCA
599AC_C_INLINE
600
601# VMS doesn't have unlink.
602AC_CHECK_FUNCS(unlink remove, break)
603
604# Some systems don't have sbrk().
605AC_CHECK_FUNCS(sbrk)
606
39bec121
TW
607# do we need the math library?
608case "${need_libm}" in
609yes)
610 AC_CHECK_LIBM
611 AC_SUBST(LIBM)
612 ;;
613esac
614
252b5132
RH
615# Some non-ANSI preprocessors botch requoting inside strings. That's bad
616# enough, but on some of those systems, the assert macro relies on requoting
617# working properly!
618GAS_WORKING_ASSERT
619
620# On some systems, the system header files may not declare malloc, realloc,
621# and free. There are places where gas needs these functions to have been
622# declared -- such as when taking their addresses.
623gas_test_headers="
624#ifdef HAVE_MEMORY_H
625#include <memory.h>
626#endif
627#ifdef HAVE_STRING_H
628#include <string.h>
629#else
630#ifdef HAVE_STRINGS_H
631#include <strings.h>
632#endif
633#endif
634#ifdef HAVE_STDLIB_H
635#include <stdlib.h>
636#endif
637#ifdef HAVE_UNISTD_H
638#include <unistd.h>
639#endif
640"
252b5132
RH
641
642# Does errno.h declare errno, or do we have to add a separate declaration
643# for it?
644GAS_CHECK_DECL_NEEDED(errno, f, int f, [
645#ifdef HAVE_ERRNO_H
646#include <errno.h>
647#endif
648])
649
56f36663
NC
650AC_MSG_CHECKING(for a known getopt prototype in unistd.h)
651AC_CACHE_VAL(gas_cv_decl_getopt_unistd_h,
652[AC_TRY_COMPILE([#include <unistd.h>], [extern int getopt (int, char *const*, const char *);],
653gas_cv_decl_getopt_unistd_h=yes, gas_cv_decl_getopt_unistd_h=no)])
654AC_MSG_RESULT($gas_cv_decl_getopt_unistd_h)
655if test $gas_cv_decl_getopt_unistd_h = yes; then
656 AC_DEFINE([HAVE_DECL_GETOPT], 1,
657 [Is the prototype for getopt in <unistd.h> in the expected format?])
658fi
659
e8a38df5
AL
660GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
661GAS_CHECK_DECL_NEEDED(ffs, f, int (*f)(int), $gas_test_headers)
662GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
663GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
664GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
665GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
666
252b5132
RH
667dnl This must come last.
668
669dnl We used to make symlinks to files in the source directory, but now
670dnl we just use the right name for .c files, and create .h files in
671dnl the build directory which include the right .h file. Make sure
672dnl the old symlinks don't exist, so that a reconfigure in an existing
673dnl directory behaves reasonably.
674
13b2be9c
DJ
675AC_CONFIG_FILES(Makefile doc/Makefile po/Makefile.in:po/Make-in)
676AC_CONFIG_COMMANDS([default],
252b5132
RH
677[rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
678 echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
679 echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
680 echo '#include "te-'"${te_file}"'.h"' > targ-env.h
681 echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
682 if test "x$cgen_cpu_prefix" != x ; then
683 echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
684 fi
685
686 sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile],
687[target_cpu_type=${target_cpu_type}
688 cgen_cpu_prefix=${cgen_cpu_prefix}
689 obj_format=${obj_format}
690 te_file=${te_file}])
13b2be9c
DJ
691
692AC_OUTPUT
This page took 0.304005 seconds and 4 git commands to generate.