diff --git a/.hgignore b/.hgignore index 49620dba792..70888ae9d25 100644 --- a/.hgignore +++ b/.hgignore @@ -4,6 +4,7 @@ nbproject/private/ ^webrev ^.hgtip ^.bridge2 +^.jab/ .DS_Store .metadata/ .recommenders/ diff --git a/common/autoconf/basics.m4 b/common/autoconf/basics.m4 index 1bac9a47386..38cebda6144 100644 --- a/common/autoconf/basics.m4 +++ b/common/autoconf/basics.m4 @@ -99,7 +99,13 @@ AC_DEFUN([BASIC_FIXUP_PATH], AC_MSG_ERROR([The path of $1, which resolves as "$path", is not found.]) fi - $1="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + $1="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + $1="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi ]) @@ -1072,6 +1078,26 @@ AC_DEFUN_ONCE([BASIC_CHECK_BASH_OPTIONS], AC_SUBST(BASH_ARGS) ]) +################################################################################ +# +# Default make target +# +AC_DEFUN_ONCE([BASIC_SETUP_DEFAULT_MAKE_TARGET], +[ + AC_ARG_WITH(default-make-target, [AS_HELP_STRING([--with-default-make-target], + [set the default make target @<:@exploded-image@:>@])]) + if test "x$with_default_make_target" = "x" \ + || test "x$with_default_make_target" = "xyes"; then + DEFAULT_MAKE_TARGET="exploded-image" + elif test "x$with_default_make_target" = "xno"; then + AC_MSG_ERROR([--without-default-make-target is not a valid option]) + else + DEFAULT_MAKE_TARGET="$with_default_make_target" + fi + + AC_SUBST(DEFAULT_MAKE_TARGET) +]) + # Code to run after AC_OUTPUT AC_DEFUN_ONCE([BASIC_POST_CONFIG_OUTPUT], [ diff --git a/common/autoconf/configure b/common/autoconf/configure index 4ac6fa1730b..008fd7ff7e6 100644 --- a/common/autoconf/configure +++ b/common/autoconf/configure @@ -257,10 +257,14 @@ fi # Now transfer control to the script generated by autoconf. This is where the # main work is done. +RCDIR=`mktemp -dt jdk-build-configure.tmp.XXXXXX` || exit $? +trap "rm -rf \"$RCDIR\"" EXIT conf_logfile=./configure.log -(exec 3>&1 ; (. $conf_script_to_run "${conf_processed_arguments[@]}" 2>&1 1>&3 ) | tee -a $conf_logfile 1>&2 ; exec 3>&-) | tee -a $conf_logfile +(exec 3>&1 ; ((. $conf_script_to_run "${conf_processed_arguments[@]}" 2>&1 1>&3 ) \ + ; echo $? > "$RCDIR/rc" ) \ + | tee -a $conf_logfile 1>&2 ; exec 3>&-) | tee -a $conf_logfile -conf_result_code=$? +conf_result_code=`cat "$RCDIR/rc"` ### ### Post-processing ### diff --git a/common/autoconf/configure.ac b/common/autoconf/configure.ac index 062bac927e9..cafecd5a993 100644 --- a/common/autoconf/configure.ac +++ b/common/autoconf/configure.ac @@ -121,6 +121,9 @@ PKG_PROG_PKG_CONFIG # After basic tools have been setup, we can check build os specific details. PLATFORM_SETUP_OPENJDK_BUILD_OS_VERSION +# Misc basic settings +BASIC_SETUP_DEFAULT_MAKE_TARGET + ############################################################################### # # Determine OpenJDK variants, options and version numbers. diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh index 9318de77b41..f0fe9043d5a 100644 --- a/common/autoconf/generated-configure.sh +++ b/common/autoconf/generated-configure.sh @@ -862,6 +862,7 @@ TEST_IN_BUILD BUILD_HEADLESS SUPPORT_HEADFUL SUPPORT_HEADLESS +DEFAULT_MAKE_TARGET OS_VERSION_MICRO OS_VERSION_MINOR OS_VERSION_MAJOR @@ -1067,6 +1068,7 @@ with_extra_path with_sdk_name with_conf_name with_output_sync +with_default_make_target enable_headful enable_hotspot_test_in_build with_cacerts_file @@ -1933,6 +1935,8 @@ Optional Packages: from important configuration options] --with-output-sync set make output sync type if supported by make. [recurse] + --with-default-make-target + set the default make target [exploded-image] --with-cacerts-file specify alternative cacerts file --with-copyright-year Set copyright year value for build [current year] --with-milestone Deprecated. Option is kept for backwards @@ -3563,6 +3567,12 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Check for support for specific options in bash +################################################################################ +# +# Default make target +# + + # Code to run after AC_OUTPUT @@ -4052,6 +4062,15 @@ pkgadd_help() { # +################################################################################ +# +# Static build support. When enabled will generate static +# libraries instead of shared libraries for all JDK libs. +# + + + + # # Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -4091,15 +4110,6 @@ pkgadd_help() { -################################################################################ -# -# Static build support. When enabled will generate static -# libraries instead of shared libraries for all JDK libs. -# - - - - # # Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -4709,7 +4719,7 @@ VS_SDK_PLATFORM_NAME_2013= #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1449049746 +DATE_WHEN_GENERATED=1449605339 ############################################################################### # @@ -15326,7 +15336,13 @@ $as_echo "$as_me: The path of CURDIR, which resolves as \"$path\", is invalid." as_fn_error $? "The path of CURDIR, which resolves as \"$path\", is not found." "$LINENO" 5 fi - CURDIR="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + CURDIR="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + CURDIR="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -15452,7 +15468,13 @@ $as_echo "$as_me: The path of TOPDIR, which resolves as \"$path\", is invalid." as_fn_error $? "The path of TOPDIR, which resolves as \"$path\", is not found." "$LINENO" 5 fi - TOPDIR="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + TOPDIR="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + TOPDIR="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -16022,7 +16044,13 @@ $as_echo "$as_me: The path of with_devkit, which resolves as \"$path\", is inval as_fn_error $? "The path of with_devkit, which resolves as \"$path\", is not found." "$LINENO" 5 fi - with_devkit="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + with_devkit="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + with_devkit="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -16554,7 +16582,13 @@ $as_echo "$as_me: The path of OUTPUT_ROOT, which resolves as \"$path\", is inval as_fn_error $? "The path of OUTPUT_ROOT, which resolves as \"$path\", is not found." "$LINENO" 5 fi - OUTPUT_ROOT="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + OUTPUT_ROOT="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + OUTPUT_ROOT="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -23051,6 +23085,26 @@ fi +# Misc basic settings + + +# Check whether --with-default-make-target was given. +if test "${with_default_make_target+set}" = set; then : + withval=$with_default_make_target; +fi + + if test "x$with_default_make_target" = "x" \ + || test "x$with_default_make_target" = "xyes"; then + DEFAULT_MAKE_TARGET="exploded-image" + elif test "x$with_default_make_target" = "xno"; then + as_fn_error $? "--without-default-make-target is not a valid option" "$LINENO" 5 + else + DEFAULT_MAKE_TARGET="$with_default_make_target" + fi + + + + ############################################################################### # # Determine OpenJDK variants, options and version numbers. @@ -23792,7 +23846,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -23988,7 +24048,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -24172,7 +24238,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -24355,7 +24427,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -24538,7 +24616,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -24712,7 +24796,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -24861,7 +24951,13 @@ $as_echo "$as_me: The path of JAVA_HOME_PROCESSED, which resolves as \"$path\", as_fn_error $? "The path of JAVA_HOME_PROCESSED, which resolves as \"$path\", is not found." "$LINENO" 5 fi - JAVA_HOME_PROCESSED="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + JAVA_HOME_PROCESSED="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + JAVA_HOME_PROCESSED="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -25031,7 +25127,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -25356,7 +25458,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -25568,7 +25676,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -25745,7 +25859,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -25950,7 +26070,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -26127,7 +26253,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -26332,7 +26464,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -26509,7 +26647,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -26714,7 +26858,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -26891,7 +27041,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -27083,7 +27239,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -27258,7 +27420,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -27451,7 +27619,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -27626,7 +27800,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -27818,7 +27998,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -27993,7 +28179,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -28186,7 +28378,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -28361,7 +28559,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -28535,7 +28739,13 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. as_fn_error $? "The path of BOOT_JDK, which resolves as \"$path\", is not found." "$LINENO" 5 fi - BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + BOOT_JDK="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -31014,7 +31224,13 @@ $as_echo "$as_me: The path of ipath, which resolves as \"$path\", is invalid." > as_fn_error $? "The path of ipath, which resolves as \"$path\", is not found." "$LINENO" 5 fi - ipath="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + ipath="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + ipath="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -31164,7 +31380,13 @@ $as_echo "$as_me: The path of libpath, which resolves as \"$path\", is invalid." as_fn_error $? "The path of libpath, which resolves as \"$path\", is not found." "$LINENO" 5 fi - libpath="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + libpath="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + libpath="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -42918,7 +43140,13 @@ $as_echo "$as_me: The path of with_build_devkit, which resolves as \"$path\", is as_fn_error $? "The path of with_build_devkit, which resolves as \"$path\", is not found." "$LINENO" 5 fi - with_build_devkit="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + with_build_devkit="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + with_build_devkit="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -45433,7 +45661,13 @@ $as_echo "$as_me: The path of JT_HOME, which resolves as \"$path\", is invalid." as_fn_error $? "The path of JT_HOME, which resolves as \"$path\", is not found." "$LINENO" 5 fi - JT_HOME="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + JT_HOME="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + JT_HOME="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -47947,7 +48181,13 @@ $as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid. as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5 fi - MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + MSVC_DLL="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -48121,7 +48361,13 @@ $as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid. as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5 fi - MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + MSVC_DLL="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -48319,7 +48565,13 @@ $as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid. as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5 fi - MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + MSVC_DLL="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -48494,7 +48746,13 @@ $as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid. as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5 fi - MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + MSVC_DLL="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -48679,7 +48937,13 @@ $as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid. as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5 fi - MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + MSVC_DLL="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -48871,7 +49135,13 @@ $as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid. as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5 fi - MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + MSVC_DLL="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -49060,7 +49330,13 @@ $as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid. as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5 fi - MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + MSVC_DLL="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -49254,7 +49530,13 @@ $as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid. as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5 fi - MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + MSVC_DLL="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -49428,7 +49710,13 @@ $as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid. as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5 fi - MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + MSVC_DLL="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -49626,7 +49914,13 @@ $as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid. as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5 fi - MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + MSVC_DLL="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -49801,7 +50095,13 @@ $as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid. as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5 fi - MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + MSVC_DLL="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -49986,7 +50286,13 @@ $as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid. as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5 fi - MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + MSVC_DLL="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -50178,7 +50484,13 @@ $as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid. as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5 fi - MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + MSVC_DLL="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -50367,7 +50679,13 @@ $as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid. as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5 fi - MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + MSVC_DLL="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + MSVC_DLL="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -51746,7 +52064,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as as_fn_error $? "The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -51872,7 +52196,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$ as_fn_error $? "The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_LIB_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -52107,7 +52437,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as as_fn_error $? "The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -52233,7 +52569,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$ as_fn_error $? "The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_LIB_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -52567,7 +52909,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as as_fn_error $? "The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -52693,7 +53041,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$ as_fn_error $? "The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_LIB_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -52903,7 +53257,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as as_fn_error $? "The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -53029,7 +53389,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$ as_fn_error $? "The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_LIB_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -53230,7 +53596,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as as_fn_error $? "The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -53356,7 +53728,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$ as_fn_error $? "The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_LIB_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -53557,7 +53935,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as as_fn_error $? "The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -53683,7 +54067,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$ as_fn_error $? "The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_LIB_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -53885,7 +54275,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as as_fn_error $? "The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -54011,7 +54407,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$ as_fn_error $? "The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_LIB_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -54214,7 +54616,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as as_fn_error $? "The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -54340,7 +54748,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$ as_fn_error $? "The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_LIB_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -54539,7 +54953,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as as_fn_error $? "The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -54665,7 +55085,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$ as_fn_error $? "The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_LIB_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -54864,7 +55290,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as as_fn_error $? "The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -54990,7 +55422,13 @@ $as_echo "$as_me: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$ as_fn_error $? "The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + POTENTIAL_FREETYPE_LIB_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -55172,7 +55610,13 @@ $as_echo "$as_me: The path of FREETYPE_INCLUDE_PATH, which resolves as \"$path\" as_fn_error $? "The path of FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + FREETYPE_INCLUDE_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi @@ -55306,7 +55750,13 @@ $as_echo "$as_me: The path of FREETYPE_LIB_PATH, which resolves as \"$path\", is as_fn_error $? "The path of FREETYPE_LIB_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 fi - FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + if test -d "$path"; then + FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + FREETYPE_LIB_PATH="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi diff --git a/common/autoconf/spec.gmk.in b/common/autoconf/spec.gmk.in index dfe57c9b30f..72e00a09044 100644 --- a/common/autoconf/spec.gmk.in +++ b/common/autoconf/spec.gmk.in @@ -271,6 +271,9 @@ SJAVAC_SERVER_DIR=$(MAKESUPPORT_OUTPUTDIR)/javacservers # Number of parallel jobs to use for compilation JOBS?=@JOBS@ +# Default make target +DEFAULT_MAKE_TARGET:=@DEFAULT_MAKE_TARGET@ + FREETYPE_LIBS:=@FREETYPE_LIBS@ FREETYPE_CFLAGS:=@FREETYPE_CFLAGS@ FREETYPE_BUNDLE_LIB_PATH=@FREETYPE_BUNDLE_LIB_PATH@ diff --git a/common/bin/jab.sh b/common/bin/jab.sh new file mode 100644 index 00000000000..2ffe293d606 --- /dev/null +++ b/common/bin/jab.sh @@ -0,0 +1,127 @@ +#!/bin/bash +# +# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# This script installs the JAB tool into it's own local repository and +# puts a wrapper scripts into /.jab + +mydir="$(dirname "${BASH_SOURCE[0]}")" +myname="$(basename "${BASH_SOURCE[0]}")" + +installed_jab_script=${mydir}/../../.jab/jab +install_data=${mydir}/../../.jab/.data + +setup_url() { + if [ -f "~/.config/jab/jab.conf" ]; then + source ~/.config/jab/jab.conf + fi + + jab_repository="jdk-virtual" + jab_organization="jpg/infra/builddeps" + jab_module="jab" + jab_revision="2.0-SNAPSHOT" + jab_ext="jab.sh.gz" + + closed_script="${mydir}/../../closed/conf/jab-install.conf" + if [ -f "${closed_script}" ]; then + source "${closed_script}" + fi + + if [ -n "${JAB_SERVER}" ]; then + jab_server="${JAB_SERVER}" + fi + if [ -n "${JAB_REPOSITORY}" ]; then + jab_repository="${JAB_REPOSITORY}" + fi + if [ -n "${JAB_ORGANIZATION}" ]; then + jab_organization="${JAB_ORGANIZATION}" + fi + if [ -n "${JAB_MODULE}" ]; then + jab_module="${JAB_MODULE}" + fi + if [ -n "${JAB_REVISION}" ]; then + jab_revision="${JAB_REVISION}" + fi + if [ -n "${JAB_EXTENSION}" ]; then + jab_extension="${JAB_EXTENSION}" + fi + + if [ -n "${JAB_URL}" ]; then + jab_url="${JAB_URL}" + data_string="${jab_url}" + else + data_string="${jab_repository}/${jab_organization}/${jab_module}/${jab_revision}/${jab_module}-${jab_revision}.${jab_ext}" + jab_url="${jab_server}/${data_string}" + fi +} + +install_jab() { + if [ -z "${jab_server}" -a -z "${JAB_URL}" ]; then + echo "No jab server or URL provided, set either" + echo "JAB_SERVER=" + echo "or" + echo "JAB_URL=" + exit 1 + fi + + if command -v curl > /dev/null; then + getcmd="curl -s" + elif command -v wget > /dev/null; then + getcmd="wget --quiet -O -" + else + echo "Could not find either curl or wget" + exit 1 + fi + + if ! command -v gunzip > /dev/null; then + echo "Could not find gunzip" + exit 1 + fi + + echo "Downloading JAB bootstrap script" + mkdir -p "${installed_jab_script%/*}" + rm -f "${installed_jab_script}.gz" + ${getcmd} ${jab_url} > "${installed_jab_script}.gz" + if [ ! -s "${installed_jab_script}.gz" ]; then + echo "Failed to download ${jab_url}" + exit 1 + fi + echo "Extracting JAB bootstrap script" + rm -f "${installed_jab_script}" + gunzip "${installed_jab_script}.gz" + chmod +x "${installed_jab_script}" + echo "${data_string}" > "${install_data}" +} + +# Main body starts here + +setup_url + +if [ ! -x "${installed_jab_script}" ]; then + install_jab +elif [ ! -e "${install_data}" ] || [ "${data_string}" != "$(cat "${install_data}")" ]; then + echo "Install url changed since last time, reinstalling" + install_jab +fi + +${installed_jab_script} "$@" diff --git a/common/conf/jab-profiles.js b/common/conf/jab-profiles.js new file mode 100644 index 00000000000..90059e22ef0 --- /dev/null +++ b/common/conf/jab-profiles.js @@ -0,0 +1,555 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * This file defines build profiles for the JAB tool and others. + * + * A build profile defines a set of configuration options and external + * dependencies that we for some reason or other care about specifically. + * Typically, build profiles are defined for the build configurations we + * build regularly. + * + * Contract against this file from the tools that use it, is to provide + * a function on the form: + * + * getJabProfiles(input) + * + * which returns an object graph describing the profiles and their + * dependencies. The name of the function is based on the name of this + * file, minus the extension and the '-', camel cased and prefixed with + * 'get'. + * + * + * The parameter 'input' is an object that optionally contains some data. + * Optionally because a tool may read the configuration for different purposes. + * To initially get a list of available profiles, the active profile may not + * yet be known for instance. + * + * Data that may be set on the input object: + * + * input.profile = + * + * If the active profile is set, the following data from it must also + * be provided: + * + * input.profile + * input.target_os + * input.target_cpu + * input.build_os + * input.build_cpu + * input.target_platform + * input.build_platform + * // The build_osenv_* variables describe the unix layer on Windows systems, + * // i.e. Cygwin, which may also be 32 or 64 bit. + * input.build_osenv + * input.build_osenv_cpu + * input.build_osenv_platform + * + * For more complex nested attributes, there is a method "get": + * + * input.get("", "") + * + * Valid attributes are: + * install_path + * download_path + * download_dir + * + * + * The output data generated by this configuration file has the following + * format: + * + * data: { + * // Identifies the version of this format to the tool reading it + * format_version: "1.0", + * + * // Name of base outputdir. JAB assumes the actual output dir is formed + * // by adding the configuration name: / + * output_basedir: "build", + * // Configure argument to use to specify configuration name + * configuration_configure_arg: + * // Make argument to use to specify configuration name + * configuration_make_arg: + * + * profiles: { + * : { + * // Name of os the profile is built to run on + * target_os; + * // Name of cpu the profile is built to run on + * target_cpu; + * // Combination of target_os and target_cpu for convenience + * target_platform; + * // Name of os the profile is built on + * build_os; + * // Name of cpu the profile is built on + * build_cpu; + * // Combination of build_os and build_cpu for convenience + * build_platform; + * + * // List of dependencies needed to build this profile + * dependencies: + * + * // List of configure args to use for this profile + * configure_args: + * + * // List of free form labels describing aspects of this profile + * labels: + * } + * } + * + * // Dependencies use a Maven like deployment structure + * dependencies: { + * : { + * // Organization part of path defining this dependency + * organization: + * // File extension for this dependency + * ext: + * // Module part of path for defining this dependency, + * // defaults to + * module: + * // Revision part of path for defining this dependency + * revision: + * + * // List of configure args to add when using this dependency, + * // defaults to + * // "--with-=input.get(" + * + * // Name of environment variable to set when using this dependency + * // when running make + * environment_name: + * // Value of environment variable to set when using this dependency + * // when running make + * environment_value: + * + * // Value to add to the PATH variable when using this dependency, + * // applies to both make and configure + * environment_path: + * } + * + * : { + * // For certain dependencies where a legacy distribution mechanism is + * // already in place, the "javare" server layout is also supported + * // Indicate that an alternate server source and layout should be used + * server: "javare" + * + * // For "javare", a combination of module, revision, + * // build number (optional), files and checksum file is possible for + * // artifacts following the standard layout. + * module: + * revision: + * build_number: + * checksum_file: + * file: + * + * // For other files, use checksum path and path instead + * checksum_path: + * path: + * } + * } + * } + */ + +/** + * Main entry to generate the profile configuration + * + * @param input External data to use for generating the configuration + * @returns {{}} Profile configuration + */ +var getJabProfiles = function (input) { + + var data = {}; + + // Identifies the version of this format to the tool reading it + data.format_version = "1.0"; + + // Organization is used when uploading/publishing build results + data.organization = "com.oracle.jpg.jdk"; + + // The base directory for the build output. JAB will assume that the + // actual build directory will be / + data.output_basedir = "build"; + // The configure argument to use to specify the name of the configuration + data.configuration_configure_arg = "--with-conf-name="; + // The make argument to use to specify the name of the configuration + data.configuration_make_arg = "CONF_NAME="; + + // Define some common values + var common = getJabProfilesCommon(input); + // Generate the profiles part of the configuration + data.profiles = getJabProfilesProfiles(input, common); + // Generate the dependencies part of the configuration + data.dependencies = getJabProfilesDependencies(input, common); + + return data; +}; + +/** + * Generates some common values + * + * @param input External data to use for generating the configuration + * @returns Common values + */ +var getJabProfilesCommon = function (input) { + var common = { + dependencies: ["boot_jdk", "gnumake", "jtreg"], + configure_args: ["--with-default-make-target=all"], + configure_args_32bit: ["--with-target-bits=32", "--with-jvm-variants=client,server"], + configure_args_debug: ["--enable-debug"], + organization: "jpg.infra.builddeps" + }; + + return common; +}; + +/** + * Generates the profiles part of the configuration. + * + * @param input External data to use for generating the configuration + * @param common The common values + * @returns {{}} Profiles part of the configuration + */ +var getJabProfilesProfiles = function (input, common) { + var profiles = {}; + + // Main SE profiles + var mainProfiles = { + + "linux-x64": { + target_os: "linux", + target_cpu: "x64", + dependencies: concat(common.dependencies, "devkit"), + configure_args: common.configure_args, + make_args: common.make_args + }, + + "linux-x86": { + target_os: "linux", + target_cpu: "x86", + build_cpu: "x64", + dependencies: concat(common.dependencies, "devkit"), + configure_args: concat(common.configure_args, common.configure_args_32bit), + make_args: common.make_args + }, + + "macosx-x64": { + target_os: "macosx", + target_cpu: "x64", + dependencies: concat(common.dependencies, "devkit"), + configure_args: concat(common.configure_args, "--with-sdk-name=macosx10.9"), + make_args: common.make_args + }, + + "solaris-x64": { + target_os: "solaris", + target_cpu: "x64", + dependencies: concat(common.dependencies, "devkit", "cups"), + configure_args: common.configure_args, + make_args: common.make_args + }, + + "solaris-sparcv9": { + target_os: "solaris", + target_cpu: "sparcv9", + dependencies: concat(common.dependencies, "devkit", "cups"), + configure_args: common.configure_args, + make_args: common.make_args + }, + + "windows-x64": { + target_os: "windows", + target_cpu: "x64", + dependencies: concat(common.dependencies, "devkit", "freetype"), + configure_args: common.configure_args, + make_args: common.make_args + }, + + "windows-x86": { + target_os: "windows", + target_cpu: "x86", + build_cpu: "x64", + dependencies: concat(common.dependencies, "devkit", "freetype"), + configure_args: concat(common.configure_args, common.configure_args_32bit), + make_args: common.make_args + } + }; + profiles = concatObjects(profiles, mainProfiles); + // Generate debug versions of all the main profiles + profiles = concatObjects(profiles, generateDebugProfiles(common, mainProfiles)); + + // Specific open profiles needed for JPRT testing + var jprtOpenProfiles = { + + "linux-x64-open": { + target_os: mainProfiles["linux-x64"].target_os, + target_cpu: mainProfiles["linux-x64"].target_cpu, + dependencies: mainProfiles["linux-x64"].dependencies, + configure_args: concat(mainProfiles["linux-x64"].configure_args, + "--enable-openjdk-only"), + make_args: mainProfiles["linux-x64"].make_args, + labels: [ "open" ] + }, + + "solaris-x64-open": { + target_os: mainProfiles["solaris-x64"].target_os, + target_cpu: mainProfiles["solaris-x64"].target_cpu, + dependencies: mainProfiles["solaris-x64"].dependencies, + configure_args: concat(mainProfiles["solaris-x64"].configure_args, + "--enable-openjdk-only"), + make_args: mainProfiles["solaris-x64"].make_args, + labels: [ "open" ] + } + }; + profiles = concatObjects(profiles, jprtOpenProfiles); + // Generate debug profiles for the open jprt profiles + profiles = concatObjects(profiles, generateDebugProfiles(common, jprtOpenProfiles)); + + // Profiles used to run tests. Used in JPRT. + var testOnlyProfiles = { + + "run-test": { + target_os: input.build_os, + target_cpu: input.build_cpu, + dependencies: [ "jtreg", "gnumake" ], + labels: "test" + } + }; + profiles = concatObjects(profiles, testOnlyProfiles); + + // Generate the missing platform attributes + profiles = generatePlatformAttributes(profiles); + return profiles; +}; + +/** + * Generate the dependencies part of the configuration + * + * @param input External data to use for generating the configuration + * @param common The common values + * @returns {{}} Dependencies part of configuration + */ +var getJabProfilesDependencies = function (input, common) { + + var boot_jdk_platform = input.build_os + "-" + + (input.build_cpu == "x86" ? "i586" : input.build_cpu); + + var devkit_platform_revisions = { + linux_x64: "gcc4.9.2-OEL6.4+1.0", + macosx_x64: "Xcode6.3-MacOSX10.9+1.0", + solaris_x64: "SS12u3-Solaris10u10+1.0", + solaris_sparcv9: "SS12u3-Solaris10u10+1.0", + windows_x64: "VS2013SP4+1.0" + }; + + var devkit_platform = (input.target_cpu == "x86" + ? input.target_os + "_x64" + : input.target_platform); + + var dependencies = { + + boot_jdk: { + server: "javare", + module: "jdk", + revision: "8", + checksum_file: boot_jdk_platform + "/MD5_VALUES", + file: boot_jdk_platform + "/jdk-8-" + boot_jdk_platform + ".tar.gz", + configure_args: (input.build_os == "macosx" + ? "--with-boot-jdk=" + input.get("boot_jdk", "install_path") + "/jdk1.8.0.jdk/Contents/Home" + : "--with-boot-jdk=" + input.get("boot_jdk", "install_path") + "/jdk1.8.0") + }, + + devkit: { + organization: common.organization, + ext: "tar.gz", + module: "devkit-" + devkit_platform, + revision: devkit_platform_revisions[devkit_platform] + }, + + build_devkit: { + organization: common.organization, + ext: "tar.gz", + module: "devkit-" + input.build_platform, + revision: devkit_platform_revisions[input.build_platform] + }, + + cups: { + organization: common.organization, + ext: "tar.gz", + revision: "1.0118+1.0" + }, + + jtreg: { + server: "javare", + revision: "4.1", + build_number: "b12", + checksum_file: "MD5_VALUES", + file: "jtreg_bin-4.1.zip", + environment_name: "JT_HOME" + }, + + gnumake: { + organization: common.organization, + ext: "tar.gz", + revision: "4.0+1.0", + + module: (input.build_os == "windows" + ? "gnumake-" + input.build_osenv_platform + : "gnumake-" + input.build_platform), + + configure_args: (input.build_os == "windows" + ? "MAKE=" + input.get("gnumake", "install_path") + "/cygwin/bin/make" + : "MAKE=" + input.get("gnumake", "install_path") + "/bin/make"), + + environment_path: (input.build_os == "windows" + ? input.get("gnumake", "install_path") + "/cygwin/bin" + : input.get("gnumake", "install_path") + "/bin") + }, + + freetype: { + organization: common.organization, + ext: "tar.gz", + revision: "2.3.4+1.0", + module: "freetype-" + input.target_platform + } + }; + + return dependencies; +}; + +/** + * Generate the missing platform attributes for profiles + * + * @param profiles Profiles map to generate attributes on + * @returns {{}} New profiles map with platform attributes fully filled in + */ +var generatePlatformAttributes = function (profiles) { + var ret = concatObjects(profiles, {}); + for (var profile in profiles) { + if (ret[profile].build_os == null) { + ret[profile].build_os = ret[profile].target_os; + } + if (ret[profile].build_cpu == null) { + ret[profile].build_cpu = ret[profile].target_cpu; + } + ret[profile].target_platform = ret[profile].target_os + "_" + ret[profile].target_cpu; + ret[profile].build_platform = ret[profile].build_os + "_" + ret[profile].build_cpu; + } + return ret; +}; + +/** + * Generates debug versions of profiles. Clones the given profiles and adds + * debug metadata. + * + * @param common Common values + * @param profiles Profiles map to generate debug profiles for + * @returns {{}} New map of profiles containing debug profiles + */ +var generateDebugProfiles = function (common, profiles) { + var newProfiles = {}; + for (var profile in profiles) { + var debugProfile = profile + "-debug"; + newProfiles[debugProfile] = clone(profiles[profile]); + newProfiles[debugProfile].debug_level = "fastdebug"; + newProfiles[debugProfile].labels + = concat(newProfiles[debugProfile].labels || [], "debug"), + newProfiles[debugProfile].configure_args + = concat(newProfiles[debugProfile].configure_args, + common.configure_args_debug); + } + return newProfiles; +}; + +/** + * Deep clones an object tree. + * + * @param o Object to clone + * @returns {{}} Clone of o + */ +var clone = function (o) { + return JSON.parse(JSON.stringify(o)); +}; + +/** + * Concatenates all arguments into a new array + * + * @returns {Array.} New array containing all arguments + */ +var concat = function () { + return Array.prototype.concat.apply([], arguments); +}; + +/** + * Copies all elements in an array into a new array but replacing all + * occurrences of original with replacement. + * + * @param original Element to look for + * @param replacement Element to replace with + * @param a Array to copy + * @returns {Array} New array with all occurrences of original replaced + * with replacement + */ +var replace = function (original, replacement, a) { + var newA = []; + for (var i in a) { + if (original == a[i]) { + newA.push(replacement); + } else { + newA.push(a[i]); + } + } + return newA; +}; + +/** + * Deep concatenation of two objects. For each node encountered, merge + * the contents with the corresponding node in the other object tree, + * treating all strings as array elements. + * + * @param o1 Object to concatenate + * @param o2 Object to concatenate + * @returns {{}} New object tree containing the concatenation of o1 and o2 + */ +var concatObjects = function (o1, o2) { + var ret = {}; + for (var a in o1) { + if (o2[a] == null) { + ret[a] = o1[a]; + } + } + for (var a in o2) { + if (o1[a] == null) { + ret[a] = o2[a]; + } else { + if (typeof o1[a] == 'string') { + ret[a] = [o1[a]].concat(o2[a]); + } else if (Array.isArray(o1[a])) { + ret[a] = o1[a].concat(o2[a]); + } else if (typeof o1[a] == 'object') { + ret[a] = concatObjects(o1[a], o2[a]); + } + } + } + return ret; +}; diff --git a/make/Help.gmk b/make/Help.gmk index 739a85e2ee7..e48ec4cc48c 100644 --- a/make/Help.gmk +++ b/make/Help.gmk @@ -75,6 +75,7 @@ help: $(info $(_) CONF= # Build all configurations (note, assignment is empty)) $(info $(_) CONF= # Build the configuration(s) with a name matching) $(info $(_) # ) + $(info $(_) CONF_NAME= # Build the configuration with exactly the ) $(info $(_) SPEC= # Build the configuration given by the spec file) $(info $(_) LOG= # Change the log level from warn to ) $(info $(_) # Available log levels are:) diff --git a/make/InitSupport.gmk b/make/InitSupport.gmk index 6584d006f4d..eaec6b26950 100644 --- a/make/InitSupport.gmk +++ b/make/InitSupport.gmk @@ -40,7 +40,7 @@ ifeq ($(HAS_SPEC),) ############################################################################## # Make control variables, handled by Init.gmk - INIT_CONTROL_VARIABLES := LOG CONF SPEC JOBS CONF_CHECK COMPARE_BUILD + INIT_CONTROL_VARIABLES := LOG CONF CONF_NAME SPEC JOBS CONF_CHECK COMPARE_BUILD # All known make control variables MAKE_CONTROL_VARIABLES := $(INIT_CONTROL_VARIABLES) TEST JDK_FILTER @@ -169,6 +169,11 @@ ifeq ($(HAS_SPEC),) $$(info Error: Cannot use CONF=$$(CONF) and SPEC=$$(SPEC) at the same time. Choose one.) $$(error Cannot continue) endif + ifneq ($$(origin CONF_NAME), undefined) + # We also have a CONF_NAME argument. We can't have both. + $$(info Error: Cannot use CONF_NAME=$$(CONF_NAME) and SPEC=$$(SPEC) at the same time. Choose one.) + $$(error Cannot continue) + endif ifeq ($$(wildcard $$(SPEC)),) $$(info Error: Cannot locate spec.gmk, given by SPEC=$$(SPEC).) $$(error Cannot continue) @@ -191,7 +196,29 @@ ifeq ($(HAS_SPEC),) $$(error Cannot continue) endif - ifneq ($$(origin CONF), undefined) + ifneq ($$(origin CONF_NAME), undefined) + ifneq ($$(origin CONF), undefined) + # We also have a CONF argument. We can't have both. + $$(info Error: Cannot use CONF=$$(CONF) and CONF_NAME=$$(CONF_NAME) at the same time. Choose one.) + $$(error Cannot continue) + endif + matching_conf := $$(strip $$(filter $$(CONF_NAME), $$(all_confs))) + ifeq ($$(matching_conf),) + $$(info Error: No configurations found matching CONF_NAME=$$(CONF_NAME).) + $$(info Available configurations in $$(build_dir):) + $$(foreach var, $$(all_confs), $$(info * $$(var))) + $$(error Cannot continue) + else ifneq ($$(words $$(matching_conf)), 1) + $$(info Error: Matching more than one configuration CONF_NAME=$$(CONF_NAME).) + $$(info Available configurations in $$(build_dir):) + $$(foreach var, $$(all_confs), $$(info * $$(var))) + $$(error Cannot continue) + else + $$(info Building configuration '$$(matching_conf)' (matching CONF_NAME=$$(CONF_NAME))) + endif + # Create a SPEC definition. This will contain the path to exactly one spec file. + SPECS := $$(build_dir)/$$(matching_conf)/spec.gmk + else ifneq ($$(origin CONF), undefined) # User have given a CONF= argument. ifeq ($$(CONF),) # If given CONF=, match all configurations diff --git a/make/Main.gmk b/make/Main.gmk index 422a396b4f4..3b60038e42d 100644 --- a/make/Main.gmk +++ b/make/Main.gmk @@ -554,7 +554,7 @@ ALL_TARGETS += buildtools gensrc gendata copy java rmic libs launchers \ # Traditional targets typically run by users. # These can be considered aliases for the targets now named by a more # "modern" naming scheme. -default: exploded-image +default: $(DEFAULT_MAKE_TARGET) jdk: exploded-image images: product-images docs: docs-image