Merge
This commit is contained in:
commit
e7d0218faf
@ -292,3 +292,4 @@ f7c11da0b0481d49cc7a65a453336c108191e821 jdk9-b42
|
|||||||
b6cca3e6175a69f39e5799b7349ddb0176630291 jdk9-b47
|
b6cca3e6175a69f39e5799b7349ddb0176630291 jdk9-b47
|
||||||
0064e246d83f6f9fc245c19b6d05041ecaf4b6d4 jdk9-b48
|
0064e246d83f6f9fc245c19b6d05041ecaf4b6d4 jdk9-b48
|
||||||
d91ed1951b948210590ce1394bea5515357246ba jdk9-b49
|
d91ed1951b948210590ce1394bea5515357246ba jdk9-b49
|
||||||
|
d1f37d39ff2421f956a6ddf316cf763807bc3363 jdk9-b50
|
||||||
|
@ -1463,14 +1463,13 @@
|
|||||||
|
|
||||||
<h4>Building with ccache</h4>
|
<h4>Building with ccache</h4>
|
||||||
|
|
||||||
<p>A simple way to radically speed up compilation of native code
|
<p>The OpenJDK build supports building with ccache
|
||||||
(typically hotspot and native libraries in JDK) is to install
|
when using gcc or clang. Using ccache can
|
||||||
ccache. This will cache and reuse prior compilation results, if the
|
radically speed up compilation of native code if
|
||||||
source code is unchanged. However, ccache versions prior to 3.1.4
|
you often rebuild the same sources. Your milage
|
||||||
does not work correctly with the precompiled headers used in
|
may vary however so we recommend evaluating it for
|
||||||
OpenJDK. So if your platform supports ccache at 3.1.4 or later, we
|
yourself. To enable it, make sure it's on the path
|
||||||
highly recommend installing it. This is currently only supported on
|
and configure with <code>--enable-ccache</code>.</p>
|
||||||
linux.</p>
|
|
||||||
|
|
||||||
<h4>Building on local disk</h4>
|
<h4>Building on local disk</h4>
|
||||||
|
|
||||||
|
@ -242,6 +242,9 @@ AC_DEFUN_ONCE([BASIC_INIT],
|
|||||||
[
|
[
|
||||||
# Save the original command line. This is passed to us by the wrapper configure script.
|
# Save the original command line. This is passed to us by the wrapper configure script.
|
||||||
AC_SUBST(CONFIGURE_COMMAND_LINE)
|
AC_SUBST(CONFIGURE_COMMAND_LINE)
|
||||||
|
# Save the path variable before it gets changed
|
||||||
|
ORIGINAL_PATH="$PATH"
|
||||||
|
AC_SUBST(ORIGINAL_PATH)
|
||||||
DATE_WHEN_CONFIGURED=`LANG=C date`
|
DATE_WHEN_CONFIGURED=`LANG=C date`
|
||||||
AC_SUBST(DATE_WHEN_CONFIGURED)
|
AC_SUBST(DATE_WHEN_CONFIGURED)
|
||||||
AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
|
AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
|
||||||
|
@ -164,19 +164,26 @@ AC_DEFUN([BPERF_SETUP_CCACHE],
|
|||||||
[enable using ccache to speed up recompilations @<:@disabled@:>@])])
|
[enable using ccache to speed up recompilations @<:@disabled@:>@])])
|
||||||
|
|
||||||
CCACHE=
|
CCACHE=
|
||||||
|
CCACHE_STATUS=
|
||||||
AC_MSG_CHECKING([is ccache enabled])
|
AC_MSG_CHECKING([is ccache enabled])
|
||||||
ENABLE_CCACHE=$enable_ccache
|
|
||||||
if test "x$enable_ccache" = xyes; then
|
if test "x$enable_ccache" = xyes; then
|
||||||
AC_MSG_RESULT([yes])
|
if test "x$TOOLCHAIN_TYPE" = "xgcc" -o "x$TOOLCHAIN_TYPE" = "xclang"; then
|
||||||
OLD_PATH="$PATH"
|
AC_MSG_RESULT([yes])
|
||||||
if test "x$TOOLCHAIN_PATH" != x; then
|
OLD_PATH="$PATH"
|
||||||
PATH=$TOOLCHAIN_PATH:$PATH
|
if test "x$TOOLCHAIN_PATH" != x; then
|
||||||
|
PATH=$TOOLCHAIN_PATH:$PATH
|
||||||
|
fi
|
||||||
|
BASIC_REQUIRE_PROGS(CCACHE, ccache)
|
||||||
|
PATH="$OLD_PATH"
|
||||||
|
CCACHE_VERSION=[`$CCACHE --version | head -n1 | $SED 's/[A-Za-z ]*//'`]
|
||||||
|
CCACHE_STATUS="Active ($CCACHE_VERSION)"
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
AC_MSG_WARN([ccache is not supported with toolchain type $TOOLCHAIN_TYPE])
|
||||||
fi
|
fi
|
||||||
BASIC_REQUIRE_PROGS(CCACHE, ccache)
|
|
||||||
CCACHE_STATUS="enabled"
|
|
||||||
PATH="$OLD_PATH"
|
|
||||||
elif test "x$enable_ccache" = xno; then
|
elif test "x$enable_ccache" = xno; then
|
||||||
AC_MSG_RESULT([no, explicitly disabled])
|
AC_MSG_RESULT([no, explicitly disabled])
|
||||||
|
CCACHE_STATUS="Disabled"
|
||||||
elif test "x$enable_ccache" = x; then
|
elif test "x$enable_ccache" = x; then
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
else
|
else
|
||||||
@ -206,35 +213,31 @@ AC_DEFUN([BPERF_SETUP_CCACHE],
|
|||||||
AC_DEFUN([BPERF_SETUP_CCACHE_USAGE],
|
AC_DEFUN([BPERF_SETUP_CCACHE_USAGE],
|
||||||
[
|
[
|
||||||
if test "x$CCACHE" != x; then
|
if test "x$CCACHE" != x; then
|
||||||
# Only use ccache if it is 3.1.4 or later, which supports
|
if test "x$USE_PRECOMPILED_HEADER" = "x1"; then
|
||||||
# precompiled headers.
|
HAS_BAD_CCACHE=[`$ECHO $CCACHE_VERSION | \
|
||||||
AC_MSG_CHECKING([if ccache supports precompiled headers])
|
$GREP -e '^1.*' -e '^2.*' -e '^3\.0.*' -e '^3\.1\.[0123]'`]
|
||||||
HAS_GOOD_CCACHE=`($CCACHE --version | head -n 1 | grep -E 3.1.@<:@456789@:>@) 2> /dev/null`
|
if test "x$HAS_BAD_CCACHE" != "x"; then
|
||||||
if test "x$HAS_GOOD_CCACHE" = x; then
|
AC_MSG_ERROR([Precompiled headers requires ccache 3.1.4 or later, found $CCACHE_VERSION])
|
||||||
AC_MSG_RESULT([no, disabling ccache])
|
fi
|
||||||
CCACHE=
|
|
||||||
CCACHE_STATUS="disabled"
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
AC_MSG_CHECKING([if C-compiler supports ccache precompiled headers])
|
AC_MSG_CHECKING([if C-compiler supports ccache precompiled headers])
|
||||||
|
CCACHE_PRECOMP_FLAG="-fpch-preprocess"
|
||||||
PUSHED_FLAGS="$CXXFLAGS"
|
PUSHED_FLAGS="$CXXFLAGS"
|
||||||
CXXFLAGS="-fpch-preprocess $CXXFLAGS"
|
CXXFLAGS="$CCACHE_PRECOMP_FLAG $CXXFLAGS"
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [CC_KNOWS_CCACHE_TRICK=yes], [CC_KNOWS_CCACHE_TRICK=no])
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [CC_KNOWS_CCACHE_TRICK=yes], [CC_KNOWS_CCACHE_TRICK=no])
|
||||||
CXXFLAGS="$PUSHED_FLAGS"
|
CXXFLAGS="$PUSHED_FLAGS"
|
||||||
if test "x$CC_KNOWS_CCACHE_TRICK" = xyes; then
|
if test "x$CC_KNOWS_CCACHE_TRICK" = xyes; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
|
CFLAGS_CCACHE="$CCACHE_PRECOMP_FLAG"
|
||||||
|
AC_SUBST(CFLAGS_CCACHE)
|
||||||
|
CCACHE_SLOPPINESS=pch_defines,time_macros
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([no, disabling ccaching of precompiled headers])
|
AC_MSG_RESULT([no])
|
||||||
CCACHE=
|
AC_MSG_ERROR([Cannot use ccache with precompiled headers without compiler support for $CCACHE_PRECOMP_FLAG])
|
||||||
CCACHE_STATUS="disabled"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$CCACHE" != x; then
|
CCACHE="CCACHE_COMPRESS=1 $SET_CCACHE_DIR \
|
||||||
CCACHE_SLOPPINESS=time_macros
|
CCACHE_SLOPPINESS=$CCACHE_SLOPPINESS CCACHE_BASEDIR=$TOPDIR $CCACHE"
|
||||||
CCACHE="CCACHE_COMPRESS=1 $SET_CCACHE_DIR CCACHE_SLOPPINESS=$CCACHE_SLOPPINESS $CCACHE"
|
|
||||||
CCACHE_FLAGS=-fpch-preprocess
|
|
||||||
|
|
||||||
if test "x$SET_CCACHE_DIR" != x; then
|
if test "x$SET_CCACHE_DIR" != x; then
|
||||||
mkdir -p $CCACHE_DIR > /dev/null 2>&1
|
mkdir -p $CCACHE_DIR > /dev/null 2>&1
|
||||||
|
3
common/autoconf/configure
vendored
3
common/autoconf/configure
vendored
@ -40,8 +40,9 @@ if test "x$BASH" = x; then
|
|||||||
echo "Error: This script must be run using bash." 1>&2
|
echo "Error: This script must be run using bash." 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
# Force autoconf to use bash
|
# Force autoconf to use bash. This also means we must disable autoconf re-exec.
|
||||||
export CONFIG_SHELL=$BASH
|
export CONFIG_SHELL=$BASH
|
||||||
|
export _as_can_reexec=no
|
||||||
|
|
||||||
conf_script_dir="$TOPDIR/common/autoconf"
|
conf_script_dir="$TOPDIR/common/autoconf"
|
||||||
|
|
||||||
|
@ -629,6 +629,7 @@ ac_includes_default="\
|
|||||||
|
|
||||||
ac_subst_vars='LTLIBOBJS
|
ac_subst_vars='LTLIBOBJS
|
||||||
LIBOBJS
|
LIBOBJS
|
||||||
|
CFLAGS_CCACHE
|
||||||
CCACHE
|
CCACHE
|
||||||
USE_PRECOMPILED_HEADER
|
USE_PRECOMPILED_HEADER
|
||||||
SJAVAC_SERVER_DIR
|
SJAVAC_SERVER_DIR
|
||||||
@ -991,6 +992,7 @@ CAT
|
|||||||
BASH
|
BASH
|
||||||
BASENAME
|
BASENAME
|
||||||
DATE_WHEN_CONFIGURED
|
DATE_WHEN_CONFIGURED
|
||||||
|
ORIGINAL_PATH
|
||||||
CONFIGURE_COMMAND_LINE
|
CONFIGURE_COMMAND_LINE
|
||||||
target_alias
|
target_alias
|
||||||
host_alias
|
host_alias
|
||||||
@ -4333,7 +4335,7 @@ TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++"
|
|||||||
#CUSTOM_AUTOCONF_INCLUDE
|
#CUSTOM_AUTOCONF_INCLUDE
|
||||||
|
|
||||||
# Do not change or remove the following line, it is needed for consistency checks:
|
# Do not change or remove the following line, it is needed for consistency checks:
|
||||||
DATE_WHEN_GENERATED=1421247827
|
DATE_WHEN_GENERATED=1423567509
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#
|
#
|
||||||
@ -4366,6 +4368,9 @@ DATE_WHEN_GENERATED=1421247827
|
|||||||
|
|
||||||
# Save the original command line. This is passed to us by the wrapper configure script.
|
# Save the original command line. This is passed to us by the wrapper configure script.
|
||||||
|
|
||||||
|
# Save the path variable before it gets changed
|
||||||
|
ORIGINAL_PATH="$PATH"
|
||||||
|
|
||||||
DATE_WHEN_CONFIGURED=`LANG=C date`
|
DATE_WHEN_CONFIGURED=`LANG=C date`
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuration created at $DATE_WHEN_CONFIGURED." >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuration created at $DATE_WHEN_CONFIGURED." >&5
|
||||||
@ -27438,8 +27443,8 @@ $as_echo "$as_me: Trying to extract Visual Studio environment variables" >&6;}
|
|||||||
# The trailing space for everyone except PATH is no typo, but is needed due
|
# The trailing space for everyone except PATH is no typo, but is needed due
|
||||||
# to trailing \ in the Windows paths. These will be stripped later.
|
# to trailing \ in the Windows paths. These will be stripped later.
|
||||||
$ECHO "$WINPATH_BASH -c 'echo VS_PATH="'\"$PATH\" > set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
|
$ECHO "$WINPATH_BASH -c 'echo VS_PATH="'\"$PATH\" > set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
|
||||||
$ECHO "$WINPATH_BASH -c 'echo VS_INCLUDE="'\"$INCLUDE \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
|
$ECHO "$WINPATH_BASH -c 'echo VS_INCLUDE="'\"$INCLUDE\;$include \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
|
||||||
$ECHO "$WINPATH_BASH -c 'echo VS_LIB="'\"$LIB \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
|
$ECHO "$WINPATH_BASH -c 'echo VS_LIB="'\"$LIB\;$lib \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
|
||||||
$ECHO "$WINPATH_BASH -c 'echo VCINSTALLDIR="'\"$VCINSTALLDIR \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
|
$ECHO "$WINPATH_BASH -c 'echo VCINSTALLDIR="'\"$VCINSTALLDIR \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
|
||||||
$ECHO "$WINPATH_BASH -c 'echo WindowsSdkDir="'\"$WindowsSdkDir \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
|
$ECHO "$WINPATH_BASH -c 'echo WindowsSdkDir="'\"$WindowsSdkDir \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
|
||||||
$ECHO "$WINPATH_BASH -c 'echo WINDOWSSDKDIR="'\"$WINDOWSSDKDIR \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
|
$ECHO "$WINPATH_BASH -c 'echo WINDOWSSDKDIR="'\"$WINDOWSSDKDIR \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
|
||||||
@ -27486,9 +27491,9 @@ $as_echo "present but broken" >&6; }
|
|||||||
else
|
else
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
|
||||||
$as_echo "ok" >&6; }
|
$as_echo "ok" >&6; }
|
||||||
# Remove any trailing "\" and " " from the variables.
|
# Remove any trailing "\" ";" and " " from the variables.
|
||||||
VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED 's/\\\\* *$//'`
|
VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED -e 's/\\\\*;* *$//'`
|
||||||
VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\* *$//'`
|
VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\*;* *$//'`
|
||||||
VCINSTALLDIR=`$ECHO "$VCINSTALLDIR" | $SED 's/\\\\* *$//'`
|
VCINSTALLDIR=`$ECHO "$VCINSTALLDIR" | $SED 's/\\\\* *$//'`
|
||||||
WindowsSDKDir=`$ECHO "$WindowsSDKDir" | $SED 's/\\\\* *$//'`
|
WindowsSDKDir=`$ECHO "$WindowsSDKDir" | $SED 's/\\\\* *$//'`
|
||||||
WINDOWSSDKDIR=`$ECHO "$WINDOWSSDKDIR" | $SED 's/\\\\* *$//'`
|
WINDOWSSDKDIR=`$ECHO "$WINDOWSSDKDIR" | $SED 's/\\\\* *$//'`
|
||||||
@ -27499,6 +27504,268 @@ $as_echo "ok" >&6; }
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Convert VS_INCLUDE into SYSROOT_CFLAGS
|
||||||
|
OLDIFS="$IFS"
|
||||||
|
IFS=";"
|
||||||
|
for i in $VS_INCLUDE; do
|
||||||
|
ipath=$i
|
||||||
|
IFS="$OLDIFS"
|
||||||
|
|
||||||
|
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
|
||||||
|
|
||||||
|
# Input might be given as Windows format, start by converting to
|
||||||
|
# unix format.
|
||||||
|
path="$ipath"
|
||||||
|
new_path=`$CYGPATH -u "$path"`
|
||||||
|
|
||||||
|
# Cygwin tries to hide some aspects of the Windows file system, such that binaries are
|
||||||
|
# named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
|
||||||
|
# the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
|
||||||
|
# "foo.exe" is OK but "foo" is an error.
|
||||||
|
#
|
||||||
|
# This test is therefore slightly more accurate than "test -f" to check for file precense.
|
||||||
|
# It is also a way to make sure we got the proper file name for the real test later on.
|
||||||
|
test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
|
||||||
|
if test "x$test_shortpath" = x; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: The path of ipath, which resolves as \"$path\", is invalid." >&5
|
||||||
|
$as_echo "$as_me: The path of ipath, which resolves as \"$path\", is invalid." >&6;}
|
||||||
|
as_fn_error $? "Cannot locate the the path of ipath" "$LINENO" 5
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Call helper function which possibly converts this using DOS-style short mode.
|
||||||
|
# If so, the updated path is stored in $new_path.
|
||||||
|
|
||||||
|
input_path="$new_path"
|
||||||
|
# Check if we need to convert this using DOS-style short mode. If the path
|
||||||
|
# contains just simple characters, use it. Otherwise (spaces, weird characters),
|
||||||
|
# take no chances and rewrite it.
|
||||||
|
# Note: m4 eats our [], so we need to use [ and ] instead.
|
||||||
|
has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
|
||||||
|
if test "x$has_forbidden_chars" != x; then
|
||||||
|
# Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
|
||||||
|
shortmode_path=`$CYGPATH -s -m -a "$input_path"`
|
||||||
|
path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
|
||||||
|
if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
|
||||||
|
# Going to short mode and back again did indeed matter. Since short mode is
|
||||||
|
# case insensitive, let's make it lowercase to improve readability.
|
||||||
|
shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||||
|
# Now convert it back to Unix-stile (cygpath)
|
||||||
|
input_path=`$CYGPATH -u "$shortmode_path"`
|
||||||
|
new_path="$input_path"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
|
||||||
|
if test "x$test_cygdrive_prefix" = x; then
|
||||||
|
# As a simple fix, exclude /usr/bin since it's not a real path.
|
||||||
|
if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
|
||||||
|
# The path is in a Cygwin special directory (e.g. /home). We need this converted to
|
||||||
|
# a path prefixed by /cygdrive for fixpath to work.
|
||||||
|
new_path="$CYGWIN_ROOT_PATH$input_path"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if test "x$path" != "x$new_path"; then
|
||||||
|
ipath="$new_path"
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting ipath to \"$new_path\"" >&5
|
||||||
|
$as_echo "$as_me: Rewriting ipath to \"$new_path\"" >&6;}
|
||||||
|
fi
|
||||||
|
|
||||||
|
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
|
||||||
|
|
||||||
|
path="$ipath"
|
||||||
|
has_colon=`$ECHO $path | $GREP ^.:`
|
||||||
|
new_path="$path"
|
||||||
|
if test "x$has_colon" = x; then
|
||||||
|
# Not in mixed or Windows style, start by that.
|
||||||
|
new_path=`cmd //c echo $path`
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
input_path="$new_path"
|
||||||
|
# Check if we need to convert this using DOS-style short mode. If the path
|
||||||
|
# contains just simple characters, use it. Otherwise (spaces, weird characters),
|
||||||
|
# take no chances and rewrite it.
|
||||||
|
# Note: m4 eats our [], so we need to use [ and ] instead.
|
||||||
|
has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
|
||||||
|
if test "x$has_forbidden_chars" != x; then
|
||||||
|
# Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
|
||||||
|
new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
windows_path="$new_path"
|
||||||
|
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
|
||||||
|
unix_path=`$CYGPATH -u "$windows_path"`
|
||||||
|
new_path="$unix_path"
|
||||||
|
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
|
||||||
|
unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
|
||||||
|
new_path="$unix_path"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$path" != "x$new_path"; then
|
||||||
|
ipath="$new_path"
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting ipath to \"$new_path\"" >&5
|
||||||
|
$as_echo "$as_me: Rewriting ipath to \"$new_path\"" >&6;}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Save the first 10 bytes of this path to the storage, so fixpath can work.
|
||||||
|
all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
|
||||||
|
|
||||||
|
else
|
||||||
|
# We're on a unix platform. Hooray! :)
|
||||||
|
path="$ipath"
|
||||||
|
has_space=`$ECHO "$path" | $GREP " "`
|
||||||
|
if test "x$has_space" != x; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: The path of ipath, which resolves as \"$path\", is invalid." >&5
|
||||||
|
$as_echo "$as_me: The path of ipath, which resolves as \"$path\", is invalid." >&6;}
|
||||||
|
as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Use eval to expand a potential ~
|
||||||
|
eval path="$path"
|
||||||
|
if test ! -f "$path" && test ! -d "$path"; then
|
||||||
|
as_fn_error $? "The path of ipath, which resolves as \"$path\", is not found." "$LINENO" 5
|
||||||
|
fi
|
||||||
|
|
||||||
|
ipath="`cd "$path"; $THEPWDCMD -L`"
|
||||||
|
fi
|
||||||
|
|
||||||
|
IFS=";"
|
||||||
|
SYSROOT_CFLAGS="$SYSROOT_CFLAGS -I$ipath"
|
||||||
|
done
|
||||||
|
# Convert VS_LIB into SYSROOT_LDFLAGS
|
||||||
|
for i in $VS_LIB; do
|
||||||
|
libpath=$i
|
||||||
|
IFS="$OLDIFS"
|
||||||
|
|
||||||
|
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
|
||||||
|
|
||||||
|
# Input might be given as Windows format, start by converting to
|
||||||
|
# unix format.
|
||||||
|
path="$libpath"
|
||||||
|
new_path=`$CYGPATH -u "$path"`
|
||||||
|
|
||||||
|
# Cygwin tries to hide some aspects of the Windows file system, such that binaries are
|
||||||
|
# named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
|
||||||
|
# the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
|
||||||
|
# "foo.exe" is OK but "foo" is an error.
|
||||||
|
#
|
||||||
|
# This test is therefore slightly more accurate than "test -f" to check for file precense.
|
||||||
|
# It is also a way to make sure we got the proper file name for the real test later on.
|
||||||
|
test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
|
||||||
|
if test "x$test_shortpath" = x; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: The path of libpath, which resolves as \"$path\", is invalid." >&5
|
||||||
|
$as_echo "$as_me: The path of libpath, which resolves as \"$path\", is invalid." >&6;}
|
||||||
|
as_fn_error $? "Cannot locate the the path of libpath" "$LINENO" 5
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Call helper function which possibly converts this using DOS-style short mode.
|
||||||
|
# If so, the updated path is stored in $new_path.
|
||||||
|
|
||||||
|
input_path="$new_path"
|
||||||
|
# Check if we need to convert this using DOS-style short mode. If the path
|
||||||
|
# contains just simple characters, use it. Otherwise (spaces, weird characters),
|
||||||
|
# take no chances and rewrite it.
|
||||||
|
# Note: m4 eats our [], so we need to use [ and ] instead.
|
||||||
|
has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
|
||||||
|
if test "x$has_forbidden_chars" != x; then
|
||||||
|
# Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
|
||||||
|
shortmode_path=`$CYGPATH -s -m -a "$input_path"`
|
||||||
|
path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
|
||||||
|
if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
|
||||||
|
# Going to short mode and back again did indeed matter. Since short mode is
|
||||||
|
# case insensitive, let's make it lowercase to improve readability.
|
||||||
|
shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||||
|
# Now convert it back to Unix-stile (cygpath)
|
||||||
|
input_path=`$CYGPATH -u "$shortmode_path"`
|
||||||
|
new_path="$input_path"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
|
||||||
|
if test "x$test_cygdrive_prefix" = x; then
|
||||||
|
# As a simple fix, exclude /usr/bin since it's not a real path.
|
||||||
|
if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
|
||||||
|
# The path is in a Cygwin special directory (e.g. /home). We need this converted to
|
||||||
|
# a path prefixed by /cygdrive for fixpath to work.
|
||||||
|
new_path="$CYGWIN_ROOT_PATH$input_path"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if test "x$path" != "x$new_path"; then
|
||||||
|
libpath="$new_path"
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting libpath to \"$new_path\"" >&5
|
||||||
|
$as_echo "$as_me: Rewriting libpath to \"$new_path\"" >&6;}
|
||||||
|
fi
|
||||||
|
|
||||||
|
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
|
||||||
|
|
||||||
|
path="$libpath"
|
||||||
|
has_colon=`$ECHO $path | $GREP ^.:`
|
||||||
|
new_path="$path"
|
||||||
|
if test "x$has_colon" = x; then
|
||||||
|
# Not in mixed or Windows style, start by that.
|
||||||
|
new_path=`cmd //c echo $path`
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
input_path="$new_path"
|
||||||
|
# Check if we need to convert this using DOS-style short mode. If the path
|
||||||
|
# contains just simple characters, use it. Otherwise (spaces, weird characters),
|
||||||
|
# take no chances and rewrite it.
|
||||||
|
# Note: m4 eats our [], so we need to use [ and ] instead.
|
||||||
|
has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
|
||||||
|
if test "x$has_forbidden_chars" != x; then
|
||||||
|
# Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
|
||||||
|
new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
windows_path="$new_path"
|
||||||
|
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
|
||||||
|
unix_path=`$CYGPATH -u "$windows_path"`
|
||||||
|
new_path="$unix_path"
|
||||||
|
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
|
||||||
|
unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
|
||||||
|
new_path="$unix_path"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$path" != "x$new_path"; then
|
||||||
|
libpath="$new_path"
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting libpath to \"$new_path\"" >&5
|
||||||
|
$as_echo "$as_me: Rewriting libpath to \"$new_path\"" >&6;}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Save the first 10 bytes of this path to the storage, so fixpath can work.
|
||||||
|
all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
|
||||||
|
|
||||||
|
else
|
||||||
|
# We're on a unix platform. Hooray! :)
|
||||||
|
path="$libpath"
|
||||||
|
has_space=`$ECHO "$path" | $GREP " "`
|
||||||
|
if test "x$has_space" != x; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: The path of libpath, which resolves as \"$path\", is invalid." >&5
|
||||||
|
$as_echo "$as_me: The path of libpath, which resolves as \"$path\", is invalid." >&6;}
|
||||||
|
as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Use eval to expand a potential ~
|
||||||
|
eval path="$path"
|
||||||
|
if test ! -f "$path" && test ! -d "$path"; then
|
||||||
|
as_fn_error $? "The path of libpath, which resolves as \"$path\", is not found." "$LINENO" 5
|
||||||
|
fi
|
||||||
|
|
||||||
|
libpath="`cd "$path"; $THEPWDCMD -L`"
|
||||||
|
fi
|
||||||
|
|
||||||
|
IFS=";"
|
||||||
|
SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -libpath:$libpath"
|
||||||
|
done
|
||||||
|
IFS="$OLDIFS"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
|
||||||
@ -50616,16 +50883,17 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
CCACHE=
|
CCACHE=
|
||||||
|
CCACHE_STATUS=
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking is ccache enabled" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking is ccache enabled" >&5
|
||||||
$as_echo_n "checking is ccache enabled... " >&6; }
|
$as_echo_n "checking is ccache enabled... " >&6; }
|
||||||
ENABLE_CCACHE=$enable_ccache
|
|
||||||
if test "x$enable_ccache" = xyes; then
|
if test "x$enable_ccache" = xyes; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
if test "x$TOOLCHAIN_TYPE" = "xgcc" -o "x$TOOLCHAIN_TYPE" = "xclang"; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||||
$as_echo "yes" >&6; }
|
$as_echo "yes" >&6; }
|
||||||
OLD_PATH="$PATH"
|
OLD_PATH="$PATH"
|
||||||
if test "x$TOOLCHAIN_PATH" != x; then
|
if test "x$TOOLCHAIN_PATH" != x; then
|
||||||
PATH=$TOOLCHAIN_PATH:$PATH
|
PATH=$TOOLCHAIN_PATH:$PATH
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -50819,11 +51087,19 @@ $as_echo "$tool_specified" >&6; }
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
CCACHE_STATUS="enabled"
|
PATH="$OLD_PATH"
|
||||||
PATH="$OLD_PATH"
|
CCACHE_VERSION=`$CCACHE --version | head -n1 | $SED 's/[A-Za-z ]*//'`
|
||||||
|
CCACHE_STATUS="Active ($CCACHE_VERSION)"
|
||||||
|
else
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
|
$as_echo "no" >&6; }
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ccache is not supported with toolchain type $TOOLCHAIN_TYPE" >&5
|
||||||
|
$as_echo "$as_me: WARNING: ccache is not supported with toolchain type $TOOLCHAIN_TYPE" >&2;}
|
||||||
|
fi
|
||||||
elif test "x$enable_ccache" = xno; then
|
elif test "x$enable_ccache" = xno; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no, explicitly disabled" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no, explicitly disabled" >&5
|
||||||
$as_echo "no, explicitly disabled" >&6; }
|
$as_echo "no, explicitly disabled" >&6; }
|
||||||
|
CCACHE_STATUS="Disabled"
|
||||||
elif test "x$enable_ccache" = x; then
|
elif test "x$enable_ccache" = x; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
$as_echo "no" >&6; }
|
$as_echo "no" >&6; }
|
||||||
@ -50854,23 +51130,17 @@ $as_echo "$as_me: WARNING: --with-ccache-dir has no meaning when ccache is not e
|
|||||||
if test "x$CCACHE" != x; then
|
if test "x$CCACHE" != x; then
|
||||||
|
|
||||||
if test "x$CCACHE" != x; then
|
if test "x$CCACHE" != x; then
|
||||||
# Only use ccache if it is 3.1.4 or later, which supports
|
if test "x$USE_PRECOMPILED_HEADER" = "x1"; then
|
||||||
# precompiled headers.
|
HAS_BAD_CCACHE=`$ECHO $CCACHE_VERSION | \
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ccache supports precompiled headers" >&5
|
$GREP -e '^1.*' -e '^2.*' -e '^3\.0.*' -e '^3\.1\.[0123]'`
|
||||||
$as_echo_n "checking if ccache supports precompiled headers... " >&6; }
|
if test "x$HAS_BAD_CCACHE" != "x"; then
|
||||||
HAS_GOOD_CCACHE=`($CCACHE --version | head -n 1 | grep -E 3.1.[456789]) 2> /dev/null`
|
as_fn_error $? "Precompiled headers requires ccache 3.1.4 or later, found $CCACHE_VERSION" "$LINENO" 5
|
||||||
if test "x$HAS_GOOD_CCACHE" = x; then
|
fi
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no, disabling ccache" >&5
|
|
||||||
$as_echo "no, disabling ccache" >&6; }
|
|
||||||
CCACHE=
|
|
||||||
CCACHE_STATUS="disabled"
|
|
||||||
else
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
|
||||||
$as_echo "yes" >&6; }
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if C-compiler supports ccache precompiled headers" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if C-compiler supports ccache precompiled headers" >&5
|
||||||
$as_echo_n "checking if C-compiler supports ccache precompiled headers... " >&6; }
|
$as_echo_n "checking if C-compiler supports ccache precompiled headers... " >&6; }
|
||||||
|
CCACHE_PRECOMP_FLAG="-fpch-preprocess"
|
||||||
PUSHED_FLAGS="$CXXFLAGS"
|
PUSHED_FLAGS="$CXXFLAGS"
|
||||||
CXXFLAGS="-fpch-preprocess $CXXFLAGS"
|
CXXFLAGS="$CCACHE_PRECOMP_FLAG $CXXFLAGS"
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
|
|
||||||
@ -50892,19 +51162,18 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|||||||
if test "x$CC_KNOWS_CCACHE_TRICK" = xyes; then
|
if test "x$CC_KNOWS_CCACHE_TRICK" = xyes; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||||
$as_echo "yes" >&6; }
|
$as_echo "yes" >&6; }
|
||||||
|
CFLAGS_CCACHE="$CCACHE_PRECOMP_FLAG"
|
||||||
|
|
||||||
|
CCACHE_SLOPPINESS=pch_defines,time_macros
|
||||||
else
|
else
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no, disabling ccaching of precompiled headers" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
$as_echo "no, disabling ccaching of precompiled headers" >&6; }
|
$as_echo "no" >&6; }
|
||||||
CCACHE=
|
as_fn_error $? "Cannot use ccache with precompiled headers without compiler support for $CCACHE_PRECOMP_FLAG" "$LINENO" 5
|
||||||
CCACHE_STATUS="disabled"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$CCACHE" != x; then
|
CCACHE="CCACHE_COMPRESS=1 $SET_CCACHE_DIR \
|
||||||
CCACHE_SLOPPINESS=time_macros
|
CCACHE_SLOPPINESS=$CCACHE_SLOPPINESS CCACHE_BASEDIR=$TOPDIR $CCACHE"
|
||||||
CCACHE="CCACHE_COMPRESS=1 $SET_CCACHE_DIR CCACHE_SLOPPINESS=$CCACHE_SLOPPINESS $CCACHE"
|
|
||||||
CCACHE_FLAGS=-fpch-preprocess
|
|
||||||
|
|
||||||
if test "x$SET_CCACHE_DIR" != x; then
|
if test "x$SET_CCACHE_DIR" != x; then
|
||||||
mkdir -p $CCACHE_DIR > /dev/null 2>&1
|
mkdir -p $CCACHE_DIR > /dev/null 2>&1
|
||||||
|
@ -109,8 +109,8 @@ LD:=@HOTSPOT_LD@
|
|||||||
MT:=@HOTSPOT_MT@
|
MT:=@HOTSPOT_MT@
|
||||||
RC:=@HOTSPOT_RC@
|
RC:=@HOTSPOT_RC@
|
||||||
|
|
||||||
EXTRA_CFLAGS=@LEGACY_EXTRA_CFLAGS@
|
EXTRA_CFLAGS=@LEGACY_EXTRA_CFLAGS@ $(CFLAGS_CCACHE)
|
||||||
EXTRA_CXXFLAGS=@LEGACY_EXTRA_CXXFLAGS@
|
EXTRA_CXXFLAGS=@LEGACY_EXTRA_CXXFLAGS@ $(CFLAGS_CCACHE)
|
||||||
EXTRA_LDFLAGS=@LEGACY_EXTRA_LDFLAGS@
|
EXTRA_LDFLAGS=@LEGACY_EXTRA_LDFLAGS@
|
||||||
|
|
||||||
USE_PRECOMPILED_HEADER=@USE_PRECOMPILED_HEADER@
|
USE_PRECOMPILED_HEADER=@USE_PRECOMPILED_HEADER@
|
||||||
@ -132,6 +132,13 @@ else
|
|||||||
ZIP_DEBUGINFO_FILES:=0
|
ZIP_DEBUGINFO_FILES:=0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||||
|
# On Windows, the Visual Studio toolchain needs the LIB and INCLUDE
|
||||||
|
# environment variables (in Windows path style).
|
||||||
|
export INCLUDE:=@VS_INCLUDE@
|
||||||
|
export LIB:=@VS_LIB@
|
||||||
|
endif
|
||||||
|
|
||||||
# Sneak this in via the spec.gmk file, since we don't want to mess around too much with the Hotspot make files.
|
# Sneak this in via the spec.gmk file, since we don't want to mess around too much with the Hotspot make files.
|
||||||
# This is needed to get the LOG setting to work properly.
|
# This is needed to get the LOG setting to work properly.
|
||||||
include $(SRC_ROOT)/make/common/MakeBase.gmk
|
include $(SRC_ROOT)/make/common/MakeBase.gmk
|
||||||
|
@ -129,14 +129,12 @@ LIBDL:=@LIBDL@
|
|||||||
# colon or semicolon
|
# colon or semicolon
|
||||||
PATH_SEP:=@PATH_SEP@
|
PATH_SEP:=@PATH_SEP@
|
||||||
|
|
||||||
|
# Save the original path before replacing it with the Visual Studio tools
|
||||||
|
ORIGINAL_PATH:=@ORIGINAL_PATH@
|
||||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||||
# On Windows, the Visual Studio toolchain needs the LIB and INCLUDE
|
# On Windows, the Visual Studio toolchain needs the PATH to be adjusted
|
||||||
# environment variables (in Windows path style), and the PATH needs to
|
# to include Visual Studio tools (this needs to be in cygwin/msys style).
|
||||||
# be adjusted to include Visual Studio tools (but this needs to be in
|
|
||||||
# cygwin/msys style).
|
|
||||||
export PATH:=@VS_PATH@
|
export PATH:=@VS_PATH@
|
||||||
export INCLUDE:=@VS_INCLUDE@
|
|
||||||
export LIB:=@VS_LIB@
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
SYSROOT_CFLAGS := @SYSROOT_CFLAGS@
|
SYSROOT_CFLAGS := @SYSROOT_CFLAGS@
|
||||||
@ -328,6 +326,8 @@ CXX_FLAG_DEPS:=@CXX_FLAG_DEPS@
|
|||||||
|
|
||||||
CFLAGS_WARNINGS_ARE_ERRORS:=@CFLAGS_WARNINGS_ARE_ERRORS@
|
CFLAGS_WARNINGS_ARE_ERRORS:=@CFLAGS_WARNINGS_ARE_ERRORS@
|
||||||
|
|
||||||
|
CFLAGS_CCACHE:=@CFLAGS_CCACHE@
|
||||||
|
|
||||||
# Tools that potentially need to be cross compilation aware.
|
# Tools that potentially need to be cross compilation aware.
|
||||||
CC:=@FIXPATH@ @CCACHE@ @CC@
|
CC:=@FIXPATH@ @CCACHE@ @CC@
|
||||||
|
|
||||||
|
@ -213,9 +213,9 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
|
|||||||
AC_MSG_ERROR([Your VC command prompt seems broken, INCLUDE and/or LIB is missing.])
|
AC_MSG_ERROR([Your VC command prompt seems broken, INCLUDE and/or LIB is missing.])
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([ok])
|
AC_MSG_RESULT([ok])
|
||||||
# Remove any trailing "\" and " " from the variables.
|
# Remove any trailing "\" ";" and " " from the variables.
|
||||||
VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED 's/\\\\* *$//'`
|
VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED -e 's/\\\\*;* *$//'`
|
||||||
VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\* *$//'`
|
VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\*;* *$//'`
|
||||||
VCINSTALLDIR=`$ECHO "$VCINSTALLDIR" | $SED 's/\\\\* *$//'`
|
VCINSTALLDIR=`$ECHO "$VCINSTALLDIR" | $SED 's/\\\\* *$//'`
|
||||||
WindowsSDKDir=`$ECHO "$WindowsSDKDir" | $SED 's/\\\\* *$//'`
|
WindowsSDKDir=`$ECHO "$WindowsSDKDir" | $SED 's/\\\\* *$//'`
|
||||||
WINDOWSSDKDIR=`$ECHO "$WINDOWSSDKDIR" | $SED 's/\\\\* *$//'`
|
WINDOWSSDKDIR=`$ECHO "$WINDOWSSDKDIR" | $SED 's/\\\\* *$//'`
|
||||||
@ -226,6 +226,26 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
|
|||||||
AC_SUBST(VS_PATH)
|
AC_SUBST(VS_PATH)
|
||||||
AC_SUBST(VS_INCLUDE)
|
AC_SUBST(VS_INCLUDE)
|
||||||
AC_SUBST(VS_LIB)
|
AC_SUBST(VS_LIB)
|
||||||
|
|
||||||
|
# Convert VS_INCLUDE into SYSROOT_CFLAGS
|
||||||
|
OLDIFS="$IFS"
|
||||||
|
IFS=";"
|
||||||
|
for i in $VS_INCLUDE; do
|
||||||
|
ipath=$i
|
||||||
|
IFS="$OLDIFS"
|
||||||
|
BASIC_FIXUP_PATH([ipath])
|
||||||
|
IFS=";"
|
||||||
|
SYSROOT_CFLAGS="$SYSROOT_CFLAGS -I$ipath"
|
||||||
|
done
|
||||||
|
# Convert VS_LIB into SYSROOT_LDFLAGS
|
||||||
|
for i in $VS_LIB; do
|
||||||
|
libpath=$i
|
||||||
|
IFS="$OLDIFS"
|
||||||
|
BASIC_FIXUP_PATH([libpath])
|
||||||
|
IFS=";"
|
||||||
|
SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -libpath:$libpath"
|
||||||
|
done
|
||||||
|
IFS="$OLDIFS"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([not found])
|
AC_MSG_RESULT([not found])
|
||||||
|
@ -212,7 +212,7 @@ $(SUPPORT_OUTPUTDIR)/source_tips: FRC
|
|||||||
@$(RM) $@
|
@$(RM) $@
|
||||||
@$(call GetSourceTips)
|
@$(call GetSourceTips)
|
||||||
|
|
||||||
BOOTCYCLE_TARGET := images
|
BOOTCYCLE_TARGET := product-images
|
||||||
bootcycle-images:
|
bootcycle-images:
|
||||||
@$(ECHO) Boot cycle build step 2: Building a new JDK image using previously built image
|
@$(ECHO) Boot cycle build step 2: Building a new JDK image using previously built image
|
||||||
+$(MAKE) $(MAKE_ARGS) -f Main.gmk SPEC=$(dir $(SPEC))bootcycle-spec.gmk $(BOOTCYCLE_TARGET)
|
+$(MAKE) $(MAKE_ARGS) -f Main.gmk SPEC=$(dir $(SPEC))bootcycle-spec.gmk $(BOOTCYCLE_TARGET)
|
||||||
@ -443,31 +443,45 @@ $(foreach m, $(COPY_MODULES), $(eval $m: $m-copy))
|
|||||||
ALL_MODULE_TARGETS := $(sort $(GENSRC_MODULES) $(JAVA_MODULES) \
|
ALL_MODULE_TARGETS := $(sort $(GENSRC_MODULES) $(JAVA_MODULES) \
|
||||||
$(GENDATA_MODULES) $(LIBS_MODULES) $(LAUNCHER_MODULES) $(COPY_MODULES))
|
$(GENDATA_MODULES) $(LIBS_MODULES) $(LAUNCHER_MODULES) $(COPY_MODULES))
|
||||||
|
|
||||||
|
# The "exploded image" is a locally runnable JDK in $(BUILD_OUTPUT)/jdk.
|
||||||
exploded-image: $(ALL_MODULE_TARGETS)
|
exploded-image: $(ALL_MODULE_TARGETS)
|
||||||
# The old 'jdk' target most closely matches the new exploded-image. Keep an
|
|
||||||
# alias for ease of use.
|
|
||||||
jdk: exploded-image
|
|
||||||
|
|
||||||
images: test-image jimages demos samples zip-security verify-modules
|
# The $(BUILD_OUTPUT)/images directory contain the resulting deliverables,
|
||||||
|
# and in line with this, our targets for creating these are named *-image[s].
|
||||||
|
|
||||||
|
# This target builds the product images, e.g. the JRE and JDK image
|
||||||
|
# (and possibly other, more specific versions)
|
||||||
|
product-images: jimages demos samples zip-security verify-modules
|
||||||
|
|
||||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||||
images: mac-bundles
|
product-images: mac-bundles
|
||||||
endif
|
endif
|
||||||
|
|
||||||
docs: docs-javadoc docs-jvmtidoc
|
# This target builds the documentation image
|
||||||
|
docs-image: docs-javadoc docs-jvmtidoc
|
||||||
|
|
||||||
|
# This target builds the test image
|
||||||
test-image: prepare-test-image
|
test-image: prepare-test-image
|
||||||
|
|
||||||
|
# all-images is the top-most target, it builds all our deliverables ("images").
|
||||||
|
all-images: product-images test-image docs-image
|
||||||
|
|
||||||
ALL_TARGETS += buildtools gensrc gendata copy java rmic libs launchers \
|
ALL_TARGETS += buildtools gensrc gendata copy java rmic libs launchers \
|
||||||
jdk.jdwp.agent-gensrc $(ALL_MODULE_TARGETS) exploded-image jdk images \
|
jdk.jdwp.agent-gensrc $(ALL_MODULE_TARGETS) exploded-image \
|
||||||
docs test-image
|
product-images docs-image test-image all-images
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
all: images
|
# 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: exploded-image
|
||||||
|
jdk: exploded-image
|
||||||
|
images: product-images
|
||||||
|
docs: docs-image
|
||||||
|
all: all-images
|
||||||
|
|
||||||
ALL_TARGETS += default all
|
ALL_TARGETS += default jdk images docs all
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -553,7 +567,8 @@ reconfigure:
|
|||||||
else
|
else
|
||||||
@$(ECHO) "Re-running configure using default settings"
|
@$(ECHO) "Re-running configure using default settings"
|
||||||
endif
|
endif
|
||||||
@( cd $(OUTPUT_ROOT) && $(BASH) $(TOPDIR)/configure $(CONFIGURE_COMMAND_LINE) )
|
@( cd $(OUTPUT_ROOT) && PATH="$(ORIGINAL_PATH)" \
|
||||||
|
$(BASH) $(TOPDIR)/configure $(CONFIGURE_COMMAND_LINE) )
|
||||||
|
|
||||||
ALL_TARGETS += reconfigure
|
ALL_TARGETS += reconfigure
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Don't include debug info for executables.
|
# Don't include debug info for executables.
|
||||||
ALL_CMDS_SRC := $(filter-out %.debuginfo %.diz %.map %.pdb, \
|
ALL_CMDS_SRC := $(filter-out %.bc %.debuginfo %.diz %.map %.pdb, \
|
||||||
$(shell $(FIND) $(SUPPORT_OUTPUTDIR)/modules_cmds -type f -o -type l))
|
$(shell $(FIND) $(SUPPORT_OUTPUTDIR)/modules_cmds -type f -o -type l))
|
||||||
COPY_CMDS_SRC := $(filter %.cgi, $(ALL_CMDS_SRC))
|
COPY_CMDS_SRC := $(filter %.cgi, $(ALL_CMDS_SRC))
|
||||||
STRIP_CMDS_SRC := $(filter-out $(COPY_CMDS_SRC), $(ALL_CMDS_SRC))
|
STRIP_CMDS_SRC := $(filter-out $(COPY_CMDS_SRC), $(ALL_CMDS_SRC))
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -53,6 +53,8 @@ else ifeq ($(OPENJDK_BUILD_OS_ENV), windows.msys)
|
|||||||
UNIX_PATH_PREFIX :=
|
UNIX_PATH_PREFIX :=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# This pattern is used to transform the output of the microsoft CL compiler
|
||||||
|
# into a make syntax dependency file (.d)
|
||||||
WINDOWS_SHOWINCLUDE_SED_PATTERN := \
|
WINDOWS_SHOWINCLUDE_SED_PATTERN := \
|
||||||
-e '/^Note: including file:/!d' \
|
-e '/^Note: including file:/!d' \
|
||||||
-e 's|Note: including file: *||' \
|
-e 's|Note: including file: *||' \
|
||||||
@ -62,6 +64,16 @@ WINDOWS_SHOWINCLUDE_SED_PATTERN := \
|
|||||||
-e 's|$$$$| \\|g' \
|
-e 's|$$$$| \\|g' \
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# This pattern is used to transform a dependency file (.d) to a list
|
||||||
|
# of make targets for dependent files (.d.targets)
|
||||||
|
DEPENDENCY_TARGET_SED_PATTERN := \
|
||||||
|
-e 's/\#.*//' \
|
||||||
|
-e 's/^[^:]*: *//' \
|
||||||
|
-e 's/ *\\$$$$//' \
|
||||||
|
-e '/^$$$$/ d' \
|
||||||
|
-e 's/$$$$/ :/' \
|
||||||
|
#
|
||||||
|
|
||||||
define add_native_source
|
define add_native_source
|
||||||
# param 1 = BUILD_MYPACKAGE
|
# param 1 = BUILD_MYPACKAGE
|
||||||
# parma 2 = the source file name (..../alfa.c or .../beta.cpp)
|
# parma 2 = the source file name (..../alfa.c or .../beta.cpp)
|
||||||
@ -75,12 +87,12 @@ define add_native_source
|
|||||||
|
|
||||||
ifneq (,$$(filter %.c,$2))
|
ifneq (,$$(filter %.c,$2))
|
||||||
# Compile as a C file
|
# Compile as a C file
|
||||||
$1_$2_FLAGS=$4 $$($1_$(notdir $2)_CFLAGS) -DTHIS_FILE='"$$(<F)"' -c
|
$1_$2_FLAGS=$(CFLAGS_CCACHE) $4 $$($1_$(notdir $2)_CFLAGS) -DTHIS_FILE='"$$(<F)"' -c
|
||||||
$1_$2_COMP=$5
|
$1_$2_COMP=$5
|
||||||
$1_$2_DEP_FLAG:=$(C_FLAG_DEPS)
|
$1_$2_DEP_FLAG:=$(C_FLAG_DEPS)
|
||||||
else ifneq (,$$(filter %.m,$2))
|
else ifneq (,$$(filter %.m,$2))
|
||||||
# Compile as a objective-c file
|
# Compile as a objective-c file
|
||||||
$1_$2_FLAGS=-x objective-c $4 $$($1_$(notdir $2)_CFLAGS) -DTHIS_FILE='"$$(<F)"' -c
|
$1_$2_FLAGS=-x objective-c $(CFLAGS_CCACHE) $4 $$($1_$(notdir $2)_CFLAGS) -DTHIS_FILE='"$$(<F)"' -c
|
||||||
$1_$2_COMP=$8
|
$1_$2_COMP=$8
|
||||||
$1_$2_DEP_FLAG:=$(C_FLAG_DEPS)
|
$1_$2_DEP_FLAG:=$(C_FLAG_DEPS)
|
||||||
else ifneq (,$$(filter %.s,$2))
|
else ifneq (,$$(filter %.s,$2))
|
||||||
@ -90,7 +102,7 @@ define add_native_source
|
|||||||
$1_$2_DEP_FLAG:=
|
$1_$2_DEP_FLAG:=
|
||||||
else ifneq (,$$(filter %.cpp,$2)$$(filter %.mm,$2))
|
else ifneq (,$$(filter %.cpp,$2)$$(filter %.mm,$2))
|
||||||
# Compile as a C++ file
|
# Compile as a C++ file
|
||||||
$1_$2_FLAGS=$6 $$($1_$(notdir $2)_CXXFLAGS) -DTHIS_FILE='"$$(<F)"' -c
|
$1_$2_FLAGS=$(CFLAGS_CCACHE) $6 $$($1_$(notdir $2)_CXXFLAGS) -DTHIS_FILE='"$$(<F)"' -c
|
||||||
$1_$2_COMP=$7
|
$1_$2_COMP=$7
|
||||||
$1_$2_DEP_FLAG:=$(CXX_FLAG_DEPS)
|
$1_$2_DEP_FLAG:=$(CXX_FLAG_DEPS)
|
||||||
else
|
else
|
||||||
@ -105,8 +117,13 @@ define add_native_source
|
|||||||
ifeq (,$$(filter %.s,$2))
|
ifeq (,$$(filter %.s,$2))
|
||||||
# And this is the dependency file for this obj file.
|
# And this is the dependency file for this obj file.
|
||||||
$1_$2_DEP:=$$(patsubst %$(OBJ_SUFFIX),%.d,$$($1_$2_OBJ))
|
$1_$2_DEP:=$$(patsubst %$(OBJ_SUFFIX),%.d,$$($1_$2_OBJ))
|
||||||
|
# The dependency target file lists all dependencies as empty targets
|
||||||
|
# to avoid make error "No rule to make target" for removed files
|
||||||
|
$1_$2_DEP_TARGETS:=$$(patsubst %$(OBJ_SUFFIX),%.d.targets,$$($1_$2_OBJ))
|
||||||
|
|
||||||
# Include previously generated dependency information. (if it exists)
|
# Include previously generated dependency information. (if it exists)
|
||||||
-include $$($1_$2_DEP)
|
-include $$($1_$2_DEP)
|
||||||
|
-include $$($1_$2_DEP_TARGETS)
|
||||||
|
|
||||||
ifeq ($(TOOLCHAIN_TYPE), microsoft)
|
ifeq ($(TOOLCHAIN_TYPE), microsoft)
|
||||||
$1_$2_DEBUG_OUT_FLAGS:=-Fd$$(patsubst %$(OBJ_SUFFIX),%.pdb,$$($1_$2_OBJ)) \
|
$1_$2_DEBUG_OUT_FLAGS:=-Fd$$(patsubst %$(OBJ_SUFFIX),%.pdb,$$($1_$2_OBJ)) \
|
||||||
@ -139,6 +156,11 @@ define add_native_source
|
|||||||
($(ECHO) $$@: \\ \
|
($(ECHO) $$@: \\ \
|
||||||
&& $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_$2_DEP).raw) > $$($1_$2_DEP)
|
&& $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_$2_DEP).raw) > $$($1_$2_DEP)
|
||||||
endif
|
endif
|
||||||
|
# Create a dependency target file from the dependency file.
|
||||||
|
# Solution suggested by http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/
|
||||||
|
ifneq ($$($1_$2_DEP),)
|
||||||
|
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_$2_DEP) > $$($1_$2_DEP_TARGETS)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endef
|
endef
|
||||||
|
|
||||||
@ -428,7 +450,7 @@ define SetupNativeCompilationInner
|
|||||||
$1_BUILD_INFO := $$($1_OBJECT_DIR)/_build-info.marker
|
$1_BUILD_INFO := $$($1_OBJECT_DIR)/_build-info.marker
|
||||||
|
|
||||||
# Track variable changes for all variables that affect the compilation command
|
# Track variable changes for all variables that affect the compilation command
|
||||||
# lines for all object files in this setup. This includes at least all the
|
# lines for all object files in this setup. This includes at least all the
|
||||||
# variables used in the call to add_native_source below.
|
# variables used in the call to add_native_source below.
|
||||||
$1_COMPILE_VARDEPS := $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $(SYSROOT_CFLAGS) \
|
$1_COMPILE_VARDEPS := $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $(SYSROOT_CFLAGS) \
|
||||||
$$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) \
|
$$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) \
|
||||||
@ -452,7 +474,10 @@ define SetupNativeCompilationInner
|
|||||||
ifeq ($$(wildcard $$($1_TARGET)),)
|
ifeq ($$(wildcard $$($1_TARGET)),)
|
||||||
$(ECHO) 'Creating $$($1_BASENAME) from $$(words $$(filter-out %.vardeps, $$?)) file(s)'
|
$(ECHO) 'Creating $$($1_BASENAME) from $$(words $$(filter-out %.vardeps, $$?)) file(s)'
|
||||||
else
|
else
|
||||||
$(ECHO) 'Updating $$($1_BASENAME) from $$(words $$(filter-out %.vardeps, $$?)) file(s)'
|
$(ECHO) $$(strip 'Updating $$($1_BASENAME)' \
|
||||||
|
$$(if $$(filter-out %.vardeps, $$?), \
|
||||||
|
'from $$(words $$(filter-out %.vardeps, $$?)) file(s)') \
|
||||||
|
$$(if $$(filter %.vardeps, $$?), 'due to makefile changes'))
|
||||||
endif
|
endif
|
||||||
$(TOUCH) $$@
|
$(TOUCH) $$@
|
||||||
|
|
||||||
@ -461,7 +486,9 @@ define SetupNativeCompilationInner
|
|||||||
ifneq (,$$($1_VERSIONINFO_RESOURCE))
|
ifneq (,$$($1_VERSIONINFO_RESOURCE))
|
||||||
$1_RES:=$$($1_OBJECT_DIR)/$$($1_BASENAME).res
|
$1_RES:=$$($1_OBJECT_DIR)/$$($1_BASENAME).res
|
||||||
$1_RES_DEP:=$$($1_RES).d
|
$1_RES_DEP:=$$($1_RES).d
|
||||||
|
$1_RES_DEP_TARGETS:=$$($1_RES).d.targets
|
||||||
-include $$($1_RES_DEP)
|
-include $$($1_RES_DEP)
|
||||||
|
-include $$($1_RES_DEP_TARGETS)
|
||||||
|
|
||||||
$1_RES_VARDEPS := $(RC) $$($1_RC_FLAGS)
|
$1_RES_VARDEPS := $(RC) $$($1_RC_FLAGS)
|
||||||
$1_RES_VARDEPS_FILE := $$(call DependOnVariable, $1_RES_VARDEPS, \
|
$1_RES_VARDEPS_FILE := $$(call DependOnVariable, $1_RES_VARDEPS, \
|
||||||
@ -469,12 +496,14 @@ define SetupNativeCompilationInner
|
|||||||
|
|
||||||
$$($1_RES): $$($1_VERSIONINFO_RESOURCE) $$($1_RES_VARDEPS_FILE)
|
$$($1_RES): $$($1_VERSIONINFO_RESOURCE) $$($1_RES_VARDEPS_FILE)
|
||||||
$(ECHO) $(LOG_INFO) "Compiling resource $$(notdir $$($1_VERSIONINFO_RESOURCE)) (for $$(notdir $$($1_TARGET)))"
|
$(ECHO) $(LOG_INFO) "Compiling resource $$(notdir $$($1_VERSIONINFO_RESOURCE)) (for $$(notdir $$($1_TARGET)))"
|
||||||
$(RC) $$($1_RC_FLAGS) $(CC_OUT_OPTION)$$@ $$($1_VERSIONINFO_RESOURCE)
|
$(RC) $$($1_RC_FLAGS) $(SYSROOT_CFLAGS) $(CC_OUT_OPTION)$$@ \
|
||||||
|
$$($1_VERSIONINFO_RESOURCE)
|
||||||
# Windows RC compiler does not support -showIncludes, so we mis-use CL for this.
|
# Windows RC compiler does not support -showIncludes, so we mis-use CL for this.
|
||||||
$(CC) $$($1_RC_FLAGS) -showIncludes -nologo -TC \
|
$(CC) $$($1_RC_FLAGS) $(SYSROOT_CFLAGS) -showIncludes -nologo -TC \
|
||||||
$(CC_OUT_OPTION)$$($1_RES_DEP).obj $$($1_VERSIONINFO_RESOURCE) > $$($1_RES_DEP).raw 2>&1 || exit 0
|
$(CC_OUT_OPTION)$$($1_RES_DEP).obj $$($1_VERSIONINFO_RESOURCE) > $$($1_RES_DEP).raw 2>&1 || exit 0
|
||||||
($(ECHO) $$($1_RES): \\ \
|
($(ECHO) $$($1_RES): \\ \
|
||||||
&& $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_RES_DEP).raw) > $$($1_RES_DEP)
|
&& $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_RES_DEP).raw) > $$($1_RES_DEP)
|
||||||
|
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_RES_DEP) > $$($1_RES_DEP_TARGETS)
|
||||||
endif
|
endif
|
||||||
ifneq (,$$($1_MANIFEST))
|
ifneq (,$$($1_MANIFEST))
|
||||||
$1_GEN_MANIFEST:=$$($1_OBJECT_DIR)/$$($1_PROGRAM).manifest
|
$1_GEN_MANIFEST:=$$($1_OBJECT_DIR)/$$($1_PROGRAM).manifest
|
||||||
|
Loading…
x
Reference in New Issue
Block a user