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