common/autoconf/configure.ac

changeset 478
2ba6f4da4bf3
parent 458
c8d320b48626
child 494
e64f2cb57d05
equal deleted inserted replaced
476:76844579fa4b 478:2ba6f4da4bf3
51 m4_include([platform.m4]) 51 m4_include([platform.m4])
52 m4_include([source-dirs.m4]) 52 m4_include([source-dirs.m4])
53 m4_include([toolchain.m4]) 53 m4_include([toolchain.m4])
54 54
55 # This line needs to be here, verbatim, after all includes. 55 # This line needs to be here, verbatim, after all includes.
56 # It is replaced with closed functionality when building 56 # It is replaced with custom functionality when building
57 # closed sources. 57 # custom sources.
58 AC_DEFUN_ONCE([CLOSED_HOOK]) 58 AC_DEFUN_ONCE([CUSTOM_HOOK])
59 59
60 ############################################################################### 60 ###############################################################################
61 # 61 #
62 # Initialization 62 # Initialization
63 # 63 #
64 ############################################################################### 64 ###############################################################################
65 65
66 # Basic initialization that must happen first of all 66 # Basic initialization that must happen first of all
67 BASIC_INIT 67 BASIC_INIT
68
69 # Now we can determine OpenJDK build and target platforms. This is required to
70 # have early on.
71 PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET
72
73 # Continue setting up basic stuff.
68 BASIC_SETUP_PATHS 74 BASIC_SETUP_PATHS
69 BASIC_SETUP_LOGGING 75 BASIC_SETUP_LOGGING
70 76
71 # Must be done before we can call HELP_MSG_MISSING_DEPENDENCY. 77 # Must be done before we can call HELP_MSG_MISSING_DEPENDENCY.
72 HELP_SETUP_DEPENDENCY_HELP 78 HELP_SETUP_DEPENDENCY_HELP
73 79
74 # Setup simple tools, that do not need have cross compilation support. 80 # Setup simple tools, that do not need have cross compilation support.
75 # Without these, we can't properly run the rest of the configure script. 81 # Without these, we can't properly run the rest of the configure script.
76 BASIC_SETUP_TOOLS 82 BASIC_SETUP_TOOLS
83
84 # Check if pkg-config is available.
85 PKG_PROG_PKG_CONFIG
86
87 # After basic tools have been setup, we can check build os specific details.
88 PLATFORM_SETUP_OPENJDK_BUILD_OS_VERSION
77 89
78 # Setup builddeps, for automatic downloading of tools we need. 90 # Setup builddeps, for automatic downloading of tools we need.
79 # This is needed before we can call BDEPS_CHECK_MODULE, which is done in 91 # This is needed before we can call BDEPS_CHECK_MODULE, which is done in
80 # boot-jdk setup, but we need to have basic tools setup first. 92 # boot-jdk setup, but we need to have basic tools setup first.
81 BDEPS_CONFIGURE_BUILDDEPS 93 BDEPS_CONFIGURE_BUILDDEPS
82 BDEPS_SCAN_FOR_BUILDDEPS 94 BDEPS_SCAN_FOR_BUILDDEPS
83
84 # Check if pkg-config is available.
85 PKG_PROG_PKG_CONFIG
86
87 ###############################################################################
88 #
89 # Determine OpenJDK build and target platforms.
90 #
91 ###############################################################################
92
93 PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET
94 PLATFORM_SETUP_OPENJDK_BUILD_OS_VERSION
95
96 # With knowledge of the build platform, setup more basic things.
97 BASIC_SETUP_PATH_SEP
98 BASIC_SETUP_SEARCHPATH
99 95
100 ############################################################################### 96 ###############################################################################
101 # 97 #
102 # Determine OpenJDK variants, options and version numbers. 98 # Determine OpenJDK variants, options and version numbers.
103 # 99 #
146 TOOLCHAIN_SETUP_PATHS 142 TOOLCHAIN_SETUP_PATHS
147 143
148 # FIXME: Currently we must test this after paths but before flags. Fix! 144 # FIXME: Currently we must test this after paths but before flags. Fix!
149 145
150 # And we can test some aspects on the target using configure macros. 146 # And we can test some aspects on the target using configure macros.
151 PLATFORM_TEST_OPENJDK_TARGET_BITS 147 PLATFORM_SETUP_OPENJDK_TARGET_BITS
152 PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS 148 PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS
153 149
154 # Configure flags for the tools 150 # Configure flags for the tools
155 TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_LIBS 151 TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_LIBS
156 TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION 152 TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION
211 ############################################################################### 207 ###############################################################################
212 208
213 # Check for some common pitfalls 209 # Check for some common pitfalls
214 BASIC_TEST_USABILITY_ISSUES 210 BASIC_TEST_USABILITY_ISSUES
215 211
216 # At the end, call the closed hook. (Dummy macro if no closed sources available) 212 # At the end, call the custom hook. (Dummy macro if no custom sources available)
217 CLOSED_HOOK 213 CUSTOM_HOOK
218 214
219 # We're messing a bit with internal autoconf variables to put the config.status 215 # We're messing a bit with internal autoconf variables to put the config.status
220 # in the output directory instead of the current directory. 216 # in the output directory instead of the current directory.
221 CONFIG_STATUS="$OUTPUT_ROOT/config.status" 217 CONFIG_STATUS="$OUTPUT_ROOT/config.status"
222 # Create the actual output files. Now the main work of configure is done. 218 # Create the actual output files. Now the main work of configure is done.
223 AC_OUTPUT 219 AC_OUTPUT
224 220
221 # Make the compare script executable
222 $CHMOD +x $OUTPUT_ROOT/compare.sh
223
225 # Finally output some useful information to the user 224 # Finally output some useful information to the user
226 HELP_PRINT_SUMMARY_AND_WARNINGS 225 HELP_PRINT_SUMMARY_AND_WARNINGS

mercurial