Autodoc corrections.
[cake.git] / configure.in
blob7787059bb091d072cba31f7f2ffd2b9bdc70df7f
1 dnl Copyright � 1997-2008, 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 SRCDIR=${srcpwd}
54 AC_MSG_RESULT($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="\$(SRCDIR)/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 aclocal-1.9])
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 automake-1.9])
109 AROS_REQUIRED(aclocal/aclocal19/aclocal-1.9, $aros_host_aclocal)
110 AROS_REQUIRED(automake/automake19/automake-1.9, $aros_host_automake)
112 case "$aros_host_cc" in
113     *gcc*)
114         aros_host_cc_pipe="-pipe"
115         ;;
116     icc)
117         aros_host_cc_pipe=""
118         ;;
119     *)
120         aros_host_cc_pipe=""
121         ;;
122 esac
124 dnl Despite the name, this is really a host configuration variable.
125 aros_target_cc_includes=""
127 # This is the main host configuration section. It is where the host
128 # can change the values of any variables it needs to change. We do
129 # not look at anything that compiles to the target yet, we'll get
130 # to that later.
132 case "$host_os" in
133     linux*)
134         aros_host_arch="linux"
135         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
136         case "$host_cpu" in
137             *i?86*)
138                 aros_host_cpu="i386"
139                 ;;
140             *x86_64*)
141                 aros_host_cpu="x86_64"
142                 ;;
143             *m68k*)
144                 aros_host_cpu="m68k"
145                 ;;
146             *powerpc*)
147                 aros_host_cpu="ppc"
148                 ;;
149             *)
150                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
151                 aros_host_cpu="$host_cpu"
152                 ;;
153         esac
154         ;;
156     freebsd*)
157         aros_host_cc="$aros_host_cc $aros_host_cc_pipe -I/usr/local/include"
158         aros_host_make="gmake"
159         aros_host_arch="freebsd"
160         aros_host_cpu="i386"
162         aros_host_ldflags="$aros_host_ldflags -L/usr/local/lib -liconv"
164         dnl Need to override this here, it's just too hard later.
165         dnl This shouldn't be here at all...
166         dnl aros_target_cc_includes="/usr/include"
168         dnl FreeBSD 5.x (and later) has changed the default object format.
169         dnl The double [[]] is necessary to get around m4's quoting rules.
170         case $host_os in
171             freebsd[[234]]*)
172                 aros_object_format="elf_i386"
173                 ;;
175             *)
176                 aros_object_format="elf_i386_fbsd"
177                 ;;
178         esac
180         ;;
182     darwin*)
183         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
184         aros_host_arch="darwin"
185         case "$host_cpu" in
186             *i?86*)
187                 aros_host_cpu="i386"
188                 ;;
189             *powerpc*)
190                 aros_host_cpu="ppc"
191                 ;;
192             *)
193                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
194                 aros_host_cpu="$host_cpu"
195                 ;;
196         esac
198         aros_host_ldflags="$aros_host_ldflags -liconv"
200         ;;
202     netbsd*)
203         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
204         aros_host_make="gmake"
205         aros_host_arch="netbsd"
206         case "$host_cpu" in
207             *i?86*)
208                 aros_host_cpu="i386"
209                 ;;
210             *m68k*)
211                 aros_host_cpu="m68k"
212                 ;;
213             *)
214                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
215                 aros_host_cpu="$host_cpu"
216                 ;;
217         esac    
218         aros_host_lib_suffix=".0.0"
219         ;;
221     openbsd*)
222         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
223         aros_host_make="gmake"
224         aros_host_arch="openbsd"
225         case "$host_cpu" in
226             *i?86*)
227                 aros_host_cpu="i386"
228                 ;;
229             *)
230                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
231                 aros_host_cpu="$host_cpu"
232                 ;;
233         esac
234         ;;
235         
236     solaris*)
237         aros_host_arch="solaris"
238         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
239         case "$host_cpu" in
240             *i?86*)
241                 aros_host_cpu="i386"
242                 ;;
243             *sparc*)
244                 aros_host_cpu="sparc"
245                 ;;
246             *)
247                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
248                 aros_host_cpu="$host_cpu"
249                 ;;
250         esac
251         ;;
253     morphos*)
254         aros_host_arch="morphos"
255         aros_host_cpu="ppc"
256         ;;
258     amiga*)
259         aros_host_arch="amiga"
260         SORT="/gg/bin/sort"
261         TEST="/gg/bin/test"
262         UNIQ="/gg/bin/uniq"
263         FOR="for"
264         TOUCH="/gg/bin/touch"
265         case "$host_cpu" in
266             *m68k*)
267                 aros_host_cpu="m68k"
268                 ;;
269             *powerpc*)
270                 aros_host_cpu="ppc"
271                 ;;
272             *)
273                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
274                 aros_host_cpu="$host_cpu"
275                 ;;
276         esac
277         ;;
279     cygwin*)
280         aros_host_arch="cygwin"
281         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
282         case "$host_cpu" in
283             *i?86*)
284                 aros_host_cpu="i386"
285                 ;;
286             *)
287                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
288                 aros_host_cpu="$host_cpu"
289                 ;;
290         esac
291         ;;
293     mingw32*)
294         aros_host_arch="mingw32"
295         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
296         case "$host_cpu" in
297             *i?86*)
298                 aros_host_cpu="i386"
299                 ;;
300             *)
301                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
302                 aros_host_cpu="$host_cpu"
303                 ;;
304         esac
305         ;;
306     *)
307         AC_MSG_ERROR([Unsupported host architecture $host])
308         ;;
309 esac
311 AROS_PROG(aros_host_ar,[ar],[cr])
312 AROS_REQUIRED(ar,$aros_host_ar)
313 AROS_PROG(aros_host_ranlib,ranlib)
314 AROS_REQUIRED(ranlib,$aros_host_ranlib)
315 AROS_PROG(aros_host_strip,strip)
316 AROS_REQUIRED(strip,$aros_host_strip)
318 AROS_PROG(RM,[rm],[-rf])
319 AROS_REQUIRED(rm,$RM)
320 AROS_PROG(CP,[cp])
321 AROS_REQUIRED(cp,$CP)
322 AROS_PROG(MV,[mv])
323 AROS_REQUIRED(mv,$MV)
324 AROS_PROG(ECHO,[echo])
325 AROS_REQUIRED(echo,$ECHO)
326 AROS_PROG(MKDIR,[mkdir],[-p])
327 AROS_REQUIRED(mkdir,$MKDIR)
328 AROS_PROG(TOUCH,[touch])
329 AROS_REQUIRED(touch,$TOUCH)
330 AROS_PROG(SORT,[sort])
331 AROS_REQUIRED(sort,$SORT)
332 AROS_PROG(UNIQ,[uniq])
333 AROS_REQUIRED(uniq,$UNIQ)
334 AROS_PROG(NOP,[true])
335 AROS_REQUIRED(true,$NOP)
336 AROS_PROG(CAT,[cat])
337 AROS_REQUIRED(cat,$CAT)
338 AROS_PROG(BISON,[bison])
339 AROS_REQUIRED(bison,$BISON)
340 AROS_PROG(FLEX,[flex])
341 AROS_REQUIRED(flex,$FLEX)
342 AROS_PROG(PNGTOPNM,[pngtopnm])
343 AROS_REQUIRED(pngtopnm,$PNGTOPNM)
344 AROS_PROG(PPMTOILBM,[ppmtoilbm])
345 AROS_REQUIRED(ppmtoilbm,$PPMTOILBM)
346 AROS_PROG(SED,[sed])
347 AROS_REQUIRED(sed,$SED)
348 AROS_PROG(CHMOD,[chmod])
349 AROS_REQUIRED(chmod,$CHMOD)
351 AM_PATH_PYTHON(2.2.1)
353 AC_SUBST(FOR, for)
354 AC_SUBST(IF, if)
355 AC_SUBST(TEST, test)
356 AC_SUBST(CMP, cmp)
358 dnl ---------------------------------------------------------------------------
359 dnl Look for things about the host system, good for hosted targets.
360 dnl ---------------------------------------------------------------------------
362 # Check for some includes for the X11 HIDD and the kernel
363 AC_CHECK_HEADERS([sys/ipc.h sys/shm.h \
364     sys/mmap.h sys/mman.h sysexits.h \
365     sys/statfs.h sys/statvfs.h sys/vfs.h sys/param.h \
368 AC_CHECK_HEADERS([sys/mount.h],,,[#include <sys/param.h>])
370 AC_HEADER_DIRENT
371 AC_HEADER_STAT
372 AC_HEADER_STDC
373 AC_HEADER_SYS_WAIT
374 AC_HEADER_TIME
375 AC_STRUCT_ST_BLKSIZE
376 AC_STRUCT_ST_BLOCKS
377 AC_STRUCT_ST_RDEV
378 AC_STRUCT_TM
379 AC_STRUCT_TIMEZONE
380 AC_TYPE_OFF_T
381 AC_TYPE_PID_T
382 AC_TYPE_SIZE_T
383 AC_TYPE_UID_T
385 AC_CHECK_MEMBERS(struct tm.tm_gmtoff)
387 # Look for some functions
388 AC_CHECK_FUNCS([getpagesize kqueue statfs statvfs \
389     clone kse_create rfork_thread thr_create sa_register \
390     getcontext makecontext setcontext sigaltstack swapcontext])
392 AC_FUNC_MMAP
395 dnl --------------------------------------------------------------------
396 dnl Target Configuration Section
397 dnl --------------------------------------------------------------------
399 dnl The target configuration section is responsible for setting up all
400 dnl the paths for includes, and tools required to build AROS to some
401 dnl particular target.
403 aros_config_cflags="-Wall -Werror-implicit-function-declaration"
404 aros_config_aflags="-Wall -x assembler-with-cpp -c"
405 aros_config_ldflags=""
407 aros_shared_default=yes
409 aros_shared_cflags="-fPIC"
410 aros_shared_aflags=""
411 aros_shared_ldflags="-Wl,-rpath,./lib -shared"
412 aros_kernel_ldflags="-Wl,-rpath,./lib"
414 aros_target_ar_flags="cr"
415 aros_target_nm_flags="-C -ul"
416 aros_target_strip_flags="--strip-unneeded -R.comment"
418 aros_compiler_libs=
420 aros_target_genmap="-Wl,-Map -Xlinker"
422 # Native flavour stuff
423 aros_bochs_hack="0"
424 aros_serial_debug="0"
426 # Palm native flavour stuff
427 aros_palm_debug_hack="0"
429 # Unix flavour stuff
430 aros_nesting_supervisor="0"
432 # Collect-aros stuff: "-ius" to ignore undefined symbols
433 ignore_undefined_symbols=""
435 #-----------------------------------------------------------------------------
438 # GCC 4.1+ has a stack protection feature that requires OS support. Ubuntu has
439 # it switched on by default, and we use the host compiler, so it compiles AROS
440 # code with this enabled resulting in link failures as we don't have support
441 # for it.
443 # We use two methods to disable it. For the host compiler (used to compile
444 # some hosted modules), we test to see if the compiler supports stack
445 # protection, and if it does we disable it in AROS_CONFIG_CFLAGS. This should
446 # work on all platforms.
448 # For the "cross" compiler we clear the "ssp_default" spec in config/specs.in
449 # (this is done unconditionally, as it should have no effect on compilers
450 # without the stack protection feature). This may be specific to the way that
451 # Ubuntu enables the feature, so may not work everywhere. My specs-fu isn't
452 # strong enough to disable it in a generic way though, so we'll live with it
453 # until another vendor ships GCC with it enabled in a different way, and deal
454 # with it then.
457 AC_MSG_CHECKING([whether ${CC} accepts -fno-stack-protector])
458 save_cflags="$CFLAGS"
459 CFLAGS="$CFLAGS -fno-stack-protector"
460 AC_TRY_COMPILE(,, use_no_stack_protector="yes", use_no_stack_protector="no")
461 AC_MSG_RESULT($use_no_stack_protector)
462 if test "x-$use_no_stack_protector" = "x-yes" ; then
463     aros_host_cflags="$aros_host_cflags -fno-stack-protector"
465 CFLAGS="$save_cflags"
468 #-----------------------------------------------------------------------------
470 # Disable pointer-signedness warnings if the compiler recognises the option
471 # (this only works for the host compiler at the moment)
473 AC_MSG_CHECKING([whether ${CC} accepts -Wno-pointer-sign])
474 save_cflags="$CFLAGS"
475 CFLAGS="$CFLAGS -Wno-pointer-sign"
476 AC_TRY_COMPILE(,, use_no_sign_warning="yes", use_no_sign_warning="no")
477 AC_MSG_RESULT($use_no_sign_warning)
478 if test "x-$use_no_sign_warning" = "x-yes" ; then
479     aros_host_cflags="$aros_host_cflags -Wno-pointer-sign"
481 CFLAGS="$save_cflags"
483 #-----------------------------------------------------------------------------
485 AC_MSG_CHECKING([for type of build])
486 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")
488 if test "$build_type" = "nightly"; then
489     build_type_string="NIGHTLY"
490 elif test "$build_type" = "snapshot"; then
491     build_type_string="SNAPSHOT"
492 elif test "$build_type" = "milestone"; then
493     build_type_string="MILESTONE"
494 elif test "$build_type" = "release"; then
495     build_type_string="RELEASE"
496 else
497     build_type_string="PERSONAL"
498     build_type="personal"
501 aros_config_cflags="$aros_config_cflags -DAROS_BUILD_TYPE=AROS_BUILD_TYPE_$build_type_string"
503 AC_MSG_RESULT($build_type)
505 #-----------------------------------------------------------------------------
506 all_debug_types="messages stack mungwall modules symbols"
508 AC_MSG_CHECKING([which debug types to enable])
509 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)]),
510  debug="$enableval",debug="")
512 if test "$debug" = "" -o "$debug" = "no"; then
513     debug="none"
514 elif test "$debug" = "yes"; then
515     debug="all"
518 if test "$debug" = "all" ; then
519     debug=$all_debug_types
520     for d in $all_debug_types; do
521         export aros_${d}_debug="1"
522     done
523 else
524     for d in $all_debug_types; do
525         export aros_${d}_debug="0"
526     done
529 if test "$debug" != "none"; then
530     debug=`echo $debug | sed s/,/\ /g`
531     for d in $debug; do
532         found="0"
533         for d2 in $all_debug_types; do
534             if test "$d2" = "$d"; then
535                 found="1"
536                 break
537             fi
538         done
539         if test "$found" = "0"; then
540             AC_MSG_ERROR([unrecognized debug type "$d". Available types are: all none $all_debug_types])
541         fi
542         export aros_${d}_debug="1"
543     done
544     aros_debug="yes"
546 AC_MSG_RESULT($debug)
548 if test "$aros_messages_debug" = "1"; then
549     aros_messages_debug="-DADEBUG=1 -DMDEBUG=1"
550 else
551     aros_messages_debug=""
553 if test "$aros_symbols_debug" = "1"; then
554     aros_symbols_debug="-g"
555 else
556     aros_symbols_debug=""
559 # These are the flags to pass when compiling debugged programs
560 aros_debug_cflags="$aros_symbols_debug $aros_messages_debug"
561 aros_debug_aflags=""
562 aros_debug_ldflags="$aros_symbols_debug"
564 aros_crosstools="no"
566 #-----------------------------------------------------------------------------
567 #   Checking if we should build crosstools..
568 AC_MSG_CHECKING([whether to build crosstools])
569 AC_ARG_ENABLE(crosstools,AC_HELP_STRING([--enable-crosstools],[Build cross-compiler toolchains if necessary (default=no).]),crosstools="$enableval",crosstools="no")
570 if test "$crosstools" != "" -a "$crosstools" != "no"; then
571     AC_MSG_RESULT(yes)
572         aros_crosstools="yes"
573 else
574     AC_MSG_RESULT(no)
577 #-----------------------------------------------------------------------------
578 #   Checking for distcc and ccache.
580 #   Always apply the transforms in this particular order. Basically you should
581 #   always run 'ccache distcc compiler' in that order for the best performance.
583 AC_MSG_CHECKING([whether to enable distcc])
584 AC_ARG_ENABLE(distcc,AC_HELP_STRING([--enable-distcc],[Use distcc as a front end to the compiler (default=no).]),distcc="$enableval",distcc="no")
585 if test "$distcc" != "" -a "$distcc" != "no"; then
586     # AC_CHECK_PROG will print out the result in this case
587     AC_PATH_PROG(DISTCC,[distcc],distcc,)
588 else
589     AC_MSG_RESULT(no)
592 AC_MSG_CHECKING([whether to enable ccache])
593 AC_ARG_ENABLE(ccache,AC_HELP_STRING([--enable-ccache],[Use ccache as a front end to the compiler (default=no).]),ccache="$enableval",ccache="no")
594 if test "$ccache" != "" -a "$ccache" != "no"; then
595     # AC_CHECK_PROG will print out the result in this case
596     AC_CHECK_PROG(CCACHE,[ccache],ccache,)
597 else
598     AC_MSG_RESULT(no)
601 #-----------------------------------------------------------------------------
602 AC_MSG_CHECKING([what optimization flags to use])
603 AC_ARG_WITH(optimization,AC_HELP_STRING([--with-optimization=FLAGS],[Use optimization flags FLAGS (default=-O2).]),optimization="$withval",optimization="unknown")
604 if test "$optimization" = "unknown"; then
605     dnl default is -O2 for normal builds, -O0 for debug builds
606     if test "$debug" != "none"; then
607         optimization="-O0"
608     else
609         optimization="-O2"
610     fi
612 aros_config_cflags="$aros_config_cflags $optimization"
613 AC_MSG_RESULT($optimization)
615 #-----------------------------------------------------------------------------
616 AC_MSG_CHECKING([what target variant to enable])
617 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")
618 if test "$target_variant" = "none"; then
619     aros_target_variant=""
620     aros_target_suffix=""
621 else
622     aros_target_variant="$target_variant"
623     aros_target_suffix="-$target_variant"
625 AC_MSG_RESULT($enableval)
627 target_bootloader="none"
629 #-----------------------------------------------------------------------------
630 # This is the target configuration switch.
631 case "$target_os" in
632     linux*)
633         aros_target_arch="linux"
634         case "$target_cpu" in
635             *m68k*)
636                 aros_target_cpu="m68k"
637                 aros_object_format="m68kelf"
638                 aros_flavour="emulcompat"
639                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -D__mc68000 -D__linux__"
640                 aros_shared_ldflags="-Wl,-T,\$(TOP)/config/linux/m68k/script.so"
641                 aros_kernel_ldflags="-Wl,-rpath,./lib,-T,\$(TOP)/config/linux/m68k/script.normal"
642                 gcc_target_cpu="mc68000"
643                 ;;
644             *i?86*)
645                 aros_target_cpu="i386"
646                 aros_object_format="elf_i386"
647                 aros_flavour="emulation"
648                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__linux__"
649                 aros_default_wbdepth=8
650                 gcc_target_cpu="i386"
651                 ;;
652             *x86_64*)
653                 aros_target_cpu="x86_64"
654                 aros_object_format="elf_x86_64"
655                 aros_flavour="emulation"
656                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dx86_64 -D__linux__"
657                 aros_config_cflags="$aros_config_cflags -mno-red-zone"
658                 aros_default_wbdepth=8
659                 gcc_target_cpu="x86_64"
660                 ;;
661             *powerpc*)
662                 aros_target_cpu="ppc"
663                 aros_object_format="elf32ppc"
664                 aros_flavour="emulation"
665                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc -D__linux__"
666                 aros_default_wbdepth=8
667                 gcc_target_cpu="ppc"
668                 ;;
669 # TODO
670 # Same as powerpc, but I need this for the nightly build to work again.
671 # Actually, the nightly should be made working with powerpc target.
672 # That just was too much work for the moment, another week or two.
673             *ppc*)
674                 aros_target_cpu="ppc"
675                 aros_object_format="elf32ppc"
676                 aros_flavour="emulation"
677                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc -D__linux__"
678                 aros_default_wbdepth=8
679                 gcc_target_cpu="ppc"
680                 ;;
681             *)
682                 AC_MSG_ERROR("Unknown CPU for Linux -- $target_cpu")
683                 ;;
684         esac
685     ;;
687     pc)
688         aros_target_arch="pc"
689         aros_shared_default="no"
690         target_bootloader="grub2"
691         case "$target_cpu" in
692             *i?86*)
693                 aros_target_cpu="i386"
695                 dnl If somebody hasn't already set the target object
696                 dnl format, then use this value. Mostly to support
697                 dnl FreeBSD cross-compilation.
698                 dnl TODO: Remove when we always use our compiler.
700                 if test "$aros_object_format" = "" ; then
701                     aros_object_format="elf_i386"
702                 fi
703                 aros_flavour="standalone"
704                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386"
705                 aros_kernel_ldflags=""
706                 aros_default_wbwidth=640
707                 aros_default_wbheight=480
708                 gcc_target_cpu="i386"
709                 ;;
710             *x86_64*)
711                 aros_target_cpu="x86_64"
712                 aros_serial_debug=1
713                 if test "$aros_object_format" = "" ; then
714                     aros_object_format="elf_x86_64"
715                 fi
716                 aros_flavour="standalone"
717                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dx86_64"
718                 aros_config_cflags="$aros_config_cflags -fno-asynchronous-unwind-tables -mno-red-zone"
719                 aros_kernel_ldflags=""
720                 aros_default_wbwidth=640
721                 aros_default_wbheight=480
722                 gcc_target_cpu="x86_64"
723                 ;;
724             *)
725                 AC_MSG_ERROR("Unknown native CPU -- $target_cpu")
726                 ;;
727         esac
728         ;;
730     prep)
731         aros_target_arch="prep"
732         aros_shared_default="no"
733         aros_target_cpu="ppc"
734         aros_object_format="elf32ppc"
735         aros_flavour="ppcnative"
736         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc"
737         aros_kernel_ldflags=""
738         aros_default_wbwidth=640
739         aros_default_wbheight=480
740         gcc_target_cpu="ppc"
741         ;;
743     freebsd*)
744         aros_target_arch="freebsd"
745         aros_target_cpu="i386"
746         aros_flavour="emulation"
747         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386"
748         gcc_target_cpu="i386"
750         aros_target_strip_flags="-x"
751         ;;
753     darwin*)
754         aros_target_arch="darwin"
755         aros_flavour="emulation"
756         case "$target_cpu" in
757                 *i?86*)
758                         aros_target_cpu="i386"
759                         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386"
760                         gcc_target_cpu="i386"
761                         aros_object_format="elf_i386"
762                         aros_target_strip_flags="-x"
763                         ;;
764                 *)
765                         AC_MSG_ERROR("Unsupported target CPU for darwin hosted flavour -- $target_cpu")
766                         ;;
767         esac
768         ;;
769     netbsd*)
770         aros_target_arch="netbsd"
771         case "$target_cpu" in
772             *m68k*)
773                 aros_target_cpu="m68k"
774                 aros_object_format="m68kelf"
775                 aros_flavour="emulcompat"
776                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -D__mc68000 -D__NetBSD__"
777                 gcc_target_cpu="mc68000"
778                 ;;
779             *i?86*)
780                 aros_target_cpu="i386"
781                 aros_object_format="elf_i386"
782                 aros_flavour="emulation"
783                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__NetBSD__"
784                 aros_default_wbdepth=8
785                 gcc_target_cpu="i386"
786                 ;;
787             *)
788                 AC_MSG_ERROR("Unknown CPU for NetBSD -- $target_cpu")
789                 ;;
790         esac
791         aros_target_genmap="-Wl,-M -Xlinker >"
792         aros_flavour="emulation"
793         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386"
794         ;;   
796     openbsd*)
797         aros_target_arch="openbsd"
798         case "$target_cpu" in
799             *i?86*)
800                 aros_target_cpu="i386"
801                 aros_object_format="elf_i386"
802                 aros_flavour="emulation"
803                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__OpenBSD__"
804                 gcc_target_cpu="i386"
805                 ;;
806             *)
807                 AC_MSG_ERROR("Unknown CPU for OpenBSD -- $target_cpu")
808                 ;;
809         esac
810         aros_target_genmap="-Wl,-M -Xlinker >"
811         aros_target_nm_flags="-u"
812         aros_flavour="emulation"
813         ;;
815     solaris*)
816         aros_target_arch="solaris"
817         case "$target_cpu" in
818            *i?86*)
819                aros_target_cpu="i386"
820                aros_object_format="elf_i386"
821                aros_flavour="emulation"
822                aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__Solaris__"
823                aros_default_wbdepth=8
824                gcc_target_cpu="i386"
825                ;;
826             *sparc*)
827                 aros_target_cpu="sparc"
828                 aros_object_format="elf_sparc"
829                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dsparc -D__Solaris__"
830                 gcc_target_cpu="sparc"
831                 ;;
832             *)
833                 AC_MSG_ERROR("Unknown CPU for Solaris -- $target_cpu")
834                 ;;
835         esac
836         aros_config_cflags="$aros_config_cflags -D$aros_target_cpu"
837         aros_flavour="emulation"
838         ;;
840     morphos*)
841         aros_target_arch="morphos"
842         aros_shared_default="no"
843         aros_target_cpu="ppc"
844         aros_object_format="elf_ppc"
845         aros_flavour="nativecompat"
846         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc"
847         gcc_target_cpu="ppc"
848         ;;
850     sam440)
851         aros_target_arch="sam440"
852         aros_shared_default="no"
853         aros_target_cpu="ppc"
854         aros_object_format="elf32ppc"
855         aros_flavour="ppcnative"
856         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc"
857         aros_kernel_ldflags=""
858         aros_default_wbwidth=640
859         aros_default_wbheight=480
860         aros_config_cflags="$aros_config_cflags -mcpu=440fp -mno-toc -fno-asynchronous-unwind-tables"
861         gcc_target_cpu="powerpc"
862         ;;
864     chrp)
865     aros_target_arch="chrp"
866     aros_shared_default="no"
867     aros_target_cpu="ppc"
868     aros_object_format="elf32ppc"
869     aros_flavour="ppcnative"
870     aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc"
871     aros_kernel_ldflags=""
872     aros_default_wbwidth=640
873     aros_default_wbheight=480
874     aros_config_cflags="$aros_config_cflags -mno-toc -fno-asynchronous-unwind-tables"    
875     gcc_target_cpu="powerpc"
876         case "$aros_target_variant" in
877             efika)
878             aros_config_cflags="$aros_config_cflags -mcpu=603e"
879             ;;
880         esac
881     ;;
883     amiga*)
884         aros_target_arch="amiga"
885         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -D_AMIGA -DAMIGA"
886         aros_shared_default="no"
888         aros_config_cflags="$aros_config_cflags -fomit-frame-pointer -fbuiltin -ffreestanding"
890         case "$target_cpu" in
891             *m68k*)
892                 aros_target_cpu="m68k"
893                 aros_object_format="m68kelf"
894                 aros_flavour="nativecompat"
895                 gcc_target_cpu="mc68000"
896                 ;;
897             *ppc*)
898                 aros_cpu="ppc"
899                 aros_flavour="native"
900                 gcc_target_cpu="ppc"
901                 ;;
902             *)
903                 AC_MSG_ERROR("Unknown CPU for Amiga $target_cpu")
904                 ;;
905         esac
906         ;;
908     cygwin*)
909         aros_target_arch="cygwin"
910         aros_shared_default="no"
911         case "$target_cpu" in
912             *i?86*)
913                 aros_target_cpu="i386"
914                 aros_object_format="elf_i386"
915                 aros_flavour="emulation"
916                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__CYGWIN32__"
917                 aros_shared_cflags=""
918                 aros_default_wbdepth=8
919                 gcc_target_cpu="i386"
920                 aros_target_cc="i386-aros-gcc"
921                 aros_target_ld="i386-aros-ld"
922                 aros_target_as="i386-aros-as"
923                 aros_target_ar="i386-aros-ar"
924                 aros_target_ranlib="i386-aros-ranlib"
925                 aros_target_nm="i386-aros-nm"
926                 aros_target_strip="i386-aros-strip"
927                 aros_target_objcopy="i386-aros-objcopy"
928                 aros_target_objdump="i386-aros-objdump"
929                 ;;
930             *)
931                 AC_MSG_ERROR("Unknown CPU for CygWin -- $target_cpu")
932                 ;;
933         esac
934     ;;
936     mingw32*)
937         aros_target_arch="mingw32"
938         aros_shared_default="no"
939         case "$target_cpu" in
940             *i?86*)
941                 aros_target_cpu="i386"
942                 aros_object_format="elf_i386"
943                 aros_flavour="emulation"
944                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386"
945                 aros_shared_cflags=""
946                 aros_default_wbdepth=8
947                 gcc_target_cpu="i386"
948                 aros_target_cc="i386-aros-gcc"
949                 aros_target_ld="i386-aros-ld"
950                 aros_target_as="i386-aros-as"
951                 aros_target_ar="i386-aros-ar"
952                 aros_target_ranlib="i386-aros-ranlib"
953                 aros_target_nm="i386-aros-nm"
954                 aros_target_strip="i386-aros-strip"
955                 aros_target_objcopy="i386-aros-objcopy"
956                 aros_target_objdump="i386-aros-objdump"
957                 ;;
958             *)
959                 AC_MSG_ERROR("Unknown CPU for Mingw32 -- $target_cpu")
960                 ;;
961         esac
962         if test $host_os = "cygwin"; then
963                 aros_kernel_cflags="-mno-cygwin"
964         fi
965     ;;
966     pp*)
967         aros_target_arch="pp"
968         aros_shared_default="no"
969         case "$target_cpu" in
970             *m68k*)
971                 aros_target_cpu="m68k"
972                 aros_object_format="m68kelf"
973                 aros_flavour="palmnative"
974                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dm68k"
975                 aros_kernel_ldflags=""
976                 aros_default_wbwidth=160
977                 aros_default_wbheight=160
978                 aros_default_wbdepth=1
979                 aros_target_ar_flags="cru"
980                 aros_compiler_libs="-lgcc1"
981                 aros_shared_default=no
982                 aros_shared_cflags="-fpic"
983                 aros_shared_aflags=""
984                 aros_shared_ldflags="-Wl,-rpath,./lib -shared"
985                 aros_kernel_ldflags="-Wl,-rpath,./lib"
986                 aros_debug_cflags="-Wall -Werror-implicit-function-declaration $aros_symbols_debug  $aros_messages_debug -mc68000 -Wa,-mc68000"
987                 aros_debug_aflags=""
988                 aros_debug_ldflags="$aros_symbols_debug"
989                 aros_mungwall_debug="0"
990                 aros_modules_debug="0"
991                 gcc_target_cpu="mc68000"
992                 ignore_undefined_symbols="-ius"
993                 ;;
994            *)
995                 AC_MSG_ERROR("Unknown CPU for PalmPilot -- $target_cpu")
996                 ;;
997         esac
998         ;;
1000     mac*)
1001         aros_target_arch="mac"
1002         aros_shared_default="no"
1003         case "$target_cpu" in
1004             *m68k*)
1005                 aros_target_cpu="m68k"
1006                 aros_object_format="m68kelf"
1007                 aros_flavour="mac68knative"
1008                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dm68k"
1009                 aros_default_wbwidth=512
1010                 aros_default_wbheight=384
1011                 aros_default_wbdepth=8
1012                 aros_target_ar_flags="cru"
1013                 aros_compiler_libs="-lgcc1"
1014                 aros_shared_default=no
1015                 aros_shared_cflags="-fpic"
1016                 aros_shared_aflags=""
1017                 aros_shared_ldflags="-Wl,-rpath,./lib -shared"
1018                 aros_kernel_ldflags="-Wl,-rpath,./lib"
1019                 aros_debug_cflags="-Wall -Werror-implicit-function-declaration $aros_symbols_debug  $aros_messages_debug -mc68000"
1020                 aros_debug_aflags=""
1021                 aros_debug_ldflags="$aros_symbols_debug"
1022                 aros_mungwall_debug="0"
1023                 aros_modules_debug="0"
1024                 gcc_target_cpu="mc68000"
1025                 ignore_undefined_symbols="-ius"
1026                 ;;
1027            *)
1028                 AC_MSG_ERROR("Unknown CPU for Mac68k -- $target_cpu")
1029                 ;;
1030         esac
1031         ;;
1033     *)
1034         AC_MSG_ERROR([Unsupported target architecture $target])
1035         ;;
1036 esac
1038 AC_MSG_CHECKING([Where to download sourcecode for external ports])
1039 AC_ARG_WITH(portssources,AC_HELP_STRING([--with-portssources=DIR],[Where to download sourcecode for external ports]),with_portssrcdir=$withval,with_portssrcdir="default")
1040 if test "$with_portssrcdir" = "default"; then
1041     AROS_PORTSSRCDIR="$AROS_BUILDDIR/bin/Sources"
1042 else
1043     AROS_PORTSSRCDIR="$with_portssrcdir"
1045 AC_MSG_RESULT($AROS_PORTSSRCDIR)
1047 AC_MSG_CHECKING([which bootloader to use])
1048 AC_ARG_WITH(bootloader,AC_HELP_STRING([--with-bootloader=NAME],[Use a specific bootloader]),target_bootloader=$withval,target_bootloader=$target_bootloader)
1049 if test "$target_bootloader" = "none"; then
1050     aros_target_bootloader=""
1051 else
1052     aros_target_bootloader="$target_bootloader"
1054 AC_MSG_RESULT($target_bootloader)
1056 # Check LZO when compiling the grub2 bootloader on i386/x86_64.
1057 aros_liblzo_check="no"
1058 case "$aros_target_bootloader" in
1059     grub2*)
1060     case "$target_cpu" in
1061         *i?86*)
1062         aros_liblzo_check="yes"
1063         ;;
1064         *x86_64*)
1065         aros_liblzo_check="yes"  
1066         ;;
1067         *)
1068         ;;
1069     esac
1070   
1071     ;;
1072    *)
1073     ;;
1074 esac
1076 if test "$aros_liblzo_check" = "yes"; then
1077     # There are three possibilities. LZO version 2 installed with the name
1078     # liblzo2, with the name liblzo, and LZO version 1.  
1079     AC_CHECK_LIB(lzo2, __lzo_init_v2, [LIBLZO="-llzo2"],  
1080     AC_CHECK_LIB(lzo, __lzo_init_v2, [LIBLZO="-llzo"],
1081                 AC_CHECK_LIB(lzo, __lzo_init2, [LIBLZO="-llzo"],
1082                 AC_MSG_ERROR([LZO library version 1.02 or later is required]))))
1084     AC_SUBST(LIBLZO)
1085     LIBS="$LIBS $LIBLZO"
1086     AC_CHECK_FUNC(lzo1x_999_compress, ,
1087                 [AC_MSG_ERROR([LZO1X-999 must be enabled])])
1089     # LZO version 2 uses lzo/lzo1x.h, while LZO version 1 uses lzo1x.h.
1090     AC_CHECK_HEADERS(lzo/lzo1x.h lzo1x.h)
1093 AC_MSG_CHECKING([which GUI Theme to use])
1094 AC_ARG_WITH(theme,AC_HELP_STRING([--with-theme=NAME],[Use a specific GUI Theme]),target_guitheme=$withval,target_guitheme="default")
1095 if test "$target_guitheme" = "default"; then
1096     aros_target_guitheme="Ice"
1097 else
1098     aros_target_guitheme="$target_guitheme"
1100 AC_MSG_RESULT($aros_target_guitheme)
1102 # Find out if we are cross-compiling (ie. if we can't use the host compiler
1103 # for target code)
1104 cross_compiling=no
1105 if test "$aros_host_cpu" != "$aros_target_cpu" ; then
1106     cross_compiling=yes
1108 if test "$aros_host_arch" == "darwin" ; then
1109     cross_compiling=yes
1112 # Set prefix for target compiler etc. if we're cross-compiling
1113 # (should possibly be earlier but needs to be after AC_PROG_CC)
1114 if test "$cross_compiling" = "yes" ; then
1115     target_tool_prefix=${target_cpu}-elf-
1116     CC=${target_tool_prefix}gcc
1119 # Find all the tools we need to compile. This could be cross-compiling
1120 # though! If that is the case we use the GNU form of the target and
1121 # simply add this to the front of the binary name. This is rather simple,
1122 # but it should work under most circumstances.
1124 # The default tools are to use the same as the host, but only if the
1125 # host and target CPU are the same. With GCC this is normally enough.
1128 aros_cc_pre=""
1129 aros_shared_ld="$aros_host_ld"
1131 aros_target_mkdep="$aros_host_mkdep"
1132 aros_target_incl_def="$aros_host_incl"
1134 AC_PATH_PROG(aros_kernel_cc,$CC)
1136 # The default tools executables to be linked to.
1137 if test "$aros_target_cc" != ""; then
1138     AC_PATH_PROG(aros_target_cc,$aros_target_cc)
1139     AROS_REQUIRED(gcc,$aros_target_cc)
1141 if test "$aros_target_ld" != ""; then
1142     AC_PATH_PROG(aros_target_ld,$aros_target_ld)
1143     AROS_REQUIRED(ld,$aros_target_ld)
1146 if test "$crosstools" != "yes"; then
1147     AROS_TOOL_TARGET(aros_target_as_ln,as,$aros_target_as)
1148     AROS_REQUIRED(as,$aros_target_as_ln)
1149     AROS_TOOL_TARGET(aros_kernel_ld,ld,$aros_kernel_ld)
1150     AROS_REQUIRED(ld,$aros_kernel_ld)
1151     AROS_TOOL_TARGET(aros_target_ar_ln,ar,$aros_target_ar)
1152     AROS_REQUIRED(ar,$aros_target_ar_ln)
1153     AROS_TOOL_TARGET(aros_target_nm_ln,nm,$aros_target_nm)
1154     AROS_REQUIRED(nm,$aros_target_nm_ln)
1155     AROS_TOOL_TARGET(aros_target_objcopy_ln,objcopy,$aros_target_objcopy)
1156     AROS_REQUIRED(objcopy,$aros_target_objcopy_ln)
1157     AROS_TOOL_TARGET(aros_target_objdump_ln,objdump,$aros_target_objdump)
1158     AROS_REQUIRED(objdump,$aros_target_objdump_ln)
1159     AROS_TOOL_TARGET(aros_target_ranlib_ln,ranlib,$aros_target_ranlib)
1160     AROS_REQUIRED(ranlib,$aros_target_ranlib_ln)
1161     AROS_TOOL_TARGET(aros_target_strip_ln,strip,$aros_target_strip)
1162     AROS_REQUIRED(strip,$aros_target_strip_ln)
1165 aros_hostcfg_dir="bin/${aros_host_arch}-${aros_host_cpu}/gen/config"
1166 aros_targetcfg_dir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/gen/config"
1167 aros_inc_dir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/AROS/Development/include/aros"
1168 aros_gendir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/gen"
1169 aros_geninc_dir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/gen/include/aros"
1170 aros_tools_dir="bin/${aros_host_arch}-${aros_host_cpu}/tools"
1171 aros_scripts_dir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/gen/scripts"
1173 # aros_cc_pre is a variable that is added to the front of the compiler name
1174 # in the generated aros-gcc shell script. We need this to enable the cache
1175 # to work across cleaned builds. Also, support DISTCC using the correct
1176 # environment variable.
1179 if test "x${DISTCC}" != "x" ; then
1180     if test "x${CCACHE}" != "x" ; then
1181         aros_cc_pre="env CCACHE_PREFIX=${DISTCC} ${CCACHE} "
1182     else
1183         aros_cc_pre="${DISTCC} "
1184     fi
1185 else
1186     if test "x${CCACHE}" != "x" ; then
1187         aros_cc_pre="${CCACHE} "
1188     fi
1191 prefix="${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros"
1193 AC_SUBST(aros_target_nostdinc_cflags,-nostdinc)
1194 AC_SUBST(aros_target_nostartup_ldflags,-nostartfiles)
1195 AC_SUBST(aros_target_nix_ldflags,-nix)
1196 AC_SUBST(aros_target_detach_ldflags,-detach)
1197 AC_SUBST(aros_target_nostdlib_ldflags,-nostdlib)
1199 # Target tools
1200 if test "$aros_target_cc" = ""; then
1201     orig_target_cc=$aros_kernel_cc
1202 else
1203     orig_target_cc=$aros_target_cc
1205 if test "$aros_target_ld" = ""; then
1206     orig_target_ld=$aros_kernel_ld
1207 else
1208     orig_target_ld=$aros_target_ld
1210 if test "$GCC" = "yes"; then
1211     aros_target_cc_path=`$orig_target_cc -print-search-dirs | grep "programs: =" | cut -c 12-`
1213 aros_target_cc="${prefix}-gcc"
1214 aros_target_as="${prefix}-as"
1215 aros_target_ld="${prefix}-ld"
1216 aros_target_ar="${prefix}-ar $aros_target_ar_flags"
1217 aros_target_objcopy=${prefix}-objcopy
1218 aros_target_objdump=${prefix}-objdump
1219 aros_target_ranlib="${prefix}-ranlib $aros_target_ranlib_flags"
1220 aros_target_nm="${prefix}-nm $aros_target_nm_flags"
1221 aros_kernel_nm="${prefix}-nm"
1222 aros_target_strip=${prefix}-strip
1224 # Find the system include path. We can suggest that an alternative is
1225 # used if we don't get it correct. The default is to use /usr/include.
1226 # Which is set in the aros_target_incl_def variable.
1228 AC_ARG_ENABLE(includes,
1229 AC_HELP_STRING([--enable-includes=dir],[Alternative system include directory]),
1230 [aros_target_incl=$enable_includes], [aros_target_incl=$aros_target_incl_def])
1232 dnl find out about the target cc's include path
1233 AC_MSG_CHECKING([for the target compiler's include path])
1234 if test "$aros_target_cc_includes" = "" ; then
1235     #try to guess where the directory is
1236     aros_target_cc_includes=`dirname \`${aros_kernel_cc} -print-libgcc-file-name\``/include
1237     if ! test -d $aros_target_cc_includes; then
1238         #the directory doesn't exist, we need to do some more work
1239         aros_target_cc_includes=${PWD}/${aros_gendir}/cc_include
1240         
1241         #these are the headers we're looling for
1242         headers="limits.h mmintrin.h stdbool.h syslimits.h float.h \
1243                  stddef.h xmmintrin.h iso646.h stdarg.h unwind.h   \
1244                  zutil.h"
1246         dirs=
1247         for h in $headers; do
1248             #which other headers each of the above headers needs?
1249             deps=$(echo "#include <$h>" | \
1250                    $aros_host_cc -E -M - 2>/dev/null | \
1251                    sed 's/^.*://; s/\\$/ /g; s/[[ \t]]\+/ /g')
1252             
1253             #copy all the needed headers to a directory beneath gendir
1254             for d in $deps; do
1255                 h=$(basename $d)
1256                 dir=${aros_target_cc_includes}$(echo $(dirname $d) | \
1257                                                 sed -n "s,^.*/include\(/.*\),\1,p")
1258                 ! test -d $dir && mkdir -p $dir
1259                 ! test -f $dir/$h && { cp $d $dir; chmod u+w $dir/$h; }
1260             done
1261         done        
1262     fi
1264 AC_MSG_RESULT($aros_target_cc_includes)
1267 # For GCC < 4.0 -I- is used for giving the search path for '#include "..."'
1268 # On GCC >= 4.0 -iquote should be used
1271 save_cc="$CC"
1272 save_cflags="$CFLAGS"
1273 CC="$aros_kernel_cc"
1274 CFLAGS="-iquote."
1275 AC_MSG_CHECKING([whether ${CC} accepts -iquote])
1276 AC_TRY_COMPILE(,, has_iquote="yes", has_iquote="no")
1277 AC_MSG_RESULT($has_iquote)
1278 if test "x-$has_iquote" = "x-yes" ; then
1279     aros_cflags_iquote=-iquote
1280     aros_cflags_iquote_end=
1281 else
1282     aros_cflags_iquote=-I
1283     aros_cflags_iquote_end=-I-
1285 CC="$save_cc"
1286 CFLAGS="$save_cflags"
1288 AC_SUBST(aros_cflags_iquote)
1289 AC_SUBST(aros_cflags_iquote_end)
1292 dnl Check if user specified --with-resolution=XRESxYRESxDEPTH
1293 AC_MSG_CHECKING([for default resolution of WBScreen])
1294 AC_ARG_WITH(resolution,AC_HELP_STRING([--with-resolution=XRESxYRESxDEPTH],[Default resolution of the initial WorkbenchScreen]),resolution=$withval,resolution=none)
1295 # We require an argument, so map --with/--without ("yes"/"no") to "none" specified
1296 if test "$resolution" = "yes" ; then
1297     resolution="none"
1299 if test "$resolution" = "no" ; then
1300     resolution="none"
1302 if test "$resolution" != "none" ; then
1303     aros_default_wbwidth=`echo $resolution | cut -d'x' -f1`
1304     aros_default_wbheight=`echo $resolution | cut -d'x' -f2`
1305     aros_default_wbdepth=`echo $resolution | cut -d'x' -f3`
1307 AC_MSG_RESULT($aros_default_wbwidth x $aros_default_wbheight x $aros_default_wbdepth)
1308 aros_cv_default_wbwidth=$aros_default_wbwidth
1309 aros_cv_default_wbheight=$aros_default_wbheight
1310 aros_cv_default_wbdepth=$aros_default_wbdepth
1312 dnl See if the user wants the BOCHS hack for native flavour
1313 AC_MSG_CHECKING([if bochs hack is enabled])
1314 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")
1315 if test "$bochs_hack" = "yes" ; then
1316     aros_bochs_hack="1"
1318 AC_MSG_RESULT($bochs_hack)
1320 dnl See if the user wants the serial debug output for native flavour
1321 AC_MSG_CHECKING([if serial debug is enabled])
1322 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)
1323 if test "$aros_serial_debug" = 0 ; then
1324     serial_debug_forced=""
1325     if test "$serial_debug" = "yes" ; then
1326         serial_debug="2"
1327     fi
1328     if test "$serial_debug" = "no" ; then
1329         serial_debug="none"
1330     fi
1331 else
1332     serial_debug_forced="(forced)"
1333     serial_debug=$aros_serial_debug
1335 if test "$serial_debug" != "none" ; then
1336     aros_serial_debug=$serial_debug
1337     AC_MSG_RESULT($serial_debug_forced on port $serial_debug)
1338 else
1339     AC_MSG_RESULT(no)
1342 dnl See if the user wants the palm debug output hack for palm native flavour
1343 AC_MSG_CHECKING([if palm debug hack is enabled])
1344 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")
1345 if test "$palm_debug_hack" = "yes" ; then
1346     aros_palm_debug_hack="1"
1348 AC_MSG_RESULT($palm_debug_hack)
1351 dnl See if the user wants nesting supervisor activated for unix flavour
1352 AC_MSG_CHECKING([if nesting supervisor support is enabled])
1353 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")
1354 if test "$nesting_supervisor" = "yes" ; then
1355     aros_nesting_supervisor="1"
1357 AC_MSG_RESULT($nesting_supervisor)
1360 dnl things specifically required for hosted flavours
1361 if test "x-$aros_flavour" = "x-emulation" -o "x-$aros_flavour" = "x-emulcompat" ; then
1363     if test "x-$aros_host_arch" != "x-darwin" ; then
1364       dnl some kind of dynamic library access system is required for hostlib.resource
1365       AC_CHECK_FUNC(dlopen, have_dl="yes", have_dl="no")
1366       if test "x-$have_dl" = "x-no" ; then
1367           AC_CHECK_LIB(dl, dlopen, [have_dl="yes"
1368                                     aros_host_ldflags="$aros_host_ldflags -ldl"],
1369                                     have_dl="no")
1370       fi
1371       if test "x-$have_dl" = "x-no" ; then
1372           AC_MSG_ERROR([dlopen() dynamic linker functions not available])
1373       fi
1374     fi
1377     dnl x11 hidd
1378     AC_ARG_ENABLE(x11_hidd, AC_HELP_STRING([--enable-x11-hidd],
1379                                            [build X11 hidd for hosted (default=auto)]),
1380                                            x11_hidd="$enableval",
1381                                            x11_hidd="auto")
1382     case "x-$x11_hidd" in
1383         x-yes|x-no|x-auto)                 ;;
1384         *)                 x11_hidd="auto" ;;
1385     esac
1387     dnl they want it
1388     if test "x-$x11_hidd" != "x-no" ; then
1390         dnl find x11 stuff
1391         AC_PATH_X
1393         x_cflags=
1394         for path in $x_libraries
1395         do
1396             x_cflags="$x_cflags -L$path"
1397         done
1399         for path in $x_includes
1400         do
1401             x_cflags="$x_cflags -I$path"
1402         done
1403         
1404         if test "x-$no_x" = "x-yes" ; then
1406             dnl didn't find it
1407             if test "x-$x11_hidd" != "x-auto" ; then
1408                 dnl and they explicitly asked for it, bail out
1409                 AC_MSG_ERROR([X11 libs/headers not found, cannot build X11 hidd as requested])
1410             fi
1411         
1412         else
1413             dnl found it, setup the metatarget
1414             x11_hidd_target=kernel-x11gfx
1417             dnl setup shared memory extensions
1418             AC_ARG_ENABLE(x11_shm, AC_HELP_STRING([--enable-x11-shm],
1419                                                   [use X11 shared memory (default=auto)]),
1420                                                   x11_hidd_shm="$enableval",
1421                                                   x11_hidd_shm="auto")
1422             case "x-$x11_hidd_shm" in
1423                 x-yes|x-no|x-auto)                     ;;
1424                 *)                 x11_hidd_shm="auto" ;;
1425             esac
1427             have_xshm=no
1429             dnl they want it
1430             if test "x-$x11_hidd_shm" != "x-no" ; then
1432                 dnl system shm headers
1433                 AC_CHECK_HEADERS(sys/ipc.h)
1434                 AC_CHECK_HEADERS(sys/shm.h)
1436                 dnl got them
1437                 if test "x-$ac_cv_header_sys_ipc_h" = "x-yes" -a "x-$ac_cv_header_sys_shm_h" = "x-yes" ; then
1439                     dnl make sure X libs have shm functions
1440                     save_cflags="$CFLAGS"
1441                     CFLAGS="$CFLAGS $x_cflags"
1442                     AC_CHECK_LIB(Xext, XShmQueryExtension, have_xshm=yes)
1443                     CFLAGS="$save_cflags"
1444                 fi
1445             fi
1447             dnl detection done, prepare output
1448             if test "x-$have_xshm" = "x-yes" ; then
1449                 dnl we can do shm
1450                 DO_XSHM_SUPPORT="1"
1451             elif test "x-$x11_hidd_shm" = "x-yes" ; then
1452                 dnl they explicitly asked for it, but we can't do it
1453                 AC_MSG_ERROR([X11 has no support for shared memory, cannot enable it as requested])
1454             else
1455                 dnl otherwise just disable it
1456                 DO_XSHM_SUPPORT="0"
1457             fi
1459             
1460             dnl setup vidmode (fullscreen) extensions
1461             AC_ARG_ENABLE(x11_vidmode, AC_HELP_STRING([--enable-x11-vidmode],
1462                                                       [use X11 vidmode extension (default=auto)]),
1463                                                       x11_hidd_vidmode="$enableval",
1464                                                       x11_hidd_vidmode="auto")
1465             case "x-$x11_hidd_vidmode" in
1466                 x-yes|x-no|x-auto)                         ;;
1467                 *)                 x11_hidd_vidmode="auto" ;;
1468             esac
1470             have_vidmode=no
1472             dnl they want it
1473             if test "x-$x11_hidd_vidmode" != "x-no" ; then
1475                 dnl make sure X libs have vidmode functions
1476                 save_cflags="$CFLAGS"
1477                 CFLAGS="$CFLAGS $x_cflags"
1478                 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension, have_vidmode=yes)
1479                 CFLAGS="$save_cflags"
1480             fi
1482             dnl detection done, prepare output
1483             if test "x-$have_vidmode" = "x-yes" ; then
1484                 dnl we can do vidmode
1485                 DO_VIDMODE_SUPPORT="1"
1486             elif test "x-$x11_hidd_vidmode" = "x-yes" ; then
1487                 dnl they explicitly asked for it, but we can't do it
1488                 AC_MSG_ERROR([X11 vidmode extension not available, cannot enable it as requested])
1489             else
1490                 dnl otherwise just disable it
1491                 DO_VIDMODE_SUPPORT="0"
1492             fi
1493         fi
1495         aros_host_x11_includes=$x_includes 
1496         aros_host_x11_libdirs=$x_libraries
1497     fi
1500     dnl sdl hidd
1501     AC_ARG_ENABLE(sdl_hidd, AC_HELP_STRING([--enable-sdl-hidd],
1502                                            [build SDL hidd for hosted (default=auto)]),
1503                                            sdl_hidd="$enableval",
1504                                            sdl_hidd="auto")
1505     case "x-$sdl_hidd" in
1506         x-yes|x-no|x-auto)                 ;;
1507         *)                 sdl_hidd="auto" ;;
1508     esac
1510     dnl they want it
1511     if test "x-$sdl_hidd" != "x-no" ; then
1513         dnl find sdl
1514         AM_PATH_SDL([1.2.10], have_sdl="yes", have_sdl="no")
1516         if test "x-$have_sdl" != "x-yes" ; then
1518             dnl didn't find it
1519             if test "x-$sdl_hidd" != "x-auto" ; then
1520                 dnl and they explicitly asked for it, bail out
1521                 AC_MSG_ERROR([SDL libs/headers not found, cannot build SDL hidd as requested])
1522             fi
1524         else
1525             dnl found it, setup the metatarget
1526             sdl_hidd_target=kernel-hidd-sdl
1527             aros_host_sdl_cflags=SDL_CFLAGS
1528             aros_host_sdl_libs=SDL_LIBS
1529         fi
1530     fi
1535 dnl See if the user wants dbus.library
1536 AC_MSG_CHECKING([if building of dbus.library is enabled])
1537 AC_ARG_ENABLE(dbus,AC_HELP_STRING([--enable-dbus],[Enable DBUS support via dbus.library (default=no)]),dbus="yes",dbus="no")
1538 if test "$dbus" = "yes" ; then
1539     ENABLE_DBUS=1
1540     DBUS_CFLAGS=`pkg-config --cflags dbus-1`
1541     DBUS_LIBFLAGS=`pkg-config --libs dbus-1`
1542     KERNEL_DBUS_KOBJ=kernel-dbus-kobj
1543     KERNEL_DBUS_INCLUDES=kernel-dbus-includes
1544 else
1545     ENABLE_DBUS=0
1547 AC_MSG_RESULT($dbus)
1550 dnl --------------------------------------------------------------------
1551 dnl Configuration Output Section
1552 dnl --------------------------------------------------------------------
1554 # Generic
1555 AC_SUBST(aros_arch)
1556 AC_SUBST(aros_cpu)
1557 AC_SUBST(aros_flavour)
1558 AC_SUBST(aros_flavour_uc)
1559 AC_SUBST(AROS_BUILDDIR)
1560 AC_SUBST(SRCDIR)
1561 AC_SUBST(AROS_PORTSSRCDIR)
1563 # Host related
1564 AC_SUBST(aros_cc_pre)
1565 AC_SUBST(aros_host_strip)
1566 AC_SUBST(aros_host_arch)
1567 AC_SUBST(aros_host_cpu)
1568 AC_SUBST(aros_host_cc)
1569 AC_SUBST(aros_host_ar)
1570 AC_SUBST(aros_host_ranlib)
1571 AC_SUBST(aros_host_ld)
1572 AC_SUBST(aros_host_make)
1573 AC_SUBST(aros_host_cflags)
1574 AC_SUBST(aros_host_ldflags)
1575 AC_SUBST(aros_host_debug)
1576 AC_SUBST(aros_host_mkdep)
1577 AC_SUBST(aros_host_mkargs)
1578 AC_SUBST(aros_host_exe_suffix)
1579 AC_SUBST(aros_host_lib_suffix)
1580 AC_SUBST(aros_tools_dir)
1581 AC_SUBST(aros_host_aclocal)
1582 AC_SUBST(aros_host_autoconf)
1583 AC_SUBST(aros_host_autoheader)
1584 AC_SUBST(aros_host_automake)
1586 # Target Related
1587 AC_SUBST(aros_target_guitheme)
1588 AC_SUBST(aros_target_bootloader)
1589 AC_SUBST(aros_target_arch)
1590 AC_SUBST(aros_target_cpu)
1591 AC_SUBST(aros_target_variant)
1592 AC_SUBST(aros_target_suffix)
1593 AC_SUBST(aros_target_incl)
1594 AC_SUBST(aros_target_ar)
1595 AC_SUBST(aros_target_ranlib)
1596 AC_SUBST(aros_kernel_nm)
1597 AC_SUBST(orig_target_cc)
1598 AC_SUBST(aros_target_cc)
1599 AC_SUBST(aros_kernel_cc)
1600 AC_SUBST(aros_target_as)
1601 AC_SUBST(orig_target_ld)
1602 AC_SUBST(aros_target_ld)
1603 AC_SUBST(aros_kernel_ld)
1604 AC_SUBST(aros_target_cc_includes)
1605 AC_SUBST(aros_target_cc_path)
1606 AC_SUBST(aros_target_objdump)
1607 AC_SUBST(aros_target_objcopy)
1608 AC_SUBST(aros_target_strip)
1609 AC_SUBST(aros_target_nm)
1610 AC_SUBST(aros_shared_default)
1611 AC_SUBST(aros_shared_ld)
1612 AC_SUBST(aros_object_format)
1613 AC_SUBST(aros_compiler_libs)
1615 AC_SUBST(aros_config_cflags)
1616 AC_SUBST(aros_config_aflags)
1617 AC_SUBST(aros_config_ldflags)
1619 AC_SUBST(aros_shared_cflags)
1620 AC_SUBST(aros_shared_aflags)
1621 AC_SUBST(aros_shared_ldflags)
1622 AC_SUBST(aros_kernel_cflags)
1623 AC_SUBST(aros_kernel_ldflags)
1624 AC_SUBST(aros_debug_cflags)
1625 AC_SUBST(aros_debug_aflags)
1626 AC_SUBST(aros_debug_ldflags)
1627 AC_SUBST(aros_target_genmap)
1628 AC_SUBST(aros_target_strip_flags)
1630 # Graphics Related
1631 AC_SUBST(x11_hidd_target)
1632 AC_SUBST(sdl_hidd_target)
1634 AC_SUBST(aros_default_wbwidth)
1635 AC_SUBST(aros_default_wbheight)
1636 AC_SUBST(aros_default_wbdepth)
1637 AC_SUBST(DO_XSHM_SUPPORT)
1638 AC_SUBST(DO_VIDMODE_SUPPORT)
1640 AC_SUBST(aros_host_x11_includes)
1641 AC_SUBST(aros_host_x11_libdirs)
1642 AC_SUBST(aros_host_sdl_cflags)
1643 AC_SUBST(aros_host_sdl_libs)
1645 # Native version related
1646 AC_SUBST(aros_bochs_hack)
1647 AC_SUBST(aros_serial_debug)
1649 # Palm native version related
1650 AC_SUBST(aros_palm_debug_hack)
1652 # Unix/Hosted version related
1653 AC_SUBST(aros_nesting_supervisor)
1655 # DBUS related
1656 AC_SUBST(ENABLE_DBUS)
1657 AC_SUBST(DBUS_CFLAGS)
1658 AC_SUBST(DBUS_LIBFLAGS)
1659 AC_SUBST(KERNEL_DBUS_KOBJ)
1660 AC_SUBST(KERNEL_DBUS_INCLUDES)
1662 # Debug related
1663 AC_SUBST(aros_debug)
1664 AC_SUBST(aros_mungwall_debug)
1665 AC_SUBST(aros_stack_debug)
1666 AC_SUBST(aros_modules_debug)
1668 # Collect-aros stuff: "-ius" to ignore undefined symbols
1669 AC_SUBST(ignore_undefined_symbols)
1671 # C compiler related
1672 AC_SUBST(gcc_target_cpu)
1674 dnl Prepare for output, make up all the generated patches
1675 case "$aros_flavour" in
1676 emulation)      aros_flavour_uc="AROS_FLAVOUR_EMULATION"
1677                 aros_flavour="emulation" ;;
1678 emulcompat)     aros_flavour_uc="(AROS_FLAVOUR_EMULATION|AROS_FLAVOUR_BINCOMPAT)"
1679                 aros_flavour="emulation" ;;
1680 standalone)     aros_flavour_uc="AROS_FLAVOUR_STANDALONE"
1681                 aros_flavour="standalone";;
1682 native)         aros_flavour_uc="AROS_FLAVOUR_NATIVE"
1683                 aros_flavour="native" ;;
1684 nativecompat)   aros_flavour_uc="(AROS_FLAVOUR_NATIVE|AROS_FLAVOUR_BINCOMPAT)"
1685                 aros_flavour="native" ;;
1686 linklib)        aros_flavour_uc="AROS_FLAVOUR_LINKLIB"
1687                 aros_flavour="linklib" ;;
1688 palmnative)     aros_flavour_uc="(AROS_FLAVOUR_STANDALONE|AROS_FLAVOUR_EMULATION)"
1689                 aros_flavour="palmnative" ;;
1690 mac68knative)   aros_flavour_uc="(AROS_FLAVOUR_STANDALONE|AROS_FLAVOUR_EMULATION)"
1691                 aros_flavour="mac68knative" ;;
1692 ppcnative)      aros_flavour_uc="(AROS_FLAVOUR_STANDALONE|AROS_FLAVOUR_BINCOMPAT)"
1693                 aros_flavour="ppcnative" ;;
1694 esac
1696 if test ! -d ${aros_inc_dir} ; then
1697     ${MKDIR} ${aros_inc_dir}
1699 if test ! -d ${aros_geninc_dir} ; then
1700     ${MKDIR} ${aros_geninc_dir}
1702 if test ! -d ${aros_hostcfg_dir} ; then
1703     ${MKDIR} ${aros_hostcfg_dir}
1705 if test ! -d ${aros_targetcfg_dir} ; then
1706     ${MKDIR} ${aros_targetcfg_dir}
1708 if test ! -d ${aros_tools_dir} ; then
1709     ${MKDIR} ${aros_tools_dir}
1711 if test ! -d ${aros_scripts_dir} ; then
1712     ${MKDIR} ${aros_scripts_dir}
1715 AC_CONFIG_HEADERS(${aros_geninc_dir}/host-conf.h:config/host-conf.h.in)
1717 AC_CONFIG_COMMANDS([compiler_executable],
1718     [
1719         prefix=${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}
1720         mkdir -p $prefix
1721         prefix="${prefix}/${aros_target_cpu}-aros"
1722         prefix2=${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros
1724         echo ${prefix}
1725         echo ${prefix2}
1726         chmod a+x ${prefix2}-gcc ${prefix2}-ld
1728         ln -sf ${prefix2}-gcc          ${prefix}-gcc
1729         ln -sf ${prefix2}-ld           ${prefix}-ld
1731         ln -sf $aros_target_as_ln      ${prefix}-as
1732         ln -sf $aros_target_nm_ln      ${prefix}-nm
1733         ln -sf $aros_target_ar_ln      ${prefix}-ar
1734         ln -sf $aros_target_ranlib_ln  ${prefix}-ranlib
1735         ln -sf $aros_target_objcopy_ln ${prefix}-objcopy
1736         ln -sf $aros_target_objdump_ln ${prefix}-objdump
1737         ln -sf $aros_target_strip_ln   ${prefix}-strip
1739         ln -sf $aros_target_as_ln      ${prefix2}-as
1740         ln -sf $aros_target_nm_ln      ${prefix2}-nm
1741         ln -sf $aros_target_ar_ln      ${prefix2}-ar
1742         ln -sf $aros_target_ranlib_ln  ${prefix2}-ranlib
1743         ln -sf $aros_target_objcopy_ln ${prefix2}-objcopy
1744         ln -sf $aros_target_objdump_ln ${prefix2}-objdump
1745         ln -sf $aros_target_strip_ln   ${prefix2}-strip
1746     ],
1747     [
1748         aros_tools_dir=${aros_tools_dir}
1749         aros_target_cpu=${aros_target_cpu}
1750         aros_target_arch=${aros_target_arch}
1751         aros_target_suffix=${aros_target_suffix}
1752         aros_target_nm_ln=${aros_target_nm_ln}
1753         aros_target_as_ln=${aros_target_as_ln}
1754         aros_target_ar_ln=${aros_target_ar_ln}
1755         aros_target_ranlib_ln=${aros_target_ranlib_ln}
1756         aros_target_objdump_ln=${aros_target_objdump_ln}
1757         aros_target_objcopy_ln=${aros_target_objcopy_ln}
1758         aros_target_strip_ln=${aros_target_strip_ln}
1759     ]
1761 AC_CONFIG_COMMANDS([genshared_executable],
1762     [chmod a+x ${aros_scripts_dir}/genshared],
1763     [aros_scripts_dir=${aros_scripts_dir}]
1765 AC_CONFIG_COMMANDS([genmf_executable],
1766     [chmod a+x ${aros_tools_dir}/genmf.py],
1767     [aros_tools_dir=${aros_tools_dir}]
1769 AC_CONFIG_COMMANDS([adflib_myaros.conf_executable],
1770     [chmod a+x tools/adflib/myconf.aros]
1773 AC_CONFIG_FILES(
1774     Makefile
1775     rom/mmakefile
1776     config/make.cfg
1777     ${aros_inc_dir}/config.h:config/config.h.in
1778     ${aros_geninc_dir}/config.h:config/config.h.in
1779     ${aros_hostcfg_dir}/host.cfg:config/host.cfg.in
1780     ${aros_targetcfg_dir}/target.cfg:config/target.cfg.in
1781     mmake.config
1782     ${aros_targetcfg_dir}/make.defaults:config/make.defaults.in
1783     ${aros_targetcfg_dir}/specs:config/specs.in
1784     ${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-gcc:scripts/aros-gcc.in
1785     ${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-ld:scripts/aros-ld.in
1786     ${aros_scripts_dir}/genshared:compiler/c_lib/source/lib_source/genshared.in
1787     ${aros_tools_dir}/genmf.py:tools/genmf/genmf.py
1788     tools/adflib/myconf.aros
1789     tools/collect-aros/env.h
1792 AC_OUTPUT
1794 dnl This is in order to not define SHARED_CFLAGS sometimes
1795 dnl We don't always do aros_shared_ar, aros_shared_cflags
1797 #XXX compatability...
1798 aros_shared_ar="$aros_shared_ld $aros_shared_ldflags -o"
1800 if test -n "$aros_shared_cflags" ; then
1801     echo "SHARED_CFLAGS := $aros_shared_cflags" >> ${aros_hostcfg_dir}/host.cfg
1802     echo "SHARED_AR := $aros_shared_ar" >> ${aros_hostcfg_dir}/host.cfg