2005-08-17 Christian Groessler <chris@groessler.org>
[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
1c53c80d 277 fr30 | ip2k | iq2000 | m32r | openrisc)
252b5132
RH
278 using_cgen=yes
279 ;;
280
49f58d10
JB
281 m32c)
282 using_cgen=yes
283 ;;
0ebb9a87
DB
284 frv)
285 using_cgen=yes
286 ;;
252b5132
RH
287 m68k)
288 case ${extra_objects} in
289 *m68k-parse.o*) ;;
290 *) extra_objects="$extra_objects m68k-parse.o" ;;
291 esac
292 ;;
293
294 mips)
295 echo ${extra_objects} | grep -s "itbl-parse.o"
296 if test $? -ne 0 ; then
297 extra_objects="$extra_objects itbl-parse.o"
298 fi
299
300 echo ${extra_objects} | grep -s "itbl-lex.o"
301 if test $? -ne 0 ; then
302 extra_objects="$extra_objects itbl-lex.o"
303 fi
304
305 echo ${extra_objects} | grep -s "itbl-ops.o"
306 if test $? -ne 0 ; then
307 extra_objects="$extra_objects itbl-ops.o"
308 fi
309 ;;
310
047af9ef
AH
311 ms1)
312 using_cgen=yes
313 ;;
314
c1e4eef7 315 i386 | s390 | sparc)
252b5132
RH
316 if test $this_target = $target ; then
317 AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
318 fi
319 ;;
93fbbb04
GK
320
321 xstormy16)
322 using_cgen=yes
323 ;;
324
e0001a05
NC
325 xtensa)
326 echo ${extra_objects} | grep -s "xtensa-relax.o"
327 if test $? -ne 0 ; then
328 extra_objects="$extra_objects xtensa-relax.o"
329 fi
330 ;;
331
252b5132
RH
332 *)
333 ;;
334 esac
335
336 if test $using_cgen = yes ; then
337 case "x${extra_objects}" in
338 *cgen.o*) ;;
339 *) extra_objects="$extra_objects cgen.o" ;;
340 esac
341 fi
342
343# See if we really can support this configuration with the emulation code.
344
345 if test $this_target = $target ; then
252b5132
RH
346 obj_format=$fmt
347 te_file=$em
252b5132
RH
348 fi
349
350# From target name and format, produce a list of supported emulations.
351
352 case ${generic_target}-${fmt} in
353 mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
4008bd9b 354 mips*-*-linux*-*) case "$endian" in
df3bcd6f
L
355 big) emulation="mipsbelf mipslelf mipself" ;;
356 *) emulation="mipslelf mipsbelf mipself" ;;
252b5132
RH
357 esac ;;
358 mips-*-lnews*-ecoff) ;;
359 mips-*-*-ecoff) case "$endian" in
360 big) emulation="mipsbecoff mipslecoff mipsecoff" ;;
361 *) emulation="mipslecoff mipsbecoff mipsecoff" ;;
362 esac ;;
363 mips-*-*-elf) case "$endian" in
364 big) emulation="mipsbelf mipslelf mipself" ;;
365 *) emulation="mipslelf mipsbelf mipself" ;;
252b5132 366 esac ;;
906fac54 367 mips-*-sysv4*MP*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
119caedd
L
368 # i386-pc-pe-coff != i386-pc-coff.
369 i386-*-pe-coff) ;;
4c63da97
AM
370 # Uncommenting the next line will turn on support for i386 AOUT
371 # for the default linux configuration
372 # i386-*-linux*-elf) emulation="i386elf i386aout" ;;
373 #
374 i386-*-aout) emulation="i386aout" ;;
4ca72d38 375 i386-*-coff) emulation="i386coff" ;;
4c63da97 376 i386-*-elf) emulation="i386elf" ;;
3bcbcc3d 377
f9c19112
HPN
378 # Always all formats. The first stated emulation becomes the default.
379 cris-*-*aout*) emulation="crisaout criself" ;;
380 cris-*-*) emulation="criself crisaout" ;;
252b5132
RH
381 esac
382
383 emulations="$emulations $emulation"
384
385done
386
15886821
L
387# Turn on all targets if possible
388if test ${all_targets} = "yes"; then
389 case ${target_cpu_type} in
390 i386)
391 case ${obj_format} in
392 aout)
393 emulations="$emulations i386coff i386elf"
394 ;;
395 coff)
396 emulations="$emulations i386aout i386elf"
397 ;;
398 elf)
399 emulations="$emulations i386aout i386coff"
400 ;;
401 esac
402 ;;
403 esac
404fi
405
252b5132
RH
406# Assign floating point type. Most processors with FP support
407# IEEE FP. On those that don't support FP at all, usually IEEE
408# is emulated.
409case ${target_cpu} in
410 vax | tahoe ) atof=${target_cpu} ;;
e135f41b 411 pdp11) atof=vax ;;
252b5132
RH
412 *) atof=ieee ;;
413esac
414
415case "${obj_format}" in
416 "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
417esac
418
419# Unfortunately the cpu in cpu-opc.h file isn't always $(TARGET_CPU).
420cgen_cpu_prefix=""
421if test $using_cgen = yes ; then
422 case ${target_cpu} in
423 *) cgen_cpu_prefix=${target_cpu} ;;
424 esac
425 AC_SUBST(cgen_cpu_prefix)
426 AC_DEFINE(USING_CGEN, 1, [Using cgen code?])
427fi
428
429dnl
430dnl Make sure the desired support files exist.
431dnl
432
433if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
434 AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
435fi
436
437if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
438 AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
439fi
440
252b5132
RH
441# Some COFF configurations want these random other flags set.
442case ${obj_format} in
443 coff)
444 case ${target_cpu_type} in
445 i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
446 m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
447 m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
448 esac
449 ;;
450esac
451
452# Getting this done right is going to be a bitch. Each configuration specified
7be1c489
AM
453# with --enable-targets=... should be checked for environment, format, cpu
454# setting.
252b5132
RH
455#
456# For each configuration, the necessary object file support code must be linked
457# in. This might be only one, it might be up to four. The necessary emulation
458# code needs to be provided, too.
459#
460# And then there's "--enable-targets=all"....
461#
462# For now, just always do it for MIPS ELF or ECOFF configurations. Sigh.
463
464formats="${obj_format}"
465emfiles=""
466EMULATIONS=""
467GAS_UNIQ(emulations)
468for em in . $emulations ; do
469 case $em in
470 .) continue ;;
97238fbd 471 mipsbelf | mipslelf | mipself)
252b5132 472 fmt=elf file=mipself ;;
97238fbd 473 mipsbecoff | mipslecoff | mipsecoff)
252b5132 474 fmt=ecoff file=mipsecoff ;;
0aa5d426
HPN
475 *coff)
476 fmt=coff file=$em ;;
477 *aout)
478 fmt=aout file=$em ;;
479 *elf)
480 fmt=elf file=$em ;;
252b5132
RH
481 esac
482 formats="$formats $fmt"
483 emfiles="$emfiles e-$file.o"
484 EMULATIONS="$EMULATIONS &$em,"
485done
486GAS_UNIQ(formats)
487GAS_UNIQ(emfiles)
488if test `set . $formats ; shift ; echo $#` -gt 1 ; then
489 for fmt in $formats ; do
490 case $fmt in
491 aout) AC_DEFINE(OBJ_MAYBE_AOUT, 1, [a.out support?]) ;;
492 bout) AC_DEFINE(OBJ_MAYBE_BOUT, 1, [b.out support?]) ;;
493 coff) AC_DEFINE(OBJ_MAYBE_COFF, 1, [COFF support?]) ;;
494 ecoff) AC_DEFINE(OBJ_MAYBE_ECOFF, 1, [ECOFF support?]) ;;
495 elf) AC_DEFINE(OBJ_MAYBE_ELF, 1, [ELF support?]) ;;
496 generic) AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
252b5132
RH
497 ieee) AC_DEFINE(OBJ_MAYBE_IEEE, 1, [IEEE support?]) ;;
498 som) AC_DEFINE(OBJ_MAYBE_SOM, 1, [SOM support?]) ;;
252b5132
RH
499 esac
500 extra_objects="$extra_objects obj-$fmt.o"
501 done
502 obj_format=multi
503fi
504if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
252b5132 505 DEFAULT_EMULATION=`set . $emulations ; echo $2`
4ca72d38
AM
506 # e-mips* has more than one emulation per file, e-i386* has just one at the
507 # moment. If only one emulation is specified, then don't define
508 # USE_EMULATIONS or include any of the e-files as they will only be bloat.
509 case "${obj_format}${emfiles}" in
510 multi* | *mips*)
4ca72d38
AM
511 extra_objects="$extra_objects $emfiles"
512 AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
513 esac
252b5132
RH
514fi
515AC_SUBST(extra_objects)
516AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
517AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
518 [Default emulation.])
519
252b5132
RH
520reject_dev_configs=yes
521
522case ${reject_dev_configs}-${dev} in
523 yes-yes) # Oops.
524 AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
525 ;;
526esac
527
528AC_SUBST(target_cpu_type)
529AC_SUBST(obj_format)
530AC_SUBST(te_file)
531AC_SUBST(install_tooldir)
532AC_SUBST(atof)
533dnl AC_SUBST(emulation)
534
252b5132
RH
535# do we need the opcodes library?
536case "${need_opcodes}" in
537yes)
538 OPCODES_LIB=../opcodes/libopcodes.la
539 ;;
540esac
541
7be1c489
AM
542BFDLIB=../bfd/libbfd.la
543BFDVER_H=../bfd/bfdver.h
544ALL_OBJ_DEPS="$ALL_OBJ_DEPS"' ../bfd/bfd.h $(INCDIR)/symcat.h'
252b5132
RH
545
546AC_SUBST(BFDLIB)
547AC_SUBST(OPCODES_LIB)
548
4001ad8c 549AC_SUBST(BFDVER_H)
252b5132
RH
550AC_SUBST(ALL_OBJ_DEPS)
551
552AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${target_alias}", [Target alias.])
553AC_DEFINE_UNQUOTED(TARGET_CANONICAL, "${target}", [Canonical target.])
554AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}", [Target CPU.])
555AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${target_vendor}", [Target vendor.])
556AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.])
557
558AC_PROG_CC
559
560AC_PROG_YACC
561AM_PROG_LEX
562
0d6af1ab 563ALL_LINGUAS="fr tr es rw"
252b5132
RH
564CY_GNU_GETTEXT
565
566AM_MAINTAINER_MODE
567AC_EXEEXT
568
569AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
570
571# Put this here so that autoconf's "cross-compiling" message doesn't confuse
572# people who are not cross-compiling but are compiling cross-assemblers.
573AC_MSG_CHECKING(whether compiling a cross-assembler)
574if test "${host}" = "${target}"; then
575 cross_gas=no
576else
577 cross_gas=yes
578 AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
579fi
580AC_MSG_RESULT($cross_gas)
581
582dnl ansidecl.h will deal with const
583dnl AC_CONST
584AC_FUNC_ALLOCA
585AC_C_INLINE
586
587# VMS doesn't have unlink.
588AC_CHECK_FUNCS(unlink remove, break)
589
590# Some systems don't have sbrk().
591AC_CHECK_FUNCS(sbrk)
592
39bec121
TW
593# do we need the math library?
594case "${need_libm}" in
595yes)
596 AC_CHECK_LIBM
597 AC_SUBST(LIBM)
598 ;;
599esac
600
252b5132
RH
601# Some non-ANSI preprocessors botch requoting inside strings. That's bad
602# enough, but on some of those systems, the assert macro relies on requoting
603# working properly!
604GAS_WORKING_ASSERT
605
606# On some systems, the system header files may not declare malloc, realloc,
607# and free. There are places where gas needs these functions to have been
608# declared -- such as when taking their addresses.
609gas_test_headers="
610#ifdef HAVE_MEMORY_H
611#include <memory.h>
612#endif
613#ifdef HAVE_STRING_H
614#include <string.h>
615#else
616#ifdef HAVE_STRINGS_H
617#include <strings.h>
618#endif
619#endif
620#ifdef HAVE_STDLIB_H
621#include <stdlib.h>
622#endif
623#ifdef HAVE_UNISTD_H
624#include <unistd.h>
625#endif
626"
252b5132
RH
627
628# Does errno.h declare errno, or do we have to add a separate declaration
629# for it?
630GAS_CHECK_DECL_NEEDED(errno, f, int f, [
631#ifdef HAVE_ERRNO_H
632#include <errno.h>
633#endif
634])
635
56f36663
NC
636AC_MSG_CHECKING(for a known getopt prototype in unistd.h)
637AC_CACHE_VAL(gas_cv_decl_getopt_unistd_h,
638[AC_TRY_COMPILE([#include <unistd.h>], [extern int getopt (int, char *const*, const char *);],
639gas_cv_decl_getopt_unistd_h=yes, gas_cv_decl_getopt_unistd_h=no)])
640AC_MSG_RESULT($gas_cv_decl_getopt_unistd_h)
641if test $gas_cv_decl_getopt_unistd_h = yes; then
642 AC_DEFINE([HAVE_DECL_GETOPT], 1,
643 [Is the prototype for getopt in <unistd.h> in the expected format?])
644fi
645
e8a38df5
AL
646GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
647GAS_CHECK_DECL_NEEDED(ffs, f, int (*f)(int), $gas_test_headers)
648GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
649GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
650GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
651GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
652
252b5132
RH
653dnl This must come last.
654
655dnl We used to make symlinks to files in the source directory, but now
656dnl we just use the right name for .c files, and create .h files in
657dnl the build directory which include the right .h file. Make sure
658dnl the old symlinks don't exist, so that a reconfigure in an existing
659dnl directory behaves reasonably.
660
13b2be9c
DJ
661AC_CONFIG_FILES(Makefile doc/Makefile po/Makefile.in:po/Make-in)
662AC_CONFIG_COMMANDS([default],
252b5132
RH
663[rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
664 echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
665 echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
666 echo '#include "te-'"${te_file}"'.h"' > targ-env.h
667 echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
668 if test "x$cgen_cpu_prefix" != x ; then
669 echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
670 fi
671
672 sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile],
673[target_cpu_type=${target_cpu_type}
674 cgen_cpu_prefix=${cgen_cpu_prefix}
675 obj_format=${obj_format}
676 te_file=${te_file}])
13b2be9c
DJ
677
678AC_OUTPUT
This page took 0.342845 seconds and 4 git commands to generate.