rom/graphics: -Wall cleanup
[AROS.git] / configure.in
blob90007abeae747c76bfdd81b3742af0d1ce9f3924
1 dnl Copyright © 1997-2010, 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 if test "$host_os" = "mingw32" ; then
47     PWDCMD="pwd -W"
50 #don't know where else to put this...
51 AC_MSG_CHECKING([Building AROS in .. ])
52 AROS_BUILDDIR=`${PWDCMD-pwd}`
53 AROS_BUILDDIR_UNIX=${PWD}
54 AC_MSG_RESULT($AROS_BUILDDIR)
56 AC_MSG_CHECKING([AROS Source in .. ])
57 srcpwd=`cd ${srcdir} ; ${PWDCMD-pwd}`
58 SRCDIR=${srcpwd}
59 AC_MSG_RESULT($SRCDIR)
61 # Parse the target field into something useful.
62 changequote(<<,>>)
63 target_os=`echo $target | sed 's/^\([^-]*\)-\(.*\)$/\1/'`
64 target_cpu=`echo $target | sed 's/^\([^-]*\)-\(.*\)$/\2/'`
65 changequote([,])
67 dnl --------------------------------------------------------------------
68 dnl Set the default Workbench resolution
69 dnl --------------------------------------------------------------------
70 aros_default_wbwidth=800
71 aros_default_wbheight=600
72 aros_default_wbdepth=4
74 dnl --------------------------------------------------------------------
75 dnl Host Configuration Section
76 dnl --------------------------------------------------------------------
77 dnl
78 dnl The idea here is to find out all the information we need about the
79 dnl host. This means things like tools for building directory structures,
80 dnl copying files around and the like.
82 # The first step is to find the host binaries.
83 # Check for a compiler.
84 AC_PROG_CC
85 AC_PROG_CC_STDC
86 AC_PROG_CPP
88 # Check for a compatible awk
89 AC_CHECK_PROGS(AWK,[gawk nawk])
90 AROS_REQUIRED(gawk,$AWK)
91 AROS_PROG(MMAKE,mmake)
93 # Perform some default variable assignments. Note all of these will be
94 # Regenerated from the script, so there is no need to cache them.
96 aros_host_cc="$CC"
97 AROS_TOOL_CCPATH(aros_host_ld,ld)
98 AROS_REQUIRED(ld,$aros_host_ld)
99 aros_host_make="make"
100 aros_host_cflags=$CFLAGS
101 aros_host_ldflags=$LDFLAGS
102 aros_host_debug="-g -O0"
103 aros_host_mkdep="\$(SRCDIR)/scripts/mkdep"
104 aros_host_mkargs="--no-print-directory"
105 aros_host_incl="/usr/include"
106 aros_host_exe_suffix="$EXEEXT"
107 aros_host_lib_suffix=""
109 AC_CHECK_PROGS(aros_host_aclocal,[aclocal aclocal19 aclocal-1.9])
110 AC_CHECK_PROGS(aros_host_autoconf,[autoconf autoconf259 autoconf253])
111 AC_CHECK_PROGS(aros_host_autoheader,[autoheader autoheader259 autoheader253])
112 AC_CHECK_PROGS(aros_host_automake,[automake automake19 automake-1.9])
114 AROS_REQUIRED(aclocal/aclocal19/aclocal-1.9, $aros_host_aclocal)
115 AROS_REQUIRED(automake/automake19/automake-1.9, $aros_host_automake)
117 case "$aros_host_cc" in
118     *gcc*)
119         aros_host_cc_pipe="-pipe"
120         ;;
121     icc)
122         aros_host_cc_pipe=""
123         ;;
124     *)
125         aros_host_cc_pipe=""
126         ;;
127 esac
129 aros_kernel_cc_includes=""
130 aros_target_cc_includes=""
132 # This is the main host configuration section. It is where the host
133 # can change the values of any variables it needs to change. We do
134 # not look at anything that compiles to the target yet, we'll get
135 # to that later.
137 case "$host_os" in
138     aros*)
139         aros_host_arch="aros"
140         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
141         case "$host_cpu" in
142             *i?86*)
143                 aros_host_cpu="i386"
144                 ;;
145             *x86_64*)
146                 aros_host_cpu="x86_64"
147                 ;;
148             *powerpc*)
149                 aros_host_cpu="ppc"
150                 ;;
151             *)
152                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
153                 aros_host_cpu="$host_cpu"
154                 ;;
155         esac
156         ;;
158     linux*)
159         aros_host_arch="linux"
160         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
161         case "$host_cpu" in
162             *i?86*)
163                 aros_host_cpu="i386"
164                 ;;
165             *x86_64*)
166                 aros_host_cpu="x86_64"
167                 ;;
168             *m68k*)
169                 aros_host_cpu="m68k"
170                 ;;
171             *powerpc*)
172                 aros_host_cpu="ppc"
173                 ;;
174             *arm*)
175                 aros_host_cpu="arm"
176                 ;;
177             *)
178                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
179                 aros_host_cpu="$host_cpu"
180                 ;;
181         esac
182         ;;
184     freebsd*)
185         aros_host_cc="$aros_host_cc $aros_host_cc_pipe -I/usr/local/include"
186         aros_host_make="gmake"
187         aros_host_arch="freebsd"
188         aros_host_cpu="i386"
190         aros_host_ldflags="$aros_host_ldflags -L/usr/local/lib -liconv"
192         dnl FreeBSD 5.x (and later) has changed the default object format.
193         dnl The double [[]] is necessary to get around m4's quoting rules.
194         case $host_os in
195             freebsd[[234]]*)
196                 aros_object_format="elf_i386"
197                 ;;
199             *)
200                 aros_object_format="elf_i386_fbsd"
201                 ;;
202         esac
204         ;;
206     darwin*)
207         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
208         aros_host_arch="darwin"
209         case "$host_cpu" in
210             *i?86*)
211                 aros_host_cpu="i386"
212                 ;;
213             *x86_64*)
214                 aros_host_cpu="x86_64"
215                 ;;
216             *powerpc*)
217                 aros_host_cpu="ppc"
218                 ;;
219             *)
220                 AC_MSG_WARN("Unknown CPU for Darwin host -- $host_cpu")
221                 aros_host_cpu="$host_cpu"
222                 ;;
223         esac
225         aros_host_ldflags="$aros_host_ldflags -liconv"
227         ;;
229     dragonfly*)
230         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
231         aros_host_make="gmake"
232         aros_host_arch="dragonfly"
233         case $host_cpu in
234             *i?86*)
235                 aros_host_cpu="i386"
236                 ;;
237             *amd64*)
238                 aros_host_cpu="x86_64"
239                 ;;
240             *)
241                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
242                 aros_host_cpu="$host_cpu"
243                 ;;
244         esac
245         ;;
247     netbsd*)
248         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
249         aros_host_make="gmake"
250         aros_host_arch="netbsd"
251         case "$host_cpu" in
252             *i?86*)
253                 aros_host_cpu="i386"
254                 ;;
255             *m68k*)
256                 aros_host_cpu="m68k"
257                 ;;
258             *)
259                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
260                 aros_host_cpu="$host_cpu"
261                 ;;
262         esac    
263         aros_host_lib_suffix=".0.0"
264         ;;
266     openbsd*)
267         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
268         aros_host_make="gmake"
269         aros_host_arch="openbsd"
270         case "$host_cpu" in
271             *i?86*)
272                 aros_host_cpu="i386"
273                 ;;
274             *)
275                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
276                 aros_host_cpu="$host_cpu"
277                 ;;
278         esac
279         ;;
280         
281     solaris*)
282         aros_host_arch="solaris"
283         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
284         case "$host_cpu" in
285             *i?86*)
286                 aros_host_cpu="i386"
287                 ;;
288             *sparc*)
289                 aros_host_cpu="sparc"
290                 ;;
291             *)
292                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
293                 aros_host_cpu="$host_cpu"
294                 ;;
295         esac
296         ;;
298     morphos*)
299         aros_host_arch="morphos"
300         aros_host_cpu="ppc"
301         ;;
303     amiga*)
304         aros_host_arch="amiga"
305         SORT="/gg/bin/sort"
306         TEST="/gg/bin/test"
307         UNIQ="/gg/bin/uniq"
308         FOR="for"
309         TOUCH="/gg/bin/touch"
310         case "$host_cpu" in
311             *m68k*)
312                 aros_host_cpu="m68k"
313                 ;;
314             *powerpc*)
315                 aros_host_cpu="ppc"
316                 ;;
317             *)
318                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
319                 aros_host_cpu="$host_cpu"
320                 ;;
321         esac
322         ;;
324     cygwin*)
325         aros_host_arch="cygwin"
326         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
327         case "$host_cpu" in
328             *i?86*)
329                 aros_host_cpu="i386"
330                 ;;
331             *)
332                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
333                 aros_host_cpu="$host_cpu"
334                 ;;
335         esac
336         ;;
338     mingw32*)
339         aros_host_arch="mingw32"
340         aros_host_cc="$aros_host_cc $aros_host_cc_pipe"
341         case "$host_cpu" in
342             *i?86*)
343                 aros_host_cpu="i386"
344                 ;;
345             *)
346                 AC_MSG_WARN("Unknown CPU for host -- $host_cpu")
347                 aros_host_cpu="$host_cpu"
348                 ;;
349         esac
350         ;;
351     *)
352         AC_MSG_ERROR([Unsupported host architecture $host])
353         ;;
354 esac
356 AROS_PROG(aros_host_ar,[ar],[cr])
357 AROS_REQUIRED(ar,$aros_host_ar)
358 AROS_PROG(aros_host_ranlib,ranlib)
359 AROS_REQUIRED(ranlib,$aros_host_ranlib)
360 AROS_PROG(aros_host_strip,strip)
361 AROS_REQUIRED(strip,$aros_host_strip)
363 AROS_PROG(RM,[rm],[-rf])
364 AROS_REQUIRED(rm,$RM)
365 AROS_PROG(CP,[cp])
366 AROS_REQUIRED(cp,$CP)
367 AROS_PROG(MV,[mv])
368 AROS_REQUIRED(mv,$MV)
369 AROS_PROG(ECHO,[echo])
370 AROS_REQUIRED(echo,$ECHO)
371 AROS_PROG(MKDIR,[mkdir],[-p])
372 AROS_REQUIRED(mkdir,$MKDIR)
373 AROS_PROG(TOUCH,[touch])
374 AROS_REQUIRED(touch,$TOUCH)
375 AROS_PROG(SORT,[sort])
376 AROS_REQUIRED(sort,$SORT)
377 AROS_PROG(UNIQ,[uniq])
378 AROS_REQUIRED(uniq,$UNIQ)
379 AROS_PROG(NOP,[true])
380 AROS_REQUIRED(true,$NOP)
381 AROS_PROG(CAT,[cat])
382 AROS_REQUIRED(cat,$CAT)
383 AROS_PROG(BISON,[bison])
384 AROS_REQUIRED(bison,$BISON)
385 AROS_PROG(FLEX,[flex])
386 AROS_REQUIRED(flex,$FLEX)
387 AROS_PROG(PNGTOPNM,[pngtopnm])
388 AROS_REQUIRED(pngtopnm,$PNGTOPNM)
389 AROS_PROG(PPMTOILBM,[ppmtoilbm])
390 AROS_REQUIRED(ppmtoilbm,$PPMTOILBM)
391 AROS_PROG(SED,[sed])
392 AROS_REQUIRED(sed,$SED)
393 AROS_PROG(CHMOD,[chmod])
394 AROS_REQUIRED(chmod,$CHMOD)
396 AM_PATH_PYTHON(2.5)
398 AC_SUBST(FOR, for)
399 AC_SUBST(IF, if)
400 AC_SUBST(TEST, test)
401 AC_SUBST(CMP, cmp)
403 dnl ---------------------------------------------------------------------------
404 dnl Look for things about the host system, good for hosted targets.
405 dnl ---------------------------------------------------------------------------
407 # Check for some includes for the X11 HIDD and the kernel
408 AC_CHECK_HEADERS([sys/ipc.h sys/shm.h \
409     sys/mmap.h sys/mman.h sysexits.h \
410     sys/statfs.h sys/statvfs.h sys/vfs.h sys/param.h \
413 AC_CHECK_HEADERS([sys/mount.h],,,[#include <sys/param.h>])
415 AC_HEADER_DIRENT
416 AC_HEADER_STAT
417 AC_HEADER_STDC
418 AC_HEADER_SYS_WAIT
419 AC_HEADER_TIME
420 AC_STRUCT_ST_BLKSIZE
421 AC_STRUCT_ST_BLOCKS
422 AC_STRUCT_ST_RDEV
423 AC_STRUCT_TM
424 AC_STRUCT_TIMEZONE
425 AC_TYPE_OFF_T
426 AC_TYPE_PID_T
427 AC_TYPE_SIZE_T
428 AC_TYPE_UID_T
430 AC_CHECK_MEMBERS(struct tm.tm_gmtoff)
432 # Look for some functions
433 AC_CHECK_FUNCS([getpagesize kqueue statfs statvfs \
434     clone kse_create rfork_thread thr_create sa_register \
435     getcontext makecontext setcontext sigaltstack swapcontext])
437 AC_FUNC_MMAP
440 dnl --------------------------------------------------------------------
441 dnl Target Configuration Section
442 dnl --------------------------------------------------------------------
444 dnl The target configuration section is responsible for setting up all
445 dnl the paths for includes, and tools required to build AROS to some
446 dnl particular target.
448 aros_config_cflags="-Wall -Werror-implicit-function-declaration"
449 aros_config_aflags="-Wall -x assembler-with-cpp -c"
450 aros_config_ldflags=""
452 aros_shared_default=yes
454 aros_shared_cflags="-fPIC"
455 aros_shared_aflags=""
456 aros_shared_ldflags="-Wl,-rpath,./lib -shared"
457 aros_kernel_ldflags="-Wl,-rpath,./lib"
459 aros_target_ar_flags="cr"
460 aros_target_nm_flags="-C -ul"
461 aros_target_strip_flags="--strip-unneeded -R.comment"
463 aros_compiler_libs=
464 aros_arch_libs=
466 aros_target_genmap="-Wl,-Map -Xlinker"
468 # Native flavour stuff
469 aros_serial_debug="0"
471 # Palm native flavour stuff
472 aros_palm_debug_hack="0"
474 # Unix flavour stuff
475 aros_nesting_supervisor="0"
477 # Collect-aros stuff: "-ius" to ignore undefined symbols
478 ignore_undefined_symbols=""
480 #-----------------------------------------------------------------------------
483 # GCC 4.1+ has a stack protection feature that requires OS support. Ubuntu has
484 # it switched on by default, and we use the host compiler, so it compiles AROS
485 # code with this enabled resulting in link failures as we don't have support
486 # for it.
488 # We use two methods to disable it. For the host compiler (used to compile
489 # some hosted modules), we test to see if the compiler supports stack
490 # protection, and if it does we disable it in AROS_CONFIG_CFLAGS. This should
491 # work on all platforms.
493 # For the "cross" compiler we clear the "ssp_default" spec in config/specs.in
494 # (this is done unconditionally, as it should have no effect on compilers
495 # without the stack protection feature). This may be specific to the way that
496 # Ubuntu enables the feature, so may not work everywhere. My specs-fu isn't
497 # strong enough to disable it in a generic way though, so we'll live with it
498 # until another vendor ships GCC with it enabled in a different way, and deal
499 # with it then.
502 AC_MSG_CHECKING([whether ${CC} accepts -fno-stack-protector])
503 save_cflags="$CFLAGS"
504 CFLAGS="$CFLAGS -fno-stack-protector"
505 AC_TRY_COMPILE(,, use_no_stack_protector="yes", use_no_stack_protector="no")
506 AC_MSG_RESULT($use_no_stack_protector)
507 if test "x-$use_no_stack_protector" = "x-yes" ; then
508     aros_host_cflags="$aros_host_cflags -fno-stack-protector"
510 CFLAGS="$save_cflags"
512 #-----------------------------------------------------------------------------
514 # Disable pointer-signedness warnings if the compiler recognises the option
515 # (this only works for the host compiler at the moment)
517 AC_MSG_CHECKING([whether ${CC} accepts -Wno-pointer-sign])
518 save_cflags="$CFLAGS"
519 CFLAGS="$CFLAGS -Wno-pointer-sign"
520 AC_TRY_COMPILE(,, use_no_sign_warning="yes", use_no_sign_warning="no")
521 AC_MSG_RESULT($use_no_sign_warning)
522 if test "x-$use_no_sign_warning" = "x-yes" ; then
523     aros_host_cflags="$aros_host_cflags -Wno-pointer-sign"
525 CFLAGS="$save_cflags"
527 #-----------------------------------------------------------------------------
529 AC_MSG_CHECKING([for type of build])
530 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")
532 if test "$build_type" = "nightly"; then
533     build_type_string="NIGHTLY"
534 elif test "$build_type" = "snapshot"; then
535     build_type_string="SNAPSHOT"
536 elif test "$build_type" = "milestone"; then
537     build_type_string="MILESTONE"
538 elif test "$build_type" = "release"; then
539     build_type_string="RELEASE"
540 else
541     build_type_string="PERSONAL"
542     build_type="personal"
545 aros_config_cflags="$aros_config_cflags -DAROS_BUILD_TYPE=AROS_BUILD_TYPE_$build_type_string"
547 AC_MSG_RESULT($build_type)
549 #-----------------------------------------------------------------------------
550 all_debug_types="messages stack modules mungwall symbols"
552 AC_MSG_CHECKING([which debug types to enable])
553 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)]),
554  debug="$enableval",debug="")
556 if test "$debug" = "" -o "$debug" = "no"; then
557     debug="none"
558 elif test "$debug" = "yes"; then
559     debug="all"
562 if test "$debug" = "all" ; then
563     debug="messages stack modules symbols"
564     for d in $all_debug_types; do
565         export aros_${d}_debug="1"
566     done
567 else
568     for d in $all_debug_types; do
569         export aros_${d}_debug="0"
570     done
573 if test "$debug" != "none"; then
574     debug=`echo $debug | sed s/,/\ /g`
575     for d in $debug; do
576         found="0"
577         for d2 in $all_debug_types; do
578             if test "$d2" = "$d"; then
579                 found="1"
580                 break
581             fi
582         done
583         if test "$found" = "0"; then
584             AC_MSG_ERROR([unrecognized debug type "$d". Available types are: all none $all_debug_types])
585         fi
586         export aros_${d}_debug="1"
587     done
588     aros_debug="yes"
590 AC_MSG_RESULT($debug)
592 if test "$aros_messages_debug" = "1"; then
593     aros_messages_debug="-DADEBUG=1 -DMDEBUG=1"
594 else
595     aros_messages_debug=""
597 if test "$aros_symbols_debug" = "1"; then
598     aros_symbols_debug="-g"
599 else
600     aros_symbols_debug=""
603 # These are the flags to pass when compiling debugged programs
604 aros_debug_cflags="$aros_symbols_debug $aros_messages_debug"
605 aros_debug_aflags=""
606 aros_debug_ldflags="$aros_symbols_debug"
608 aros_crosstools="no"
610 #-----------------------------------------------------------------------------
611 #   Checking if we should build crosstools..
612 AC_MSG_CHECKING([whether to build crosstools])
613 AC_ARG_ENABLE(crosstools,AC_HELP_STRING([--enable-crosstools],[Build cross-compiler toolchains if necessary (default=no).]),crosstools="$enableval",crosstools="no")
614 if test "$crosstools" != "" -a "$crosstools" != "no"; then
615     AC_MSG_RESULT(yes)
616         aros_crosstools="yes"
617 else
618     AC_MSG_RESULT(no)
621 #-----------------------------------------------------------------------------
622 #   Checking for distcc and ccache.
624 #   Always apply the transforms in this particular order. Basically you should
625 #   always run 'ccache distcc compiler' in that order for the best performance.
627 AC_MSG_CHECKING([whether to enable distcc])
628 AC_ARG_ENABLE(distcc,AC_HELP_STRING([--enable-distcc],[Use distcc as a front end to the compiler (default=no).]),distcc="$enableval",distcc="no")
629 if test "$distcc" != "" -a "$distcc" != "no"; then
630     # AC_CHECK_PROG will print out the result in this case
631     AC_PATH_PROG(DISTCC,[distcc],distcc,)
632 else
633     AC_MSG_RESULT(no)
636 AC_MSG_CHECKING([whether to enable ccache])
637 AC_ARG_ENABLE(ccache,AC_HELP_STRING([--enable-ccache],[Use ccache as a front end to the compiler (default=no).]),ccache="$enableval",ccache="no")
638 if test "$ccache" != "" -a "$ccache" != "no"; then
639     # AC_CHECK_PROG will print out the result in this case
640     AC_CHECK_PROG(CCACHE,[ccache],ccache,)
641 else
642     AC_MSG_RESULT(no)
645 #-----------------------------------------------------------------------------
646 AC_MSG_CHECKING([what specific gcc version to use])
647 AC_ARG_WITH(gcc-version,AC_HELP_STRING([--with-gcc-version=VERSION],[Use gcc-VERSION for building AROS]),target_tool_version="$withval",target_tool_version="default")
648 AC_MSG_RESULT($target_tool_version)
650 #-----------------------------------------------------------------------------
651 AC_MSG_CHECKING([what optimization flags to use])
652 AC_ARG_WITH(optimization,AC_HELP_STRING([--with-optimization=FLAGS],[Use optimization flags FLAGS (default=-O2).]),optimization="$withval",optimization="unknown")
653 if test "$optimization" = "unknown"; then
654     dnl default is -O2 for normal builds, -O0 for debug builds
655     if test "$debug" != "none"; then
656         optimization="-O0"
657     else
658         optimization="-O2"
659     fi
661 aros_config_cflags="$aros_config_cflags $optimization"
662 AC_MSG_RESULT($optimization)
664 #-----------------------------------------------------------------------------
665 AC_MSG_CHECKING([what paranoia flags to use])
666 AC_ARG_WITH(paranoia,AC_HELP_STRING([--with-paranoia=FLAGS],[CC flags to enable paranoia]),[paranoia_flags="$withval"],[paranoia_flags="default"])
667 if test "$paranoia_flags" = "default"; then
668         paranoia_flags=""
669 else if test "$paranoia_flags" = "yes"; then
670         paranoia_flags="-Wall -Werror"
671 fi fi
672 AC_MSG_RESULT($paranoia_flags)
673 aros_paranoia_cflags="$paranoia_flags"
675 #-----------------------------------------------------------------------------
676 if test "$target_os" = "ios"; then
678 AC_MSG_CHECKING([XCode path])
679 AC_ARG_WITH(xcode-path,AC_HELP_STRING([--with-xcode=PATH],[Specify XCode path for iOS targets (default=/Developer).]),aros_xcode_path="$withval",aros_xcode_path="/Developer")
680 AC_MSG_RESULT($aros_xcode_path)
682 AC_MSG_CHECKING([for minimum supported iOS version])
683 AC_ARG_WITH(ios-version,AC_HELP_STRING([--with-ios-version=VERSION],[Specify minimum supported iOS version (default=2.0).]),aros_ios_version="$withval",aros_ios_version="2.0")
684 AC_MSG_RESULT($aros_ios_version)
686 AC_MSG_CHECKING([what iOS SDK version to use])
687 AC_ARG_WITH(ios-sdk,AC_HELP_STRING([--with-ios-sdk=VERSION],[Use iOS SDK version VERSION (default=4.1).]),aros_ios_sdk="$withval",aros_ios_sdk="4.1")
688 AC_MSG_RESULT($aros_ios_sdk)
692 #-----------------------------------------------------------------------------
693 AC_MSG_CHECKING([what target variant to enable])
694 AC_ARG_ENABLE(target_variant,AC_HELP_STRING([--enable-target-variant=NAME],[Enable a specific target variant(default=none)]),target_variant=$enableval,target_variant="")
695 if test "$target_variant" = ""; then
696     aros_target_variant=""
697     aros_target_suffix=""
698     enableval="none"
699 else
700     aros_target_variant="$target_variant"
701     aros_target_suffix="-$target_variant"
703 AC_MSG_RESULT($enableval)
705 target_bootloader="none"
707 #-----------------------------------------------------------------------------
708 # This is the target configuration switch.
709 case "$target_os" in
710     linux*)
711         aros_target_arch="linux"
712         aros_target_family="unix"
713         case "$target_cpu" in
714             *m68k*)
715                 aros_target_cpu="m68k"
716                 aros_object_format="m68kelf"
717                 aros_flavour="emulcompat"
718                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -D__mc68000 -D__linux__"
719                 aros_shared_ldflags="-Wl,-T,\$(TOP)/config/linux/m68k/script.so"
720                 aros_kernel_ldflags="-Wl,-rpath,./lib,-T,\$(TOP)/config/linux/m68k/script.normal"
721                 gcc_target_cpu="mc68000"
722                 ;;
723             *i?86*)
724                 aros_target_cpu="i386"
725                 aros_object_format="elf_i386"
726                 aros_flavour="emulation"
727                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__linux__"
728                 aros_config_cflags="$aros_config_cflags -m32 -march=i486"
729                 aros_kernel_cflags="$aros_kernel_cflags -m32 -march=i486"
730                 aros_config_aflags="$aros_config_aflags -m32 -march=i486"
731                 aros_config_ldflags="-m32 -march=i486"
732                 aros_kernel_ldflags="-melf_i386"
733                 aros_default_wbdepth=8
734                 gcc_target_cpu="i386"
735                 pci_hidd_target="hidd-pci-linux"
736                 ;;
737             *x86_64*)
738                 aros_target_cpu="x86_64"
739                 aros_object_format="elf_x86_64"
740                 aros_flavour="emulation"
741                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dx86_64 -D__linux__"
742                 aros_config_cflags="$aros_config_cflags -mno-red-zone"
743                 aros_default_wbdepth=8
744                 gcc_target_cpu="x86_64"
745                 pci_hidd_target="hidd-pci-linux"
746                 ;;
747             *powerpc*)
748                 aros_target_cpu="ppc"
749                 aros_object_format="elf32ppc"
750                 aros_flavour="emulation"
751                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc -D__linux__"
752                 aros_default_wbdepth=8
753                 gcc_target_cpu="ppc"
754                 ;;
755 # TODO
756 # Same as powerpc, but I need this for the nightly build to work again.
757 # Actually, the nightly should be made working with powerpc target.
758 # That just was too much work for the moment, another week or two.
759             *ppc*)
760                 aros_target_cpu="ppc"
761                 aros_object_format="elf32ppc"
762                 aros_flavour="emulation"
763                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc -D__linux__"
764                 aros_default_wbdepth=8
765                 gcc_target_cpu="ppc"
766                 ;;
767             *arm*)
768                 aros_target_cpu="arm"
769                 aros_object_format="armelf_linux_eabi"
770                 aros_flavour="emulation"
771                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Darm -D__linux__"
772                 gcc_target_cpu="arm"
773                 aros_config_cflags="$aros_config_cflags -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fno-asynchronous-unwind-tables -fno-exceptions"
774                 aros_config_aflags="$aros_config_aflags -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fno-asynchronous-unwind-tables -fno-exceptions"
775                 ;;
776             *)
777                 AC_MSG_ERROR("Unknown CPU for Linux -- $target_cpu")
778                 ;;
779         esac
780     ;;
782     pc)
783         aros_target_arch="pc"
784         aros_shared_default="no"
785         target_bootloader="grub2"
786         case "$target_cpu" in
787             *i?86*)
788                 aros_target_cpu="i386"
790                 dnl If somebody hasn't already set the target object
791                 dnl format, then use this value. Mostly to support
792                 dnl FreeBSD cross-compilation.
793                 dnl TODO: Remove when we always use our compiler.
795                 if test "$aros_object_format" = "" ; then
796                     aros_object_format="elf_i386"
797                 fi
798                 aros_flavour="standalone"
799                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386"
800                 aros_config_cflags="$aros_config_cflags -m32 -march=i486"
801                 aros_kernel_cflags="$aros_kernel_cflags -m32 -march=i486"
802                 aros_config_aflags="$aros_config_aflags -m32 -march=i486"
803                 aros_config_ldflags="-m32 -march=i486"
804                 aros_kernel_ldflags="-melf_i386"
805                 aros_default_wbwidth=640
806                 aros_default_wbheight=480
807                 gcc_target_cpu="i386"
808                 ;;
809             *x86_64*)
810                 aros_target_cpu="x86_64"
811                 aros_serial_debug=1
812                 if test "$aros_object_format" = "" ; then
813                     aros_object_format="elf_x86_64"
814                 fi
815                 aros_flavour="standalone"
816                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dx86_64"
817                 aros_config_cflags="$aros_config_cflags -fno-asynchronous-unwind-tables -mno-red-zone"
818                 aros_kernel_ldflags=""
819                 aros_default_wbwidth=640
820                 aros_default_wbheight=480
821                 gcc_target_cpu="x86_64"
822                 ;;
823             *)
824                 AC_MSG_ERROR("Unknown native CPU -- $target_cpu")
825                 ;;
826         esac
827         ;;
829     prep)
830         aros_target_arch="prep"
831         aros_shared_default="no"
832         aros_target_cpu="ppc"
833         aros_object_format="elf32ppc"
834         aros_flavour="ppcnative"
835         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc"
836         aros_kernel_ldflags=""
837         aros_default_wbwidth=640
838         aros_default_wbheight=480
839         gcc_target_cpu="ppc"
840         ;;
842     freebsd*)
843         aros_target_arch="freebsd"
844         aros_target_family="unix"
845         aros_target_cpu="i386"
846         aros_flavour="emulation"
847         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386"
848         gcc_target_cpu="i386"
850         aros_target_strip_flags="-x"
851         ;;
853     darwin*)
854         aros_target_arch="darwin"
855         aros_target_family="unix"
856         aros_flavour="emulation"
857         case "$target_cpu" in
858             *i?86*)
859                 aros_target_cpu="i386"
860                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386"
861                 aros_kernel_cflags="$aros_kernel_cflags -m32"
862                 aros_kernel_ldflags="$aros_kernel_ldflags -m32"
863                 aros_default_wbdepth=8
864                 gcc_target_cpu="i386"
865                 aros_object_format="elf_i386"
866                 aros_target_strip_flags="-x"
867                 aros_target_cc="i386-aros-gcc"
868                 aros_target_cxx="i386-aros-g++"
869                 aros_target_ld="i386-aros-ld"
870                 aros_target_as="i386-aros-as"
871                 aros_target_ar="i386-aros-ar"
872                 aros_target_ranlib="i386-aros-ranlib"
873                 aros_target_nm="i386-aros-nm"
874                 aros_target_strip="i386-aros-strip"
875                 aros_target_objcopy="i386-aros-objcopy"
876                 aros_target_objdump="i386-aros-objdump"
877                 target_tool_prefix="i686-apple-darwin10-"
878                 ;;
879             *x86_64*)
880                 aros_target_cpu="x86_64"
881                 aros_object_format="elf_x86_64"
882                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dx86_64"
883                 aros_kernel_cflags="$aros_kernel_cflags -m64"
884                 aros_kernel_ldflags="$aros_kernel_ldflags -m64"
885                 aros_default_wbdepth=8
886                 gcc_target_cpu="x86_64"
887                 aros_target_cc="x86_64-aros-gcc"
888                 aros_target_cxx="x86_64-aros-g++"
889                 aros_target_ld="x86_64-aros-ld"
890                 aros_target_as="x86_64-aros-as"
891                 aros_target_ar="x86_64-aros-ar"
892                 aros_target_ranlib="x86_64-aros-ranlib"
893                 aros_target_nm="x86_64-aros-nm"
894                 aros_target_strip="x86_64-aros-strip"
895                 aros_target_objcopy="x86_64-aros-objcopy"
896                 aros_target_objdump="x86_64-aros-objdump"
897                 target_tool_prefix="i686-apple-darwin10-"
898                 ;;
899             *ppc*)
900                 aros_target_cpu="ppc"
901                 aros_object_format="elf32_ppc"
902                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc"
903                 aros_default_wbdepth=8
904                 gcc_target_cpu="ppc"
905                 aros_target_cc="ppc-aros-gcc"
906                 aros_target_cxx="ppc-aros-g++"
907                 aros_target_ld="ppc-aros-ld"
908                 aros_target_as="ppc-aros-as"
909                 aros_target_ar="ppc-aros-ar"
910                 aros_target_ranlib="ppc-aros-ranlib"
911                 aros_target_nm="ppc-aros-nm"
912                 aros_target_strip="ppc-aros-strip"
913                 aros_target_objcopy="ppc-aros-objcopy"
914                 aros_target_objdump="ppc-aros-objdump"
915                 target_tool_prefix="powerpc-apple-darwin10-"
916                 ;;
917             *)
918                 AC_MSG_ERROR("Unsupported target CPU for darwin hosted flavour -- $target_cpu")
919                 ;;
920         esac
921         ;;
923     ios*)
924         aros_target_arch="ios"
925         aros_target_family="unix"
926         aros_flavour="emulation"
927         # This is here because it may depend on iOS or SDK version
928         aros_kernel_objcflags="-fobjc-abi-version=2 -fobjc-legacy-dispatch"
929         case "$target_cpu" in
930             *i?86*)
931                 aros_ios_platform="iPhoneSimulator"
932                 aros_target_cpu="i386"
933                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386"
934                 aros_default_wbdepth=8
935                 gcc_target_cpu="i386"
936                 aros_object_format="elf_i386"
937                 aros_target_strip_flags="-x"
938                 aros_target_cc="i386-aros-gcc"
939                 aros_target_cxx="i386-aros-g++"
940                 aros_target_ld="i386-aros-ld"
941                 aros_target_as="i386-aros-as"
942                 aros_target_ar="i386-aros-ar"
943                 aros_target_ranlib="i386-aros-ranlib"
944                 aros_target_nm="i386-aros-nm"
945                 aros_target_strip="i386-aros-strip"
946                 aros_target_objcopy="i386-aros-objcopy"
947                 aros_target_objdump="i386-aros-objdump"
948                 target_tool_prefix="i686-apple-darwin10-"
949                 target_tool_flags="-m32"
950                 ;;
951             *arm*)
952                 aros_ios_platform="iPhoneOS"
953                 aros_target_cpu="arm"
954                 aros_object_format="armelf_linux_eabi"
955                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Darm"
956                 aros_config_cflags="$aros_config_cflags -march=armv6 -mfpu=neon -mfloat-abi=softfp -fno-asynchronous-unwind-tables -fno-exceptions"
957                 aros_config_aflags="$aros_config_aflags -march=armv6 -mfpu=neon -mfloat-abi=softfp -fno-asynchronous-unwind-tables -fno-exceptions"
958                 aros_arch_libs="-laeabi"
959                 aros_default_wbdepth=8
960                 gcc_target_cpu="arm"
961                 aros_kernel_ld="ld -arch armv6"
962                 aros_target_cc="arm-aros-gcc"
963                 aros_target_cxx="arm-aros-g++"
964                 aros_target_ld="arm-aros-ld"
965                 aros_target_as="arm-aros-as"
966                 aros_target_ar="arm-aros-ar"
967                 aros_target_ranlib="arm-aros-ranlib"
968                 aros_target_nm="arm-aros-nm"
969                 aros_target_strip="arm-aros-strip"
970                 aros_target_objcopy="arm-aros-objcopy"
971                 aros_target_objdump="arm-aros-objdump"
972                 target_tool_prefix="arm-apple-darwin10-" 
973                 aros_default_wbwidth=320
974                 aros_default_wbheight=480
975                 export PATH="$aros_xcode_path/Platforms/$aros_ios_platform.platform/Developer/usr/bin:$PATH"
976                 ;;
977             *)
978                 AC_MSG_ERROR("Unsupported target CPU for iOS hosted flavour -- $target_cpu")
979                 ;;
980         esac
981         aros_ios_sdk="$aros_xcode_path/Platforms/$aros_ios_platform.platform/Developer/SDKs/$aros_ios_platform$aros_ios_sdk.sdk"
982         target_tool_flags="$target_tool_flags --sysroot $aros_ios_sdk"
983         ;;
985     dragonfly*)
986         aros_target_arch="dragonfly"
987         aros_target_family="unix"
988         aros_flavour="emulation"
989         case "$target_cpu" in
990             *i?86*)
991                 aros_target_cpu="i386"
992                 aros_object_format="elf_i386"
993                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__DragonFly__"
994                 ;;
995             *x86_64*)
996                 aros_target_cpu="x86_64"
997                 aros_object_format="elf_x86_64"
998                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dx86_64 -D__DragonFly__"
999                 ;;
1000             *)
1001                 AC_MSG_ERROR("Unknown CPU for DragonFly -- $target_cpu")
1002                 ;;
1003         esac
1004         ;;
1006     netbsd*)
1007         aros_target_arch="netbsd"
1008         aros_target_family="unix"
1009         case "$target_cpu" in
1010             *m68k*)
1011                 aros_target_cpu="m68k"
1012                 aros_object_format="m68kelf"
1013                 aros_flavour="emulcompat"
1014                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -D__mc68000 -D__NetBSD__"
1015                 gcc_target_cpu="mc68000"
1016                 ;;
1017             *i?86*)
1018                 aros_target_cpu="i386"
1019                 aros_object_format="elf_i386"
1020                 aros_flavour="emulation"
1021                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__NetBSD__"
1022                 aros_default_wbdepth=8
1023                 gcc_target_cpu="i386"
1024                 ;;
1025             *)
1026                 AC_MSG_ERROR("Unknown CPU for NetBSD -- $target_cpu")
1027                 ;;
1028         esac
1029         aros_target_genmap="-Wl,-M -Xlinker >"
1030         aros_flavour="emulation"
1031         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386"
1032         ;;   
1034     openbsd*)
1035         aros_target_arch="openbsd"
1036         aros_target_family="unix"
1037         case "$target_cpu" in
1038             *i?86*)
1039                 aros_target_cpu="i386"
1040                 aros_object_format="elf_i386"
1041                 aros_flavour="emulation"
1042                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__OpenBSD__"
1043                 gcc_target_cpu="i386"
1044                 ;;
1045             *)
1046                 AC_MSG_ERROR("Unknown CPU for OpenBSD -- $target_cpu")
1047                 ;;
1048         esac
1049         aros_target_genmap="-Wl,-M -Xlinker >"
1050         aros_target_nm_flags="-u"
1051         aros_flavour="emulation"
1052         ;;
1054     solaris*)
1055         aros_target_arch="solaris"
1056         aros_target_family="unix"
1057         case "$target_cpu" in
1058            *i?86*)
1059                aros_target_cpu="i386"
1060                aros_object_format="elf_i386"
1061                aros_flavour="emulation"
1062                aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__Solaris__"
1063                aros_default_wbdepth=8
1064                gcc_target_cpu="i386"
1065                ;;
1066             *sparc*)
1067                 aros_target_cpu="sparc"
1068                 aros_object_format="elf_sparc"
1069                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dsparc -D__Solaris__"
1070                 gcc_target_cpu="sparc"
1071                 ;;
1072             *)
1073                 AC_MSG_ERROR("Unknown CPU for Solaris -- $target_cpu")
1074                 ;;
1075         esac
1076         aros_config_cflags="$aros_config_cflags -D$aros_target_cpu"
1077         aros_flavour="emulation"
1078         ;;
1080     morphos*)
1081         aros_target_arch="morphos"
1082         aros_shared_default="no"
1083         aros_target_cpu="ppc"
1084         aros_object_format="elf_ppc"
1085         aros_flavour="nativecompat"
1086         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc"
1087         gcc_target_cpu="ppc"
1088         ;;
1090     sam440)
1091         aros_target_arch="sam440"
1092         aros_shared_default="no"
1093         aros_target_cpu="ppc"
1094         aros_object_format="elf32ppc"
1095         aros_flavour="ppcnative"
1096         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc"
1097         aros_kernel_ldflags=""
1098         aros_default_wbwidth=1024
1099         aros_default_wbheight=768
1100         aros_default_wbdepth=24
1101         aros_config_cflags="$aros_config_cflags -mcpu=440fp -mno-toc -fno-asynchronous-unwind-tables"
1102         gcc_target_cpu="powerpc"
1103         ;;
1105     efika)
1106         aros_target_arch="efika"
1107         aros_shared_default="no"
1108         aros_target_cpu="arm"
1109         aros_object_format="armelf_linux_eabi"
1110         aros_flavour="standalone"
1111         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Darm"
1112         aros_kernel_ldflags=""
1113         aros_default_wbwidth=1024
1114         aros_default_wbheight=600
1115         aros_arch_libs="-laeabi"
1116         aros_config_cflags="$aros_config_cflags -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fno-asynchronous-unwind-tables -fno-exceptions -fno-strict-aliasing"
1117         aros_config_aflags="$aros_config_aflags -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fno-asynchronous-unwind-tables -fno-exceptions -fno-strict-aliasing"
1118         ;;
1119         
1120     chrp)
1121     aros_target_arch="chrp"
1122     aros_shared_default="no"
1123     aros_target_cpu="ppc"
1124     aros_object_format="elf32ppc"
1125     aros_flavour="ppcnative"
1126     aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc"
1127     aros_kernel_ldflags=""
1128     aros_default_wbwidth=640
1129     aros_default_wbheight=480
1130     aros_config_cflags="$aros_config_cflags -mno-toc -fno-asynchronous-unwind-tables"    
1131     gcc_target_cpu="powerpc"
1132         case "$aros_target_variant" in
1133             efika)
1134             aros_config_cflags="$aros_config_cflags -DBIG_ENDIAN_OHCI=1 -mcpu=603e"
1135             ;;
1136         esac
1137     ;;
1139     amiga*)
1140         aros_target_arch="amiga"
1141         aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -D_AMIGA -DAMIGA"
1142         aros_shared_default="no"
1144         case "$target_cpu" in
1145             *m68k-eabi)
1146                 aros_target_cpu="m68k"
1147                 aros_object_format="m68kelf"
1148                 aros_flavour="standalone"
1149                 gcc_target_cpu="mc68000"
1150                 aros_config_cflags="$aros_config_cflags -g3 -fno-strict-aliasing -ffreestanding -fomit-frame-pointer -${gcc_target_cpu} -fbuiltin"
1151                 aros_config_aflags="$aros_config_aflags -g3 -fno-strict-aliasing -ffreestanding -fomit-frame-pointer -${gcc_target_cpu}"
1152                 aros_debug_cflags="-Wall -Werror-implicit-function-declaration $aros_symbols_debug  $aros_messages_debug -${gcc_target_cpu}"
1153                 target_tool_prefix="m68k-elf-"
1154                 aros_target_nostdlib_ldflags="" # We always need -lgcc
1155                 aros_target_strip_flags="-R.comment"
1156                 ;;
1157             *m68k*)
1158                 aros_target_cpu="m68k"
1159                 aros_object_format="m68kelf"
1160                 aros_flavour="standcompat"
1161                 gcc_target_cpu="mc68000"
1162                 aros_config_cflags="$aros_config_cflags -g3 -fno-strict-aliasing -ffreestanding -fomit-frame-pointer -${gcc_target_cpu} -fbuiltin"
1163                 aros_config_aflags="$aros_config_aflags -g3 -fno-strict-aliasing -ffreestanding -fomit-frame-pointer -${gcc_target_cpu}"
1164                 aros_paranoia_cflags="$aros_paranoia_cflags -Wno-volatile-register-var"
1165                 aros_debug_cflags="-Wall -Werror-implicit-function-declaration $aros_symbols_debug  $aros_messages_debug -${gcc_target_cpu}"
1166                 target_tool_prefix="m68k-elf-"
1167                 aros_target_nostdlib_ldflags="" # We always need -lgcc
1168                 aros_target_strip_flags="-R.comment"
1169                 ;;
1170             *ppc*)
1171                 aros_cpu="ppc"
1172                 aros_flavour="native"
1173                 gcc_target_cpu="ppc"
1174                 ;;
1175             *)
1176                 AC_MSG_ERROR("Unknown CPU for Amiga $target_cpu")
1177                 ;;
1178         esac
1179         ;;
1181     mingw*)
1182         aros_target_arch="mingw32"
1183         aros_shared_default="no"
1184         aros_flavour="emulation"
1185         aros_shared_cflags=""
1186         need_dlopen="no"
1187         rescomp="windres"
1188         case "$target_cpu" in
1189             *i?86*)
1190                 aros_target_cpu="i386"
1191                 aros_object_format="elf_i386"
1192                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386"
1193                 aros_default_wbdepth=8
1194                 gcc_target_cpu="i386"
1195                 aros_target_cc="i386-aros-gcc"
1196                 aros_target_cxx="i386-aros-g++"
1197                 aros_target_ld="i386-aros-ld"
1198                 aros_target_as="i386-aros-as"
1199                 aros_target_ar="i386-aros-ar"
1200                 aros_target_ranlib="i386-aros-ranlib"
1201                 aros_target_nm="i386-aros-nm"
1202                 aros_target_strip="i386-aros-strip"
1203                 aros_target_objcopy="i386-aros-objcopy"
1204                 aros_target_objdump="i386-aros-objdump"
1205                 target_tool_prefix="i386-mingw32-"
1206                 ;;
1207             *x86_64*)
1208                 aros_target_cpu="x86_64"
1209                 aros_object_format="elf_x86_64"
1210                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dx86_64"
1211                 aros_default_wbdepth=8
1212                 gcc_target_cpu="x86_64"
1213                 aros_target_cc="x86_64-aros-gcc"
1214                 aros_target_cxx="x86_64-aros-g++"
1215                 aros_target_ld="x86_64-aros-ld"
1216                 aros_target_as="x86_64-aros-as"
1217                 aros_target_ar="x86_64-aros-ar"
1218                 aros_target_ranlib="x86_64-aros-ranlib"
1219                 aros_target_nm="x86_64-aros-nm"
1220                 aros_target_strip="x86_64-aros-strip"
1221                 aros_target_objcopy="x86_64-aros-objcopy"
1222                 aros_target_objdump="x86_64-aros-objdump"
1223                 target_tool_prefix="x86_64-w64-mingw32-"
1224                 ;;
1225             *arm*)
1226                 aros_target_cpu="arm"
1227                 aros_object_format="armelf_linux_eabi"
1228                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Darm"
1229                 aros_arch_libs="-laeabi"
1230                 aros_default_wbdepth=8
1231                 gcc_target_cpu="arm"
1232                 aros_target_cc="arm-aros-gcc"
1233                 aros_target_cxx="arm-aros-g++"
1234                 aros_target_ld="arm-aros-ld"
1235                 aros_target_as="arm-aros-as"
1236                 aros_target_ar="arm-aros-ar"
1237                 aros_target_ranlib="arm-aros-ranlib"
1238                 aros_target_nm="arm-aros-nm"
1239                 aros_target_strip="arm-aros-strip"
1240                 aros_target_objcopy="arm-aros-objcopy"
1241                 aros_target_objdump="arm-aros-objdump"
1242                 target_tool_prefix="arm-mingw32ce-"
1243                 aros_default_wbwidth=160
1244                 aros_default_wbheight=160
1245                 ;;
1246             *)
1247                 AC_MSG_ERROR("Unknown CPU for Mingw32 -- $target_cpu")
1248                 ;;
1249         esac
1250         if test $host_os = "cygwin"; then
1251                 aros_kernel_cflags="-mno-cygwin"
1252         fi
1253     ;;
1254     pp*)
1255         aros_target_arch="pp"
1256         aros_shared_default="no"
1257         case "$target_cpu" in
1258             *m68k*)
1259                 aros_target_cpu="m68k"
1260                 aros_object_format="m68kelf"
1261                 aros_flavour="palmnative"
1262                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dm68k"
1263                 aros_default_wbwidth=160
1264                 aros_default_wbheight=160
1265                 aros_default_wbdepth=1
1266                 aros_target_ar_flags="cru"
1267                 aros_compiler_libs="-lgcc1"
1268                 aros_shared_default=no
1269                 aros_shared_cflags="-fpic"
1270                 aros_shared_aflags=""
1271                 aros_shared_ldflags="-Wl,-rpath,./lib -shared"
1272                 aros_kernel_ldflags="-Wl,-rpath,./lib"
1273                 aros_debug_cflags="-Wall -Werror-implicit-function-declaration $aros_symbols_debug  $aros_messages_debug -mc68000 -Wa,-mc68000"
1274                 aros_debug_aflags=""
1275                 aros_debug_ldflags="$aros_symbols_debug"
1276                 aros_mungwall_debug="0"
1277                 aros_modules_debug="0"
1278                 gcc_target_cpu="mc68000"
1279                 ignore_undefined_symbols="-ius"
1280                 ;;
1281            *)
1282                 AC_MSG_ERROR("Unknown CPU for PalmPilot -- $target_cpu")
1283                 ;;
1284         esac
1285         ;;
1287     mac*)
1288         aros_target_arch="mac"
1289         aros_shared_default="no"
1290         case "$target_cpu" in
1291             *m68k*)
1292                 aros_target_cpu="m68k"
1293                 aros_object_format="m68kelf"
1294                 aros_flavour="mac68knative"
1295                 aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dm68k"
1296                 aros_default_wbwidth=512
1297                 aros_default_wbheight=384
1298                 aros_default_wbdepth=8
1299                 aros_target_ar_flags="cru"
1300                 aros_compiler_libs="-lgcc1"
1301                 aros_shared_default=no
1302                 aros_shared_cflags="-fpic"
1303                 aros_shared_aflags=""
1304                 aros_shared_ldflags="-Wl,-rpath,./lib -shared"
1305                 aros_kernel_ldflags="-Wl,-rpath,./lib"
1306                 aros_debug_cflags="-Wall -Werror-implicit-function-declaration $aros_symbols_debug  $aros_messages_debug -mc68000"
1307                 aros_debug_aflags=""
1308                 aros_debug_ldflags="$aros_symbols_debug"
1309                 aros_mungwall_debug="0"
1310                 aros_modules_debug="0"
1311                 gcc_target_cpu="mc68000"
1312                 ignore_undefined_symbols="-ius"
1313                 ;;
1314            *)
1315                 AC_MSG_ERROR("Unknown CPU for Mac68k -- $target_cpu")
1316                 ;;
1317         esac
1318         ;;
1320     *)
1321         AC_MSG_ERROR([Unsupported target architecture $target])
1322         ;;
1323 esac
1325 # FIXME: for cross-compiling this should point to another location
1326 if test "$aros_flavour" = "emulation"; then
1327     aros_kernel_includes="-isystem /usr/include"
1329 if test "$aros_flavour" = "emulcompat"; then
1330     aros_kernel_includes="-isystem /usr/include"
1333 AC_MSG_CHECKING([Where to download sourcecode for external ports])
1334 AC_ARG_WITH(portssources,AC_HELP_STRING([--with-portssources=DIR],[Where to download sourcecode for external ports]),with_portssrcdir=$withval,with_portssrcdir="default")
1335 if test "$with_portssrcdir" = "default"; then
1336     AROS_PORTSSRCDIR="$AROS_BUILDDIR_UNIX/bin/Sources"
1337 else
1338     AROS_PORTSSRCDIR="$with_portssrcdir"
1340 AC_MSG_RESULT($AROS_PORTSSRCDIR)
1342 AC_MSG_CHECKING([which bootloader to use])
1343 AC_ARG_WITH(bootloader,AC_HELP_STRING([--with-bootloader=NAME],[Use a specific bootloader]),target_bootloader=$withval,target_bootloader=$target_bootloader)
1344 if test "$target_bootloader" = "none"; then
1345     aros_target_bootloader=""
1346 else
1347     aros_target_bootloader="$target_bootloader"
1349 AC_MSG_RESULT($target_bootloader)
1351 AC_MSG_CHECKING([which icon-set to use])
1352 AC_ARG_WITH(iconset,AC_HELP_STRING([--with-iconset=NAME],[Use a specific Icon-set (default=Gorilla).]),target_iconset=$withval,target_iconset="default")
1353 if test "$target_iconset" = "default"; then
1354     aros_target_iconset="Gorilla"
1355     target_iconset="default (Gorilla)"
1356 else
1357     aros_target_iconset="$target_iconset"
1359 AC_MSG_RESULT($target_iconset)
1361 AC_MSG_CHECKING([which GUI Theme to use])
1362 AC_ARG_WITH(theme,AC_HELP_STRING([--with-theme=NAME],[Use a specific GUI Theme]),target_guitheme=$withval,target_guitheme="default")
1363 if test "$target_guitheme" = "default"; then
1364     aros_target_guitheme="Ice"
1365 else
1366     aros_target_guitheme="$target_guitheme"
1368 AC_MSG_RESULT($aros_target_guitheme)
1370 # Find out if we are cross-compiling (i.e. if we can't use the host compiler
1371 # for target code)
1372 cross_compiling=no
1373 if test "$aros_host_cpu" != "$aros_target_cpu" ; then
1374     cross_compiling=yes
1376 if test "$aros_host_cpu" == "x86_64" ; then
1377     if test "$aros_target_cpu" == "i386" ; then
1378         if test "$aros_target_arch" != "mingw32"; then
1379             cross_compiling=no
1380         fi
1381     fi
1384 # Set prefix for target compiler etc. if we're cross-compiling
1385 # (should possibly be earlier but needs to be after AC_PROG_CC)
1386 if test "$cross_compiling" = "yes" ; then
1387     if test "$target_tool_prefix" = ""; then
1388         target_tool_prefix=${target_cpu}-elf-
1389     fi
1390     CC=${target_tool_prefix}gcc
1391     dnl CPP is needed for AC_CHECK_HEADER to work correctly
1392     CPP=${target_tool_prefix}cpp
1393     if test "$target_tool_version" != "default"; then
1394         CC="$CC-$target_tool_version"
1395         CPP="$CC-$target_tool_version"
1396     fi
1397     AC_PATH_PROG(CC,$CC)
1398     AROS_REQUIRED(gcc,$CC)
1400 CC="$CC $target_tool_flags"
1402 #-----------------------------------------------------------------------------
1404 # Disable pointer-signedness warnings if the compiler recognises the option
1406 AC_MSG_CHECKING([whether ${CC} accepts -Wno-pointer-sign])
1407 save_cflags="$CFLAGS"
1408 CFLAGS="$CFLAGS -Wno-pointer-sign"
1409 AC_TRY_COMPILE(,, use_no_sign_warning="yes", use_no_sign_warning="no")
1410 AC_MSG_RESULT($use_no_sign_warning)
1411 if test "x-$use_no_sign_warning" = "x-yes" ; then
1412     aros_config_cflags="$aros_config_cflags -Wno-pointer-sign"
1414 CFLAGS="$save_cflags"
1416 #-----------------------------------------------------------------------------
1418 # Find all the tools we need to compile. This could be cross-compiling
1419 # though! If that is the case we use the GNU form of the target and
1420 # simply add this to the front of the binary name. This is rather simple,
1421 # but it should work under most circumstances.
1423 # The default tools are to use the same as the host, but only if the
1424 # host and target CPU are the same. With GCC this is normally enough.
1427 aros_cc_pre=""
1428 aros_shared_ld="$aros_host_ld"
1430 aros_target_mkdep="$aros_host_mkdep"
1431 aros_target_incl_def="$aros_host_incl"
1433 aros_kernel_cc="$CC"
1435 # The default tools executables to be linked to.
1436 if test "$aros_target_cc" != ""; then
1437     AC_PATH_PROG(aros_target_cc,$aros_target_cc)
1438     AROS_REQUIRED(gcc,$aros_target_cc)
1440 if test "$aros_target_ld" != ""; then
1441     AC_PATH_PROG(aros_target_ld,$aros_target_ld)
1442     AROS_REQUIRED(ld,$aros_target_ld)
1445 if test "$crosstools" != "yes"; then
1446     AROS_TOOL_TARGET(aros_target_as_ln,as,$aros_target_as)
1447     AROS_REQUIRED(as,$aros_target_as_ln)
1448     AROS_TOOL_TARGET(aros_kernel_ld,ld,$aros_kernel_ld)
1449     AROS_REQUIRED(ld,$aros_kernel_ld)
1450     AROS_TOOL_TARGET(aros_target_ar_ln,ar,$aros_target_ar)
1451     AROS_REQUIRED(ar,$aros_target_ar_ln)
1452     AROS_TOOL_TARGET(aros_target_nm_ln,nm,$aros_target_nm)
1453     AROS_REQUIRED(nm,$aros_target_nm_ln)
1454     AROS_TOOL_TARGET(aros_target_objcopy_ln,objcopy,$aros_target_objcopy)
1455     AROS_REQUIRED(objcopy,$aros_target_objcopy_ln)
1456     AROS_TOOL_TARGET(aros_target_objdump_ln,objdump,$aros_target_objdump)
1457     AROS_REQUIRED(objdump,$aros_target_objdump_ln)
1458     AROS_TOOL_TARGET(aros_target_ranlib_ln,ranlib,$aros_target_ranlib)
1459     AROS_REQUIRED(ranlib,$aros_target_ranlib_ln)
1460     AROS_TOOL_TARGET(aros_target_strip_ln,strip,$aros_target_strip)
1461     AROS_REQUIRED(strip,$aros_target_strip_ln)
1462     if test "$aros_target_cxx" != ""; then
1463         AC_PATH_PROG(aros_target_cxx,$aros_target_cxx)
1464 # Temporarily disabled in order to let Mingw32-hosted nightly build to work
1465 #       AROS_REQUIRED(c++,$aros_target_cxx)
1466     fi
1467 else
1468 # Cancel preinstalled C++ compiler because it will be built as part of crosstools
1469     aros_target_cxx=""
1472 # Build crosstools if we have no C++ - temporary thing 
1473 if test "$aros_target_cxx" = ""; then
1474     crosstools_target=tools-crosstools
1477 if test "$rescomp" != ""; then
1478     if test "$cross_compiling" = "yes" ; then
1479         rescomp=${target_tool_prefix}${rescomp}
1480     fi
1481     AC_PATH_PROG(aros_kernel_rescomp,$rescomp)
1482     AROS_REQUIRED($rescomp,$aros_kernel_rescomp)
1485 aros_hostcfg_dir="bin/${aros_host_arch}-${aros_host_cpu}/gen/config"
1486 aros_targetcfg_dir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/gen/config"
1487 aros_inc_dir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/AROS/Development/include/aros"
1488 aros_gendir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/gen"
1489 aros_geninc_dir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/gen/include/aros"
1490 aros_tools_dir="bin/${aros_host_arch}-${aros_host_cpu}/tools"
1491 aros_scripts_dir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/gen/scripts"
1493 # aros_cc_pre is a variable that is added to the front of the compiler name
1494 # in the generated aros-gcc shell script. We need this to enable the cache
1495 # to work across cleaned builds. Also, support DISTCC using the correct
1496 # environment variable.
1499 if test "x${DISTCC}" != "x" ; then
1500     if test "x${CCACHE}" != "x" ; then
1501         aros_cc_pre="env CCACHE_PREFIX=${DISTCC} ${CCACHE} "
1502     else
1503         aros_cc_pre="${DISTCC} "
1504     fi
1505 else
1506     if test "x${CCACHE}" != "x" ; then
1507         aros_cc_pre="${CCACHE} "
1508     fi
1511 prefix="${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros"
1513 AC_SUBST(aros_target_nostdinc_cflags,-nostdinc)
1514 AC_SUBST(aros_target_nostartup_ldflags,-nostartfiles)
1515 AC_SUBST(aros_target_nix_ldflags,-nix)
1516 AC_SUBST(aros_target_detach_ldflags,-detach)
1517 AC_SUBST(aros_target_nostdlib_ldflags,-nostdlib)
1519 # Target tools
1520 if test "$aros_target_cc" = ""; then
1521     orig_target_cc=$aros_kernel_cc
1522 else
1523     orig_target_cc=$aros_target_cc
1525 if test "$aros_target_ld" = ""; then
1526     orig_target_ld=$aros_kernel_ld
1527 else
1528     orig_target_ld=$aros_target_ld
1530 if test "$GCC" = "yes"; then
1531     aros_target_cc_path=`$orig_target_cc -print-search-dirs | grep "programs: =" | cut -c 12-`
1533 aros_target_cc="${prefix}-gcc"
1534 aros_target_as="${prefix}-as"
1535 aros_target_ld="${prefix}-ld"
1536 aros_target_ar="${prefix}-ar $aros_target_ar_flags"
1537 aros_target_objcopy=${prefix}-objcopy
1538 aros_target_objdump=${prefix}-objdump
1539 aros_target_ranlib="${prefix}-ranlib $aros_target_ranlib_flags"
1540 aros_target_nm="${prefix}-nm $aros_target_nm_flags"
1541 aros_kernel_nm="${prefix}-nm"
1542 aros_target_strip=${prefix}-strip
1544 # Find the system include path. We can suggest that an alternative is
1545 # used if we don't get it correct. The default is to use /usr/include.
1546 # Which is set in the aros_target_incl_def variable.
1548 AC_ARG_ENABLE(includes,
1549 AC_HELP_STRING([--enable-includes=dir],[Alternative system include directory]),
1550 [aros_target_incl=$enable_includes], [aros_target_incl=$aros_target_incl_def])
1552 if test "$aros_kernel_includes" != "" ; then
1553     dnl find out about the kernel cc's include path
1554     AC_MSG_CHECKING([for the kernel compiler's include path])
1555     if test "$aros_kernel_cc_includes" = "" ; then
1556         #try to guess where the directory is
1557         aros_kernel_cc_includes=`dirname \`${aros_kernel_cc} ${aros_kernel_cflags} -print-libgcc-file-name\``/include
1558         if ! test -d $aros_kernel_cc_includes; then
1559             #the directory doesn't exist, we need to do some more work
1560             aros_kernel_cc_includes=${PWD}/${aros_gendir}/cc_include
1562             #these are the headers we're looling for
1563             headers="limits.h mmintrin.h stdbool.h syslimits.h float.h \
1564                      stddef.h xmmintrin.h iso646.h stdarg.h unwind.h   \
1565                      zutil.h"
1567             dirs=
1568             for h in $headers; do
1569                 #which other headers each of the above headers needs?
1570                 deps=$(echo "#include <$h>" | \
1571                        $aros_kernel_cc -E -M - 2>/dev/null | \
1572                        sed 's/^.*://; s/\\$/ /g; s/[[ \t]]\+/ /g')
1574                 #copy all the needed headers to a directory beneath gendir
1575                 for d in $deps; do
1576                     h=$(basename $d)
1577                     dir=${aros_kernel_cc_includes}$(echo $(dirname $d) | \
1578                                                 sed -n "s,^.*/include\(/.*\),\1,p")
1579                     ! test -d $dir && mkdir -p $dir
1580                     ! test -f $dir/$h && { cp $d $dir; chmod u+w $dir/$h; }
1581                 done
1582             done            
1583         fi
1584     fi
1585     AC_MSG_RESULT($aros_kernel_cc_includes)
1586     aros_kernel_includes="$aros_kernel_includes -isystem $aros_kernel_cc_includes"
1589 dnl find out about the target cc's include path
1590 AC_MSG_CHECKING([for the target compiler's include path])
1591 if test "$aros_target_cc_includes" = "" ; then
1592     #try to guess where the directory is
1593     aros_target_cc_includes=`dirname \`${orig_target_cc} -print-libgcc-file-name\``/include
1594     if ! test -d $aros_target_cc_includes; then
1595         #the directory doesn't exist, we need to do some more work
1596         aros_target_cc_includes=${PWD}/${aros_gendir}/cc_include
1597         
1598         #these are the headers we're looling for
1599         headers="limits.h mmintrin.h stdbool.h syslimits.h float.h \
1600                  stddef.h xmmintrin.h iso646.h stdarg.h unwind.h   \
1601                  zutil.h"
1603         dirs=
1604         for h in $headers; do
1605             #which other headers each of the above headers needs?
1606             deps=$(echo "#include <$h>" | \
1607                    $orig_target_cc -E -M - 2>/dev/null | \
1608                    sed 's/^.*://; s/\\$/ /g; s/[[ \t]]\+/ /g')
1609             
1610             #copy all the needed headers to a directory beneath gendir
1611             for d in $deps; do
1612                 h=$(basename $d)
1613                 dir=${aros_target_cc_includes}$(echo $(dirname $d) | \
1614                                                 sed -n "s,^.*/include\(/.*\),\1,p")
1615                 ! test -d $dir && mkdir -p $dir
1616                 ! test -f $dir/$h && { cp $d $dir; chmod u+w $dir/$h; }
1617             done
1618         done        
1619     fi
1621 AC_MSG_RESULT($aros_target_cc_includes)
1624 # For GCC < 4.0 -I- is used for giving the search path for '#include "..."'
1625 # On GCC >= 4.0 -iquote should be used
1628 save_cc="$CC"
1629 save_cflags="$CFLAGS"
1630 CFLAGS="-iquote."
1631 AC_MSG_CHECKING([whether ${CC} accepts -iquote])
1632 AC_TRY_COMPILE(,, has_iquote="yes", has_iquote="no")
1633 AC_MSG_RESULT($has_iquote)
1634 if test "x-$has_iquote" = "x-yes" ; then
1635     host_cflags_iquote=-iquote
1636     host_cflags_iquote_end=
1637 else
1638     host_cflags_iquote=-I
1639     host_cflags_iquote_end=-I-
1641 kernel_cflags_iquote=$host_cflags_iquote
1642 kernel_cflags_iquote_end=$host_cflags_iquote_end
1643 if test "x-$cross_compiling" = "x-yes"; then
1644     CC="$aros_kernel_cc"
1645     AC_MSG_CHECKING([whether ${CC} accepts -fno-stack-protector])
1646     AC_TRY_COMPILE(,, use_no_stack_protector="yes", use_no_stack_protector="no")
1647     AC_MSG_RESULT($use_no_stack_protector)
1648     AC_MSG_CHECKING([whether ${CC} accepts -iquote])
1649     AC_TRY_COMPILE(,, has_iquote="yes", has_iquote="no")
1650     AC_MSG_RESULT($has_iquote)
1651     if test "x-$has_iquote" = "x-yes" ; then
1652         kernel_cflags_iquote=-iquote
1653         kernel_cflags_iquote_end=
1654     else
1655         kernel_cflags_iquote=-I
1656         kernel_cflags_iquote_end=-I-
1657     fi
1659 aros_cflags_iquote=$kernel_cflags_iquote
1660 aros_cflags_iquote_end=$kernel_cflags_iquote_end
1661 if test "$orig_target_cc" != "$aros_kernel_cc"; then
1662     CC="$orig_target_cc"
1663     AC_MSG_CHECKING([whether ${CC} accepts -iquote])
1664     AC_TRY_COMPILE(,, has_iquote="yes", has_iquote="no")
1665     AC_MSG_RESULT($has_iquote)
1666     if test "x-$has_iquote" = "x-yes" ; then
1667         aros_cflags_iquote=-iquote
1668         aros_cflags_iquote_end=
1669     else
1670         aros_cflags_iquote=-I
1671         aros_cflags_iquote_end=-I-
1672     fi
1674 if test "x-$use_no_stack_protector" = "x-yes" ; then
1675     aros_kernel_cflags="$aros_kernel_cflags -fno-stack-protector"
1678 #-----------------------------------------------------------------------------
1680 # Check if we can explicitly choose older version of symbol hashing
1682 CFLAGS="save_cflags -Wl,--hash-style=sysv"
1683 CC="$aros_kernel_cc"
1684 AC_MSG_CHECKING([whether ${CC} accepts -Wl,--hash-style=sysv])
1685 AC_TRY_LINK(,, use_hash_style="yes", use_hash_style="no")
1686 AC_MSG_RESULT($use_hash_style)
1687 if test "x-$use_hash_style" = "x-yes" ; then
1688     aros_kernel_cflags="$aros_kernel_cflags -Wl,--hash-style=sysv"
1690 CC="$save_cc"
1691 CFLAGS="$save_cflags"
1693 AC_SUBST(host_cflags_iquote)
1694 AC_SUBST(host_cflags_iquote_end)
1695 AC_SUBST(kernel_cflags_iquote)
1696 AC_SUBST(kernel_cflags_iquote_end)
1697 AC_SUBST(aros_cflags_iquote)
1698 AC_SUBST(aros_cflags_iquote_end)
1701 dnl Check if user specified --with-resolution=XRESxYRESxDEPTH
1702 AC_MSG_CHECKING([for default resolution of WBScreen])
1703 AC_ARG_WITH(resolution,AC_HELP_STRING([--with-resolution=XRESxYRESxDEPTH],[Default resolution of the initial WorkbenchScreen]),resolution=$withval,resolution=none)
1704 # We require an argument, so map --with/--without ("yes"/"no") to "none" specified
1705 if test "$resolution" = "yes" ; then
1706     resolution="none"
1708 if test "$resolution" = "no" ; then
1709     resolution="none"
1711 if test "$resolution" != "none" ; then
1712     aros_default_wbwidth=`echo $resolution | cut -d'x' -f1`
1713     aros_default_wbheight=`echo $resolution | cut -d'x' -f2`
1714     aros_default_wbdepth=`echo $resolution | cut -d'x' -f3`
1716 AC_MSG_RESULT($aros_default_wbwidth x $aros_default_wbheight x $aros_default_wbdepth)
1717 aros_cv_default_wbwidth=$aros_default_wbwidth
1718 aros_cv_default_wbheight=$aros_default_wbheight
1719 aros_cv_default_wbdepth=$aros_default_wbdepth
1721 dnl See if the user wants the serial debug output for native flavour
1722 AC_MSG_CHECKING([if serial debug is enabled])
1723 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)
1724 if test "$aros_serial_debug" = 0 ; then
1725     serial_debug_forced=""
1726     if test "$serial_debug" = "yes" ; then
1727         serial_debug="2"
1728     fi
1729     if test "$serial_debug" = "no" ; then
1730         serial_debug="none"
1731     fi
1732 else
1733     serial_debug_forced="(forced)"
1734     serial_debug=$aros_serial_debug
1736 if test "$serial_debug" != "none" ; then
1737     aros_serial_debug=$serial_debug
1738     AC_MSG_RESULT($serial_debug_forced on port $serial_debug)
1739 else
1740     AC_MSG_RESULT(no)
1743 dnl See if the user wants the palm debug output hack for palm native flavour
1744 AC_MSG_CHECKING([if palm debug hack is enabled])
1745 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")
1746 if test "$palm_debug_hack" = "yes" ; then
1747     aros_palm_debug_hack="1"
1749 AC_MSG_RESULT($palm_debug_hack)
1752 dnl See if the user wants nesting supervisor activated for unix flavour
1753 AC_MSG_CHECKING([if nesting supervisor support is enabled])
1754 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")
1755 if test "$nesting_supervisor" = "yes" ; then
1756     aros_nesting_supervisor="1"
1758 AC_MSG_RESULT($nesting_supervisor)
1761 dnl things specifically required for hosted flavours
1762 if test "x-$aros_flavour" = "x-emulation" -o "x-$aros_flavour" = "x-emulcompat" ; then
1764     if test "x-$need_dlopen" != "x-no" ; then
1765       dnl some kind of dynamic library access system is required for hostlib.resource
1766       AC_CHECK_FUNC(dlopen, have_dl="yes", have_dl="no")
1767       if test "x-$have_dl" = "x-no" ; then
1768           AC_CHECK_LIB(dl, dlopen, [have_dl="yes"
1769                                     aros_host_ldflags="$aros_host_ldflags -ldl"],
1770                                     have_dl="no")
1771       fi
1772       if test "x-$have_dl" = "x-no" ; then
1773           AC_MSG_ERROR([dlopen() dynamic linker functions not available])
1774       fi
1775     fi
1778     dnl x11 hidd
1779     AC_ARG_ENABLE(x11_hidd, AC_HELP_STRING([--enable-x11-hidd],
1780                                            [build X11 hidd for hosted (default=auto)]),
1781                                            x11_hidd="$enableval",
1782                                            x11_hidd="auto")
1783     case "x-$x11_hidd" in
1784         x-yes|x-no|x-auto)                 ;;
1785         *)                 x11_hidd="auto" ;;
1786     esac
1788     ENABLE_X11=0
1790     dnl they want it
1791     if test "x-$x11_hidd" != "x-no" ; then
1793         dnl find x11 stuff
1794         AC_PATH_X
1796         x_cflags=
1797         for path in $x_libraries
1798         do
1799             x_cflags="$x_cflags -L$path"
1800         done
1802         for path in $x_includes
1803         do
1804             x_cflags="$x_cflags -I$path"
1805         done
1806         
1807         if test "x-$no_x" = "x-yes" ; then
1809             dnl didn't find it
1810             if test "x-$x11_hidd" != "x-auto" ; then
1811                 dnl and they explicitly asked for it, bail out
1812                 AC_MSG_ERROR([X11 libs/headers not found, cannot build X11 hidd as requested])
1813             fi
1814         
1815         else
1816             dnl found it, setup the metatarget
1817             x11_hidd_target=kernel-x11gfx-kobj
1818             ENABLE_X11=1
1820             dnl setup shared memory extensions
1821             AC_ARG_ENABLE(x11_shm, AC_HELP_STRING([--enable-x11-shm],
1822                                                   [use X11 shared memory (default=auto)]),
1823                                                   x11_hidd_shm="$enableval",
1824                                                   x11_hidd_shm="auto")
1825             case "x-$x11_hidd_shm" in
1826                 x-yes|x-no|x-auto)                     ;;
1827                 *)                 x11_hidd_shm="auto" ;;
1828             esac
1830             have_xshm=no
1832             dnl they want it
1833             if test "x-$x11_hidd_shm" != "x-no" ; then
1835                 dnl system shm headers
1836                 AC_CHECK_HEADERS(sys/ipc.h)
1837                 AC_CHECK_HEADERS(sys/shm.h)
1839                 dnl got them
1840                 if test "x-$ac_cv_header_sys_ipc_h" = "x-yes" -a "x-$ac_cv_header_sys_shm_h" = "x-yes" ; then
1842                     dnl make sure X libs have shm functions
1843                     save_cflags="$CFLAGS"
1844                     CFLAGS="$CFLAGS $x_cflags"
1845                     AC_CHECK_LIB(Xext, XShmQueryExtension, have_xshm=yes)
1846                     CFLAGS="$save_cflags"
1847                 fi
1848             fi
1850             dnl detection done, prepare output
1851             if test "x-$have_xshm" = "x-yes" ; then
1852                 dnl we can do shm
1853                 DO_XSHM_SUPPORT="1"
1854             elif test "x-$x11_hidd_shm" = "x-yes" ; then
1855                 dnl they explicitly asked for it, but we can't do it
1856                 AC_MSG_ERROR([X11 has no support for shared memory, cannot enable it as requested])
1857             else
1858                 dnl otherwise just disable it
1859                 DO_XSHM_SUPPORT="0"
1860             fi
1862             
1863             dnl setup vidmode (fullscreen) extensions
1864             AC_ARG_ENABLE(x11_vidmode, AC_HELP_STRING([--enable-x11-vidmode],
1865                                                       [use X11 vidmode extension (default=auto)]),
1866                                                       x11_hidd_vidmode="$enableval",
1867                                                       x11_hidd_vidmode="auto")
1868             case "x-$x11_hidd_vidmode" in
1869                 x-yes|x-no|x-auto)                         ;;
1870                 *)                 x11_hidd_vidmode="auto" ;;
1871             esac
1873             have_vidmode=no
1875             dnl they want it
1876             if test "x-$x11_hidd_vidmode" != "x-no" ; then
1878                 dnl make sure X libs have vidmode functions
1879                 save_cflags="$CFLAGS"
1880                 CFLAGS="$CFLAGS $x_cflags"
1881                 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension, have_vidmode=yes)
1882                 CFLAGS="$save_cflags"
1883             fi
1885             dnl detection done, prepare output
1886             if test "x-$have_vidmode" = "x-yes" ; then
1887                 dnl we can do vidmode
1888                 DO_VIDMODE_SUPPORT="1"
1889             elif test "x-$x11_hidd_vidmode" = "x-yes" ; then
1890                 dnl they explicitly asked for it, but we can't do it
1891                 AC_MSG_ERROR([X11 vidmode extension not available, cannot enable it as requested])
1892             else
1893                 dnl otherwise just disable it
1894                 DO_VIDMODE_SUPPORT="0"
1895             fi
1896         fi
1898         aros_host_x11_includes=$x_includes 
1899         aros_host_x11_libdirs=$x_libraries
1900     fi
1903     dnl sdl hidd
1904     AC_ARG_ENABLE(sdl_hidd, AC_HELP_STRING([--enable-sdl-hidd],
1905                                            [build SDL hidd for hosted (default=auto)]),
1906                                            sdl_hidd="$enableval",
1907                                            sdl_hidd="auto")
1908     case "x-$sdl_hidd" in
1909         x-yes|x-no|x-auto)                 ;;
1910         *)                 sdl_hidd="auto" ;;
1911     esac
1913     dnl they want it
1914     if test "x-$sdl_hidd" != "x-no" ; then
1916         dnl find sdl
1917         AM_PATH_SDL([1.2.10], have_sdl="yes", have_sdl="no")
1919         if test "x-$have_sdl" != "x-yes" ; then
1921             dnl didn't find it
1922             if test "x-$sdl_hidd" != "x-auto" ; then
1923                 dnl and they explicitly asked for it, bail out
1924                 AC_MSG_ERROR([SDL libs/headers not found, cannot build SDL hidd as requested])
1925             fi
1927         else
1928             dnl found it, set up the metatarget
1929             sdl_hidd_target=kernel-hidd-sdl
1930             aros_host_sdl_cflags=SDL_CFLAGS
1931             aros_host_sdl_libs=SDL_LIBS
1932         fi
1933     fi
1935     dnl oss.library
1936     AC_CHECK_HEADER(sys/soundcard.h)
1937     if test "x-$ac_cv_header_sys_soundcard_h" = "x-yes" ; then
1938         oss_library_target=workbench-libs-oss-unix
1939     fi
1943 dnl See if the user wants dbus.library
1944 AC_MSG_CHECKING([if building of dbus.library is enabled])
1945 AC_ARG_ENABLE(dbus,AC_HELP_STRING([--enable-dbus],[Enable DBUS support via dbus.library (default=no)]),dbus="yes",dbus="no")
1946 if test "$dbus" = "yes" ; then
1947     ENABLE_DBUS=1
1948     DBUS_CFLAGS=`pkg-config --cflags dbus-1`
1949     DBUS_LIBFLAGS=`pkg-config --libs dbus-1`
1950     KERNEL_DBUS_KOBJ=kernel-dbus-kobj
1951     KERNEL_DBUS_INCLUDES=kernel-dbus-includes
1952 else
1953     ENABLE_DBUS=0
1955 AC_MSG_RESULT($dbus)
1958 dnl --------------------------------------------------------------------
1959 dnl Configuration Output Section
1960 dnl --------------------------------------------------------------------
1962 # Generic
1963 AC_SUBST(aros_arch)
1964 AC_SUBST(aros_cpu)
1965 AC_SUBST(aros_flavour)
1966 AC_SUBST(aros_flavour_uc)
1967 AC_SUBST(AROS_BUILDDIR)
1968 AC_SUBST(AROS_BUILDDIR_UNIX)
1969 AC_SUBST(SRCDIR)
1970 AC_SUBST(AROS_PORTSSRCDIR)
1972 # Host related
1973 AC_SUBST(aros_cc_pre)
1974 AC_SUBST(aros_host_strip)
1975 AC_SUBST(aros_host_arch)
1976 AC_SUBST(aros_host_cpu)
1977 AC_SUBST(aros_host_cc)
1978 AC_SUBST(aros_host_ar)
1979 AC_SUBST(aros_host_ranlib)
1980 AC_SUBST(aros_host_ld)
1981 AC_SUBST(aros_host_make)
1982 AC_SUBST(aros_host_cflags)
1983 AC_SUBST(aros_host_ldflags)
1984 AC_SUBST(aros_host_debug)
1985 AC_SUBST(aros_host_mkdep)
1986 AC_SUBST(aros_host_mkargs)
1987 AC_SUBST(aros_host_exe_suffix)
1988 AC_SUBST(aros_host_lib_suffix)
1989 AC_SUBST(aros_tools_dir)
1990 AC_SUBST(aros_host_aclocal)
1991 AC_SUBST(aros_host_autoconf)
1992 AC_SUBST(aros_host_autoheader)
1993 AC_SUBST(aros_host_automake)
1995 # Target Related
1996 AC_SUBST(aros_target_guitheme)
1997 AC_SUBST(aros_target_iconset)
1998 AC_SUBST(aros_target_bootloader)
1999 AC_SUBST(aros_target_arch)
2000 AC_SUBST(aros_target_family)
2001 AC_SUBST(aros_target_cpu)
2002 AC_SUBST(aros_target_variant)
2003 AC_SUBST(aros_target_suffix)
2004 AC_SUBST(aros_target_incl)
2005 AC_SUBST(aros_target_ar)
2006 AC_SUBST(aros_target_ranlib)
2007 AC_SUBST(aros_kernel_nm)
2008 AC_SUBST(orig_target_cc)
2009 AC_SUBST(aros_target_cc)
2010 AC_SUBST(aros_target_cxx)
2011 AC_SUBST(aros_kernel_cc)
2012 AC_SUBST(aros_target_as)
2013 AC_SUBST(orig_target_ld)
2014 AC_SUBST(aros_target_ld)
2015 AC_SUBST(aros_kernel_ld)
2016 AC_SUBST(aros_target_cc_includes)
2017 AC_SUBST(aros_target_cc_path)
2018 AC_SUBST(aros_target_objdump)
2019 AC_SUBST(aros_target_objcopy)
2020 AC_SUBST(aros_target_strip)
2021 AC_SUBST(aros_target_nm)
2022 AC_SUBST(aros_kernel_rescomp)
2023 AC_SUBST(aros_shared_default)
2024 AC_SUBST(aros_shared_ld)
2025 AC_SUBST(aros_object_format)
2026 AC_SUBST(aros_compiler_libs)
2027 AC_SUBST(aros_arch_libs)
2029 AC_SUBST(aros_config_cflags)
2030 AC_SUBST(aros_config_aflags)
2031 AC_SUBST(aros_config_ldflags)
2033 AC_SUBST(aros_shared_cflags)
2034 AC_SUBST(aros_shared_aflags)
2035 AC_SUBST(aros_shared_ldflags)
2036 AC_SUBST(aros_kernel_cflags)
2037 AC_SUBST(aros_kernel_includes)
2038 AC_SUBST(aros_kernel_objcflags)
2039 AC_SUBST(aros_kernel_ldflags)
2040 AC_SUBST(aros_debug_cflags)
2041 AC_SUBST(aros_debug_aflags)
2042 AC_SUBST(aros_debug_ldflags)
2043 AC_SUBST(aros_paranoia_cflags)
2044 AC_SUBST(aros_target_genmap)
2045 AC_SUBST(aros_target_strip_flags)
2047 AC_SUBST(crosstools_target)
2049 # Graphics Related
2050 AC_SUBST(x11_hidd_target)
2051 AC_SUBST(sdl_hidd_target)
2052 AC_SUBST(pci_hidd_target)
2053 AC_SUBST(oss_library_target)
2055 AC_SUBST(aros_default_wbwidth)
2056 AC_SUBST(aros_default_wbheight)
2057 AC_SUBST(aros_default_wbdepth)
2058 AC_SUBST(DO_XSHM_SUPPORT)
2059 AC_SUBST(DO_VIDMODE_SUPPORT)
2061 AC_SUBST(aros_host_x11_includes)
2062 AC_SUBST(aros_host_x11_libdirs)
2063 AC_SUBST(aros_host_sdl_cflags)
2064 AC_SUBST(aros_host_sdl_libs)
2066 # Native version related
2067 AC_SUBST(aros_serial_debug)
2069 # Palm native version related
2070 AC_SUBST(aros_palm_debug_hack)
2072 # Unix/Hosted version related
2073 AC_SUBST(aros_nesting_supervisor)
2075 # Apple iOS related
2076 AC_SUBST(aros_ios_platform)
2077 AC_SUBST(aros_ios_version)
2078 AC_SUBST(aros_ios_sdk)
2080 # DBUS related
2081 AC_SUBST(ENABLE_DBUS)
2082 AC_SUBST(DBUS_CFLAGS)
2083 AC_SUBST(DBUS_LIBFLAGS)
2084 AC_SUBST(KERNEL_DBUS_KOBJ)
2085 AC_SUBST(KERNEL_DBUS_INCLUDES)
2087 #X11 related
2088 AC_SUBST(ENABLE_X11)
2090 # Debug related
2091 AC_SUBST(aros_debug)
2092 AC_SUBST(aros_mungwall_debug)
2093 AC_SUBST(aros_stack_debug)
2094 AC_SUBST(aros_modules_debug)
2096 # Collect-aros stuff: "-ius" to ignore undefined symbols
2097 AC_SUBST(ignore_undefined_symbols)
2099 # C compiler related
2100 AC_SUBST(gcc_target_cpu)
2102 dnl Prepare for output, make up all the generated patches
2103 case "$aros_flavour" in
2104 emulation)      aros_flavour_uc="AROS_FLAVOUR_EMULATION"
2105                 aros_flavour="emulation" ;;
2106 emulcompat)     aros_flavour_uc="(AROS_FLAVOUR_EMULATION|AROS_FLAVOUR_BINCOMPAT)"
2107                 aros_flavour="emulation" ;;
2108 standalone)     aros_flavour_uc="AROS_FLAVOUR_STANDALONE"
2109                 aros_flavour="standalone";;
2110 standcompat)    aros_flavour_uc="(AROS_FLAVOUR_STANDALONE|AROS_FLAVOUR_BINCOMPAT)"
2111                 aros_flavour="standalone";;
2112 native)         aros_flavour_uc="AROS_FLAVOUR_NATIVE"
2113                 aros_flavour="native" ;;
2114 nativecompat)   aros_flavour_uc="(AROS_FLAVOUR_NATIVE|AROS_FLAVOUR_BINCOMPAT)"
2115                 aros_flavour="native" ;;
2116 linklib)        aros_flavour_uc="AROS_FLAVOUR_LINKLIB"
2117                 aros_flavour="linklib" ;;
2118 palmnative)     aros_flavour_uc="(AROS_FLAVOUR_STANDALONE|AROS_FLAVOUR_EMULATION)"
2119                 aros_flavour="palmnative" ;;
2120 mac68knative)   aros_flavour_uc="(AROS_FLAVOUR_STANDALONE|AROS_FLAVOUR_EMULATION)"
2121                 aros_flavour="mac68knative" ;;
2122 ppcnative)      aros_flavour_uc="(AROS_FLAVOUR_STANDALONE|AROS_FLAVOUR_BINCOMPAT)"
2123                 aros_flavour="ppcnative" ;;
2124 esac
2126 if test ! -d ${aros_inc_dir} ; then
2127     ${MKDIR} ${aros_inc_dir}
2129 if test ! -d ${aros_geninc_dir} ; then
2130     ${MKDIR} ${aros_geninc_dir}
2132 if test ! -d ${aros_hostcfg_dir} ; then
2133     ${MKDIR} ${aros_hostcfg_dir}
2135 if test ! -d ${aros_targetcfg_dir} ; then
2136     ${MKDIR} ${aros_targetcfg_dir}
2138 if test ! -d ${aros_tools_dir} ; then
2139     ${MKDIR} ${aros_tools_dir}
2141 if test ! -d ${aros_scripts_dir} ; then
2142     ${MKDIR} ${aros_scripts_dir}
2145 AC_CONFIG_HEADERS(${aros_geninc_dir}/host-conf.h:config/host-conf.h.in)
2147 AC_CONFIG_COMMANDS([compiler_executable],
2148     [
2149         prefix=${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}
2150         mkdir -p $prefix
2151         prefix="${prefix}/${aros_target_cpu}-aros"
2152         prefix2=${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros
2154         echo ${prefix}
2155         echo ${prefix2}
2156         chmod a+x ${prefix2}-gcc ${prefix2}-ld
2158         ln -sf ${prefix2}-gcc          ${prefix}-gcc
2159         ln -sf ${prefix2}-ld           ${prefix}-ld
2161         ln -sf $aros_target_as_ln$aros_host_exe_suffix      ${prefix}-as
2162         ln -sf $aros_target_nm_ln$aros_host_exe_suffix      ${prefix}-nm
2163         ln -sf $aros_target_ar_ln$aros_host_exe_suffix      ${prefix}-ar
2164         ln -sf $aros_target_ranlib_ln$aros_host_exe_suffix  ${prefix}-ranlib
2165         ln -sf $aros_target_objcopy_ln$aros_host_exe_suffix ${prefix}-objcopy
2166         ln -sf $aros_target_objdump_ln$aros_host_exe_suffix ${prefix}-objdump
2167         ln -sf $aros_target_strip_ln$aros_host_exe_suffix   ${prefix}-strip
2169         ln -sf $aros_target_as_ln$aros_host_exe_suffix      ${prefix2}-as
2170         ln -sf $aros_target_nm_ln$aros_host_exe_suffix      ${prefix2}-nm
2171         ln -sf $aros_target_ar_ln$aros_host_exe_suffix      ${prefix2}-ar
2172         ln -sf $aros_target_ranlib_ln$aros_host_exe_suffix  ${prefix2}-ranlib
2173         ln -sf $aros_target_objcopy_ln$aros_host_exe_suffix ${prefix2}-objcopy
2174         ln -sf $aros_target_objdump_ln$aros_host_exe_suffix ${prefix2}-objdump
2175         ln -sf $aros_target_strip_ln$aros_host_exe_suffix   ${prefix2}-strip
2176     ],
2177     [
2178         aros_host_exe_suffix=${aros_host_exe_suffix}
2179         aros_tools_dir=${aros_tools_dir}
2180         aros_target_cpu=${aros_target_cpu}
2181         aros_target_arch=${aros_target_arch}
2182         aros_target_suffix=${aros_target_suffix}
2183         aros_target_nm_ln=${aros_target_nm_ln}
2184         aros_target_as_ln=${aros_target_as_ln}
2185         aros_target_ar_ln=${aros_target_ar_ln}
2186         aros_target_ranlib_ln=${aros_target_ranlib_ln}
2187         aros_target_objdump_ln=${aros_target_objdump_ln}
2188         aros_target_objcopy_ln=${aros_target_objcopy_ln}
2189         aros_target_strip_ln=${aros_target_strip_ln}
2190     ]
2192 AC_CONFIG_COMMANDS([genshared_executable],
2193     [chmod a+x ${aros_scripts_dir}/genshared],
2194     [aros_scripts_dir=${aros_scripts_dir}]
2196 AC_CONFIG_COMMANDS([genmf_executable],
2197     [chmod a+x ${aros_tools_dir}/genmf.py],
2198     [aros_tools_dir=${aros_tools_dir}]
2201 AC_CONFIG_FILES(
2202     Makefile
2203     config/make.cfg
2204     ${aros_inc_dir}/config.h:config/config.h.in
2205     ${aros_geninc_dir}/config.h:config/config.h.in
2206     ${aros_hostcfg_dir}/host.cfg:config/host.cfg.in
2207     ${aros_targetcfg_dir}/target.cfg:config/target.cfg.in
2208     mmake.config
2209     ${aros_targetcfg_dir}/make.defaults:config/make.defaults.in
2210     ${aros_targetcfg_dir}/specs:config/specs.in
2211     ${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-gcc:scripts/aros-gcc.in
2212     ${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-ld:scripts/aros-ld.in
2213     ${aros_scripts_dir}/genshared:compiler/c_lib/source/lib_source/genshared.in
2214     ${aros_tools_dir}/genmf.py:tools/genmf/genmf.py
2215     tools/collect-aros/env.h
2218 AC_OUTPUT
2220 dnl This is in order to not define SHARED_CFLAGS sometimes
2221 dnl We don't always do aros_shared_ar, aros_shared_cflags
2223 #XXX compatability...
2224 aros_shared_ar="$aros_shared_ld $aros_shared_ldflags -o"
2226 if test -n "$aros_shared_cflags" ; then
2227     echo "SHARED_CFLAGS := $aros_shared_cflags" >> ${aros_hostcfg_dir}/host.cfg
2228     echo "SHARED_AR := $aros_shared_ar" >> ${aros_hostcfg_dir}/host.cfg