On 7/10/20 7:43 AM, Erik Joelsson wrote:

On 2020-07-09 15:04, Ty Young wrote:

On 7/9/20 3:20 PM, Erik Joelsson wrote:

On 2020-07-09 12:56, Ty Young wrote:

On 7/9/20 9:22 AM, Erik Joelsson wrote:
Could you post the full configure command and log please. This sounds weird. You should not be needing clang on Windows.

Also, what source did you clone?


On linux right now, but I think it's because I'm using the jextract branch of panama-foreign:


https://github.com/openjdk/panama-foreign

This was a very crucial piece of information that you left out initially. Panama uses libclang for specific new features in that project. I don't know the details on how to build that project. You will need to ask people working on Panama for details on any special needs they have.

I would recommend you clone the mainline jdk and get that to work first as a baseline.


Just did, as well as a version of panama-foreign that should work but doesn't need clang(foreign-abi).


It configures now, but fails to build with errors like:


c1xx: fatal error C1083: Cannot open source file: '../../../..c:/cygwin64/home/young/jdk-master/jdk-master/build/windows-x86_64-server-release/hotspot/variant-server/libjvm/objs/BUILD_LIBJVM_pch.cpp': No such file or directory


Could you send your configure.log, spec.gmk and the exact command lines you used?

/Erik


Attached.



Basically every file within the objs file is missing... but it isn't actually. I can see them in Windows explorer just fine and configure doesn't throw any errors.


Thinking that this was an issue with file depth, I moved the cloned source code to root as "jdk-build". It still fails in the same spot. Both of them.



/Erik


I remember there being a commit some time ago that requires clang to be specified on panama-dev, but I've never had to do that under Linux. This is my first time compiling on Windows so I have no idea what's going on.



/Erik

On 2020-07-09 07:04, Ty Young wrote:

On 7/9/20 7:37 AM, Erik Joelsson wrote:
Hello Ty,

Microsoft Visual Studio 2019 or 2017, any edition, should work. My best guess is that you skipped installing the necessary parts of it. Run the installer again, click "Modify" and make sure you have "Desktop development with C++" ticked in.


That worked, thanks!


It still didn't configure though. Now it's complaining about not having clang installed. Once I installed clang and clang-devel, it then complained about not having version 9 installed. The latest version from cygdrive was 8<something>, 9 is not an option. If I try to trick it by copying and renaming the older 8<something> version, it then complains about Index.h being found but not being compileable and to report it here.


Any advice here? I tried installing more extra stuff from Visual Code Studio to see if it'd help, but it doesn't or I'm not installing the right things.



/ERik

On 2020-07-09 01:29, Ty Young wrote:
Hopefully this is the right place. Don't shoot me if it isn't, please.


I'm trying to build the JDK from Windows 10. I got so far as to configure failing on finding what it needs from the Visual Code Studio install via command line:


configure: Found Visual Studio installation at /cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2019/Community using well-known name configure: Warning: None of vc/bin/amd64/vcvars64.bat vc/bin/x86_amd64/vcvarsx86_amd64.bat VC/Auxiliary/Build/vcvarsx86_amd64.bat VC/Auxiliary/Build/vcvars64.bat were found, Visual Studio installation not recognized. Ignoring configure: Found Visual Studio installation at /cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2019/Community using well-known name configure: Warning: None of vc/bin/amd64/vcvars64.bat vc/bin/x86_amd64/vcvarsx86_amd64.bat VC/Auxiliary/Build/vcvarsx86_amd64.bat VC/Auxiliary/Build/vcvars64.bat were found, Visual Studio installation not recognized. Ignoring configure: Cannot locate a valid Visual Studio installation, checking current environment
checking for Visual Studio variables... not found
configure: Cannot locate a valid Visual Studio or Windows SDK installation on disk, configure: nor is this script run from a Visual Studio command prompt. configure: Try setting --with-tools-dir to the VC/bin directory within the VS installation


However there is no "bin" directory in this installation, at least not one that contains any of the specified files. This is Visual Code 2019 Community, but I've tried the Professional version too. The building document doesn't specify which version, nor does it tell me how to fix this.


How do I get this to work via command line?

#
# Copyright (c) 2011, 2020, 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.
#

# Configured Sat Jul 11 23:52:36 PDT 2020 to build
# for target system windows-x86_64
#   (called x86_64-unknown-cygwin by autoconf)
# on build system windows-x86_64
#   (called x86_64-unknown-cygwin by autoconf)
# using 'configure --disable-warnings-as-errors'

# The command line given to configure.
CONFIGURE_COMMAND_LINE:=--disable-warnings-as-errors
# The current directory when configure was run
CONFIGURE_START_DIR:=/cygdrive/c/cygwin64/jdk

# A self-referential reference to this file.
SPEC:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/spec.gmk

# Path to autoconf if overriden by the user, to be used by "make reconfigure"
AUTOCONF := /usr/bin/autoconf

# SPACE and COMMA are defined in MakeBase.gmk, but they are also used in
# some definitions here, and are needed if MakeBase.gmk is not included before
# this file.
X:=
SPACE:=$(X) $(X)
COMMA:=,

# What make to use for main processing, after bootstrapping top-level Makefile.
MAKE := /usr/bin/make

# Make sure all shell commands are executed with the C locale
export LC_ALL := C

# The default make arguments
MAKE_ARGS = $(MAKE_LOG_FLAGS) -r -R -I $(TOPDIR)/make/common SPEC=$(SPEC) \
    MAKE_LOG_FLAGS="$(MAKE_LOG_FLAGS)" $(MAKE_LOG_VARS)

OUTPUT_SYNC_SUPPORTED:=true
OUTPUT_SYNC:=none

# Override the shell with bash
BASH:=/usr/bin/bash
BASH_ARGS:= -o pipefail -e
SHELL:=$(BASH) $(BASH_ARGS)

# The "human readable" name of this configuration
CONF_NAME:=windows-x86_64-server-release

# The built jdk will run in this target system.
OPENJDK_TARGET_OS:=windows
OPENJDK_TARGET_OS_TYPE:=windows
OPENJDK_TARGET_OS_ENV:=windows.cygwin
OPENJDK_TARGET_OS_UPPERCASE:=WINDOWS

OPENJDK_TARGET_CPU:=x86_64
OPENJDK_TARGET_CPU_ARCH:=x86
OPENJDK_TARGET_CPU_BITS:=64
OPENJDK_TARGET_CPU_ENDIAN:=little

COMPILE_TYPE:=native

# Legacy support
OPENJDK_TARGET_CPU_LEGACY:=amd64
OPENJDK_TARGET_CPU_LEGACY_LIB:=amd64
OPENJDK_TARGET_CPU_OSARCH:=amd64
OPENJDK_TARGET_OS_INCLUDE_SUBDIR:=win32

HOTSPOT_TARGET_OS := windows
HOTSPOT_TARGET_OS_TYPE := windows

HOTSPOT_TARGET_CPU := x86_64
HOTSPOT_TARGET_CPU_ARCH := x86
HOTSPOT_TARGET_CPU_DEFINE := AMD64

OPENJDK_TARGET_BUNDLE_PLATFORM:=windows-x64
JDK_ARCH_ABI_PROP_NAME := 

# We are building on this build system.
# When not cross-compiling, it is the same as the target.
OPENJDK_BUILD_OS:=windows
OPENJDK_BUILD_OS_TYPE:=windows
OPENJDK_BUILD_OS_ENV:=windows.cygwin

OPENJDK_BUILD_CPU:=x86_64
OPENJDK_BUILD_CPU_ARCH:=x86
OPENJDK_BUILD_CPU_BITS:=64
OPENJDK_BUILD_CPU_ENDIAN:=little

OPENJDK_BUILD_OS_INCLUDE_SUBDIR:=win32

# Target platform value in ModuleTarget class file attribute.
OPENJDK_MODULE_TARGET_PLATFORM:=windows-amd64

# OS_* properties in release file
RELEASE_FILE_OS_NAME:=Windows
RELEASE_FILE_OS_ARCH:=x86_64

SOURCE_DATE := updated
ENABLE_REPRODUCIBLE_BUILD := false

LIBM:=
LIBDL:=

# colon or semicolon
PATH_SEP:=;

# Save the original path before replacing it with the Visual Studio tools
ORIGINAL_PATH:=/usr/local/bin:/usr/bin:/cygdrive/c/Program 
Files/AdoptOpenJDK/jdk-14.0.1.7-hotspot/bin:/cygdrive/c/windows/system32:/cygdrive/c/windows:/cygdrive/c/windows/system32/wbem:/cygdrive/c/windows/system32/windowspowershell/v1.0:/cygdrive/c/windows/system32/openssh:/cygdrive/c/programdata/chocolatey/bin:/cygdrive/c/program
 files (x86)/nvidia 
corporation/physx/common:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/system32/wbem:/cygdrive/c/WINDOWS/system32/windowspowershell/v1.0:/cygdrive/c/WINDOWS/system32/openssh:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/Program
 Files/NVIDIA Corporation/NVIDIA 
NvDLISR:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/Program
 Files/LLVM/bin:/cygdrive/c/Users/young/AppData/Local/Microsoft/WindowsApps
ifeq ($(OPENJDK_TARGET_OS), windows)
  # On Windows, the Visual Studio toolchain needs the PATH to be adjusted
  # to include Visual Studio tools (this needs to be in cygwin/msys style).
  ifeq ($(OPENJDK_TARGET_OS_ENV), windows.wsl)
    export FIXPATH_PATH:=
    export WSLENV:=$(WSLENV):FIXPATH_PATH:DEBUG_FIXPATH
  else
    export 
PATH:=/cygdrive/c/PROGRA~2/MICROS~1/2019/COMMUN~1/Common7/IDE/Extensions/Microsoft/IntelliCode/CLI:/cygdrive/c/PROGRA~2/MICROS~1/2019/COMMUN~1/VC/Tools/MSVC/14.26.28801/bin/HostX86/x64:/cygdrive/c/PROGRA~2/MICROS~1/2019/COMMUN~1/VC/Tools/MSVC/14.26.28801/bin/HostX86/x86:/cygdrive/c/PROGRA~2/MICROS~1/2019/COMMUN~1/Common7/IDE/VC/VCPackages:/cygdrive/c/PROGRA~2/MICROS~1/2019/COMMUN~1/Common7/IDE/CommonExtensions/Microsoft/TestWindow:/cygdrive/c/PROGRA~2/MICROS~1/2019/COMMUN~1/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation/Team
 
Explorer:/cygdrive/c/PROGRA~2/MICROS~1/2019/COMMUN~1/MSBuild/Current/bin/Roslyn:/cygdrive/c/PROGRA~2/MICROS~1/2019/COMMUN~1/Team
 Tools/Performance Tools/x64:/cygdrive/c/PROGRA~2/MICROS~1/2019/COMMUN~1/Team 
Tools/Performance Tools:/cygdrive/c/Program Files (x86)/Microsoft Visual 
Studio/Shared/Common/VSPerfCollectionTools/vs2019/x64:/cygdrive/c/Program Files 
(x86)/Microsoft Visual 
Studio/Shared/Common/VSPerfCollectionTools/vs2019:/cygdrive/c/Program Files 
(x86)/Microsoft SDKs/Windows/v10.0A/bin/NETFX 4.8 Tools:/cygdrive/c/Program 
Files (x86)/HTML Help Workshop:/cygdrive/c/Program Files (x86)/Windows 
Kits/10/bin/10.0.18362.0/x86:/cygdrive/c/Program Files (x86)/Windows 
Kits/10/bin/x86:/cygdrive/c/PROGRA~2/MICROS~1/2019/COMMUN~1/MSBuild/Current/Bin:/cygdrive/c/Windows/Microsoft.NET/Framework/v4.0.30319:/cygdrive/c/PROGRA~2/MICROS~1/2019/COMMUN~1/Common7/IDE:/cygdrive/c/PROGRA~2/MICROS~1/2019/COMMUN~1/Common7/Tools:/usr/local/bin:/usr/bin:/cygdrive/c/Program
 
Files/AdoptOpenJDK/jdk-14.0.1.7-hotspot/bin:/cygdrive/c/windows/system32:/cygdrive/c/windows:/cygdrive/c/windows/system32/wbem:/cygdrive/c/windows/system32/windowspowershell/v1.0:/cygdrive/c/windows/system32/openssh:/cygdrive/c/programdata/chocolatey/bin:/cygdrive/c/program
 files (x86)/nvidia 
corporation/physx/common:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/system32/wbem:/cygdrive/c/WINDOWS/system32/windowspowershell/v1.0:/cygdrive/c/WINDOWS/system32/openssh:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/Program
 Files/NVIDIA Corporation/NVIDIA 
NvDLISR:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/Program
 
Files/LLVM/bin:/cygdrive/c/Users/young/AppData/Local/Microsoft/WindowsApps:/cygdrive/c/PROGRA~2/MICROS~1/2019/COMMUN~1/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin:/cygdrive/c/PROGRA~2/MICROS~1/2019/COMMUN~1/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja
  endif
endif

SYSROOT_CFLAGS :=  
-I/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/atlmfc/include
 -I/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/include 
-I/cygdrive/c/progra~2/wi3cf2~1/netfxsdk/4.8/include/um 
-I/cygdrive/c/progra~2/wi3cf2~1/10/include/100183~1.0/ucrt 
-I/cygdrive/c/progra~2/wi3cf2~1/10/include/100183~1.0/shared 
-I/cygdrive/c/progra~2/wi3cf2~1/10/include/100183~1.0/um 
-I/cygdrive/c/progra~2/wi3cf2~1/10/include/100183~1.0/winrt 
-I/cygdrive/c/progra~2/wi3cf2~1/10/include/100183~1.0/cppwinrt
SYSROOT_LDFLAGS :=  
-libpath:/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/atlmfc/lib/x64
 
-libpath:/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/lib/x64
 -libpath:/cygdrive/c/progra~2/wi3cf2~1/netfxsdk/4.8/lib/um/x64 
-libpath:/cygdrive/c/progra~2/wi3cf2~1/10/lib/100183~1.0/ucrt/x64 
-libpath:/cygdrive/c/progra~2/wi3cf2~1/10/lib/100183~1.0/um/x64

# The top-level directory of the source repository
TOPDIR:=/cygdrive/c/cygwin64/jdk
# Usually the top level directory, but could be something else if a custom
# root is defined.
WORKSPACE_ROOT:=/jdk
IMPORT_MODULES_CLASSES:=
IMPORT_MODULES_CMDS:=
IMPORT_MODULES_LIBS:=
IMPORT_MODULES_CONF:=
IMPORT_MODULES_LEGAL:=
IMPORT_MODULES_MAN:=
IMPORT_MODULES_SRC:=
IMPORT_MODULES_MAKE:=

COPYRIGHT_YEAR:=2020
HOTSPOT_BUILD_TIME:=

# Platform naming variables
LAUNCHER_NAME:=openjdk
PRODUCT_NAME:=OpenJDK
PRODUCT_SUFFIX:=Runtime Environment
JDK_RC_PLATFORM_NAME:=Platform
JDK_RC_NAME:=OpenJDK Platform
COMPANY_NAME:=N/A
HOTSPOT_VM_DISTRO:=OpenJDK
MACOSX_BUNDLE_NAME_BASE=OpenJDK
MACOSX_BUNDLE_ID_BASE=net.java.openjdk
USERNAME:=young
VENDOR_URL:=https://openjdk.java.net/
VENDOR_URL_BUG:=https://bugreport.java.com/bugreport/
VENDOR_URL_VM_BUG:=https://bugreport.java.com/bugreport/crash.jsp

# New (JEP-223) version information

## Building blocks of the version string
# First three version numbers, with well-specified meanings (numerical)
VERSION_FEATURE := 16
VERSION_INTERIM := 0
VERSION_UPDATE := 0
VERSION_PATCH := 0
VERSION_EXTRA1 := 0
VERSION_EXTRA2 := 0
VERSION_EXTRA3 := 0
# The pre-release identifier (string)
VERSION_PRE := internal
# The build number (numerical)
VERSION_BUILD := 0
# Optional build information (string)
VERSION_OPT := adhoc.young.jdk

## Composite variables
# The version number as a dot separated sequence of numbers, e.g. 9.0.1
VERSION_NUMBER := 16
# VERSION_NUMBER but always with exactly 4 positions, with 0 for empty 
positions.
VERSION_NUMBER_FOUR_POSITIONS := 16.0.0.0
# The complete version string, with additional build information
VERSION_STRING := 16-internal+0-adhoc.young.jdk
# The short version string, without trailing zeroes and just PRE, if present.
VERSION_SHORT := 16-internal
# The Java specification version. It usually equals the feature version number.
VERSION_SPECIFICATION := 16
# A GA version is defined by the PRE string being empty. Rather than testing for
# that, this variable defines it with true/false.
VERSION_IS_GA := false

# Version date
VERSION_DATE := 2021-03-16

# Vendor version string
VENDOR_VERSION_STRING := 

# Class-file version
VERSION_CLASSFILE_MAJOR := 60
VERSION_CLASSFILE_MINOR := 0

JDK_SOURCE_TARGET_VERSION := 16

# Convenience CFLAGS settings for passing version information into native 
programs.
VERSION_CFLAGS := \
    -DVERSION_FEATURE=$(VERSION_FEATURE) \
    -DVERSION_INTERIM=$(VERSION_INTERIM) \
    -DVERSION_UPDATE=$(VERSION_UPDATE) \
    -DVERSION_PATCH=$(VERSION_PATCH) \
    -DVERSION_EXTRA1=$(VERSION_EXTRA1) \
    -DVERSION_EXTRA2=$(VERSION_EXTRA2) \
    -DVERSION_EXTRA3=$(VERSION_EXTRA3) \
    -DVERSION_PRE='"$(VERSION_PRE)"' \
    -DVERSION_BUILD=$(VERSION_BUILD) \
    -DVERSION_OPT='"$(VERSION_OPT)"' \
    -DVERSION_NUMBER='"$(VERSION_NUMBER)"' \
    -DVERSION_STRING='"$(VERSION_STRING)"' \
    -DVERSION_SHORT='"$(VERSION_SHORT)"' \
    -DVERSION_SPECIFICATION='"$(VERSION_SPECIFICATION)"' \
    -DVERSION_DATE='"$(VERSION_DATE)"' \
    -DVENDOR_VERSION_STRING='"$(VENDOR_VERSION_STRING)"' \
    -DVERSION_CLASSFILE_MAJOR=$(VERSION_CLASSFILE_MAJOR) \
    -DVERSION_CLASSFILE_MINOR=$(VERSION_CLASSFILE_MINOR) \
    #

ifneq ($(COMPANY_NAME),)
  # COMPANY_NAME is set to "N/A" in $AUTOCONF_DIR/version-numbers by default,
  # but can be customized with the '--with-vendor-name' configure option.
  # Only export "VENDOR" to the build if COMPANY_NAME contains a real value.
  # Otherwise the default value for VENDOR, which is used to set the 
"java.vendor"
  # and "java.vm.vendor" properties is hard-coded into the source code (i.e. in
  # VersionProps.java.template in the jdk for "java.vendor" and
  # vm_version.cpp in the VM for "java.vm.vendor")
  ifneq ($(COMPANY_NAME), N/A)
    VERSION_CFLAGS += -DVENDOR='"$(COMPANY_NAME)"'
  endif
endif

# Only export VENDOR_URL, VENDOR_URL_BUG and VENDOR_VM_URL_BUG to the build if
# they are not empty. Otherwise, default values which are defined in the sources
# will be used.
ifneq ($(VENDOR_URL),)
  VERSION_CFLAGS += -DVENDOR_URL='"$(VENDOR_URL)"'
endif
ifneq ($(VENDOR_URL_BUG),)
  VERSION_CFLAGS += -DVENDOR_URL_BUG='"$(VENDOR_URL_BUG)"'
endif
ifneq ($(VENDOR_URL_VM_BUG),)
  VERSION_CFLAGS += -DVENDOR_URL_VM_BUG='"$(VENDOR_URL_VM_BUG)"'
endif

# Different naming strings generated from the above information.
RUNTIME_NAME=$(PRODUCT_NAME) $(PRODUCT_SUFFIX)

# How to compile the code: release, fastdebug or slowdebug
DEBUG_LEVEL:=release
HOTSPOT_DEBUG_LEVEL:=product

# Which JVM variants to build (space-separated list)
JVM_VARIANTS := server
JVM_VARIANT_MAIN := server

# Lists of features per variant. Only relevant for the variants listed in
# JVM_VARIANTS.
JVM_FEATURES_server := aot cds compiler1 compiler2 epsilongc g1gc graal jfr 
jni-check jvmci jvmti management nmt parallelgc serialgc services shenandoahgc 
vm-structs zgc
JVM_FEATURES_client := 
JVM_FEATURES_core := 
JVM_FEATURES_minimal := 
JVM_FEATURES_zero := 
JVM_FEATURES_custom := 

# Used for make-time verifications
VALID_JVM_FEATURES := aot cds compiler1 compiler2 dtrace epsilongc g1gc graal 
jfr jni-check jvmci jvmti link-time-opt management minimal nmt opt-size 
parallelgc serialgc services shenandoahgc static-build vm-structs zero zgc
VALID_JVM_VARIANTS := server client minimal core zero custom

# Allow overriding the default hotspot library path
HOTSPOT_OVERRIDE_LIBPATH := 

# Control use of precompiled header in hotspot libjvm build
USE_PRECOMPILED_HEADER := true

# Only build headless support or not
ENABLE_HEADLESS_ONLY := false

ENABLE_LINKTIME_GC := false

# Ship debug symbols (e.g. pdbs on Windows)
SHIP_DEBUG_SYMBOLS := 

ENABLE_FULL_DOCS := false

# JDK_OUTPUTDIR specifies where a working jvm is built.
# You can run $(JDK_OUTPUTDIR)/bin/java

OUTPUTDIR := /cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release
# Colon left out to be able to override IMAGES_OUTPUTDIR for bootcycle-images
SUPPORT_OUTPUTDIR=$(OUTPUTDIR)/support
BUILDTOOLS_OUTPUTDIR=$(OUTPUTDIR)/buildtools

HOTSPOT_OUTPUTDIR=$(OUTPUTDIR)/hotspot
JDK_OUTPUTDIR=$(OUTPUTDIR)/jdk
IMAGES_OUTPUTDIR=$(OUTPUTDIR)/images
BUNDLES_OUTPUTDIR=$(OUTPUTDIR)/bundles
TESTMAKE_OUTPUTDIR=$(OUTPUTDIR)/test-make
MAKESUPPORT_OUTPUTDIR=$(OUTPUTDIR)/make-support

# This does not get overridden in a bootcycle build
CONFIGURESUPPORT_OUTPUTDIR:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support
BUILDJDK_OUTPUTDIR=$(OUTPUTDIR)/buildjdk

BUILD_FAILURE_HANDLER := false

ENABLE_GENERATE_CLASSLIST := true

EXCLUDE_TRANSLATIONS := 

BUILD_MANPAGES := true

BUILD_CDS_ARCHIVE := true

ALLOW_ABSOLUTE_PATHS_IN_OUTPUT := false

# The boot jdk to use. This is overridden in bootcycle-spec.gmk. Make sure to 
keep
# it in sync.
BOOT_JDK:=/cygdrive/c/progra~1/adopto~1/jdk-14~1.7-h

BUILD_JDK:=$(JDK_OUTPUTDIR)
CREATE_BUILDJDK:=false
EXTERNAL_BUILDJDK:=false

# When compiling Java source to be run by the boot jdk
# use these extra flags, eg -source 6 -target 6
BOOT_JDK_SOURCETARGET:=-source 14 -target 14 -Xlint:-options

# Information about the build system
NUM_CORES:=16
MEMORY_SIZE:=32699
ENABLE_JAVAC_SERVER:=true
# Store javac server synchronization files here, and
# the javac server log files.
JAVAC_SERVER_DIR=$(MAKESUPPORT_OUTPUTDIR)/javacservers

# Number of parallel jobs to use for compilation
JOBS?=16
TEST_JOBS?=0

# Default make target
DEFAULT_MAKE_TARGET:=exploded-image
DEFAULT_LOG:=

FREETYPE_TO_USE:=bundled
FREETYPE_LIBS:=
FREETYPE_CFLAGS:=
FONTCONFIG_CFLAGS:=
CUPS_CFLAGS:=
ALSA_LIBS:=
ALSA_CFLAGS:=
LIBFFI_LIBS:=
LIBFFI_CFLAGS:=
ENABLE_LIBFFI_BUNDLING:=false
LIBFFI_LIB_FILE:=
GRAALUNIT_LIB := 
FILE_MACRO_CFLAGS := 

STATIC_LIBS_CFLAGS := -DSTATIC_BUILD=1 -DJNIEXPORT=

JMH_CORE_JAR := 
JMH_GENERATOR_JAR := 
JMH_JOPT_SIMPLE_JAR := 
JMH_COMMONS_MATH_JAR := 
JMH_VERSION := 

GTEST_FRAMEWORK_SRC := 

# Source file for cacerts
CACERTS_FILE=

# Enable unlimited crypto policy
UNLIMITED_CRYPTO=true

GCOV_ENABLED=false
JCOV_ENABLED=false
JCOV_HOME=
JCOV_INPUT_JDK=
JCOV_FILTERS=

# AddressSanitizer
export ASAN_ENABLED:=no
export DEVKIT_LIB_DIR:=
ifeq ($(ASAN_ENABLED), yes)
  export ASAN_OPTIONS=handle_segv=0 detect_leaks=0
  ifneq ($(DEVKIT_LIB_DIR),)
    export LD_LIBRARY_PATH:=$(LD_LIBRARY_PATH):$(DEVKIT_LIB_DIR)
  endif
endif

# Necessary additional compiler flags to compile X11
X_CFLAGS:=
X_LIBS:=

# The lowest required version of macosx
MACOSX_VERSION_MIN=
# The highest allowed version of macosx
MACOSX_VERSION_MAX=

# The macosx code signing identity to use
MACOSX_CODESIGN_IDENTITY=

# Toolchain type: gcc, clang, xlc, microsoft...
TOOLCHAIN_TYPE:=microsoft
TOOLCHAIN_VERSION := 2019
CC_VERSION_NUMBER := 19.26.28806
CXX_VERSION_NUMBER := 19.26.28806

# Legacy support
HOTSPOT_TOOLCHAIN_TYPE := visCPP

# Option used to tell the compiler whether to create 32- or 64-bit executables
COMPILER_TARGET_BITS_FLAG:=-m
COMPILER_SUPPORTS_TARGET_BITS_FLAG=true

# Option used to pass a command file to the compiler
COMPILER_COMMAND_FILE_FLAG:=@

# Option for specifying a file which saves the binder commands
# produced by the link step (for debugging, currently AIX only)
COMPILER_BINDCMD_FILE_FLAG:=

CC_OUT_OPTION:=-Fo
LD_OUT_OPTION:=-out:
AR_OUT_OPTION:=-out:

# Flags used for overriding the default opt setting for a C/C++ source file.
C_O_FLAG_HIGHEST_JVM:=-O2 -Oy-
C_O_FLAG_HIGHEST:=-O2
C_O_FLAG_HI:=-O1
C_O_FLAG_NORM:=-O1
C_O_FLAG_NONE:=-Od
C_O_FLAG_SIZE:=-Os
CXX_O_FLAG_HIGHEST_JVM:=-O2 -Oy-
CXX_O_FLAG_HIGHEST:=-O2
CXX_O_FLAG_HI:=-O1
CXX_O_FLAG_NORM:=-O1
CXX_O_FLAG_NONE:=-Od
CXX_O_FLAG_SIZE:=-Os

C_FLAG_DEPS:=
CXX_FLAG_DEPS:=

DISABLE_WARNING_PREFIX := -wd
CFLAGS_WARNINGS_ARE_ERRORS:=-WX
DISABLED_WARNINGS := 4800
DISABLED_WARNINGS_C := 
DISABLED_WARNINGS_CXX := 

# A global flag (true or false) determining if native warnings are considered 
errors.
WARNINGS_AS_ERRORS := false

CFLAGS_CCACHE:=
ADLC_CXXFLAG=

# Tools that potentially need to be cross compilation aware.
CC:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c   
/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/bin/hostx86/x64/cl

# CFLAGS used to compile the jdk native libraries (C-code)
CFLAGS_JDKLIB:=       -I$(SUPPORT_OUTPUTDIR)/modules_include/java.base       
-I$(SUPPORT_OUTPUTDIR)/modules_include/java.base/$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR)
       -I/cygdrive/c/cygwin64/jdk/src/java.base/share/native/libjava       
-I/cygdrive/c/cygwin64/jdk/src/java.base/windows/native/libjava       
-I/cygdrive/c/cygwin64/jdk/src/hotspot/share/include       
-I/cygdrive/c/cygwin64/jdk/src/hotspot/os/windows/include -DWIN32_LEAN_AND_MEAN 
-D_CRT_SECURE_NO_DEPRECATE         -D_CRT_NONSTDC_NO_DEPRECATE -DWIN32 -DIAL 
-nologo -MD -Zc:wchar_t-         -DWINDOWS -DNDEBUG        -W3                  
    -D_LITTLE_ENDIAN -DARCH='"amd64"'       -Damd64 -D_AMD64_ -Damd64           
CXXFLAGS_JDKLIB:=       -I$(SUPPORT_OUTPUTDIR)/modules_include/java.base       
-I$(SUPPORT_OUTPUTDIR)/modules_include/java.base/$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR)
       -I/cygdrive/c/cygwin64/jdk/src/java.base/share/native/libjava       
-I/cygdrive/c/cygwin64/jdk/src/java.base/windows/native/libjava       
-I/cygdrive/c/cygwin64/jdk/src/hotspot/share/include       
-I/cygdrive/c/cygwin64/jdk/src/hotspot/os/windows/include -DWIN32_LEAN_AND_MEAN 
-D_CRT_SECURE_NO_DEPRECATE         -D_CRT_NONSTDC_NO_DEPRECATE -DWIN32 -DIAL 
-nologo -MD -Zc:wchar_t-         -DWINDOWS -DNDEBUG        -W3                  
                -D_LITTLE_ENDIAN -DARCH='"amd64"'       -Damd64 -D_AMD64_ 
-Damd64           

# CFLAGS used to compile the jdk native launchers (C-code)
CFLAGS_JDKEXE:=       -I$(SUPPORT_OUTPUTDIR)/modules_include/java.base       
-I$(SUPPORT_OUTPUTDIR)/modules_include/java.base/$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR)
       -I/cygdrive/c/cygwin64/jdk/src/java.base/share/native/libjava       
-I/cygdrive/c/cygwin64/jdk/src/java.base/windows/native/libjava       
-I/cygdrive/c/cygwin64/jdk/src/hotspot/share/include       
-I/cygdrive/c/cygwin64/jdk/src/hotspot/os/windows/include -DWIN32_LEAN_AND_MEAN 
-D_CRT_SECURE_NO_DEPRECATE         -D_CRT_NONSTDC_NO_DEPRECATE -DWIN32 -DIAL 
-nologo -MD -Zc:wchar_t-         -DWINDOWS -DNDEBUG        -W3                  
    -D_LITTLE_ENDIAN -DARCH='"amd64"'       -Damd64 -D_AMD64_ -Damd64    
CXXFLAGS_JDKEXE:=       -I$(SUPPORT_OUTPUTDIR)/modules_include/java.base       
-I$(SUPPORT_OUTPUTDIR)/modules_include/java.base/$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR)
       -I/cygdrive/c/cygwin64/jdk/src/java.base/share/native/libjava       
-I/cygdrive/c/cygwin64/jdk/src/java.base/windows/native/libjava       
-I/cygdrive/c/cygwin64/jdk/src/hotspot/share/include       
-I/cygdrive/c/cygwin64/jdk/src/hotspot/os/windows/include -DWIN32_LEAN_AND_MEAN 
-D_CRT_SECURE_NO_DEPRECATE         -D_CRT_NONSTDC_NO_DEPRECATE -DWIN32 -DIAL 
-nologo -MD -Zc:wchar_t-         -DWINDOWS -DNDEBUG        -W3                  
                -D_LITTLE_ENDIAN -DARCH='"amd64"'       -Damd64 -D_AMD64_ 
-Damd64    

FDLIBM_CFLAGS := 
JVM_CFLAGS := -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS 
-D__STDC_CONSTANT_MACROS -DNOMINMAX -DWIN32_LEAN_AND_MEAN       -nologo -MD -MP 
         -D_WINDOWS -DWIN32 -D_JNI_IMPLEMENTATION_        -W3    
-DVM_LITTLE_ENDIAN -D_LP64=1      
JVM_LDFLAGS := -nologo -opt:ref -pdbaltpath:%_PDB% -opt:icf,8 
-subsystem:windows                  -machine:AMD64  
JVM_ASFLAGS :=   
JVM_LIBS :=  kernel32.lib user32.lib gdi32.lib winspool.lib         
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib         
wsock32.lib winmm.lib version.lib psapi.lib

# These flags might contain variables set by a custom extension that is 
included later.
EXTRA_CFLAGS =  
EXTRA_CXXFLAGS =  
EXTRA_LDFLAGS =  
EXTRA_ASFLAGS = 

CXX:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c   
/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/bin/hostx86/x64/cl

CPP:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c 
/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/bin/hostx86/x64/cl
 -E

# The linker can be gcc or ld on unix systems, or link.exe on windows systems.
LD:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c 
/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/bin/hostx86/x64/link

# Linker used by the jaotc tool for AOT compilation.
LD_JAOTC:=/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/bin/hostx86/x64/link.exe

# Xcode SDK path
SDKROOT:=

# LDFLAGS used to link the jdk native libraries (C-code)
LDFLAGS_JDKLIB:=-nologo -opt:ref -pdbaltpath:%_PDB% -incremental:no             
     
-libpath:/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/support/modules_libs/java.base
 -dll
JDKLIB_LIBS:=

# LDFLAGS used to link the jdk native launchers (C-code)
LDFLAGS_JDKEXE:=-nologo -opt:ref -pdbaltpath:%_PDB% -incremental:no             
     -stack:1048576
JDKEXE_LIBS:=

# LDFLAGS specific to C++ linking.
LDFLAGS_CXX_JDK:=  

# Sometimes a different linker is needed for c++ libs
LDCXX:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c 
/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/bin/hostx86/x64/link
# The flags for linking libstdc++ linker.
LIBCXX:=

# Compiler and linker flags used when building native tests
LDFLAGS_TESTEXE:=-libpath:/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/support/modules_libs/java.base

# BUILD_CC/BUILD_LD is a compiler/linker that generates code that is runnable 
on the
# build platform.
BUILD_CC:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c  
/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/bin/hostx86/x64/cl
BUILD_CXX:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c  
/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/bin/hostx86/x64/cl
BUILD_LD:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c 
/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/bin/hostx86/x64/link
BUILD_LDCXX:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c 
/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/bin/hostx86/x64/link
BUILD_AS:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c 
/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/bin/hostx86/x64/cl
 -c
BUILD_AR:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c 
/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/bin/hostx86/x64/lib
BUILD_NM:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c 
BUILD_OBJCOPY:=
BUILD_STRIP:=
BUILD_SYSROOT_CFLAGS:= 
-I/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/atlmfc/include
 -I/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/include 
-I/cygdrive/c/progra~2/wi3cf2~1/netfxsdk/4.8/include/um 
-I/cygdrive/c/progra~2/wi3cf2~1/10/include/100183~1.0/ucrt 
-I/cygdrive/c/progra~2/wi3cf2~1/10/include/100183~1.0/shared 
-I/cygdrive/c/progra~2/wi3cf2~1/10/include/100183~1.0/um 
-I/cygdrive/c/progra~2/wi3cf2~1/10/include/100183~1.0/winrt 
-I/cygdrive/c/progra~2/wi3cf2~1/10/include/100183~1.0/cppwinrt
BUILD_SYSROOT_LDFLAGS:= 
-libpath:/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/atlmfc/lib/x64
 
-libpath:/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/lib/x64
 -libpath:/cygdrive/c/progra~2/wi3cf2~1/netfxsdk/4.8/lib/um/x64 
-libpath:/cygdrive/c/progra~2/wi3cf2~1/10/lib/100183~1.0/ucrt/x64 
-libpath:/cygdrive/c/progra~2/wi3cf2~1/10/lib/100183~1.0/um/x64

AS:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c 
/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/bin/hostx86/x64/cl
 -c

# AR is used to create a static library (is ar in unix, lib.exe in windows)
AR:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c 
/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/bin/hostx86/x64/lib
ARFLAGS:=-nologo -NODEFAULTLIB:MSVCRT

NM:=
GNM:=
STRIP:=
OBJDUMP:=/usr/bin/objdump
CXXFILT:=

LIPO:=
INSTALL_NAME_TOOL:=

# Options to linker to specify a mapfile.
# (Note absence of := assignment, because we do not want to evaluate the macro 
body here)
SET_SHARED_LIBRARY_MAPFILE=-def:$1

#
# Options for generating debug symbols
COMPILE_WITH_DEBUG_SYMBOLS := true
COPY_DEBUG_SYMBOLS := true
ZIP_EXTERNAL_DEBUG_SYMBOLS := false

CFLAGS_DEBUG_SYMBOLS:=-Z7
ASFLAGS_DEBUG_SYMBOLS:=

#
# Compress (or not) jars
COMPRESS_JARS=false

# Options to linker to specify the library name.
# (Note absence of := assignment, because we do not want to evaluate the macro 
body here)
SET_SHARED_LIBRARY_NAME=

SHARED_LIBRARY_FLAGS=-dll

# Set origin using the linker, ie use the relative path to the dependent 
library to find the dependees.
# (Note absence of := assignment, because we do not want to evaluate the macro 
body here)
SET_SHARED_LIBRARY_ORIGIN=
SET_EXECUTABLE_ORIGIN=

# Different OS:es have different ways of naming shared libraries.
# The SHARED_LIBRARY macro takes "verify" as and argument and returns:
#    "libverify.so" or "libverify.dylib" or "verify.dll" depending on platform.
# (Note absence of := assignment, because we do not want to evaluate the macro 
body here)
SHARED_LIBRARY=$1.dll
STATIC_LIBRARY=$1.lib
LIBRARY_PREFIX:=
SHARED_LIBRARY_SUFFIX:=.dll
STATIC_LIBRARY_SUFFIX:=.lib
EXE_SUFFIX:=.exe
OBJ_SUFFIX:=.obj
STATIC_BUILD:=false

STRIPFLAGS:=

JAVA_FLAGS:= -Duser.language=en -Duser.country=US -Xshare:auto 
JAVA_FLAGS_BIG:= -Xms64M -Xmx1600M
JAVA_FLAGS_SMALL:= -XX:+UseSerialGC -Xms32M -Xmx512M -XX:TieredStopAtLevel=1
BUILDJDK_JAVA_FLAGS_SMALL:=-Xms32M -Xmx512M -XX:TieredStopAtLevel=1
JAVA_TOOL_FLAGS_SMALL:= -J-XX:+UseSerialGC -J-Xms32M -J-Xmx512M 
-J-XX:TieredStopAtLevel=1

# The *_CMD variables are defined separately to be easily overridden in 
bootcycle-spec.gmk
# for bootcycle-images build. Make sure to keep them in sync. Do not use the 
*_CMD
# versions of the variables directly.
JAVA_CMD:=/cygdrive/c/progra~1/adopto~1/jdk-14~1.7-h/bin/java.exe
JAVAC_CMD:=/cygdrive/c/progra~1/adopto~1/jdk-14~1.7-h/bin/javac.exe
JAVADOC_CMD:=/cygdrive/c/progra~1/adopto~1/jdk-14~1.7-h/bin/javadoc.exe
JAR_CMD:=/cygdrive/c/progra~1/adopto~1/jdk-14~1.7-h/bin/jar.exe
JLINK_CMD := $(JDK_OUTPUTDIR)/bin/jlink
JMOD_CMD := $(JDK_OUTPUTDIR)/bin/jmod
JARSIGNER_CMD:=/cygdrive/c/progra~1/adopto~1/jdk-14~1.7-h/bin/jarsigner.exe
# These variables are meant to be used. They are defined with = instead of := 
to make
# it possible to override only the *_CMD variables.
JAVA=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
JAVA_SMALL=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
JAVA_DETACH 
=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c --detach $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
JAVAC=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c $(JAVAC_CMD)
JAVADOC=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c $(JAVADOC_CMD)
JAR=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c $(JAR_CMD)
JLINK = 
/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c $(JLINK_CMD)
JMOD = 
/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c $(JMOD_CMD) $(JAVA_TOOL_FLAGS_SMALL)
JARSIGNER=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c $(JARSIGNER_CMD)

BUILD_JAVA_FLAGS := -Xms64M -Xmx1600M
BUILD_JAVA=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c $(BUILD_JDK)/bin/java $(BUILD_JAVA_FLAGS)
BUILD_JAR=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c $(BUILD_JDK)/bin/jar

# Interim langtools modules and arguments
INTERIM_LANGTOOLS_BASE_MODULES := java.compiler jdk.compiler jdk.javadoc
INTERIM_LANGTOOLS_MODULES := $(addsuffix .interim, 
$(INTERIM_LANGTOOLS_BASE_MODULES))
INTERIM_LANGTOOLS_ADD_EXPORTS := \
    --add-exports java.base/sun.reflect.annotation=jdk.compiler.interim \
    --add-exports java.base/jdk.internal.jmod=jdk.compiler.interim \
    --add-exports java.base/jdk.internal.misc=jdk.compiler.interim \
    --add-exports java.base/sun.invoke.util=jdk.compiler.interim \
    #
INTERIM_LANGTOOLS_MODULES_COMMA := $(strip $(subst $(SPACE),$(COMMA),$(strip \
    $(INTERIM_LANGTOOLS_MODULES))))
INTERIM_LANGTOOLS_ARGS := \
    --limit-modules java.base,jdk.zipfs,$(INTERIM_LANGTOOLS_MODULES_COMMA) \
    --add-modules $(INTERIM_LANGTOOLS_MODULES_COMMA) \
    --module-path $(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules \
    $(INTERIM_LANGTOOLS_ADD_EXPORTS) \
    #
JAVAC_MAIN_CLASS = -m jdk.compiler.interim/com.sun.tools.javac.Main
JAVADOC_MAIN_CLASS = -m jdk.javadoc.interim/jdk.javadoc.internal.tool.Main

# You run the new javac using the boot jdk with $(BOOT_JDK)/bin/java 
$(NEW_JAVAC) ...
# Use = assignment to be able to override in bootcycle-spec.gmk
NEW_JAVAC   = $(INTERIM_LANGTOOLS_ARGS) $(JAVAC_MAIN_CLASS)
NEW_JAVADOC = $(INTERIM_LANGTOOLS_ARGS) $(JAVADOC_MAIN_CLASS)

JLINK_KEEP_PACKAGED_MODULES:=true

RCFLAGS := -nologo -DNDEBUG

# Tools adhering to a minimal and common standard of posix compliance.
AWK:=gawk
BASENAME:=/usr/bin/basename
CAT:=/usr/bin/cat
CCACHE:=
# CD is going away, but remains to cater for legacy makefiles.
CD:=cd
CHMOD:=/usr/bin/chmod
CODESIGN:=
COMM:=/usr/bin/comm
CP:=/usr/bin/cp
CPIO:=
CUT:=/usr/bin/cut
DATE:=/usr/bin/date
DIFF:=/usr/bin/diff
DIRNAME:=/usr/bin/dirname
DSYMUTIL:=
FIND:=/usr/bin/find
FIND_DELETE:=-delete
FLOCK:=/usr/bin/flock
ECHO:=/usr/bin/echo
EGREP:=/usr/bin/grep -E
FGREP:=/usr/bin/grep -F
GREP:=/usr/bin/grep
GZIP:=/usr/bin/gzip
HEAD:=/usr/bin/head
LS:=/usr/bin/ls
LN:=/usr/bin/ln
MIG:=
MKDIR:=/usr/bin/mkdir
MV:=/usr/bin/mv
NAWK:=/usr/bin/gawk
NICE:=/usr/bin/nice
PANDOC:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c 
PATCH:=
PRINTF:=/usr/bin/printf
READLINK:=/usr/bin/readlink
RM:=/usr/bin/rm -f
RMDIR:=/usr/bin/rmdir
SED:=/usr/bin/sed
SH:=/usr/bin/sh
SORT:=/usr/bin/sort
TAR:=/usr/bin/tar
TAIL:=/usr/bin/tail
TEE:=/usr/bin/tee
TIME:=
IS_GNU_TIME:=no
TR:=/usr/bin/tr
TOUCH:=/usr/bin/touch
UNIQ:=/usr/bin/uniq
WC:=/usr/bin/wc
XARGS:=/usr/bin/xargs
ZIPEXE:=/usr/bin/zip
UNZIP:=/usr/bin/unzip
MT:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c /cygdrive/c/progra~2/wi3cf2~1/10/bin/100183~1.0/x86/mt
RC:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c /cygdrive/c/progra~2/wi3cf2~1/10/bin/100183~1.0/x86/rc
DUMPBIN:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c 
/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/tools/msvc/1426~1.288/bin/hostx86/x64/dumpbin
CYGPATH:=/usr/bin/cygpath
WSLPATH:=
LDD:=/usr/bin/ldd
OTOOL:=
READELF:=/usr/bin/readelf
EXPR:=/usr/bin/expr
FILE:=/usr/bin/file
DOT:=
HG:=
GIT:=/usr/bin/git
OBJCOPY:=
SETFILE:=
XATTR:=
JT_HOME:=
JIB_HOME:=
XCODEBUILD=
DTRACE := 
FIXPATH:=/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
 -c
ULIMIT:=

TAR_TYPE:=gnu
TAR_INCLUDE_PARAM:=T
TAR_SUPPORTS_TRANSFORM:=true

# Build setup
ENABLE_AOT:=true
ENABLE_INTREE_EC:=true
USE_EXTERNAL_LIBJPEG:=false
USE_EXTERNAL_LIBGIF:=false
USE_EXTERNAL_LIBZ:=false
LIBZ_CFLAGS:= -I/cygdrive/c/cygwin64/jdk/src/java.base/share/native/libzip/zlib
LIBZ_LIBS:=
LIBZIP_CAN_USE_MMAP:=true
MSVCR_DLL:=/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/redist/msvc/1426~1.287/x64/Microsoft.VC142.CRT/vcruntime140.dll
VCRUNTIME_1_DLL:=/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/redist/msvc/1426~1.287/x64/Microsoft.VC142.CRT/vcruntime140_1.dll
MSVCP_DLL:=/cygdrive/c/progra~2/micros~1/2019/commun~1/vc/redist/msvc/1426~1.287/x64/Microsoft.VC142.CRT/msvcp140.dll
UCRT_DLL_DIR:=/cygdrive/c/progra~2/wi3cf2~1/10/Redist/10.0.18362.0/ucrt/DLLs/x64
ENABLE_PANDOC:=false
PANDOC_MARKDOWN_FLAG:=markdown

####################################################
#
# INSTALLATION
#

# Common prefix for all installed files. Defaults to /usr/local,
# but /opt/myjdk is another common version.
INSTALL_PREFIX=/usr/local

# Directories containing architecture-dependent files should be relative to 
exec_prefix
INSTALL_EXECPREFIX=${prefix}

# java,javac,javap etc are installed here.
INSTALL_BINDIR=${exec_prefix}/bin

# Read only architecture-independent data
INSTALL_DATADIR=${datarootdir}

# Root of above.
INSTALL_DATAROOTDIR=${prefix}/share

# Doc files, other than info and man.
INSTALL_DOCDIR=${datarootdir}/doc/${PACKAGE_TARNAME}

# Html documentation
INSTALL_HTMLDIR=${docdir}

# Installing C header files, JNI headers for example.
INSTALL_INCLUDEDIR=${prefix}/include

# Installing library files....
INSTALL_INCLUDEDIR=${exec_prefix}/lib

# Executables that other programs run.
INSTALL_LIBEXECDIR=${exec_prefix}/libexec

# Locale-dependent but architecture-independent data, such as message catalogs.
INSTALL_LOCALEDIR=${datarootdir}/locale

# Modifiable single-machine data
INSTALL_LOCALSTATEDIR=${prefix}/var

# Man pages
INSTALL_MANDIR=${datarootdir}/man

# Modifiable architecture-independent data.
INSTALL_SHAREDSTATEDIR=${prefix}/com

# Read-only single-machine data
INSTALL_SYSCONFDIR=${prefix}/etc

####################################################
#
# Libraries
#

USE_EXTERNAL_LCMS:=false
LCMS_CFLAGS:=
LCMS_LIBS:=

USE_EXTERNAL_LIBPNG:=false
PNG_LIBS:=
PNG_CFLAGS:=

####################################################
#
# Misc
#

INCLUDE_SA=true
INCLUDE_GRAAL=true
INCLUDE_JVMCI=true

OS_VERSION_MAJOR:=3
OS_VERSION_MINOR:=1
OS_VERSION_MICRO:=6(0

# Images directory definitions
JDK_IMAGE_SUBDIR:=jdk
JRE_IMAGE_SUBDIR:=jre
JCOV_IMAGE_SUBDIR := jdk-jcov

# Colon left out to be able to override output dir for bootcycle-images
JDK_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_IMAGE_SUBDIR)
JRE_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_IMAGE_SUBDIR)
JCOV_IMAGE_DIR = $(IMAGES_OUTPUTDIR)/$(JCOV_IMAGE_SUBDIR)

# Test image, as above
TEST_IMAGE_SUBDIR:=test
TEST_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(TEST_IMAGE_SUBDIR)

# Symbols image
SYMBOLS_IMAGE_SUBDIR:=symbols
SYMBOLS_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(SYMBOLS_IMAGE_SUBDIR)

# Interim image
INTERIM_JMODS_DIR := $(SUPPORT_OUTPUTDIR)/interim-jmods
INTERIM_IMAGE_DIR := $(SUPPORT_OUTPUTDIR)/interim-image

# Docs image
DOCS_IMAGE_SUBDIR := docs
DOCS_IMAGE_DIR = $(IMAGES_OUTPUTDIR)/$(DOCS_IMAGE_SUBDIR)
# Output docs directly into image
DOCS_OUTPUTDIR := $(DOCS_IMAGE_DIR)

# Static libs image
STATIC_LIBS_IMAGE_SUBDIR := static-libs
STATIC_LIBS_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(STATIC_LIBS_IMAGE_SUBDIR)

# Graal builder image
GRAAL_BUILDER_IMAGE_SUBDIR := graal-builder-jdk
GRAAL_BUILDER_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(GRAAL_BUILDER_IMAGE_SUBDIR)

# Macosx bundles directory definitions
JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle
JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle
JDK_MACOSX_BUNDLE_SUBDIR_SIGNED=jdk-bundle-signed
JRE_MACOSX_BUNDLE_SUBDIR_SIGNED=jre-bundle-signed
JDK_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR)
JRE_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR)
JDK_MACOSX_BUNDLE_DIR_SIGNED=$(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR_SIGNED)
JRE_MACOSX_BUNDLE_DIR_SIGNED=$(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR_SIGNED)
JDK_MACOSX_BUNDLE_TOP_DIR=jdk-$(VERSION_NUMBER).jdk
JRE_MACOSX_BUNDLE_TOP_DIR=jre-$(VERSION_NUMBER).jre
JDK_MACOSX_CONTENTS_SUBDIR=$(JDK_MACOSX_BUNDLE_TOP_DIR)/Contents
JRE_MACOSX_CONTENTS_SUBDIR=$(JRE_MACOSX_BUNDLE_TOP_DIR)/Contents
JDK_MACOSX_CONTENTS_DIR=$(JDK_MACOSX_BUNDLE_DIR)/$(JDK_MACOSX_CONTENTS_SUBDIR)
JRE_MACOSX_CONTENTS_DIR=$(JRE_MACOSX_BUNDLE_DIR)/$(JRE_MACOSX_CONTENTS_SUBDIR)

# Bundle names
BASE_NAME := $(VERSION_SHORT)+$(VERSION_BUILD)_$(OPENJDK_TARGET_BUNDLE_PLATFORM)
ifeq ($(DEBUG_LEVEL), fastdebug)
  DEBUG_PART := -debug
else ifneq ($(DEBUG_LEVEL), release)
  DEBUG_PART := -$(DEBUG_LEVEL)
endif
ifeq ($(OPENJDK_TARGET_OS), windows)
  JDK_BUNDLE_EXTENSION := zip
else
  JDK_BUNDLE_EXTENSION := tar.gz
endif
JDK_BUNDLE_NAME := jdk-$(BASE_NAME)_bin$(DEBUG_PART).$(JDK_BUNDLE_EXTENSION)
JRE_BUNDLE_NAME := jre-$(BASE_NAME)_bin$(DEBUG_PART).$(JDK_BUNDLE_EXTENSION)
JDK_SYMBOLS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin$(DEBUG_PART)-symbols.tar.gz
TEST_DEMOS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-tests-demos$(DEBUG_PART).tar.gz
TEST_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-tests$(DEBUG_PART).tar.gz
DOCS_BUNDLE_NAME := jdk-$(BASE_NAME)_doc-api-spec$(DEBUG_PART).tar.gz
STATIC_LIBS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-static-libs$(DEBUG_PART).tar.gz
JCOV_BUNDLE_NAME := 
jdk-jcov-$(BASE_NAME)_bin$(DEBUG_PART).$(JDK_BUNDLE_EXTENSION)

JDK_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JDK_BUNDLE_NAME)
JRE_BUNDLE :=  $(BUNDLES_OUTPUTDIR)/$(JRE_BUNDLE_NAME)
JDK_SYMBOLS_BUNDLE :=  $(BUNDLES_OUTPUTDIR)/$(JDK_SYMBOLS_BUNDLE_NAME)
TEST_DEMOS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(TEST_DEMOS_BUNDLE_NAME)
TEST_BUNDLE :=  $(BUNDLES_OUTPUTDIR)/$(TEST_BUNDLE_NAME)
DOCS_BUNDLE :=  $(BUNDLES_OUTPUTDIR)/$(DOCS_BUNDLE_NAME)
JCOV_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JCOV_BUNDLE_NAME)

# This macro is called to allow inclusion of closed source counterparts.
# Unless overridden in closed sources, it expands to nothing.
# Usage: This function is called in an open makefile, with the following
# argument:
# $1 the name of the makefile
define IncludeCustomExtension
endef

# Include the custom-spec.gmk file if it exists
-include $(dir 
/cygdrive/c/cygwin64/jdk/build/windows-x86_64-server-release/spec.gmk)/custom-spec.gmk
cd /


git clone https://github.com/openjdk/jdk

cd jdk

bash configure --disable-warnings-as-errors

make images

Reply via email to