Annotation of Gnu-Mach/configure.ac, revision 1.1.1.1

1.1       root        1: dnl Configure script for GNU Mach.
                      2: 
                      3: dnl Copyright (C) 1997, 1998, 1999, 2004, 2006, 2007, 2008, 2010, 2013 Free
                      4: dnl Software Foundation, Inc.
                      5: 
                      6: dnl Permission to use, copy, modify and distribute this software and its
                      7: dnl documentation is hereby granted, provided that both the copyright
                      8: dnl notice and this permission notice appear in all copies of the
                      9: dnl software, derivative works or modified versions, and any portions
                     10: dnl thereof, and that both notices appear in supporting documentation.
                     11: dnl
                     12: dnl THE FREE SOFTWARE FOUNDATION ALLOWS FREE USE OF THIS SOFTWARE IN ITS
                     13: dnl "AS IS" CONDITION.  THE FREE SOFTWARE FOUNDATION DISCLAIMS ANY
                     14: dnl LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE
                     15: dnl USE OF THIS SOFTWARE.
                     16: 
                     17: AC_PREREQ([2.57])
                     18: 
                     19: m4_include([version.m4])
                     20: AC_INIT([AC_PACKAGE_NAME], [AC_PACKAGE_VERSION], [AC_PACKAGE_BUGREPORT],
                     21:   [AC_PACKAGE_TARNAME])
                     22: AC_CONFIG_SRCDIR([kern/ipc_kobject.c])
                     23: 
                     24: AC_CONFIG_AUX_DIR([build-aux])
                     25: 
                     26: AM_INIT_AUTOMAKE(
                     27:   [1.10.2]
                     28:   [dist-bzip2]
                     29: dnl Don't define `PACKAGE' and `VERSION'.
                     30:   [no-define]
                     31: dnl Do not clutter the main build directory.
                     32:   [subdir-objects]
                     33: dnl We require GNU make.
                     34:   [-Wall -Wno-portability]
                     35: )
                     36: 
                     37: m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])],
                     38:                             [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
                     39: 
                     40: #
                     41: # Deduce the architecture we're building for.
                     42: #
                     43: # TODO: Should we also support constructs like `i686_xen-pc-gnu' or
                     44: # `i686-pc_xen-gnu'?
                     45: 
                     46: AC_CANONICAL_HOST
                     47: 
                     48: AC_ARG_ENABLE([platform],
                     49:   AS_HELP_STRING([--enable-platform=PLATFORM], [specify the platform to build a
                     50:     kernel for.  Defaults to `at' for `i?86'.  The other possibility is
                     51:     `xen'.]),
                     52:   [host_platform=$enable_platform],
                     53:   [host_platform=default])
                     54: [# Supported configurations.
                     55: case $host_platform:$host_cpu in
                     56:   default:i?86)
                     57:     host_platform=at;;
                     58:   at:i?86 | xen:i?86)
                     59:     :;;
                     60:   *)]
                     61:     AC_MSG_ERROR([unsupported combination of cpu type `$host_cpu' and platform
                     62:       `$host_platform'.])[;;
                     63: esac]
                     64: AC_SUBST([host_platform])
                     65: 
                     66: [# This is used in a few places.
                     67: case $host_cpu in
                     68:   i?86)
                     69:     systype=i386;;
                     70:   *)
                     71:     systype=$host_cpu;;
                     72: esac]
                     73: AC_SUBST([systype])
                     74: 
                     75: #
                     76: # Programs.
                     77: #
                     78: 
                     79: AC_PROG_AWK
                     80: AM_PROG_AS
                     81: AC_PROG_CC
                     82: AC_PROG_CPP
                     83: AC_PROG_INSTALL
                     84: AC_PROG_RANLIB
                     85: AC_CHECK_TOOL([AR], [ar])
                     86: AC_CHECK_TOOL([LD], [ld])
                     87: AC_CHECK_TOOL([NM], [nm])
                     88: 
                     89: AC_CHECK_TOOL([MIG], [mig], [mig])
                     90: 
                     91: dnl Needed for the Automake option `subdir-objects'.
                     92: AM_PROG_CC_C_O
                     93: 
                     94: dnl Makerules can make use of these.
                     95: AC_CHECK_PROG([GZIP], [gzip], [gzip], [gzip-not-found])
                     96: AC_CHECK_TOOL([STRIP], [strip])
                     97: 
                     98: dnl See below why we need to patch stuff during build...
                     99: AC_CHECK_PROG([PATCH], [patch], [patch], [patch-not-found])
                    100: 
                    101: #
                    102: # configure fragments.
                    103: #
                    104: 
                    105: # The test suite.
                    106: m4_include([tests/configfrag.ac])
                    107: 
                    108: # Default set of device drivers.
                    109: AC_ARG_ENABLE([device-drivers],
                    110:   AS_HELP_STRING([--enable-device-drivers=WHICH], [specify WHICH (on `ix86-at'
                    111:     one of `default', `qemu', `none') to preset a certain subset of all
                    112:     available device drivers, as indicated by the below-metioned ``enabled
                    113:     ...'' comments; you can then still use further `--enable-*' or
                    114:     `--disable-*' options to refine the selection of drivers to include in
                    115:     order to choose only those you actually want to have enabled]))
                    116: [case $enable_device_drivers in
                    117:   '')
                    118:     enable_device_drivers=default;;
                    119:   no)
                    120:     enable_device_drivers=none;;
                    121:   default | none | qemu)
                    122:     :;;
                    123:   *)]
                    124:     AC_MSG_ERROR([invalid choice of]
                    125:       [`--enable-device-drivers=$enable_device_drivers'.])
                    126:     [;;
                    127: esac]
                    128: 
                    129: # Platform-specific configuration.
                    130: 
                    131: # PC AT.
                    132: # TODO.  Currently handled in `i386/configfrag.ac'.
                    133: 
                    134: # Xen.
                    135: m4_include([xen/configfrag.ac])
                    136: 
                    137: # Machine-specific configuration.
                    138: 
                    139: # ix86.
                    140: m4_include([i386/configfrag.ac])
                    141: 
                    142: # General options.
                    143: m4_include([configfrag.ac])
                    144: 
                    145: # Linux code snarfed into GNU Mach.
                    146: m4_include([linux/configfrag.ac])
                    147: 
                    148: #
                    149: # Compiler features.
                    150: #
                    151: 
                    152: # Smashing stack protector.
                    153: [ssp_possible=yes]
                    154: AC_MSG_CHECKING([whether the compiler accepts `-fstack-protector'])
                    155: # Is this a reliable test case?
                    156: AC_LANG_CONFTEST(
                    157:   [AC_LANG_SOURCE([[void foo (void) { volatile char a[8]; a[3]; }]])])
                    158: [# `$CC -c -o ...' might not be portable.  But, oh, well...  Is calling
                    159: # `ac_compile' like this correct, after all?
                    160: if eval "$ac_compile -S -fstack-protector -o conftest.s" 2> /dev/null; then]
                    161:   AC_MSG_RESULT([yes])
                    162:   [# Should we clear up other files as well, having called `AC_LANG_CONFTEST'?
                    163:   rm -f conftest.s
                    164: else
                    165:   ssp_possible=no]
                    166:   AC_MSG_RESULT([no])
                    167: [fi
                    168: # Need that, because some distributions ship compilers that include
                    169: # `-fstack-protector' in the default specs.]
                    170: AM_CONDITIONAL([disable_smashing_stack_protector],
                    171:   [[[ x"$ssp_possible" = xyes ]]])
                    172: 
                    173: #
                    174: # Output.
                    175: #
                    176: 
                    177: AC_CONFIG_HEADER([config.h])
                    178: AC_CONFIG_FILES([Makefile version.c])
                    179: 
                    180: #
                    181: # The remaining ugly, dark corners...
                    182: #
                    183: # Attention, parents: don't show this to your children...
                    184: #
                    185: 
                    186: #
                    187: # config.status.dep.patch
                    188: #
                    189: # This is a (ugly --- I admit) bootstrap hack to get to-be-generated files
                    190: # created before any other source files are compiled.
                    191: #
                    192: # See <http://lists.gnu.org/archive/html/automake/2006-05/msg00038.html>.
                    193: #
                    194: # We don't use `BUILT_SOURCES' (as it was suggested in the follow-up message),
                    195: # as we also want things like `make SPECIFIC_TARGET' to work.
                    196: #
                    197: # This affair is especially ugly because internals are used (the `# dummy'
                    198: # tag): internals that may be subject to changes.  That's the reason why a
                    199: # real patch is being used here and not some `sed' magic: to make it fail
                    200: # loudly in case.
                    201: #
                    202: # For all shipped source files a dependency file is tried to be created where
                    203: # it is simply stated that the respective source file depends on _all_
                    204: # to-be-generated files.  Depending on all of them doesn't do any harm, as they
                    205: # will nevertheless have to be created, sooner or later.  The problem is, that
                    206: # `config.status' doesn't know about the source file of the file it is
                    207: # currently creating the dependency file for.  So we have it do an educated
                    208: # guess...  Later, when compiling the source files, these dependency files will
                    209: # be rewritten to contain the files's actual dependencies.  From then on this
                    210: # bootstrap hack will be forgotten.
                    211: #
                    212: 
                    213: dnl AC_CONFIG_COMMANDS_POST([
                    214: dnl   sed -i -e \
                    215: dnl     's%#\ dummy%Makefile: $(filter-out $(DIST_SOURCES),$(SOURCES))%' \
                    216: dnl     config.status
                    217: dnl ])
                    218: AC_CONFIG_COMMANDS_POST([
                    219:   if "$PATCH" -f < "$srcdir"/config.status.dep.patch
                    220:   then] AC_MSG_NOTICE([Applied a patch to work around a deficiency in]
                    221:     [Automake.  See `configure.ac' for details.])
                    222:   [else] AC_MSG_ERROR([failed to patch using `config.status.dep.patch'.]
                    223:       [You have a serious problem.  Please contact <$PACKAGE_BUGREPORT>.])
                    224:   [fi
                    225: ])
                    226: 
                    227: #
                    228: # Fire.
                    229: #
                    230: 
                    231: AC_OUTPUT

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.