Add placeholders for sincos functions needed to compile AROS on gcc 4.3
[AROS.git] / configure.in
blob76cb103851400a9fe3f1e23800dce855180730f0
1 dnl Copyright © 1997-2006, The AROS Development Team. All rights reserved.
2 dnl $Id$
3 dnl
4 dnl Desc: Autoconf source for configuration file
5 dnl Lang: english
7 #TODO
8 # method of getting shared/non-shared ld/ar tool for target.
11 # ------------------------------------------------------------------------
12 # Here starts the first section of the configure.in file.
13 # ------------------------------------------------------------------------
15 AC_INIT(mmakefile)
16 AC_PREREQ(2.61)
17 AC_CONFIG_AUX_DIR(scripts/autoconf)
19 # Check what host we are running on.
20 # If a target is not suggested, we use this one.
21 # Note that what we call a target, Autoconf calls a host.
22 AC_CANONICAL_HOST
24 # The AROS target is slightly different to the normal GNU style
25 # format. We don't have the middle part, and we reverse the order
26 # of the $(CPU) and $(OS) bits.
28 # Don't strip the version of the target yet, it might be
29 # useful on some systems.
31 AC_MSG_CHECKING([for AROS style target])
33 if test "$target" = "NONE" ; then
34     target=$host_os-$host_cpu
35     cross_compile=no
36 else
37     if test "$target" = "" ; then
38         target=$host_os-$host_cpu
39         cross_compile=no
40     else
41         cross_compile=yes
42     fi
44 AC_MSG_RESULT($target)
46 #don't know where else to put this...
47 AC_MSG_CHECKING([Building AROS in .. ])
48 AROS_BUILDDIR=$PWD
49 AC_MSG_RESULT($AROS_BUILDDIR)
51 AC_MSG_CHECKING([AROS Source in .. ])
52 srcpwd=`cd ${srcdir} ; ${PWDCMD-pwd}`
53 AROS_SRCDIR=${srcpwd}
54 AC_MSG_RESULT($AROS_SRCDIR)
56 # Parse the target field into something useful.
57 changequote(<<,>>)
58 target_os=`echo $target | sed 's/^\([^-]*\)-\(.*\)$/\1/'`
59 target_cpu=`echo $target | sed 's/^\([^-]*\)-\(.*\)$/\2/'`
60 changequote([,])
62 dnl --------------------------------------------------------------------
63 dnl Set the default Workbench resolution
64 dnl --------------------------------------------------------------------
65 aros_default_wbwidth=800
66 aros_default_wbheight=600
67 aros_default_wbdepth=4
69 dnl --------------------------------------------------------------------
70 dnl Host Configuration Section
71 dnl --------------------------------------------------------------------
72 dnl
73 dnl The idea here is to find out all the information we need about the
74 dnl host. This means things like tools for building directory structures,
75 dnl copying files around and the like.
77 # The first step is to find the host binaries.
78 # Check for a compiler.
79 AC_PROG_CC
80 AC_PROG_CC_STDC
81 AC_PROG_CPP
83 # Check for a compatible awk
84 AC_CHECK_PROGS(AWK,[gawk nawk])
85 AROS_REQUIRED(gawk,$AWK)
86 AROS_PROG(MMAKE,mmake)
88 # Perform some default variable assignments. Note all of these will be
89 # Regenerated from the script, so there is no need to cache them.
91 aros_host_cc="$CC"
92 AROS_TOOL_CCPATH(aros_host_ld,ld)
93 AROS_REQUIRED(ld,$aros_host_ld)
94 aros_host_make="make"
95 aros_host_cflags=$CFLAGS
96 aros_host_ldflags=$LDFLAGS
97 aros_host_debug="-g -O0"
98 aros_host_mkdep="\$(TOP)/scripts/mkdep"
99 aros_host_mkargs="--no-print-directory"
100 aros_host_incl="/usr/include"
101 aros_host_exe_suffix="$EXEEXT"
102 aros_host_lib_suffix=""
104 AC_CHECK_PROGS(aros_host_aclocal,[aclocal aclocal19])
105 AC_CHECK_PROGS(aros_host_autoconf,[autoconf autoconf259 autoconf253])
106 AC_CHECK_PROGS(aros_host_autoheader,[autoheader autoheader259 autoheader253])
107 AC_CHECK_PROGS(aros_host_automake,[automake automake19])
109 case "$aros_host_cc" in
110     *gcc*)
111         aros_host_cc_pipe="-pipe"
112         ;;
113     icc)
114         aros_host_cc_pipe=""
115         ;;
116     *)
117         aros_host_cc_pipe=""
118         ;;
119 esac
121 dnl Despite the name, this is really a host configuration variable.
122 aros_target_cc_includes=""
124 # This is the main host configuration section. It is where the host
125 # can change the values of any variables it needs to change. We do
126 # not look at anything that compiles to the target yet, we'll get
127 # to that later.
129 case "$host_os" in
130     linux*)
131         aros_host_arch="linux"
132         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
133         case "$host_cpu" in
134             *i?86*)
135                 aros_host_cpu="i386"
136                 ;;
137             *x86_64*)
138                 aros_host_cpu="x86_64"
139                 ;;
140             *m68k*)
141                 aros_host_cpu="m68k"
142                 ;;
143             *powerpc*)
144                 aros_host_cpu="ppc"
145                 ;;
146             *)
147                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
148                 aros_host_cpu="$host_cpu"
149                 ;;
150         esac
151         ;;
153     freebsd*)
154         aros_host_cc="$aros_host_cc $aros_host_cc_pipe -I/usr/local/include"
155         aros_host_make="gmake"
156         aros_host_arch="freebsd"
157         aros_host_cpu="i386"
159         aros_host_ldflags="$aros_host_ldflags -L/usr/local/lib -liconv"
161         dnl Need to override this here, it's just too hard later.
162         dnl This shouldn't be here at all...
163         dnl aros_target_cc_includes="/usr/include"
165         dnl FreeBSD 5.x (and later) has changed the default object format.
166         dnl The double [[]] is necessary to get around m4's quoting rules.
167         case $host_os in
168             freebsd[[234]]*)
169                 aros_object_format="elf_i386"
170                 ;;
172             *)
173                 aros_object_format="elf_i386_fbsd"
174                 ;;
175         esac
177         ;;
179     darwin*)
180         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
181         aros_host_arch="darwin"
182         case "$host_cpu" in
183             *i?86*)
184                 aros_host_cpu="i386"
185                 ;;
186             *powerpc*)
187                 aros_host_cpu="ppc"
188                 ;;
189             *)
190                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
191                 aros_host_cpu="$host_cpu"
192                 ;;
193         esac
195         aros_host_ldflags="$aros_host_ldflags -liconv"
197         ;;
199     netbsd*)
200         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
201         aros_host_make="gmake"
202         aros_host_arch="netbsd"
203         case "$host_cpu" in
204             *i?86*)
205                 aros_host_cpu="i386"
206                 ;;
207             *m68k*)
208                 aros_host_cpu="m68k"
209                 ;;
210             *)
211                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
212                 aros_host_cpu="$host_cpu"
213                 ;;
214         esac    
215         aros_host_lib_suffix=".0.0"
216         ;;
218     openbsd*)
219         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
220         aros_host_make="gmake"
221         aros_host_arch="openbsd"
222         case "$host_cpu" in
223             *i?86*)
224                 aros_host_cpu="i386"
225                 ;;
226             *)
227                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
228                 aros_host_cpu="$host_cpu"
229                 ;;
230         esac
231         ;;
232         
233     solaris*)
234         aros_host_arch="solaris"
235         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
236         case "$host_cpu" in
237             *i?86*)
238                 aros_host_cpu="i386"
239                 ;;
240             *sparc*)
241                 aros_host_cpu="sparc"
242                 ;;
243             *)
244                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
245                 aros_host_cpu="$host_cpu"
246                 ;;
247         esac
248         ;;
250     morphos*)
251         aros_host_arch="morphos"
252         aros_host_cpu="ppc"
253         ;;
255     amiga*)
256         aros_host_arch="amiga"
257         SORT="/gg/bin/sort"
258         TEST="/gg/bin/test"
259         UNIQ="/gg/bin/uniq"
260         FOR="for"
261         TOUCH="/gg/bin/touch"
262         case "$host_cpu" in
263             *m68k*)
264                 aros_host_cpu="m68k"
265                 ;;
266             *powerpc*)
267                 aros_host_cpu="ppc"
268                 ;;
269             *)
270                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
271                 aros_host_cpu="$host_cpu"
272                 ;;
273         esac
274         ;;
276     cygwin*)
277         aros_host_arch="cygwin"
278         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
279         case "$host_cpu" in
280             *i?86*)
281                 aros_host_cpu="i386"
282                 ;;
283             *)
284                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
285                 aros_host_cpu="$host_cpu"
286                 ;;
287         esac
288         ;;
290     mingw32*)
291         aros_host_arch="mingw32"
292         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
293         case "$host_cpu" in
294             *i?86*)
295                 aros_host_cpu="i386"
296                 ;;
297             *)
298                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
299                 aros_host_cpu="$host_cpu"
300                 ;;
301         esac
302         ;;
303     *)
304         AC_MSG_ERROR([Unsupported host architecture $host])
305         ;;
306 esac
308 AROS_PROG(aros_host_ar,[ar],[cr])
309 AROS_REQUIRED(ar,$aros_host_ar)
310 AROS_PROG(aros_host_ranlib,ranlib)
311 AROS_REQUIRED(ranlib,$aros_host_ranlib)
312 AROS_PROG(aros_host_strip,strip)
313 AROS_REQUIRED(strip,$aros_host_strip)
315 AROS_PROG(RM,[rm],[-rf])
316 AROS_REQUIRED(rm,$RM)
317 AROS_PROG(CP,[cp])
318 AROS_REQUIRED(cp,$CP)
319 AROS_PROG(MV,[mv])
320 AROS_REQUIRED(mv,$MV)
321 AROS_PROG(ECHO,[echo])
322 AROS_REQUIRED(echo,$ECHO)
323 AROS_PROG(MKDIR,[mkdir],[-p])
324 AROS_REQUIRED(mkdir,$MKDIR)
325 AROS_PROG(TOUCH,[touch])
326 AROS_REQUIRED(touch,$TOUCH)
327 AROS_PROG(SORT,[sort])
328 AROS_REQUIRED(sort,$SORT)
329 AROS_PROG(UNIQ,[uniq])
330 AROS_REQUIRED(uniq,$UNIQ)
331 AROS_PROG(NOP,[true])
332 AROS_REQUIRED(true,$NOP)
333 AROS_PROG(CAT,[cat])
334 AROS_REQUIRED(cat,$CAT)
335 AROS_PROG(BISON,[bison])
336 AROS_REQUIRED(bison,$BISON)
337 AROS_PROG(FLEX,[flex])
338 AROS_REQUIRED(flex,$FLEX)
339 AROS_PROG(PNGTOPNM,[pngtopnm])
340 AROS_REQUIRED(pngtopnm,$PNGTOPNM)
341 AROS_PROG(PPMTOILBM,[ppmtoilbm])
342 AROS_REQUIRED(ppmtoilbm,$PPMTOILBM)
343 AROS_PROG(SED,[sed])
344 AROS_REQUIRED(sed,$SED)
345 AROS_PROG(CHMOD,[chmod])
346 AROS_REQUIRED(chmod,$CHMOD)
348 AM_PATH_PYTHON(2.2.1)
350 AC_SUBST(FOR, for)
351 AC_SUBST(IF, if)
352 AC_SUBST(TEST, test)
353 AC_SUBST(CMP, cmp)
355 dnl ---------------------------------------------------------------------------
356 dnl Look for things about the host system, good for hosted targets.
357 dnl ---------------------------------------------------------------------------
359 # Check for some includes for the X11 HIDD and the kernel
360 AC_CHECK_HEADERS([sys/ipc.h sys/shm.h \
361     sys/mmap.h sys/mman.h sysexits.h \
362     sys/statfs.h sys/statvfs.h sys/vfs.h sys/param.h \
365 AC_CHECK_HEADERS([sys/mount.h],,,[#include <sys/param.h>])
367 AC_HEADER_DIRENT
368 AC_HEADER_STAT
369 AC_HEADER_STDC
370 AC_HEADER_SYS_WAIT
371 AC_HEADER_TIME
372 AC_STRUCT_ST_BLKSIZE
373 AC_STRUCT_ST_BLOCKS
374 AC_STRUCT_ST_RDEV
375 AC_STRUCT_TM
376 AC_STRUCT_TIMEZONE
377 AC_TYPE_OFF_T
378 AC_TYPE_PID_T
379 AC_TYPE_SIZE_T
380 AC_TYPE_UID_T
382 AC_CHECK_MEMBERS(struct tm.tm_gmtoff)
384 # Look for some functions
385 AC_CHECK_FUNCS([getpagesize kqueue statfs statvfs \
386     clone kse_create rfork_thread thr_create sa_register \
387     getcontext makecontext setcontext sigaltstack swapcontext])
389 AC_FUNC_MMAP
392 dnl --------------------------------------------------------------------
393 dnl Target Configuration Section
394 dnl --------------------------------------------------------------------
396 dnl The target configuration section is responsible for setting up all
397 dnl the paths for includes, and tools required to build AROS to some
398 dnl particular target.
400 aros_config_cflags="-Wall -Werror-implicit-function-declaration"
401 aros_config_aflags="-Wall -x assembler-with-cpp -c"
402 aros_config_ldflags=""
404 aros_shared_default=yes
406 aros_shared_cflags="-fPIC"
407 aros_shared_aflags=""
408 aros_shared_ldflags="-Wl,-rpath,./lib -shared"
409 aros_kernel_ldflags="-Wl,-rpath,./lib"
411 aros_target_ar_flags="cr"
412 aros_target_nm_flags="-C -ul"
413 aros_target_strip_flags="--strip-unneeded -R.comment"
415 aros_compiler_libs=
417 aros_target_genmap="-Wl,-Map -Xlinker"
419 # Native flavour stuff
420 aros_bochs_hack="0"
421 aros_serial_debug="0"
423 # Palm native flavour stuff
424 aros_palm_debug_hack="0"
426 # Unix flavour stuff
427 aros_nesting_supervisor="0"
429 # Collect-aros stuff: "-ius" to ignore undefined symbols
430 ignore_undefined_symbols=""
432 #-----------------------------------------------------------------------------
435 # GCC 4.1+ has a stack protection feature that requires OS support. Ubuntu has
436 # it switched on by default, and we use the host compiler, so it compiles AROS
437 # code with this enabled resulting in link failures as we don't have support
438 # for it.
440 # We use two methods to disable it. For the host compiler (used to compile
441 # some hosted modules), we test to see if the compiler supports stack
442 # protection, and if it does we disable it in AROS_CONFIG_CFLAGS. This should
443 # work on all platforms.
445 # For the "cross" compiler we clear the "ssp_default" spec in config/specs.in
446 # (this is done unconditionally, as it should have no effect on compilers
447 # without the stack protection feature). This may be specific to the way that
448 # Ubuntu enables the feature, so may not work everywhere. My specs-fu isn't
449 # strong enough to disable it in a generic way though, so we'll live with it
450 # until another vendor ships GCC with it enabled in a different way, and deal
451 # with it then.
454 AC_MSG_CHECKING([whether ${CC} accepts -fno-stack-protector])
455 save_cflags="$CFLAGS"
456 CFLAGS="$CFLAGS -fno-stack-protector"
457 AC_TRY_COMPILE(,, use_no_stack_protector="yes", use_no_stack_protector="no")
458 AC_MSG_RESULT($use_no_stack_protector)
459 if test "x-$use_no_stack_protector" = "x-yes" ; then
460     aros_host_cflags="$aros_host_cflags -fno-stack-protector"
462 CFLAGS="$save_cflags"
465 #-----------------------------------------------------------------------------
467 # Disable pointer-signedness warnings if the compiler recognises the option
468 # (this only works for the host compiler at the moment)
470 AC_MSG_CHECKING([whether ${CC} accepts -Wno-pointer-sign])
471 save_cflags="$CFLAGS"
472 CFLAGS="$CFLAGS -Wno-pointer-sign"
473 AC_TRY_COMPILE(,, use_no_sign_warning="yes", use_no_sign_warning="no")
474 AC_MSG_RESULT($use_no_sign_warning)
475 if test "x-$use_no_sign_warning" = "x-yes" ; then
476     aros_host_cflags="$aros_host_cflags -Wno-pointer-sign"
478 CFLAGS="$save_cflags"
480 #-----------------------------------------------------------------------------
482 AC_MSG_CHECKING([for type of build])
483 AC_ARG_ENABLE(build_type,AC_HELP_STRING([--enable-build-type=TYPE],[Select the build type. Available types are: personal, nightly, snapshot, milestone, release. Do NOT use this option unless you know what you are doing! (default=personal)]),build_type=$enableval,build_type="personal")
485 if test "$build_type" = "nightly"; then
486     build_type_string="NIGHTLY"
487 elif test "$build_type" = "snapshot"; then
488     build_type_string="SNAPSHOT"
489 elif test "$build_type" = "milestone"; then
490     build_type_string="MILESTONE"
491 elif test "$build_type" = "release"; then
492     build_type_string="RELEASE"
493 else
494     build_type_string="PERSONAL"
495     build_type="personal"
498 aros_config_cflags="$aros_config_cflags -DAROS_BUILD_TYPE=AROS_BUILD_TYPE_$build_type_string"
500 AC_MSG_RESULT($build_type)
502 #-----------------------------------------------------------------------------
503 all_debug_types="messages stack mungwall modules symbols"
505 AC_MSG_CHECKING([which debug types to enable])
506 AC_ARG_ENABLE(debug,AC_HELP_STRING([--enable-debug=list],[Enable different types of debug. Commas or whitespaces can be used to separate the items in the list. Available types of debug are: all, none, messages, stack, mungwall, modules, symbols. If no list is provided then "all" is assumed. (default=none)]),
507  debug="$enableval",debug="")
509 if test "$debug" = "" -o "$debug" = "no"; then
510     debug="none"
511 elif test "$debug" = "yes"; then
512     debug="all"
515 if test "$debug" = "all" ; then
516     debug=$all_debug_types
517     for d in $all_debug_types; do
518         export aros_${d}_debug="1"
519     done
520 else
521     for d in $all_debug_types; do
522         export aros_${d}_debug="0"
523     done
526 if test "$debug" != "none"; then
527     debug=`echo $debug | sed s/,/\ /g`
528     for d in $debug; do
529         found="0"
530         for d2 in $all_debug_types; do
531             if test "$d2" = "$d"; then
532                 found="1"
533                 break
534             fi
535         done
536         if test "$found" = "0"; then
537             AC_MSG_ERROR([unrecognized debug type "$d". Available types are: all none $all_debug_types])
538         fi
539         export aros_${d}_debug="1"
540     done
541     aros_debug="yes"
543 AC_MSG_RESULT($debug)
545 if test "$aros_messages_debug" = "1"; then
546     aros_messages_debug="-DADEBUG=1 -DMDEBUG=1"
547 else
548     aros_messages_debug=""
550 if test "$aros_symbols_debug" = "1"; then
551     aros_symbols_debug="-g"
552 else
553     aros_symbols_debug=""
556 # These are the flags to pass when compiling debugged programs
557 aros_debug_cflags="$aros_symbols_debug $aros_messages_debug"
558 aros_debug_aflags=""
559 aros_debug_ldflags="$aros_symbols_debug"
561 #-----------------------------------------------------------------------------
562 #   Checking for distcc and ccache.
564 #   Always apply the transforms in this particular order. Basically you should
565 #   always run 'ccache distcc compiler' in that order for the best performance.
567 AC_MSG_CHECKING([whether to enable distcc])
568 AC_ARG_ENABLE(distcc,AC_HELP_STRING([--enable-distcc],[Use distcc as a front end to the compiler (default=no).]),distcc="$enableval",distcc="no")
569 if test "$distcc" != "" -a "$distcc" != "no"; then
570     # AC_CHECK_PROG will print out the result in this case
571     AC_PATH_PROG(DISTCC,[distcc],distcc,)
572 else
573     AC_MSG_RESULT(no)
576 AC_MSG_CHECKING([whether to enable ccache])
577 AC_ARG_ENABLE(ccache,AC_HELP_STRING([--enable-ccache],[Use ccache as a front end to the compiler (default=no).]),ccache="$enableval",ccache="no")
578 if test "$ccache" != "" -a "$ccache" != "no"; then
579     # AC_CHECK_PROG will print out the result in this case
580     AC_CHECK_PROG(CCACHE,[ccache],ccache,)
581 else
582     AC_MSG_RESULT(no)
585 #-----------------------------------------------------------------------------
586 AC_MSG_CHECKING([what optimization flags to use])
587 AC_ARG_WITH(optimization,AC_HELP_STRING([--with-optimization=FLAGS],[Use optimization flags FLAGS (default=-O2).]),optimization="$withval",optimization="unknown")
588 if test "$optimization" = "unknown"; then
589     dnl default is -O2 for normal builds, -O0 for debug builds
590     if test "$debug" != "none"; then
591         optimization="-O0"
592     else
593         optimization="-O2"
594     fi
596 aros_config_cflags="$aros_config_cflags $optimization"
597 AC_MSG_RESULT($optimization)
599 #-----------------------------------------------------------------------------
600 AC_MSG_CHECKING([what target variant to enable])
601 AC_ARG_ENABLE(target_variant,AC_HELP_STRING([--enable-target-variant=NAME],[Enable a specific target variant(default=none)]),target_variant=$enableval,target_variant="none")
602 if test "$target_variant" = "none"; then
603     aros_target_variant=""
604     aros_target_suffix=""
605 else
606     aros_target_variant="$target_variant"
607     aros_target_suffix="-$target_variant"
609 AC_MSG_RESULT($enableval)
611 target_bootloader="none"
613 #-----------------------------------------------------------------------------
614 # This is the target configuration switch.
615 case "$target_os" in
616     linux*)
617         aros_target_arch="linux"
618         case "$target_cpu" in
619             *m68k*)
620                 aros_target_cpu="m68k"
621                 aros_object_format="m68kelf"
622                 aros_flavour="emulcompat"
623                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -D__mc68000 -D__linux__"
624                 aros_shared_ldflags="-Wl,-T,\$(TOP)/config/linux/m68k/script.so"
625                 aros_kernel_ldflags="-Wl,-rpath,./lib,-T,\$(TOP)/config/linux/m68k/script.normal"
626                 gcc_target_cpu="mc68000"
627                 ;;
628             *i?86*)
629                 aros_target_cpu="i386"
630                 aros_object_format="elf_i386"
631                 aros_flavour="emulation"
632                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__linux__"
633                 aros_default_wbdepth=8
634                 gcc_target_cpu="i386"
635                 ;;
636             *x86_64*)
637                 aros_target_cpu="x86_64"
638                 aros_object_format="elf_x86_64"
639                 aros_flavour="emulation"
640                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dx86_64 -D__linux__"
641                 aros_config_cflags="$aros_config_cflags -mno-red-zone"
642                 aros_default_wbdepth=8
643                 gcc_target_cpu="x86_64"
644                 ;;
645             *powerpc*)
646                 aros_target_cpu="ppc"
647                 aros_object_format="elf32ppc"
648                 aros_flavour="emulation"
649                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc -D__linux__"
650                 aros_default_wbdepth=8
651                 gcc_target_cpu="ppc"
652                 ;;
653 # TODO
654 # Same as powerpc, but I need this for the nightly build to work again.
655 # Actually, the nightly should be made working with powerpc target.
656 # That just was too much work for the moment, another week or two.
657             *ppc*)
658                 aros_target_cpu="ppc"
659                 aros_object_format="elf32ppc"
660                 aros_flavour="emulation"
661                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc -D__linux__"
662                 aros_default_wbdepth=8
663                 gcc_target_cpu="ppc"
664                 ;;
665             *)
666                 AC_MSG_ERROR("Unknown CPU for Linux -- $target_cpu")
667                 ;;
668         esac
669     ;;
671     pc)
672         aros_target_arch="pc"
673         aros_shared_default="no"
674         target_bootloader="grub"
675         case "$target_cpu" in
676             *i?86*)
677                 aros_target_cpu="i386"
679                 dnl If somebody hasn't already set the target object
680                 dnl format, then use this value. Mostly to support
681                 dnl FreeBSD cross-compilation.
682                 dnl TODO: Remove when we always use our compiler.
684                 if test "$aros_object_format" = "" ; then
685                     aros_object_format="elf_i386"
686                 fi
687                 aros_flavour="standalone"
688                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386"
689                 aros_kernel_ldflags=""
690                 aros_default_wbwidth=640
691                 aros_default_wbheight=480
692                 gcc_target_cpu="i386"
693                 ;;
694             *x86_64*)
695                 aros_target_cpu="x86_64"
696                 aros_serial_debug=1
697                 if test "$aros_object_format" = "" ; then
698                     aros_object_format="elf_x86_64"
699                 fi
700                 aros_flavour="standalone"
701                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dx86_64"
702                 aros_config_cflags="$aros_config_cflags -fno-asynchronous-unwind-tables -mno-red-zone"
703                 aros_kernel_ldflags=""
704                 aros_default_wbwidth=640
705                 aros_default_wbheight=480
706                 gcc_target_cpu="x86_64"
707                 ;;
708             *)
709                 AC_MSG_ERROR("Unknown native CPU -- $target_cpu")
710                 ;;
711         esac
712         ;;
714     prep)
715         aros_target_arch="prep"
716         aros_shared_default="no"
717         aros_target_cpu="ppc"
718         aros_object_format="elf32ppc"
719         aros_flavour="ppcnative"
720         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc"
721         aros_kernel_ldflags=""
722         aros_default_wbwidth=640
723         aros_default_wbheight=480
724         gcc_target_cpu="ppc"
725         case "$target_cpu" in
726             *cross*)
727                 aros_target_cc="ppc-linux-gcc -pipe"
728                 aros_target_ld="ppc-linux-ld"
729                 aros_target_as="ppc-linux-as"
730                 aros_target_ar="ppc-linux-ar"
731                 aros_target_ranlib="ppc-linux-ranlib"
732                 aros_target_nm="ppc-linux-nm"
733                 aros_target_strip="ppc-linux-strip"
734                 aros_target_objcopy="ppc-linux-objcopy"
735                 aros_target_objdump="ppc-linux-objdump"
736                 aros_shared_ld="ppc-linux-ld"
737                 aros_kernel_ld="ppc-linux-ld"
738                 ;;
739             *)
740                 ;;
741         esac
742         ;;
744     freebsd*)
745         aros_target_arch="freebsd"
746         aros_target_cpu="i386"
747         aros_flavour="emulation"
748         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386"
749         gcc_target_cpu="i386"
751         aros_target_strip_flags="-x"
752         ;;
754     darwin*)
755         aros_target_arch="darwin"
756         aros_flavour="emulation"
757         case "$target_cpu" in
758                 *i?86*)
759                         aros_target_cpu="i386"
760                         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386"
761                         gcc_target_cpu="i386"
762                         aros_object_format="elf_i386"
763                         aros_target_strip_flags="-x"
764                         ;;
765                 *)
766                         AC_MSG_ERROR("Unsupported target CPU for darwin hosted flavour -- $target_cpu")
767                         ;;
768         esac
769         ;;
770     netbsd*)
771         aros_target_arch="netbsd"
772         case "$target_cpu" in
773             *m68k*)
774                 aros_target_cpu="m68k"
775                 aros_object_format="m68kelf"
776                 aros_flavour="emulcompat"
777                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -D__mc68000 -D__NetBSD__"
778                 gcc_target_cpu="mc68000"
779                 ;;
780             *i?86*)
781                 aros_target_cpu="i386"
782                 aros_object_format="elf_i386"
783                 aros_flavour="emulation"
784                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__NetBSD__"
785                 aros_default_wbdepth=8
786                 gcc_target_cpu="i386"
787                 ;;
788             *)
789                 AC_MSG_ERROR("Unknown CPU for NetBSD -- $target_cpu")
790                 ;;
791         esac
792         aros_target_genmap="-Wl,-M -Xlinker >"
793         aros_flavour="emulation"
794         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386"
795         ;;   
797     openbsd*)
798         aros_target_arch="openbsd"
799         case "$target_cpu" in
800             *i?86*)
801                 aros_target_cpu="i386"
802                 aros_object_format="elf_i386"
803                 aros_flavour="emulation"
804                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__OpenBSD__"
805                 gcc_target_cpu="i386"
806                 ;;
807             *)
808                 AC_MSG_ERROR("Unknown CPU for OpenBSD -- $target_cpu")
809                 ;;
810         esac
811         aros_target_genmap="-Wl,-M -Xlinker >"
812         aros_target_nm_flags="-u"
813         aros_flavour="emulation"
814         ;;
816     solaris*)
817         aros_target_arch="solaris"
818         case "$target_cpu" in
819            *i?86*)
820                aros_target_cpu="i386"
821                aros_object_format="elf_i386"
822                aros_flavour="emulation"
823                aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__Solaris__"
824                aros_default_wbdepth=8
825                gcc_target_cpu="i386"
826                ;;
827             *sparc*)
828                 aros_target_cpu="sparc"
829                 aros_object_format="elf_sparc"
830                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dsparc -D__Solaris__"
831                 gcc_target_cpu="sparc"
832                 ;;
833             *)
834                 AC_MSG_ERROR("Unknown CPU for Solaris -- $target_cpu")
835                 ;;
836         esac
837         aros_config_cflags="$aros_config_cflags -D$aros_target_cpu"
838         aros_flavour="emulation"
839         ;;
841     morphos*)
842         aros_target_arch="morphos"
843         aros_shared_default="no"
844         aros_target_cpu="ppc"
845         aros_object_format="elf_ppc"
846         aros_flavour="nativecompat"
847         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc"
848         gcc_target_cpu="ppc"
849         ;;
851     sam440)
852         aros_target_arch="sam440"
853         aros_shared_default="no"
854         aros_target_cpu="ppc"
855         aros_object_format="elf32ppc"
856         aros_flavour="ppcnative"
857         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc"
858         aros_kernel_ldflags=""
859         aros_default_wbwidth=640
860         aros_default_wbheight=480
861         aros_config_cflags="$aros_config_cflags -mcpu=440fp -mno-toc -fno-asynchronous-unwind-tables"
862         gcc_target_cpu="powerpc"
863         case "$target_cpu" in
864             *powerpc*)
865                 aros_target_cc="powerpc-linux-gcc -pipe"
866                 aros_target_ld="powerpc-linux-ld"
867                 aros_target_as="powerpc-linux-as"
868                 aros_target_ar="powerpc-linux-ar"
869                 aros_target_ranlib="powerpc-linux-ranlib"
870                 aros_target_nm="powerpc-linux-nm"
871                 aros_target_strip="powerpc-linux-strip"
872                 aros_target_objcopy="powerpc-linux-objcopy"
873                 aros_target_objdump="powerpc-linux-objdump"
874                 aros_shared_ld="powerpc-linux-ld"
875                 aros_kernel_ld="powerpc-linux-ld"
876                 ;;
877             *)
878                 ;;
879         esac
880         ;;
882     amiga*)
883         aros_target_arch="amiga"
884         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -D_AMIGA -DAMIGA"
885         aros_shared_default="no"
887         aros_config_cflags="$aros_config_cflags -fomit-frame-pointer -fbuiltin -ffreestanding"
889         case "$target_cpu" in
890             *m68k*)
891                 aros_target_cpu="m68k"
892                 aros_object_format="m68kelf"
893                 aros_flavour="nativecompat"
894                 gcc_target_cpu="mc68000"
895                 ;;
896             *ppc*)
897                 aros_cpu="ppc"
898                 aros_flavour="native"
899                 gcc_target_cpu="ppc"
900                 ;;
901             *)
902                 AC_MSG_ERROR("Unknown CPU for Amiga $target_cpu")
903                 ;;
904         esac
905         ;;
907     cygwin*)
908         aros_target_arch="cygwin"
909         aros_shared_default="no"
910         case "$target_cpu" in
911             *i?86*)
912                 aros_target_cpu="i386"
913                 aros_object_format="elf_i386"
914                 aros_flavour="emulation"
915                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__CYGWIN32__"
916                 aros_shared_cflags=""
917                 aros_default_wbdepth=8
918                 gcc_target_cpu="i386"
919                 ;;
920             *)
921                 AC_MSG_ERROR("Unknown CPU for CygWin -- $target_cpu")
922                 ;;
923         esac
924     ;;
926     mingw32*)
927         aros_target_arch="mingw32"
928         aros_shared_default="no"
929         case "$target_cpu" in
930             *i?86*)
931                 aros_target_cpu="i386"
932                 aros_object_format="elf_i386"
933                 aros_flavour="emulation"
934                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386"
935                 aros_shared_cflags=""
936                 aros_default_wbdepth=8
937                 gcc_target_cpu="i386"
938                 ;;
939             *)
940                 AC_MSG_ERROR("Unknown CPU for Mingw32 -- $target_cpu")
941                 ;;
942         esac
943         if test $host_os = "cygwin"; then
944                 aros_config_cflags="$aros_config_cflags -mno-cygwin"
945                 aros_config_ldflags="$aros_config_ldflags -mno-cygwin"
946                 aros_kernel_ldflags="$aros_kernel_ldflags -mno-cygwin"
947         fi
948     ;;
949     pp*)
950         aros_target_arch="pp"
951         aros_shared_default="no"
952         case "$target_cpu" in
953             *m68k*)
954                 aros_target_cpu="m68k"
955                 aros_object_format="m68kelf"
956                 aros_flavour="palmnative"
957                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dm68k"
958                 aros_kernel_ldflags=""
959                 aros_default_wbwidth=160
960                 aros_default_wbheight=160
961                 aros_default_wbdepth=1
962                 aros_target_cc="m68k-elf-gcc -pipe"
963                 aros_target_ld="$(which m68k-elf-ld)"
964                 aros_target_as="m68k-elf-gcc -pipe"
965                 aros_shared_ld="m68k-elf-gcc"
966                 aros_kernel_ld="m68k-elf-gcc"
967                 aros_target_ar="m68k-elf-ar"
968                 aros_target_ar_flags="cru"
969                 aros_target_ranlib="m68k-elf-ranlib"
970                 aros_target_nm="m68k-elf-nm"
971                 aros_target_objcopy="m68k-elf-objcopy"
972                 aros_target_objdump="m68k-elf-objdump"
973                 aros_compiler_libs="-lgcc1"
974                 aros_shared_default=no
975                 aros_shared_cflags="-fpic"
976                 aros_shared_aflags=""
977                 aros_shared_ldflags="-Wl,-rpath,./lib -shared"
978                 aros_kernel_ldflags="-Wl,-rpath,./lib"
979                 aros_debug_cflags="-Wall -Werror-implicit-function-declaration $aros_symbols_debug  $aros_messages_debug -mc68000 -Wa,-mc68000"
980                 aros_debug_aflags=""
981                 aros_debug_ldflags="$aros_symbols_debug"
982                 aros_mungwall_debug="0"
983                 aros_modules_debug="0"
984                 gcc_target_cpu="mc68000"
985                 ignore_undefined_symbols="-ius"
986                 ;;
987            *)
988                 AC_MSG_ERROR("Unknown CPU for PalmPilot -- $target_cpu")
989                 ;;
990         esac
991         ;;
993     mac*)
994         aros_target_arch="mac"
995         aros_shared_default="no"
996         case "$target_cpu" in
997             *m68k*)
998                 aros_target_cpu="m68k"
999                 aros_object_format="m68kelf"
1000                 aros_flavour="mac68knative"
1001                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dm68k"
1002                 aros_default_wbwidth=512
1003                 aros_default_wbheight=384
1004                 aros_default_wbdepth=8
1005                 aros_target_cc="m68k-elf-gcc -pipe"
1006                 aros_target_ld="$(which m68k-elf-ld)"
1007                 aros_target_as="m68k-elf-gcc -pipe"
1008                 aros_shared_ld="m68k-elf-gcc"
1009                 aros_kernel_ld="m68k-elf-gcc"
1010                 aros_target_ar="m68k-elf-ar"
1011                 aros_target_ar_flags="cru"
1012                 aros_target_ranlib="m68k-elf-ranlib"
1013                 aros_target_nm="m68k-elf-nm"
1014                 aros_target_objcopy="m68k-elf-objcopy"
1015                 aros_target_objdump="m68k-elf-objdump"
1016                 aros_compiler_libs="-lgcc1"
1017                 aros_shared_default=no
1018                 aros_shared_cflags="-fpic"
1019                 aros_shared_aflags=""
1020                 aros_shared_ldflags="-Wl,-rpath,./lib -shared"
1021                 aros_kernel_ldflags="-Wl,-rpath,./lib"
1022                 aros_debug_cflags="-Wall -Werror-implicit-function-declaration $aros_symbols_debug  $aros_messages_debug -mc68000"
1023                 aros_debug_aflags=""
1024                 aros_debug_ldflags="$aros_symbols_debug"
1025                 aros_mungwall_debug="0"
1026                 aros_modules_debug="0"
1027                 gcc_target_cpu="mc68000"
1028                 ignore_undefined_symbols="-ius"
1029                 ;;
1030            *)
1031                 AC_MSG_ERROR("Unknown CPU for Mac68k -- $target_cpu")
1032                 ;;
1033         esac
1034         ;;
1036     *)
1037         AC_MSG_ERROR([Unsupported target architecture $target])
1038         ;;
1039 esac
1041 AC_MSG_CHECKING([Where to download sourcecode for external ports])
1042 AC_ARG_WITH(portssources,AC_HELP_STRING([--with-portssources=DIR],[Where to download sourcecode for external ports]),with_portssrcdir=$withval,with_portssrcdir="default")
1043 if test "$with_portssrcdir" = "default"; then
1044     AROS_PORTSSRCDIR="$AROS_BUILDDIR/bin/Sources"
1045 else
1046     AROS_PORTSSRCDIR="$with_portssrcdir"
1048 AC_MSG_RESULT($AROS_PORTSSRCDIR)
1050 AC_MSG_CHECKING([which bootloader to use])
1051 AC_ARG_WITH(bootloader,AC_HELP_STRING([--with-bootloader=NAME],[Use a specific bootloader]),target_bootloader=$withval,target_bootloader=$target_bootloader)
1052 if test "$target_bootloader" = "none"; then
1053     aros_target_bootloader=""
1054 else
1055     aros_target_bootloader="$target_bootloader"
1057 AC_MSG_RESULT($target_bootloader)
1059 # Check LZO when compiling the grub2 bootloader on i386/x86_64.
1060 aros_liblzo_check="no"
1061 case "$aros_target_bootloader" in
1062     grub2*)
1063     case "$target_cpu" in
1064         *i?86*)
1065         aros_liblzo_check="yes"
1066         ;;
1067         *x86_64*)
1068         aros_liblzo_check="yes"  
1069         ;;
1070         *)
1071         ;;
1072     esac
1073   
1074     ;;
1075    *)
1076     ;;
1077 esac
1079 if test "$aros_liblzo_check" = "yes"; then
1080     # There are three possibilities. LZO version 2 installed with the name
1081     # liblzo2, with the name liblzo, and LZO version 1.  
1082     AC_CHECK_LIB(lzo2, __lzo_init_v2, [LIBLZO="-llzo2"],  
1083     AC_CHECK_LIB(lzo, __lzo_init_v2, [LIBLZO="-llzo"],
1084                 AC_CHECK_LIB(lzo, __lzo_init2, [LIBLZO="-llzo"],
1085                 AC_MSG_ERROR([LZO library version 1.02 or later is required]))))
1087     AC_SUBST(LIBLZO)
1088     LIBS="$LIBS $LIBLZO"
1089     AC_CHECK_FUNC(lzo1x_999_compress, ,
1090                 [AC_MSG_ERROR([LZO1X-999 must be enabled])])
1092     # LZO version 2 uses lzo/lzo1x.h, while LZO version 1 uses lzo1x.h.
1093     AC_CHECK_HEADERS(lzo/lzo1x.h lzo1x.h)
1096 AC_MSG_CHECKING([which GUI Theme to use])
1097 AC_ARG_WITH(theme,AC_HELP_STRING([--with-theme=NAME],[Use a specific GUI Theme]),target_guitheme=$withval,target_guitheme="default")
1098 if test "$target_guitheme" = "default"; then
1099     aros_target_guitheme="Ice"
1100 else
1101     aros_target_guitheme="$target_guitheme"
1103 AC_MSG_RESULT($aros_target_guitheme)
1105 # Find out if we are cross-compiling (ie. if we can't use the host compiler
1106 # for target code)
1107 cross_compiling=no
1108 if test "$aros_host_cpu" != "$aros_target_cpu" ; then
1109     cross_compiling=yes
1111 if test "$aros_host_arch" == "darwin" ; then
1112     cross_compiling=yes
1115 # Set prefix for target compiler etc. if we're cross-compiling
1116 # (should possibly be earlier but needs to be after AC_PROG_CC)
1117 if test "$cross_compiling" = "yes" ; then
1118     target_tool_prefix=${target_cpu}-elf-
1119     CC=${target_tool_prefix}gcc
1122 # Find all the tools we need to compile. This could be cross-compiling
1123 # though! If that is the case we use the GNU form of the target and
1124 # simply add this to the front of the binary name. This is rather simple,
1125 # but it should work under most circumstances.
1127 # The default tools are to use the same as the host, but only if the
1128 # host and target CPU are the same. With GCC this is normally enough.
1131 aros_cc_pre=""
1132 aros_shared_ld="$aros_host_ld"
1134 aros_target_mkdep="$aros_host_mkdep"
1135 aros_target_incl_def="$aros_host_incl"
1137 AC_PATH_PROG(aros_kernel_cc,$CC)
1139 # The default tools executables to be linked to.
1140 AROS_TOOL_TARGET(aros_target_as_ln,as)
1141 AROS_REQUIRED(as,$aros_target_as_ln)
1142 AROS_TOOL_TARGET(aros_kernel_ld,ld)
1143 AROS_REQUIRED(ld,$aros_kernel_ld)
1144 AROS_TOOL_TARGET(aros_target_ar_ln,ar)
1145 AROS_REQUIRED(ar,$aros_target_ar_ln)
1146 AROS_TOOL_TARGET(aros_target_nm_ln,nm)
1147 AROS_REQUIRED(nm,$aros_target_nm_ln)
1148 AROS_TOOL_TARGET(aros_target_objcopy_ln,objcopy)
1149 AROS_REQUIRED(objcopy,$aros_target_objcopy_ln)
1150 AROS_TOOL_TARGET(aros_target_objdump_ln,objdump)
1151 AROS_REQUIRED(objdump,$aros_target_objdump_ln)
1152 AROS_TOOL_TARGET(aros_target_ranlib_ln,ranlib)
1153 AROS_REQUIRED(ranlib,$aros_target_ranlib_ln)
1154 AROS_TOOL_TARGET(aros_target_strip_ln,strip)
1155 AROS_REQUIRED(strip,$aros_target_strip_ln)
1157 if test "$GCC" = "yes"; then
1158     aros_target_cc_path=`$aros_kernel_cc -print-search-dirs | grep "programs: =" | cut -c 12-`
1161 aros_hostcfg_dir="bin/${aros_host_arch}-${aros_host_cpu}/gen/config"
1162 aros_targetcfg_dir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/gen/config"
1163 aros_inc_dir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/AROS/Development/include/aros"
1164 aros_gendir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/gen"
1165 aros_geninc_dir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/gen/include/aros"
1166 aros_tools_dir="bin/${aros_host_arch}-${aros_host_cpu}/tools"
1167 aros_scripts_dir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/gen/scripts"
1169 # aros_cc_pre is a variable that is added to the front of the compiler name
1170 # in the generated aros-gcc shell script. We need this to enable the cache
1171 # to work across cleaned builds. Also, support DISTCC using the correct
1172 # environment variable.
1175 if test "x${DISTCC}" != "x" ; then
1176     if test "x${CCACHE}" != "x" ; then
1177         aros_cc_pre="env CCACHE_PREFIX=${DISTCC} ${CCACHE} "
1178     else
1179         aros_cc_pre="${DISTCC} "
1180     fi
1181 else
1182     if test "x${CCACHE}" != "x" ; then
1183         aros_cc_pre="${CCACHE} "
1184     fi
1187 prefix="${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros"
1189 AC_SUBST(aros_target_nostdinc_cflags,-nostdinc)
1190 AC_SUBST(aros_target_nostartup_ldflags,-nostartfiles)
1191 AC_SUBST(aros_target_nix_ldflags,-nix)
1192 AC_SUBST(aros_target_detach_ldflags,-detach)
1193 AC_SUBST(aros_target_nostdlib_ldflags,-nostdlib)
1195 # Target tools
1196 aros_target_cc="${prefix}-gcc"
1197 aros_target_as="${prefix}-as"
1198 aros_target_ld="${prefix}-ld"
1199 aros_target_ar="${prefix}-ar $aros_target_ar_flags"
1200 aros_target_objcopy=${prefix}-objcopy
1201 aros_target_objdump=${prefix}-objdump
1202 aros_target_ranlib="${prefix}-ranlib $aros_target_ranlib_flags"
1203 aros_target_nm="${prefix}-nm $aros_target_nm_flags"
1204 aros_kernel_nm="${prefix}-nm"
1205 aros_target_strip=${prefix}-strip
1207 # Find the system include path. We can suggest that an alternative is
1208 # used if we don't get it correct. The default is to use /usr/include.
1209 # Which is set in the aros_target_incl_def variable.
1211 AC_ARG_ENABLE(includes,
1212 AC_HELP_STRING([--enable-includes=dir],[Alternative system include directory]),
1213 [aros_target_incl=$enable_includes], [aros_target_incl=$aros_target_incl_def])
1215 dnl find out about the target cc's include path
1216 AC_MSG_CHECKING([for the target compiler's include path])
1217 if test "$aros_target_cc_includes" = "" ; then
1218     #try to guess where the directory is
1219     aros_target_cc_includes=`dirname \`${aros_kernel_cc} -print-libgcc-file-name\``/include
1220     if ! test -d $aros_target_cc_includes; then
1221         #the directory doesn't exist, we need to do some more work
1222         aros_target_cc_includes=${PWD}/${aros_gendir}/cc_include
1223         
1224         #these are the headers we're looling for
1225         headers="limits.h mmintrin.h stdbool.h syslimits.h float.h \
1226                  stddef.h xmmintrin.h iso646.h stdarg.h unwind.h   \
1227                  zutil.h"
1229         dirs=
1230         for h in $headers; do
1231             #which other headers each of the above headers needs?
1232             deps=$(echo "#include <$h>" | \
1233                    $aros_host_cc -E -M - 2>/dev/null | \
1234                    sed 's/^.*://; s/\\$/ /g; s/[[ \t]]\+/ /g')
1235             
1236             #copy all the needed headers to a directory beneath gendir
1237             for d in $deps; do
1238                 h=$(basename $d)
1239                 dir=${aros_target_cc_includes}$(echo $(dirname $d) | \
1240                                                 sed -n "s,^.*/include\(/.*\),\1,p")
1241                 ! test -d $dir && mkdir -p $dir
1242                 ! test -f $dir/$h && { cp $d $dir; chmod u+w $dir/$h; }
1243             done
1244         done        
1245     fi
1247 AC_MSG_RESULT($aros_target_cc_includes)
1250 # For GCC < 4.0 -I- is used for giving the search path for '#include "..."'
1251 # On GCC >= 4.0 -iquote should be used
1254 save_cc="$CC"
1255 save_cflags="$CFLAGS"
1256 CC="$aros_kernel_cc"
1257 CFLAGS="-iquote."
1258 AC_MSG_CHECKING([whether ${CC} accepts -iquote])
1259 AC_TRY_COMPILE(,, has_iquote="yes", has_iquote="no")
1260 AC_MSG_RESULT($has_iquote)
1261 if test "x-$has_iquote" = "x-yes" ; then
1262     aros_cflags_iquote=-iquote
1263     aros_cflags_iquote_end=
1264 else
1265     aros_cflags_iquote=-I
1266     aros_cflags_iquote_end=-I-
1268 CC="$save_cc"
1269 CFLAGS="$save_cflags"
1271 AC_SUBST(aros_cflags_iquote)
1272 AC_SUBST(aros_cflags_iquote_end)
1275 dnl Check if user specified --with-resolution=XRESxYRESxDEPTH
1276 AC_MSG_CHECKING([for default resolution of WBScreen])
1277 AC_ARG_WITH(resolution,AC_HELP_STRING([--with-resolution=XRESxYRESxDEPTH],[Default resolution of the initial WorkbenchScreen]),resolution=$withval,resolution=none)
1278 # We require an argument, so map --with/--without ("yes"/"no") to "none" specified
1279 if test "$resolution" = "yes" ; then
1280     resolution="none"
1282 if test "$resolution" = "no" ; then
1283     resolution="none"
1285 if test "$resolution" != "none" ; then
1286     aros_default_wbwidth=`echo $resolution | cut -d'x' -f1`
1287     aros_default_wbheight=`echo $resolution | cut -d'x' -f2`
1288     aros_default_wbdepth=`echo $resolution | cut -d'x' -f3`
1290 AC_MSG_RESULT($aros_default_wbwidth x $aros_default_wbheight x $aros_default_wbdepth)
1291 aros_cv_default_wbwidth=$aros_default_wbwidth
1292 aros_cv_default_wbheight=$aros_default_wbheight
1293 aros_cv_default_wbdepth=$aros_default_wbdepth
1295 dnl See if the user wants the BOCHS hack for native flavour
1296 AC_MSG_CHECKING([if bochs hack is enabled])
1297 AC_ARG_ENABLE(bochs_hack,AC_HELP_STRING([--enable-bochs-hack],[Enable hacks to make BOCHS (partly) work (default=no)]),bochs_hack="yes",bochs_hack="no")
1298 if test "$bochs_hack" = "yes" ; then
1299     aros_bochs_hack="1"
1301 AC_MSG_RESULT($bochs_hack)
1303 dnl See if the user wants the serial debug output for native flavour
1304 AC_MSG_CHECKING([if serial debug is enabled])
1305 AC_ARG_WITH(serial-debug,AC_HELP_STRING([--with-serial-debug],[Enable serial debug output in native (default=no)]),serial_debug=$withval,serial_debug=none)
1306 if test "$aros_serial_debug" = 0 ; then
1307     serial_debug_forced=""
1308     if test "$serial_debug" = "yes" ; then
1309         serial_debug="2"
1310     fi
1311     if test "$serial_debug" = "no" ; then
1312         serial_debug="none"
1313     fi
1314 else
1315     serial_debug_forced="(forced)"
1316     serial_debug=$aros_serial_debug
1318 if test "$serial_debug" != "none" ; then
1319     aros_serial_debug=$serial_debug
1320     AC_MSG_RESULT($serial_debug_forced on port $serial_debug)
1321 else
1322     AC_MSG_RESULT(no)
1325 dnl See if the user wants the palm debug output hack for palm native flavour
1326 AC_MSG_CHECKING([if palm debug hack is enabled])
1327 AC_ARG_ENABLE(palm_debug_hack,AC_HELP_STRING([--enable-palm-debug-hack],[Enable palm debug output hack in palm native (default=no)]),palm_debug_hack="yes",palm_debug_hack="no")
1328 if test "$palm_debug_hack" = "yes" ; then
1329     aros_palm_debug_hack="1"
1331 AC_MSG_RESULT($palm_debug_hack)
1334 dnl See if the user wants nesting supervisor activated for unix flavour
1335 AC_MSG_CHECKING([if nesting supervisor support is enabled])
1336 AC_ARG_ENABLE(nesting_supervisor,AC_HELP_STRING([--enable-nesting-supervisor],[Enable nesting supervisor support in unix (default=no)]),nesting_supervisor="yes",nesting_supervisor="no")
1337 if test "$nesting_supervisor" = "yes" ; then
1338     aros_nesting_supervisor="1"
1340 AC_MSG_RESULT($nesting_supervisor)
1343 dnl things specifically required for hosted flavours
1344 if test "x-$aros_flavour" = "x-emulation" -o "x-$aros_flavour" = "x-emulcompat" ; then
1346     if test "x-$aros_host_arch" != "x-darwin" ; then
1347       dnl some kind of dynamic library access system is required for hostlib.resource
1348       AC_CHECK_FUNC(dlopen, have_dl="yes", have_dl="no")
1349       if test "x-$have_dl" = "x-no" ; then
1350           AC_CHECK_LIB(dl, dlopen, [have_dl="yes"
1351                                     aros_host_ldflags="$aros_host_ldflags -ldl"],
1352                                     have_dl="no")
1353       fi
1354       if test "x-$have_dl" = "x-no" ; then
1355           AC_MSG_ERROR([dlopen() dynamic linker functions not available])
1356       fi
1357     fi
1360     dnl x11 hidd
1361     AC_ARG_ENABLE(x11_hidd, AC_HELP_STRING([--enable-x11-hidd],
1362                                            [build X11 hidd for hosted (default=auto)]),
1363                                            x11_hidd="$enableval",
1364                                            x11_hidd="auto")
1365     case "x-$x11_hidd" in
1366         x-yes|x-no|x-auto)                 ;;
1367         *)                 x11_hidd="auto" ;;
1368     esac
1370     dnl they want it
1371     if test "x-$x11_hidd" != "x-no" ; then
1373         dnl find x11 stuff
1374         AC_PATH_X
1376         x_cflags=
1377         for path in $x_libraries
1378         do
1379             x_cflags="$x_cflags -L$path"
1380         done
1382         for path in $x_includes
1383         do
1384             x_cflags="$x_cflags -I$path"
1385         done
1386         
1387         if test "x-$no_x" = "x-yes" ; then
1389             dnl didn't find it
1390             if test "x-$x11_hidd" != "x-auto" ; then
1391                 dnl and they explicitly asked for it, bail out
1392                 AC_MSG_ERROR([X11 libs/headers not found, cannot build X11 hidd as requested])
1393             fi
1394         
1395         else
1396             dnl found it, setup the metatarget
1397             x11_hidd_target=kernel-x11gfx
1400             dnl setup shared memory extensions
1401             AC_ARG_ENABLE(x11_shm, AC_HELP_STRING([--enable-x11-shm],
1402                                                   [use X11 shared memory (default=auto)]),
1403                                                   x11_hidd_shm="$enableval",
1404                                                   x11_hidd_shm="auto")
1405             case "x-$x11_hidd_shm" in
1406                 x-yes|x-no|x-auto)                     ;;
1407                 *)                 x11_hidd_shm="auto" ;;
1408             esac
1410             have_xshm=no
1412             dnl they want it
1413             if test "x-$x11_hidd_shm" != "x-no" ; then
1415                 dnl system shm headers
1416                 AC_CHECK_HEADERS(sys/ipc.h)
1417                 AC_CHECK_HEADERS(sys/shm.h)
1419                 dnl got them
1420                 if test "x-$ac_cv_header_sys_ipc_h" = "x-yes" -a "x-$ac_cv_header_sys_shm_h" = "x-yes" ; then
1422                     dnl make sure X libs have shm functions
1423                     save_cflags="$CFLAGS"
1424                     CFLAGS="$CFLAGS $x_cflags"
1425                     AC_CHECK_LIB(Xext, XShmQueryExtension, have_xshm=yes)
1426                     CFLAGS="$save_cflags"
1427                 fi
1428             fi
1430             dnl detection done, prepare output
1431             if test "x-$have_xshm" = "x-yes" ; then
1432                 dnl we can do shm
1433                 DO_XSHM_SUPPORT="1"
1434             elif test "x-$x11_hidd_shm" = "x-yes" ; then
1435                 dnl they explicitly asked for it, but we can't do it
1436                 AC_MSG_ERROR([X11 has no support for shared memory, cannot enable it as requested])
1437             else
1438                 dnl otherwise just disable it
1439                 DO_XSHM_SUPPORT="0"
1440             fi
1442             
1443             dnl setup vidmode (fullscreen) extensions
1444             AC_ARG_ENABLE(x11_vidmode, AC_HELP_STRING([--enable-x11-vidmode],
1445                                                       [use X11 vidmode extension (default=auto)]),
1446                                                       x11_hidd_vidmode="$enableval",
1447                                                       x11_hidd_vidmode="auto")
1448             case "x-$x11_hidd_vidmode" in
1449                 x-yes|x-no|x-auto)                         ;;
1450                 *)                 x11_hidd_vidmode="auto" ;;
1451             esac
1453             have_vidmode=no
1455             dnl they want it
1456             if test "x-$x11_hidd_vidmode" != "x-no" ; then
1458                 dnl make sure X libs have vidmode functions
1459                 save_cflags="$CFLAGS"
1460                 CFLAGS="$CFLAGS $x_cflags"
1461                 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension, have_vidmode=yes)
1462                 CFLAGS="$save_cflags"
1463             fi
1465             dnl detection done, prepare output
1466             if test "x-$have_vidmode" = "x-yes" ; then
1467                 dnl we can do vidmode
1468                 DO_VIDMODE_SUPPORT="1"
1469             elif test "x-$x11_hidd_vidmode" = "x-yes" ; then
1470                 dnl they explicitly asked for it, but we can't do it
1471                 AC_MSG_ERROR([X11 vidmode extension not available, cannot enable it as requested])
1472             else
1473                 dnl otherwise just disable it
1474                 DO_VIDMODE_SUPPORT="0"
1475             fi
1476         fi
1478         aros_host_x11_includes=$x_includes 
1479         aros_host_x11_libdirs=$x_libraries
1480     fi
1483     dnl sdl hidd
1484     AC_ARG_ENABLE(sdl_hidd, AC_HELP_STRING([--enable-sdl-hidd],
1485                                            [build SDL hidd for hosted (default=auto)]),
1486                                            sdl_hidd="$enableval",
1487                                            sdl_hidd="auto")
1488     case "x-$sdl_hidd" in
1489         x-yes|x-no|x-auto)                 ;;
1490         *)                 sdl_hidd="auto" ;;
1491     esac
1493     dnl they want it
1494     if test "x-$sdl_hidd" != "x-no" ; then
1496         dnl find sdl
1497         AM_PATH_SDL([1.2.10], have_sdl="yes", have_sdl="no")
1499         if test "x-$have_sdl" != "x-yes" ; then
1501             dnl didn't find it
1502             if test "x-$sdl_hidd" != "x-auto" ; then
1503                 dnl and they explicitly asked for it, bail out
1504                 AC_MSG_ERROR([SDL libs/headers not found, cannot build SDL hidd as requested])
1505             fi
1507         else
1508             dnl found it, setup the metatarget
1509             sdl_hidd_target=kernel-hidd-sdl
1510             aros_host_sdl_cflags=SDL_CFLAGS
1511             aros_host_sdl_libs=SDL_LIBS
1512         fi
1513     fi
1518 dnl See if the user wants dbus.library
1519 AC_MSG_CHECKING([if building of dbus.library is enabled])
1520 AC_ARG_ENABLE(dbus,AC_HELP_STRING([--enable-dbus],[Enable DBUS support via dbus.library (default=no)]),dbus="yes",dbus="no")
1521 if test "$dbus" = "yes" ; then
1522     ENABLE_DBUS=1
1523     DBUS_CFLAGS=`pkg-config --cflags dbus-1`
1524     DBUS_LIBFLAGS=`pkg-config --libs dbus-1`
1525     KERNEL_DBUS_KOBJ=kernel-dbus-kobj
1526     KERNEL_DBUS_INCLUDES=kernel-dbus-includes
1527 else
1528     ENABLE_DBUS=0
1530 AC_MSG_RESULT($dbus)
1533 dnl --------------------------------------------------------------------
1534 dnl Configuration Output Section
1535 dnl --------------------------------------------------------------------
1537 # Generic
1538 AC_SUBST(aros_arch)
1539 AC_SUBST(aros_cpu)
1540 AC_SUBST(aros_flavour)
1541 AC_SUBST(aros_flavour_uc)
1542 AC_SUBST(AROS_BUILDDIR)
1543 AC_SUBST(AROS_SRCDIR)
1544 AC_SUBST(AROS_PORTSSRCDIR)
1546 # Host related
1547 AC_SUBST(aros_cc_pre)
1548 AC_SUBST(aros_host_strip)
1549 AC_SUBST(aros_host_arch)
1550 AC_SUBST(aros_host_cpu)
1551 AC_SUBST(aros_host_cc)
1552 AC_SUBST(aros_host_ar)
1553 AC_SUBST(aros_host_ranlib)
1554 AC_SUBST(aros_host_ld)
1555 AC_SUBST(aros_host_make)
1556 AC_SUBST(aros_host_cflags)
1557 AC_SUBST(aros_host_ldflags)
1558 AC_SUBST(aros_host_debug)
1559 AC_SUBST(aros_host_mkdep)
1560 AC_SUBST(aros_host_mkargs)
1561 AC_SUBST(aros_host_exe_suffix)
1562 AC_SUBST(aros_host_lib_suffix)
1563 AC_SUBST(aros_tools_dir)
1564 AC_SUBST(aros_host_aclocal)
1565 AC_SUBST(aros_host_autoconf)
1566 AC_SUBST(aros_host_autoheader)
1567 AC_SUBST(aros_host_automake)
1569 # Target Related
1570 AC_SUBST(aros_target_guitheme)
1571 AC_SUBST(aros_target_bootloader)
1572 AC_SUBST(aros_target_arch)
1573 AC_SUBST(aros_target_cpu)
1574 AC_SUBST(aros_target_variant)
1575 AC_SUBST(aros_target_suffix)
1576 AC_SUBST(aros_target_incl)
1577 AC_SUBST(aros_target_ar)
1578 AC_SUBST(aros_target_ranlib)
1579 AC_SUBST(aros_kernel_nm)
1580 AC_SUBST(aros_target_cc)
1581 AC_SUBST(aros_kernel_cc)
1582 AC_SUBST(aros_target_as)
1583 AC_SUBST(aros_target_ld)
1584 AC_SUBST(aros_kernel_ld)
1585 AC_SUBST(aros_target_cc_includes)
1586 AC_SUBST(aros_target_cc_path)
1587 AC_SUBST(aros_target_objdump)
1588 AC_SUBST(aros_target_objcopy)
1589 AC_SUBST(aros_target_strip)
1590 AC_SUBST(aros_target_nm)
1591 AC_SUBST(aros_shared_default)
1592 AC_SUBST(aros_shared_ld)
1593 AC_SUBST(aros_object_format)
1594 AC_SUBST(aros_compiler_libs)
1596 AC_SUBST(aros_config_cflags)
1597 AC_SUBST(aros_config_aflags)
1598 AC_SUBST(aros_config_ldflags)
1600 AC_SUBST(aros_shared_cflags)
1601 AC_SUBST(aros_shared_aflags)
1602 AC_SUBST(aros_shared_ldflags)
1603 AC_SUBST(aros_kernel_ldflags)
1604 AC_SUBST(aros_debug_cflags)
1605 AC_SUBST(aros_debug_aflags)
1606 AC_SUBST(aros_debug_ldflags)
1607 AC_SUBST(aros_target_genmap)
1608 AC_SUBST(aros_target_strip_flags)
1610 # Graphics Related
1611 AC_SUBST(x11_hidd_target)
1612 AC_SUBST(sdl_hidd_target)
1614 AC_SUBST(aros_default_wbwidth)
1615 AC_SUBST(aros_default_wbheight)
1616 AC_SUBST(aros_default_wbdepth)
1617 AC_SUBST(DO_XSHM_SUPPORT)
1618 AC_SUBST(DO_VIDMODE_SUPPORT)
1620 AC_SUBST(aros_host_x11_includes)
1621 AC_SUBST(aros_host_x11_libdirs)
1622 AC_SUBST(aros_host_sdl_cflags)
1623 AC_SUBST(aros_host_sdl_libs)
1625 # Native version related
1626 AC_SUBST(aros_bochs_hack)
1627 AC_SUBST(aros_serial_debug)
1629 # Palm native version related
1630 AC_SUBST(aros_palm_debug_hack)
1632 # Unix/Hosted version related
1633 AC_SUBST(aros_nesting_supervisor)
1635 # DBUS related
1636 AC_SUBST(ENABLE_DBUS)
1637 AC_SUBST(DBUS_CFLAGS)
1638 AC_SUBST(DBUS_LIBFLAGS)
1639 AC_SUBST(KERNEL_DBUS_KOBJ)
1640 AC_SUBST(KERNEL_DBUS_INCLUDES)
1642 # Debug related
1643 AC_SUBST(aros_debug)
1644 AC_SUBST(aros_mungwall_debug)
1645 AC_SUBST(aros_stack_debug)
1646 AC_SUBST(aros_modules_debug)
1648 # Collect-aros stuff: "-ius" to ignore undefined symbols
1649 AC_SUBST(ignore_undefined_symbols)
1651 # C compiler related
1652 AC_SUBST(gcc_target_cpu)
1654 dnl Prepare for output, make up all the generated patches
1655 case "$aros_flavour" in
1656 emulation)      aros_flavour_uc="AROS_FLAVOUR_EMULATION"
1657                 aros_flavour="emulation" ;;
1658 emulcompat)     aros_flavour_uc="(AROS_FLAVOUR_EMULATION|AROS_FLAVOUR_BINCOMPAT)"
1659                 aros_flavour="emulation" ;;
1660 standalone)     aros_flavour_uc="AROS_FLAVOUR_STANDALONE"
1661                 aros_flavour="standalone";;
1662 native)         aros_flavour_uc="AROS_FLAVOUR_NATIVE"
1663                 aros_flavour="native" ;;
1664 nativecompat)   aros_flavour_uc="(AROS_FLAVOUR_NATIVE|AROS_FLAVOUR_BINCOMPAT)"
1665                 aros_flavour="native" ;;
1666 linklib)        aros_flavour_uc="AROS_FLAVOUR_LINKLIB"
1667                 aros_flavour="linklib" ;;
1668 palmnative)     aros_flavour_uc="(AROS_FLAVOUR_STANDALONE|AROS_FLAVOUR_EMULATION)"
1669                 aros_flavour="palmnative" ;;
1670 mac68knative)   aros_flavour_uc="(AROS_FLAVOUR_STANDALONE|AROS_FLAVOUR_EMULATION)"
1671                 aros_flavour="mac68knative" ;;
1672 ppcnative)      aros_flavour_uc="(AROS_FLAVOUR_STANDALONE|AROS_FLAVOUR_BINCOMPAT)"
1673                 aros_flavour="ppcnative" ;;
1674 esac
1676 if test ! -d ${aros_inc_dir} ; then
1677     ${MKDIR} ${aros_inc_dir}
1679 if test ! -d ${aros_geninc_dir} ; then
1680     ${MKDIR} ${aros_geninc_dir}
1682 if test ! -d ${aros_hostcfg_dir} ; then
1683     ${MKDIR} ${aros_hostcfg_dir}
1685 if test ! -d ${aros_targetcfg_dir} ; then
1686     ${MKDIR} ${aros_targetcfg_dir}
1688 if test ! -d ${aros_tools_dir} ; then
1689     ${MKDIR} ${aros_tools_dir}
1691 if test ! -d ${aros_scripts_dir} ; then
1692     ${MKDIR} ${aros_scripts_dir}
1695 AC_CONFIG_HEADERS(${aros_geninc_dir}/host-conf.h:config/host-conf.h.in)
1697 AC_CONFIG_COMMANDS([compiler_executable],
1698     [
1699         prefix=${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}
1700         mkdir -p $prefix
1701         prefix="${prefix}/${aros_target_cpu}-aros"
1702         prefix2=${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros
1704         echo ${prefix}
1705         echo ${prefix2}
1706         chmod a+x ${prefix2}-gcc ${prefix2}-ld
1708         ln -sf ${prefix2}-gcc          ${prefix}-gcc
1709         ln -sf ${prefix2}-ld           ${prefix}-ld
1711         ln -sf $aros_target_as_ln      ${prefix}-as
1712         ln -sf $aros_target_nm_ln      ${prefix}-nm
1713         ln -sf $aros_target_ar_ln      ${prefix}-ar
1714         ln -sf $aros_target_ranlib_ln  ${prefix}-ranlib
1715         ln -sf $aros_target_objcopy_ln ${prefix}-objcopy
1716         ln -sf $aros_target_objdump_ln ${prefix}-objdump
1717         ln -sf $aros_target_strip_ln   ${prefix}-strip
1719         ln -sf $aros_target_as_ln      ${prefix2}-as
1720         ln -sf $aros_target_nm_ln      ${prefix2}-nm
1721         ln -sf $aros_target_ar_ln      ${prefix2}-ar
1722         ln -sf $aros_target_ranlib_ln  ${prefix2}-ranlib
1723         ln -sf $aros_target_objcopy_ln ${prefix2}-objcopy
1724         ln -sf $aros_target_objdump_ln ${prefix2}-objdump
1725         ln -sf $aros_target_strip_ln   ${prefix2}-strip
1726     ],
1727     [
1728         aros_tools_dir=${aros_tools_dir}
1729         aros_target_cpu=${aros_target_cpu}
1730         aros_target_arch=${aros_target_arch}
1731         aros_target_suffix=${aros_target_suffix}
1732         aros_target_nm_ln=${aros_target_nm_ln}
1733         aros_target_as_ln=${aros_target_as_ln}
1734         aros_target_ar_ln=${aros_target_ar_ln}
1735         aros_target_ranlib_ln=${aros_target_ranlib_ln}
1736         aros_target_objdump_ln=${aros_target_objdump_ln}
1737         aros_target_objcopy_ln=${aros_target_objcopy_ln}
1738         aros_target_strip_ln=${aros_target_strip_ln}
1739     ]
1741 AC_CONFIG_COMMANDS([genshared_executable],
1742     [chmod a+x ${aros_scripts_dir}/genshared],
1743     [aros_scripts_dir=${aros_scripts_dir}]
1745 AC_CONFIG_COMMANDS([genmf_executable],
1746     [chmod a+x ${aros_tools_dir}/genmf.py],
1747     [aros_tools_dir=${aros_tools_dir}]
1749 AC_CONFIG_COMMANDS([adflib_myaros.conf_executable],
1750     [chmod a+x tools/adflib/myconf.aros]
1753 AC_CONFIG_FILES(
1754     Makefile
1755     rom/mmakefile
1756     config/make.cfg
1757     ${aros_inc_dir}/config.h:config/config.h.in
1758     ${aros_geninc_dir}/config.h:config/config.h.in
1759     ${aros_hostcfg_dir}/host.cfg:config/host.cfg.in
1760     ${aros_targetcfg_dir}/target.cfg:config/target.cfg.in
1761     mmake.config
1762     ${aros_targetcfg_dir}/make.defaults:config/make.defaults.in
1763     ${aros_targetcfg_dir}/specs:config/specs.in
1764     ${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-gcc:scripts/aros-gcc.in
1765     ${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-ld:scripts/aros-ld.in
1766     ${aros_scripts_dir}/genshared:compiler/c_lib/source/lib_source/genshared.in
1767     ${aros_tools_dir}/genmf.py:tools/genmf/genmf.py
1768     tools/adflib/myconf.aros
1769     tools/collect-aros/env.h
1772 AC_OUTPUT
1774 dnl This is in order to not define SHARED_CFLAGS sometimes
1775 dnl We don't always do aros_shared_ar, aros_shared_cflags
1777 #XXX compatability...
1778 aros_shared_ar="$aros_shared_ld $aros_shared_ldflags -o"
1780 if test -n "$aros_shared_cflags" ; then
1781     echo "SHARED_CFLAGS := $aros_shared_cflags" >> ${aros_hostcfg_dir}/host.cfg
1782     echo "SHARED_AR := $aros_shared_ar" >> ${aros_hostcfg_dir}/host.cfg