common/autoconf/configure.ac

changeset 494
e64f2cb57d05
parent 478
2ba6f4da4bf3
child 575
6f8f7a5449f6
     1.1 --- a/common/autoconf/configure.ac	Wed Oct 24 13:11:42 2012 -0700
     1.2 +++ b/common/autoconf/configure.ac	Fri Oct 26 14:29:57 2012 -0700
     1.3 @@ -31,16 +31,14 @@
     1.4  
     1.5  
     1.6  AC_PREREQ([2.61])
     1.7 -AC_INIT(openjdk, jdk8, build-dev@openjdk.java.net)
     1.8 -
     1.9 -# Do not change or remove the following line, it is needed for consistency checks:
    1.10 -# DATE_WHEN_GENERATED: @DATE_WHEN_GENERATED@
    1.11 +AC_INIT(OpenJDK, jdk8, build-dev@openjdk.java.net,,http://openjdk.java.net)
    1.12  
    1.13  AC_CONFIG_AUX_DIR([build-aux])
    1.14  m4_include([build-aux/pkg.m4])
    1.15  
    1.16  # Include these first...
    1.17  m4_include([basics.m4])
    1.18 +m4_include([basics_windows.m4])
    1.19  m4_include([builddeps.m4])
    1.20  # ... then the rest
    1.21  m4_include([boot-jdk.m4])
    1.22 @@ -51,35 +49,57 @@
    1.23  m4_include([platform.m4])
    1.24  m4_include([source-dirs.m4])
    1.25  m4_include([toolchain.m4])
    1.26 +m4_include([toolchain_windows.m4])
    1.27  
    1.28 -# This line needs to be here, verbatim, after all includes.
    1.29 -# It is replaced with custom functionality when building
    1.30 +AC_DEFUN_ONCE([CUSTOM_EARLY_HOOK])
    1.31 +AC_DEFUN_ONCE([CUSTOM_LATE_HOOK])
    1.32 +
    1.33 +# This line needs to be here, verbatim, after all includes and the dummy hook
    1.34 +# definitions. It is replaced with custom functionality when building
    1.35  # custom sources.
    1.36 -AC_DEFUN_ONCE([CUSTOM_HOOK])
    1.37 +#CUSTOM_AUTOCONF_INCLUDE
    1.38 +
    1.39 +# Do not change or remove the following line, it is needed for consistency checks:
    1.40 +DATE_WHEN_GENERATED=@DATE_WHEN_GENERATED@
    1.41  
    1.42  ###############################################################################
    1.43  #
    1.44 -# Initialization
    1.45 +# Initialization / Boot-strapping
    1.46 +#
    1.47 +# The bootstrapping process needs to solve the "chicken or the egg" problem,
    1.48 +# thus it jumps back and forth, each time gaining something needed later on.
    1.49  #
    1.50  ###############################################################################
    1.51  
    1.52  # Basic initialization that must happen first of all
    1.53  BASIC_INIT
    1.54 +BASIC_SETUP_FUNDAMENTAL_TOOLS
    1.55  
    1.56  # Now we can determine OpenJDK build and target platforms. This is required to
    1.57  # have early on.
    1.58  PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET
    1.59  
    1.60 -# Continue setting up basic stuff.
    1.61 +# Continue setting up basic stuff. Most remaining code require fundamental tools.
    1.62  BASIC_SETUP_PATHS
    1.63  BASIC_SETUP_LOGGING
    1.64  
    1.65 +# These are needed to be able to create a configuration name (and thus the output directory)
    1.66 +JDKOPT_SETUP_JDK_VARIANT
    1.67 +JDKOPT_SETUP_JVM_VARIANTS
    1.68 +JDKOPT_SETUP_DEBUG_LEVEL
    1.69 +
    1.70 +# With basic setup done, call the custom early hook.
    1.71 +CUSTOM_EARLY_HOOK
    1.72 +
    1.73 +# To properly create a configuration name, we need to have the OpenJDK target
    1.74 +# and options (variants and debug level) parsed.
    1.75 +BASIC_SETUP_OUTPUT_DIR
    1.76 +
    1.77  # Must be done before we can call HELP_MSG_MISSING_DEPENDENCY.
    1.78  HELP_SETUP_DEPENDENCY_HELP
    1.79  
    1.80 -# Setup simple tools, that do not need have cross compilation support.
    1.81 -# Without these, we can't properly run the rest of the configure script.
    1.82 -BASIC_SETUP_TOOLS
    1.83 +# Setup tools that requires more complex handling, or that is not needed by the configure script.
    1.84 +BASIC_SETUP_COMPLEX_TOOLS
    1.85  
    1.86  # Check if pkg-config is available.
    1.87  PKG_PROG_PKG_CONFIG
    1.88 @@ -100,16 +120,9 @@
    1.89  ###############################################################################
    1.90  
    1.91  # We need build & target for this.
    1.92 -JDKOPT_SETUP_JDK_VARIANT
    1.93 -JDKOPT_SETUP_JVM_VARIANTS
    1.94 -JDKOPT_SETUP_DEBUG_LEVEL
    1.95  JDKOPT_SETUP_JDK_OPTIONS
    1.96  JDKOPT_SETUP_JDK_VERSION_NUMBERS
    1.97  
    1.98 -# To properly create a configuration name, we need to have the OpenJDK target
    1.99 -# and options (variants and debug level) parsed.
   1.100 -BASIC_SETUP_OUTPUT_DIR
   1.101 -
   1.102  ###############################################################################
   1.103  #
   1.104  # Setup BootJDK, used to bootstrap the build.
   1.105 @@ -137,7 +150,6 @@
   1.106  ###############################################################################
   1.107  
   1.108  TOOLCHAIN_SETUP_SYSROOT_AND_OUT_OPTIONS
   1.109 -TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV
   1.110  # Locate the actual tools
   1.111  TOOLCHAIN_SETUP_PATHS
   1.112  
   1.113 @@ -152,10 +164,6 @@
   1.114  TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION
   1.115  TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_JDK
   1.116  
   1.117 -# After we have toolchain, we can compile the uncygdrive helper
   1.118 -BASIC_COMPILE_UNCYGDRIVE
   1.119 -
   1.120 -
   1.121  # Setup debug symbols (need objcopy from the toolchain for that)
   1.122  JDKOPT_SETUP_DEBUG_SYMBOLS
   1.123  
   1.124 @@ -173,6 +181,9 @@
   1.125  LIB_SETUP_MISC_LIBS
   1.126  LIB_SETUP_STATIC_LINK_LIBSTDCPP
   1.127  
   1.128 +# After we have toolchain and the paths to all libraries (needed by msys), we can compile the fixpath helper
   1.129 +BASIC_COMPILE_FIXPATH
   1.130 +
   1.131  ###############################################################################
   1.132  #
   1.133  # We need to do some final tweaking, when everything else is done.
   1.134 @@ -210,7 +221,7 @@
   1.135  BASIC_TEST_USABILITY_ISSUES
   1.136  
   1.137  # At the end, call the custom hook. (Dummy macro if no custom sources available)
   1.138 -CUSTOM_HOOK
   1.139 +CUSTOM_LATE_HOOK
   1.140  
   1.141  # We're messing a bit with internal autoconf variables to put the config.status
   1.142  # in the output directory instead of the current directory.

mercurial