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