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