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