src/share/tools/ProjectCreator/WinGammaPlatformVC7.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2010, 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.
@@ -158,10 +158,29 @@
return false;
}
}
+ class SpecificPathFilter extends NameFilter {
+ String pats[];
+
+ SpecificPathFilter(String fname, String[] pats) {
+ this.fname = fname;
+ this.pats = pats;
+ }
+
+ boolean match(FileInfo fi) {
+ for (int i=0; i<pats.length; i++) {
+ if (fi.full.matches(pats[i])) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ }
+
class ContainerFilter extends NameFilter {
Vector children;
ContainerFilter(String fname) {
this.fname = fname;
@@ -230,15 +249,11 @@
gc.add(gc_impl);
rv.add(gc);
rv.add(new DirectoryFilter("C1", "share/vm/c1", sbase));
- ContainerFilter c2 = new ContainerFilter("C2");
- //c2.add(new DirectoryFilter("share/vm/adlc", sbase));
- c2.add(new DirectoryFilter("share/vm/opto", sbase));
- c2.add(new SpecificNameFilter("Generated", new String[] {"^ad_.+", "^dfa_.+", "^adGlobals.+"}));
- rv.add(c2);
+ rv.add(new DirectoryFilter("C2", "share/vm/opto", sbase));
ContainerFilter comp = new ContainerFilter("Compiler Common");
comp.add(new DirectoryFilter("share/vm/asm", sbase));
comp.add(new DirectoryFilter("share/vm/ci", sbase));
comp.add(new DirectoryFilter("share/vm/code", sbase));
@@ -248,27 +263,48 @@
rv.add(new DirectoryFilter("Interpreter",
"share/vm/interpreter",
sbase));
ContainerFilter misc = new ContainerFilter("Misc");
- //misc.add(new DirectoryFilter("share/vm/launch", sbase));
misc.add(new DirectoryFilter("share/vm/libadt", sbase));
misc.add(new DirectoryFilter("share/vm/services", sbase));
misc.add(new DirectoryFilter("share/vm/utilities", sbase));
+ misc.add(new DirectoryFilter("share/vm/classfile", sbase));
rv.add(misc);
rv.add(new DirectoryFilter("os_cpu", sbase));
rv.add(new DirectoryFilter("cpu", sbase));
rv.add(new DirectoryFilter("os", sbase));
- rv.add(new SpecificNameFilter("JVMTI Generated", new String[] {"^jvmti.+"}));
-
- rv.add(new SpecificNameFilter("C++ Interpreter Generated", new String[] {"^bytecodeInterpreterWithChecks.+"}));
+ ContainerFilter generated = new ContainerFilter("Generated");
+ ContainerFilter c1Generated = new ContainerFilter("C1");
+ c1Generated.add(new SpecificPathFilter("C++ Interpreter Generated", new String[] {".*compiler1/generated/jvmtifiles/bytecodeInterpreterWithChecks.+"}));
+ c1Generated.add(new SpecificPathFilter("jvmtifiles", new String[] {".*compiler1/generated/jvmtifiles/.*"}));
+ generated.add(c1Generated);
+ ContainerFilter c2Generated = new ContainerFilter("C2");
+ c2Generated.add(new SpecificPathFilter("C++ Interpreter Generated", new String[] {".*compiler2/generated/jvmtifiles/bytecodeInterpreterWithChecks.+"}));
+ c2Generated.add(new SpecificPathFilter("adfiles", new String[] {".*compiler2/generated/adfiles/.*"}));
+ c2Generated.add(new SpecificPathFilter("jvmtifiles", new String[] {".*compiler2/generated/jvmtifiles/.*"}));
+ generated.add(c2Generated);
+ ContainerFilter coreGenerated = new ContainerFilter("Core");
+ coreGenerated.add(new SpecificPathFilter("C++ Interpreter Generated", new String[] {".*core/generated/jvmtifiles/bytecodeInterpreterWithChecks.+"}));
+ coreGenerated.add(new SpecificPathFilter("jvmtifiles", new String[] {".*core/generated/jvmtifiles/.*"}));
+ generated.add(coreGenerated);
+ ContainerFilter tieredGenerated = new ContainerFilter("Tiered");
+ tieredGenerated.add(new SpecificPathFilter("C++ Interpreter Generated", new String[] {".*tiered/generated/jvmtifiles/bytecodeInterpreterWithChecks.+"}));
+ tieredGenerated.add(new SpecificPathFilter("adfiles", new String[] {".*tiered/generated/adfiles/.*"}));
+ tieredGenerated.add(new SpecificPathFilter("jvmtifiles", new String[] {".*tiered/generated/jvmtifiles/.*"}));
+ generated.add(tieredGenerated);
+ ContainerFilter kernelGenerated = new ContainerFilter("Kernel");
+ kernelGenerated.add(new SpecificPathFilter("C++ Interpreter Generated", new String[] {".*kernel/generated/jvmtifiles/bytecodeInterpreterWithChecks.+"}));
+ kernelGenerated.add(new SpecificPathFilter("jvmtifiles", new String[] {".*kernel/generated/jvmtifiles/.*"}));
+ generated.add(kernelGenerated);
+ rv.add(generated);
- rv.add(new SpecificNameFilter("Include DBs", new String[] {"^includeDB_.+"}));
+ rv.add(new SpecificNameFilter("Precompiled Header", new String[] {"precompiled.hpp"}));
// this one is to catch files not caught by other filters
//rv.add(new TypeFilter("Header Files", new String[] {"h", "hpp", "hxx", "hm", "inl", "fi", "fd"}));
rv.add(new TerminatorFilter("Source Files"));
@@ -487,11 +523,14 @@
if (attrs != null) {
printWriter.println();
for (int i=0; i<attrs.length; i+=2) {
doIndent();
- printWriter.println(" " + attrs[i]+"=\""+attrs[i+1]+"\"");
+ printWriter.print(" " + attrs[i]+"=\""+attrs[i+1]+"\"");
+ if (i < attrs.length - 2) {
+ printWriter.println();
+ }
}
}
if (close) {
indent--;
@@ -552,12 +591,11 @@
// second attribute in the tag - go guess
addAttr(rv, "Name", "VCCLCompilerTool");
addAttr(rv, "AdditionalIncludeDirectories", Util.join(",", includes));
addAttr(rv, "PreprocessorDefinitions",
Util.join(";", defines).replace("\"","""));
- addAttr(rv, "PrecompiledHeaderThrough",
- "incls"+Util.sep+"_precompiled.incl");
+ addAttr(rv, "PrecompiledHeaderThrough", "precompiled.hpp");
addAttr(rv, "PrecompiledHeaderFile", outDir+Util.sep+"vm.pch");
addAttr(rv, "AssemblerListingLocation", outDir);
addAttr(rv, "ObjectFile", outDir+Util.sep);
addAttr(rv, "ProgramDataBaseFileName", outDir+Util.sep+"vm.pdb");
// Set /nologo optin