Thu, 08 Aug 2013 09:21:30 -0700
8016601: Unable to build hsx24 on Windows using project creator and Visual Studio
Summary: ProjectCreator tool is modified to support two new options: '-relativeAltSrcInclude' and '-altRelativeInclude' which prevents IDE linker errors. Also fixed some cmd line build linker warnings. Misc cleanups.
Reviewed-by: rdurbin, coleenp
1.1 --- a/make/windows/create.bat Wed Aug 07 19:02:06 2013 +0400 1.2 +++ b/make/windows/create.bat Thu Aug 08 09:21:30 2013 -0700 1.3 @@ -1,6 +1,6 @@ 1.4 @echo off 1.5 REM 1.6 -REM Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. 1.7 +REM Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 1.8 REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.9 REM 1.10 REM This code is free software; you can redistribute it and/or modify it 1.11 @@ -148,7 +148,7 @@ 1.12 1.13 REM This is now safe to do. 1.14 :copyfiles 1.15 -for /D %%i in (compiler1, compiler2, tiered, core) do ( 1.16 +for /D %%i in (compiler1, compiler2, tiered ) do ( 1.17 if NOT EXIST %HotSpotBuildSpace%\%%i\generated mkdir %HotSpotBuildSpace%\%%i\generated 1.18 copy %HotSpotWorkSpace%\make\windows\projectfiles\%%i\* %HotSpotBuildSpace%\%%i\generated > NUL 1.19 ) 1.20 @@ -156,7 +156,7 @@ 1.21 REM force regneration of ProjectFile 1.22 if exist %ProjectFile% del %ProjectFile% 1.23 1.24 -for /D %%i in (compiler1, compiler2, tiered, core) do ( 1.25 +for /D %%i in (compiler1, compiler2, tiered ) do ( 1.26 echo -- %%i -- 1.27 echo # Generated file! > %HotSpotBuildSpace%\%%i\local.make 1.28 echo # Changing a variable below and then deleting %ProjectFile% will cause >> %HotSpotBuildSpace%\%%i\local.make
2.1 --- a/make/windows/create_obj_files.sh Wed Aug 07 19:02:06 2013 +0400 2.2 +++ b/make/windows/create_obj_files.sh Thu Aug 08 09:21:30 2013 -0700 2.3 @@ -73,19 +73,17 @@ 2.4 2.5 BASE_PATHS="${BASE_PATHS} ${GENERATED}/jvmtifiles ${GENERATED}/tracefiles" 2.6 2.7 -if [ -d "${ALTSRC}/share/vm/jfr" ]; then 2.8 - BASE_PATHS="${BASE_PATHS} ${ALTSRC}/share/vm/jfr" 2.9 +if [ -d "${ALTSRC}/share/vm/jfr/buffers" ]; then 2.10 BASE_PATHS="${BASE_PATHS} ${ALTSRC}/share/vm/jfr/buffers" 2.11 fi 2.12 2.13 BASE_PATHS="${BASE_PATHS} ${COMMONSRC}/share/vm/prims/wbtestmethods" 2.14 2.15 -CORE_PATHS="${BASE_PATHS}" 2.16 # shared is already in BASE_PATHS. Should add vm/memory but that one is also in BASE_PATHS. 2.17 if [ -d "${ALTSRC}/share/vm/gc_implementation" ]; then 2.18 - CORE_PATHS="${CORE_PATHS} `$FIND ${ALTSRC}/share/vm/gc_implementation ! -name gc_implementation -prune -type d \! -name shared`" 2.19 + BASE_PATHS="${BASE_PATHS} `$FIND ${ALTSRC}/share/vm/gc_implementation ! -name gc_implementation -prune -type d \! -name shared`" 2.20 fi 2.21 -CORE_PATHS="${CORE_PATHS} `$FIND ${COMMONSRC}/share/vm/gc_implementation ! -name gc_implementation -prune -type d \! -name shared`" 2.22 +BASE_PATHS="${BASE_PATHS} `$FIND ${COMMONSRC}/share/vm/gc_implementation ! -name gc_implementation -prune -type d \! -name shared`" 2.23 2.24 if [ -d "${ALTSRC}/share/vm/c1" ]; then 2.25 COMPILER1_PATHS="${ALTSRC}/share/vm/c1" 2.26 @@ -104,12 +102,11 @@ 2.27 2.28 # Include dirs per type. 2.29 case "${TYPE}" in 2.30 - "core") Src_Dirs="${CORE_PATHS}" ;; 2.31 - "compiler1") Src_Dirs="${CORE_PATHS} ${COMPILER1_PATHS}" ;; 2.32 - "compiler2") Src_Dirs="${CORE_PATHS} ${COMPILER2_PATHS}" ;; 2.33 - "tiered") Src_Dirs="${CORE_PATHS} ${COMPILER1_PATHS} ${COMPILER2_PATHS}" ;; 2.34 - "zero") Src_Dirs="${CORE_PATHS}" ;; 2.35 - "shark") Src_Dirs="${CORE_PATHS}" ;; 2.36 + "compiler1") Src_Dirs="${BASE_PATHS} ${COMPILER1_PATHS}" ;; 2.37 + "compiler2") Src_Dirs="${BASE_PATHS} ${COMPILER2_PATHS}" ;; 2.38 + "tiered") Src_Dirs="${BASE_PATHS} ${COMPILER1_PATHS} ${COMPILER2_PATHS}" ;; 2.39 + "zero") Src_Dirs="${BASE_PATHS}" ;; 2.40 + "shark") Src_Dirs="${BASE_PATHS}" ;; 2.41 esac 2.42 2.43 COMPILER2_SPECIFIC_FILES="opto libadt bcEscapeAnalyzer.cpp c2_* runtime_*" 2.44 @@ -122,7 +119,6 @@ 2.45 2.46 # Exclude per type. 2.47 case "${TYPE}" in 2.48 - "core") Src_Files_EXCLUDE="${Src_Files_EXCLUDE} ${COMPILER1_SPECIFIC_FILES} ${COMPILER2_SPECIFIC_FILES} ${ZERO_SPECIFIC_FILES} ${SHARK_SPECIFIC_FILES} ciTypeFlow.cpp" ;; 2.49 "compiler1") Src_Files_EXCLUDE="${Src_Files_EXCLUDE} ${COMPILER2_SPECIFIC_FILES} ${ZERO_SPECIFIC_FILES} ${SHARK_SPECIFIC_FILES} ciTypeFlow.cpp" ;; 2.50 "compiler2") Src_Files_EXCLUDE="${Src_Files_EXCLUDE} ${COMPILER1_SPECIFIC_FILES} ${ZERO_SPECIFIC_FILES} ${SHARK_SPECIFIC_FILES}" ;; 2.51 "tiered") Src_Files_EXCLUDE="${Src_Files_EXCLUDE} ${ZERO_SPECIFIC_FILES} ${SHARK_SPECIFIC_FILES}" ;; 2.52 @@ -149,9 +145,17 @@ 2.53 Src_Files="${Src_Files}`findsrc ${e}` " 2.54 done 2.55 2.56 -Obj_Files= 2.57 +Obj_Files=" " 2.58 for e in ${Src_Files}; do 2.59 - Obj_Files="${Obj_Files}${e%\.[!.]*}.obj " 2.60 + o="${e%\.[!.]*}.obj" 2.61 + set +e 2.62 + chk=`expr "${Obj_Files}" : ".* $o"` 2.63 + set -e 2.64 + if [ "$chk" != 0 ]; then 2.65 + echo "# INFO: skipping duplicate $o" 2.66 + continue 2.67 + fi 2.68 + Obj_Files="${Obj_Files}$o " 2.69 done 2.70 2.71 echo Obj_Files=${Obj_Files}
3.1 --- a/make/windows/makefiles/projectcreator.make Wed Aug 07 19:02:06 2013 +0400 3.2 +++ b/make/windows/makefiles/projectcreator.make Thu Aug 08 09:21:30 2013 -0700 3.3 @@ -44,10 +44,11 @@ 3.4 3.5 # This is only used internally 3.6 ProjectCreatorIncludesPRIVATE=\ 3.7 - -relativeInclude src\closed\share\vm \ 3.8 - -relativeInclude src\closed\os\windows\vm \ 3.9 - -relativeInclude src\closed\os_cpu\windows_$(Platform_arch)\vm \ 3.10 - -relativeInclude src\closed\cpu\$(Platform_arch)\vm \ 3.11 + -relativeAltSrcInclude src\closed \ 3.12 + -altRelativeInclude share\vm \ 3.13 + -altRelativeInclude os\windows\vm \ 3.14 + -altRelativeInclude os_cpu\windows_$(Platform_arch)\vm \ 3.15 + -altRelativeInclude cpu\$(Platform_arch)\vm \ 3.16 -relativeInclude src\share\vm \ 3.17 -relativeInclude src\share\vm\precompiled \ 3.18 -relativeInclude src\share\vm\prims\wbtestmethods \ 3.19 @@ -91,7 +92,7 @@ 3.20 -disablePch getThread_windows_$(Platform_arch).cpp \ 3.21 -disablePch_compiler2 opcodes.cpp 3.22 3.23 -# Common options for the IDE builds for core, c1, and c2 3.24 +# Common options for the IDE builds for c1, and c2 3.25 ProjectCreatorIDEOptions=\ 3.26 $(ProjectCreatorIDEOptions) \ 3.27 -sourceBase $(HOTSPOTWORKSPACE) \ 3.28 @@ -158,18 +159,10 @@ 3.29 -ignoreFile_TARGET $(Platform_arch_model).ad 3.30 3.31 ################################################## 3.32 -# Without compiler(core) specific options 3.33 -################################################## 3.34 -ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ 3.35 -$(ProjectCreatorIDEOptionsIgnoreCompiler1:TARGET=core) \ 3.36 -$(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=core) 3.37 - 3.38 -################################################## 3.39 # Client(C1) compiler specific options 3.40 ################################################## 3.41 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ 3.42 -define_compiler1 COMPILER1 \ 3.43 - -ignorePath_compiler1 core \ 3.44 $(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=compiler1) 3.45 3.46 ################################################## 3.47 @@ -178,7 +171,6 @@ 3.48 #NOTE! This list must be kept in sync with GENERATED_NAMES in adlc.make. 3.49 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ 3.50 -define_compiler2 COMPILER2 \ 3.51 - -ignorePath_compiler2 core \ 3.52 -additionalFile_compiler2 $(Platform_arch_model).ad \ 3.53 -additionalFile_compiler2 ad_$(Platform_arch_model).cpp \ 3.54 -additionalFile_compiler2 ad_$(Platform_arch_model).hpp \
4.1 --- a/make/windows/makefiles/trace.make Wed Aug 07 19:02:06 2013 +0400 4.2 +++ b/make/windows/makefiles/trace.make Thu Aug 08 09:21:30 2013 -0700 4.3 @@ -90,25 +90,25 @@ 4.4 !if "$(OPENJDK)" == "true" 4.5 4.6 $(TraceOutDir)/traceEventClasses.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceEventClasses.xsl $(XML_DEPS) 4.7 - @echo Generating $@ 4.8 + @echo Generating OpenJDK $@ 4.9 @$(XSLT) -IN $(TraceSrcDir)/trace.xml -XSL $(TraceSrcDir)/traceEventClasses.xsl -OUT $(TraceOutDir)/traceEventClasses.hpp 4.10 4.11 !else 4.12 4.13 $(TraceOutDir)/traceEventClasses.hpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceEventClasses.xsl $(XML_DEPS) 4.14 - @echo Generating $@ 4.15 + @echo Generating AltSrc $@ 4.16 @$(XSLT) -IN $(TraceSrcDir)/trace.xml -XSL $(TraceAltSrcDir)/traceEventClasses.xsl -OUT $(TraceOutDir)/traceEventClasses.hpp 4.17 4.18 $(TraceOutDir)/traceProducer.cpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceProducer.xsl $(XML_DEPS) 4.19 - @echo Generating $@ 4.20 + @echo Generating AltSrc $@ 4.21 @$(XSLT) -IN $(TraceSrcDir)/trace.xml -XSL $(TraceAltSrcDir)/traceProducer.xsl -OUT $(TraceOutDir)/traceProducer.cpp 4.22 4.23 $(TraceOutDir)/traceRequestables.hpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceRequestables.xsl $(XML_DEPS) 4.24 - @echo Generating $@ 4.25 + @echo Generating AltSrc $@ 4.26 @$(XSLT) -IN $(TraceSrcDir)/trace.xml -XSL $(TraceAltSrcDir)/traceRequestables.xsl -OUT $(TraceOutDir)/traceRequestables.hpp 4.27 4.28 $(TraceOutDir)/traceEventControl.hpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceEventControl.xsl $(XML_DEPS) 4.29 - @echo Generating $@ 4.30 + @echo Generating AltSrc $@ 4.31 @$(XSLT) -IN $(TraceSrcDir)/trace.xml -XSL $(TraceAltSrcDir)/traceEventControl.xsl -OUT $(TraceOutDir)/traceEventControl.hpp 4.32 4.33 !endif
5.1 --- a/make/windows/makefiles/vm.make Wed Aug 07 19:02:06 2013 +0400 5.2 +++ b/make/windows/makefiles/vm.make Thu Aug 08 09:21:30 2013 -0700 5.3 @@ -36,10 +36,6 @@ 5.4 CXX_FLAGS=$(CXX_FLAGS) /D "ASSERT" 5.5 !endif 5.6 5.7 -!if "$(Variant)" == "core" 5.8 -# No need to define anything, CORE is defined as !COMPILER1 && !COMPILER2 5.9 -!endif 5.10 - 5.11 !if "$(Variant)" == "compiler1" 5.12 CXX_FLAGS=$(CXX_FLAGS) /D "COMPILER1" 5.13 !endif
6.1 --- a/src/share/tools/ProjectCreator/BuildConfig.java Wed Aug 07 19:02:06 2013 +0400 6.2 +++ b/src/share/tools/ProjectCreator/BuildConfig.java Thu Aug 08 09:21:30 2013 -0700 6.3 @@ -142,6 +142,69 @@ 6.4 return rv; 6.5 } 6.6 6.7 + // Returns true if the specified path refers to a relative alternate 6.8 + // source file. RelativeAltSrcInclude is usually "src\closed". 6.9 + public static boolean matchesRelativeAltSrcInclude(String path) { 6.10 + String relativeAltSrcInclude = 6.11 + getFieldString(null, "RelativeAltSrcInclude"); 6.12 + Vector<String> v = getFieldVector(null, "AltRelativeInclude"); 6.13 + for (String pathPart : v) { 6.14 + if (path.contains(relativeAltSrcInclude + Util.sep + pathPart)) { 6.15 + return true; 6.16 + } 6.17 + } 6.18 + return false; 6.19 + } 6.20 + 6.21 + // Returns the relative alternate source file for the specified path. 6.22 + // Null is returned if the specified path does not have a matching 6.23 + // alternate source file. 6.24 + public static String getMatchingRelativeAltSrcFile(String path) { 6.25 + Vector<String> v = getFieldVector(null, "RelativeAltSrcFileList"); 6.26 + if (v == null) { 6.27 + return null; 6.28 + } 6.29 + for (String pathPart : v) { 6.30 + if (path.endsWith(pathPart)) { 6.31 + String relativeAltSrcInclude = 6.32 + getFieldString(null, "RelativeAltSrcInclude"); 6.33 + return relativeAltSrcInclude + Util.sep + pathPart; 6.34 + } 6.35 + } 6.36 + return null; 6.37 + } 6.38 + 6.39 + // Returns true if the specified path has a matching alternate 6.40 + // source file. 6.41 + public static boolean matchesRelativeAltSrcFile(String path) { 6.42 + return getMatchingRelativeAltSrcFile(path) != null; 6.43 + } 6.44 + 6.45 + // Track the specified alternate source file. The source file is 6.46 + // tracked without the leading .*<sep><RelativeAltSrcFileList><sep> 6.47 + // part to make matching regular source files easier. 6.48 + public static void trackRelativeAltSrcFile(String path) { 6.49 + String pattern = getFieldString(null, "RelativeAltSrcInclude") + 6.50 + Util.sep; 6.51 + int altSrcInd = path.indexOf(pattern); 6.52 + if (altSrcInd == -1) { 6.53 + // not an AltSrc path 6.54 + return; 6.55 + } 6.56 + 6.57 + altSrcInd += pattern.length(); 6.58 + if (altSrcInd >= path.length()) { 6.59 + // not a valid AltSrc path 6.60 + return; 6.61 + } 6.62 + 6.63 + String altSrcFile = path.substring(altSrcInd); 6.64 + Vector v = getFieldVector(null, "RelativeAltSrcFileList"); 6.65 + if (v == null || !v.contains(altSrcFile)) { 6.66 + addFieldVector(null, "RelativeAltSrcFileList", altSrcFile); 6.67 + } 6.68 + } 6.69 + 6.70 void addTo(Hashtable ht, String key, String value) { 6.71 ht.put(expandFormat(key), expandFormat(value)); 6.72 } 6.73 @@ -272,8 +335,19 @@ 6.74 6.75 private Vector getSourceIncludes() { 6.76 Vector<String> rv = new Vector<String>(); 6.77 + String sourceBase = getFieldString(null, "SourceBase"); 6.78 + 6.79 + // add relative alternate source include values: 6.80 + String relativeAltSrcInclude = 6.81 + getFieldString(null, "RelativeAltSrcInclude"); 6.82 + Vector<String> asri = new Vector<String>(); 6.83 + collectRelevantVectors(asri, "AltRelativeInclude"); 6.84 + for (String f : asri) { 6.85 + rv.add(sourceBase + Util.sep + relativeAltSrcInclude + 6.86 + Util.sep + f); 6.87 + } 6.88 + 6.89 Vector<String> ri = new Vector<String>(); 6.90 - String sourceBase = getFieldString(null, "SourceBase"); 6.91 collectRelevantVectors(ri, "RelativeInclude"); 6.92 for (String f : ri) { 6.93 rv.add(sourceBase + Util.sep + f); 6.94 @@ -541,35 +615,6 @@ 6.95 } 6.96 } 6.97 6.98 -class CoreDebugConfig extends GenericDebugNonKernelConfig { 6.99 - String getOptFlag() { 6.100 - return getCI().getNoOptFlag(); 6.101 - } 6.102 - 6.103 - CoreDebugConfig() { 6.104 - initNames("core", "debug", "jvm.dll"); 6.105 - init(getIncludes(), getDefines()); 6.106 - } 6.107 -} 6.108 - 6.109 -class CoreFastDebugConfig extends GenericDebugNonKernelConfig { 6.110 - String getOptFlag() { 6.111 - return getCI().getOptFlag(); 6.112 - } 6.113 - 6.114 - CoreFastDebugConfig() { 6.115 - initNames("core", "fastdebug", "jvm.dll"); 6.116 - init(getIncludes(), getDefines()); 6.117 - } 6.118 -} 6.119 - 6.120 -class CoreProductConfig extends ProductConfig { 6.121 - CoreProductConfig() { 6.122 - initNames("core", "product", "jvm.dll"); 6.123 - init(getIncludes(), getDefines()); 6.124 - } 6.125 -} 6.126 - 6.127 6.128 abstract class CompilerInterface { 6.129 abstract Vector getBaseCompilerFlags(Vector defines, Vector includes, String outDir);
7.1 --- a/src/share/tools/ProjectCreator/FileTreeCreatorVC10.java Wed Aug 07 19:02:06 2013 +0400 7.2 +++ b/src/share/tools/ProjectCreator/FileTreeCreatorVC10.java Thu Aug 08 09:21:30 2013 -0700 7.3 @@ -1,3 +1,27 @@ 7.4 +/* 7.5 + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 7.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 7.7 + * 7.8 + * This code is free software; you can redistribute it and/or modify it 7.9 + * under the terms of the GNU General Public License version 2 only, as 7.10 + * published by the Free Software Foundation. 7.11 + * 7.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 7.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 7.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 7.15 + * version 2 for more details (a copy is included in the LICENSE file that 7.16 + * accompanied this code). 7.17 + * 7.18 + * You should have received a copy of the GNU General Public License version 7.19 + * 2 along with this work; if not, write to the Free Software Foundation, 7.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 7.21 + * 7.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 7.23 + * or visit www.oracle.com if you need additional information or have any 7.24 + * questions. 7.25 + * 7.26 + */ 7.27 + 7.28 import static java.nio.file.FileVisitResult.CONTINUE; 7.29 7.30 import java.io.IOException; 7.31 @@ -21,6 +45,8 @@ 7.32 boolean usePch = false; 7.33 boolean disablePch = false; 7.34 boolean useIgnore = false; 7.35 + boolean isAltSrc = false; // only needed as a debugging crumb 7.36 + boolean isReplacedByAltSrc = false; 7.37 String fileName = file.getFileName().toString(); 7.38 7.39 // TODO hideFile 7.40 @@ -30,6 +56,26 @@ 7.41 usePch = true; 7.42 } 7.43 7.44 + String fileLoc = vcProjLocation.relativize(file).toString(); 7.45 + 7.46 + // isAltSrc and isReplacedByAltSrc applies to all configs for a file 7.47 + if (BuildConfig.matchesRelativeAltSrcInclude( 7.48 + file.toAbsolutePath().toString())) { 7.49 + // current file is an alternate source file so track it 7.50 + isAltSrc = true; 7.51 + BuildConfig.trackRelativeAltSrcFile( 7.52 + file.toAbsolutePath().toString()); 7.53 + } else if (BuildConfig.matchesRelativeAltSrcFile( 7.54 + file.toAbsolutePath().toString())) { 7.55 + // current file is a regular file that matches an alternate 7.56 + // source file so yack about replacing the regular file 7.57 + isReplacedByAltSrc = true; 7.58 + System.out.println("INFO: alternate source file '" + 7.59 + BuildConfig.getMatchingRelativeAltSrcFile( 7.60 + file.toAbsolutePath().toString()) + 7.61 + "' replaces '" + fileLoc + "'"); 7.62 + } 7.63 + 7.64 for (BuildConfig cfg : allConfigs) { 7.65 if (cfg.lookupHashFieldInContext("IgnoreFile", fileName) != null) { 7.66 useIgnore = true; 7.67 @@ -58,9 +104,8 @@ 7.68 } 7.69 7.70 String tagName = wg.getFileTagFromSuffix(fileName); 7.71 - String fileLoc = vcProjLocation.relativize(file).toString(); 7.72 7.73 - if (!useIgnore && !disablePch && !usePch) { 7.74 + if (!useIgnore && !disablePch && !usePch && !isReplacedByAltSrc) { 7.75 wg.tag(tagName, new String[] { "Include", fileLoc}); 7.76 } else { 7.77 wg.startTag( 7.78 @@ -78,6 +123,11 @@ 7.79 if (disablePch) { 7.80 wg.tag("PrecompiledHeader", "Condition", "'$(Configuration)|$(Platform)'=='" + cfg.get("Name") + "'"); 7.81 } 7.82 + if (isReplacedByAltSrc) { 7.83 + wg.tagData("ExcludedFromBuild", "true", "Condition", 7.84 + "'$(Configuration)|$(Platform)'=='" + 7.85 + cfg.get("Name") + "'"); 7.86 + } 7.87 } 7.88 wg.endTag(); 7.89 } 7.90 @@ -137,6 +187,4 @@ 7.91 public void writeFileTree() throws IOException { 7.92 Files.walkFileTree(this.startDir, this); 7.93 } 7.94 - 7.95 - 7.96 - } 7.97 \ No newline at end of file 7.98 +}
8.1 --- a/src/share/tools/ProjectCreator/ProjectCreator.java Wed Aug 07 19:02:06 2013 +0400 8.2 +++ b/src/share/tools/ProjectCreator/ProjectCreator.java Thu Aug 08 09:21:30 2013 -0700 8.3 @@ -1,5 +1,5 @@ 8.4 /* 8.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 8.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 8.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 8.8 * 8.9 * This code is free software; you can redistribute it and/or modify it 8.10 @@ -39,10 +39,15 @@ 8.11 + "jvm.dll; no trailing slash>"); 8.12 System.err.println(" If any of the above are specified, " 8.13 + "they must all be."); 8.14 + System.err.println(" Note: if '-altRelativeInclude' option below is " 8.15 + + "used, then the '-relativeAltSrcInclude' option must be used " 8.16 + + "to specify the alternate source dir, e.g., 'src\\closed'"); 8.17 System.err.println(" Additional, optional arguments, which can be " 8.18 + "specified multiple times:"); 8.19 System.err.println(" -absoluteInclude <string containing absolute " 8.20 + "path to include directory>"); 8.21 + System.err.println(" -altRelativeInclude <string containing " 8.22 + + "alternate include directory relative to -envVar>"); 8.23 System.err.println(" -relativeInclude <string containing include " 8.24 + "directory relative to -envVar>"); 8.25 System.err.println(" -define <preprocessor flag to be #defined "
9.1 --- a/src/share/tools/ProjectCreator/WinGammaPlatform.java Wed Aug 07 19:02:06 2013 +0400 9.2 +++ b/src/share/tools/ProjectCreator/WinGammaPlatform.java Thu Aug 08 09:21:30 2013 -0700 9.3 @@ -1,5 +1,5 @@ 9.4 /* 9.5 - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 9.6 + * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 9.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 9.8 * 9.9 * This code is free software; you can redistribute it and/or modify it 9.10 @@ -140,10 +140,17 @@ 9.11 "already exist>"); 9.12 System.err.println(" If any of the above are specified, "+ 9.13 "they must all be."); 9.14 + System.err.println(" Note: if '-altRelativeInclude' option below " + 9.15 + "is used, then the '-relativeAltSrcInclude' " + 9.16 + "option must be used to specify the alternate " + 9.17 + "source dir, e.g., 'src\\closed'"); 9.18 System.err.println(" Additional, optional arguments, which can be " + 9.19 "specified multiple times:"); 9.20 System.err.println(" -absoluteInclude <string containing absolute " + 9.21 "path to include directory>"); 9.22 + System.err.println(" -altRelativeInclude <string containing " + 9.23 + "alternate include directory relative to " + 9.24 + "-sourceBase>"); 9.25 System.err.println(" -relativeInclude <string containing include " + 9.26 "directory relative to -sourceBase>"); 9.27 System.err.println(" -define <preprocessor flag to be #defined " + 9.28 @@ -343,6 +350,12 @@ 9.29 HsArgHandler.VECTOR 9.30 ), 9.31 9.32 + new HsArgRule("-altRelativeInclude", 9.33 + "AltRelativeInclude", 9.34 + null, 9.35 + HsArgHandler.VECTOR 9.36 + ), 9.37 + 9.38 new HsArgRule("-relativeInclude", 9.39 "RelativeInclude", 9.40 null, 9.41 @@ -355,6 +368,12 @@ 9.42 HsArgHandler.VECTOR 9.43 ), 9.44 9.45 + new HsArgRule("-relativeAltSrcInclude", 9.46 + "RelativeAltSrcInclude", 9.47 + null, 9.48 + HsArgHandler.STRING 9.49 + ), 9.50 + 9.51 new HsArgRule("-relativeSrcInclude", 9.52 "RelativeSrcInclude", 9.53 null, 9.54 @@ -560,10 +579,6 @@ 9.55 allConfigs.add(new TieredFastDebugConfig()); 9.56 allConfigs.add(new TieredProductConfig()); 9.57 9.58 - allConfigs.add(new CoreDebugConfig()); 9.59 - allConfigs.add(new CoreFastDebugConfig()); 9.60 - allConfigs.add(new CoreProductConfig()); 9.61 - 9.62 return allConfigs; 9.63 } 9.64
10.1 --- a/src/share/tools/ProjectCreator/WinGammaPlatformVC10.java Wed Aug 07 19:02:06 2013 +0400 10.2 +++ b/src/share/tools/ProjectCreator/WinGammaPlatformVC10.java Thu Aug 08 09:21:30 2013 -0700 10.3 @@ -1,3 +1,27 @@ 10.4 +/* 10.5 + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 10.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 10.7 + * 10.8 + * This code is free software; you can redistribute it and/or modify it 10.9 + * under the terms of the GNU General Public License version 2 only, as 10.10 + * published by the Free Software Foundation. 10.11 + * 10.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 10.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 10.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 10.15 + * version 2 for more details (a copy is included in the LICENSE file that 10.16 + * accompanied this code). 10.17 + * 10.18 + * You should have received a copy of the GNU General Public License version 10.19 + * 2 along with this work; if not, write to the Free Software Foundation, 10.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 10.21 + * 10.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 10.23 + * or visit www.oracle.com if you need additional information or have any 10.24 + * questions. 10.25 + * 10.26 + */ 10.27 + 10.28 import java.io.File; 10.29 import java.io.FileNotFoundException; 10.30 import java.io.IOException; 10.31 @@ -24,7 +48,7 @@ 10.32 public void writeProjectFile(String projectFileName, String projectName, 10.33 Vector<BuildConfig> allConfigs) throws IOException { 10.34 System.out.println(); 10.35 - System.out.print(" Writing .vcxproj file: " + projectFileName); 10.36 + System.out.println(" Writing .vcxproj file: " + projectFileName); 10.37 10.38 String projDir = Util.normalize(new File(projectFileName).getParent()); 10.39 10.40 @@ -114,7 +138,7 @@ 10.41 10.42 endTag(); 10.43 printWriter.close(); 10.44 - System.out.println(" Done."); 10.45 + System.out.println(" Done writing .vcxproj file."); 10.46 10.47 writeFilterFile(projectFileName, projectName, allConfigs, projDir); 10.48 writeUserFile(projectFileName, allConfigs);