8216267: Fix hotspot-ide-project target on WSL
authorerikj
Mon, 07 Jan 2019 04:56:59 -0800
changeset 53157 3d60a1696e19
parent 53156 488773472a63
child 53158 b01fe6b2502c
8216267: Fix hotspot-ide-project target on WSL Reviewed-by: erikj Contributed-by: andrewluotechnologies@outlook.com
make/autoconf/spec.gmk.in
make/hotspot/ide/CreateVSProject.gmk
--- a/make/autoconf/spec.gmk.in	Mon Jan 07 10:21:43 2019 +0100
+++ b/make/autoconf/spec.gmk.in	Mon Jan 07 04:56:59 2019 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2019, 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
@@ -729,6 +729,7 @@
 RC:=@FIXPATH@ @RC@
 DUMPBIN:=@FIXPATH@ @DUMPBIN@
 CYGPATH:=@CYGPATH@
+WSLPATH:=@WSLPATH@
 LDD:=@LDD@
 OTOOL:=@OTOOL@
 READELF:=@READELF@
--- a/make/hotspot/ide/CreateVSProject.gmk	Mon Jan 07 10:21:43 2019 +0100
+++ b/make/hotspot/ide/CreateVSProject.gmk	Mon Jan 07 04:56:59 2019 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2016, 2019, 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
@@ -46,8 +46,17 @@
 
   # Helper macro to convert a unix path to a Windows path, suitable for
   # inclusion in a command line.
-  FixPath = \
-    $(strip $(subst \,\\,$(shell $(CYGPATH) -w $1)))
+  ifeq ($(OPENJDK_BUILD_OS_ENV), windows.cygwin)
+    FixPath = \
+        $(strip $(subst \,\\,$(shell $(CYGPATH) -w $1)))
+    FixLinuxExecutable = \
+        $(call FixPath, $1)
+  else ifeq ($(OPENJDK_BUILD_OS_ENV), windows.wsl)
+    FixPath = \
+        $(strip $(subst \,\\,$(shell $(WSLPATH) -w $1)))
+    FixLinuxExecutable = \
+        "%windir%\Sysnative\wsl.exe $1"
+  endif
 
   JVM_DEFINES_client := $(patsubst -D%,%, $(filter -D%, $(JVM_CFLAGS)))
   EXTRACTED_DEFINES_client := $(addprefix -define , $(JVM_DEFINES_client))
@@ -121,7 +130,7 @@
       -platformName x64 \
       -buildBase $(call FixPath, $(IDE_OUTPUTDIR)/vs-output) \
       -buildSpace $(call FixPath, $(IDE_OUTPUTDIR)) \
-      -makeBinary $(call FixPath, $(MAKE)) \
+      -makeBinary $(call FixLinuxExecutable, $(MAKE)) \
       -makeOutput $(call FixPath, $(JDK_OUTPUTDIR)/bin/server) \
       -absoluteInclude $(call FixPath, $(HOTSPOT_OUTPUTDIR)/variant-server/gensrc) \
       -absoluteSrcInclude $(call FixPath, $(HOTSPOT_OUTPUTDIR)/variant-server/gensrc) \