configure revision 456:c8d320b48626
17858Sgibbs#!/bin/sh 257206Sgibbs 37858SgibbsCONFIGURE_COMMAND_LINE="$@" 47858Sgibbsconf_script_dir=`dirname $0` 57858Sgibbsconf_closed_script_dir="$conf_script_dir/../../jdk/make/closed/autoconf" 67858Sgibbs 77858Sgibbs### 87858Sgibbs### Test that the generated configure is up-to-date 97858Sgibbs### 107858Sgibbs 117858Sgibbs# On Solaris /bin/sh doesn't support test -nt but /usr/bin/test does. 127858SgibbsTEST=`which test` 137858Sgibbs 1449276Smppprint_error_not_up_to_date() { 157858Sgibbs echo "Error: The configure source files is newer than the generated files." 167858Sgibbs echo "Please run 'sh autogen.sh' to update the generated files." 177858Sgibbs} 187858Sgibbs 197858Sgibbsfor file in configure.ac *.m4 ; do 207858Sgibbs if $TEST $file -nt generated-configure.sh; then 217858Sgibbs print_error_not_up_to_date 227858Sgibbs exit 1 237858Sgibbs fi 247858Sgibbsdone 257858Sgibbs 267858Sgibbsif $TEST -e $conf_closed_script_dir/generated-configure.sh; then 2750476Speter # If closed source configure is available, make sure it is up-to-date as well. 287858Sgibbs for file in configure.ac *.m4 $conf_closed_script_dir/*.m4; do 29180492Sremko if $TEST $file -nt $conf_closed_script_dir/generated-configure.sh; then 3053200Sphantom print_error_not_up_to_date 3179538Sru exit 1 327858Sgibbs fi 337858Sgibbs done 3413502Swollman 357858Sgibbs # Test if open configure is newer than closed configure, if so, closed needs to 36158762Sbrueffer # be regenerated. 37158762Sbrueffer conf_open_configure_timestamp=`grep DATE_WHEN_GENERATED: $conf_script_dir/generated-configure.sh | cut -d" " -f 3` 38158762Sbrueffer conf_closed_configure_timestamp=`grep DATE_WHEN_GENERATED: $conf_closed_script_dir/generated-configure.sh | cut -d" " -f 3` 39158762Sbrueffer if $TEST $conf_open_configure_timestamp -gt $conf_closed_configure_timestamp; then 40158762Sbrueffer print_error_not_up_to_date 41158762Sbrueffer exit 1 42158762Sbrueffer fi 4315333Sgibbs 44158762Sbruefferfi 4513502Swollman 4615333Sgibbs### 47158762Sbrueffer### Process command-line arguments 4813502Swollman### 4922897Sgibbsconf_processed_arguments= 5022897Sgibbsconf_openjdk_target= 5113502Swollmanconf_extra_cflags= 5257206Sgibbsconf_extra_cxxflags= 5357206Sgibbs 54158762Sbruefferfor conf_option 5557206Sgibbsdo 56158762Sbrueffer case $conf_option in 57158762Sbrueffer --openjdk-target=*) 58158762Sbrueffer conf_openjdk_target=`expr "X$conf_option" : '[^=]*=\(.*\)'` 59158762Sbrueffer continue ;; 60158762Sbrueffer --with-extra-cflags=*) 61158762Sbrueffer conf_extra_cflags=`expr "X$conf_option" : '[^=]*=\(.*\)'` 62158762Sbrueffer continue ;; 63158762Sbrueffer --with-extra-cxxflags=*) 64158762Sbrueffer conf_extra_cxxflags=`expr "X$conf_option" : '[^=]*=\(.*\)'` 657858Sgibbs continue ;; 6613502Swollman *) 6713502Swollman conf_processed_arguments="$conf_processed_arguments $conf_option" ;; 68131570Ssimon esac 6915333Sgibbs 7040453Sgibbs case $conf_option in 7140453Sgibbs -build | --build | --buil | --bui | --bu |-build=* | --build=* | --buil=* | --bui=* | --bu=*) 7257206Sgibbs conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;; 7382328Sdd -target | --target | --targe | --targ | --tar | --ta | --t | -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) 7422897Sgibbs conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;; 7540453Sgibbs -host | --host | --hos | --ho | -host=* | --host=* | --hos=* | --ho=*) 7622897Sgibbs conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;; 7713502Swollman esac 7822897Sgibbsdone 7922897Sgibbs 8026282Smaxif $TEST "x$conf_legacy_crosscompile" != "x"; then 8122897Sgibbs if $TEST "x$conf_openjdk_target" != "x"; then 8222897Sgibbs echo "Error: Specifying --openjdk-target together with autoconf" 8357206Sgibbs echo "legacy cross-compilation flags is not supported." 8457206Sgibbs echo "You specified: --openjdk-target=$conf_openjdk_target and $conf_legacy_crosscompile." 8522897Sgibbs echo "The recommended use is just --openjdk-target." 8622897Sgibbs exit 1 8722897Sgibbs else 8813502Swollman echo "Warning: You are using legacy autoconf cross-compilation flags." 8957206Sgibbs echo "It is recommended that you use --openjdk-target instead." 9079727Sschweikh echo "" 9157206Sgibbs fi 92117011Srufi 93117011Sru 9457206Sgibbsif $TEST "x$conf_openjdk_target" != "x"; then 9579727Sschweikh conf_build_platform=`sh $conf_script_dir/build-aux/config.guess` 96112504Snjl conf_processed_arguments="--build=$conf_build_platform --host=$conf_openjdk_target --target=$conf_openjdk_target $conf_processed_arguments" 9757206Sgibbsfi 9879727Sschweikh 9913502Swollman# Make configure exit with error on invalid options as default. 10026282Smax# Can be overridden by --disable-option-checking, since we prepend our argument 10179727Sschweikh# and later options override earlier. 10213502Swollmanconf_processed_arguments="--enable-option-checking=fatal $conf_processed_arguments" 10322897Sgibbs 10479727Sschweikh### 10513502Swollman### Call the configure script 10679727Sschweikh### 10713502Swollmanif $TEST -e $conf_closed_script_dir/generated-configure.sh; then 10813502Swollman # Closed source configure available; run that instead 10957206Sgibbs . $conf_closed_script_dir/generated-configure.sh $conf_processed_arguments --with-extra-cflags="$conf_extra_cflags" --with-extra-cxxflags="$conf_extra_cxxflags" 11057206Sgibbselse 11115333Sgibbs . $conf_script_dir/generated-configure.sh $conf_processed_arguments --with-extra-cflags="$conf_extra_cflags" --with-extra-cxxflags="$conf_extra_cxxflags" 11257206Sgibbsfi 11315333Sgibbs 11440453Sgibbs### 11540453Sgibbs### Post-processing 11640453Sgibbs### 11740453Sgibbs 11840453Sgibbs# Move the log file to the output root, if this was successfully created 11940453Sgibbsif $TEST -d "$OUTPUT_ROOT"; then 12057206Sgibbs mv -f config.log "$OUTPUT_ROOT" 2> /dev/null 12157206Sgibbsfi 12279727Sschweikh