Mercurial > hg > truffle
annotate src/share/tools/ProjectCreator/ProjectCreator.java @ 14714:b602356a9cfc
additional canonicalizers for accesses and value nodes (improves number of implicit null checks)
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Thu, 20 Mar 2014 17:15:36 +0100 |
parents | 3cce976666d9 |
children |
rev | line source |
---|---|
0 | 1 /* |
12014
31f3b1e1c5e5
8016601: Unable to build hsx24 on Windows using project creator and Visual Studio
dcubed
parents:
7456
diff
changeset
|
2 * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. |
0 | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | |
5 * This code is free software; you can redistribute it and/or modify it | |
6 * under the terms of the GNU General Public License version 2 only, as | |
7 * published by the Free Software Foundation. | |
8 * | |
9 * This code is distributed in the hope that it will be useful, but WITHOUT | |
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
12 * version 2 for more details (a copy is included in the LICENSE file that | |
13 * accompanied this code). | |
14 * | |
15 * You should have received a copy of the GNU General Public License version | |
16 * 2 along with this work; if not, write to the Free Software Foundation, | |
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
18 * | |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
0
diff
changeset
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
0
diff
changeset
|
20 * or visit www.oracle.com if you need additional information or have any |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
0
diff
changeset
|
21 * questions. |
0 | 22 * |
23 */ | |
24 | |
1972 | 25 public class ProjectCreator { |
0 | 26 |
6801 | 27 public static void usage() { |
28 System.out.println("ProjectCreator options:"); | |
29 System.err.println("WinGammaPlatform platform-specific options:"); | |
30 System.err.println(" -sourceBase <path to directory (workspace) " | |
31 + "containing source files; no trailing slash>"); | |
32 System.err.println(" -dspFileName <full pathname to which .dsp file " | |
33 + "will be written; all parent directories must " | |
34 + "already exist>"); | |
35 System.err.println(" -envVar <environment variable to be inserted " | |
36 + "into .dsp file, substituting for path given in " | |
37 + "-sourceBase. Example: HotSpotWorkSpace>"); | |
38 System.err.println(" -dllLoc <path to directory in which to put " | |
7456
7d42f3b08300
8005044: remove crufty '_g' support from HS runtime code
dcubed
parents:
6842
diff
changeset
|
39 + "jvm.dll; no trailing slash>"); |
6801 | 40 System.err.println(" If any of the above are specified, " |
41 + "they must all be."); | |
12014
31f3b1e1c5e5
8016601: Unable to build hsx24 on Windows using project creator and Visual Studio
dcubed
parents:
7456
diff
changeset
|
42 System.err.println(" Note: if '-altRelativeInclude' option below is " |
31f3b1e1c5e5
8016601: Unable to build hsx24 on Windows using project creator and Visual Studio
dcubed
parents:
7456
diff
changeset
|
43 + "used, then the '-relativeAltSrcInclude' option must be used " |
31f3b1e1c5e5
8016601: Unable to build hsx24 on Windows using project creator and Visual Studio
dcubed
parents:
7456
diff
changeset
|
44 + "to specify the alternate source dir, e.g., 'src\\closed'"); |
6801 | 45 System.err.println(" Additional, optional arguments, which can be " |
46 + "specified multiple times:"); | |
47 System.err.println(" -absoluteInclude <string containing absolute " | |
48 + "path to include directory>"); | |
12014
31f3b1e1c5e5
8016601: Unable to build hsx24 on Windows using project creator and Visual Studio
dcubed
parents:
7456
diff
changeset
|
49 System.err.println(" -altRelativeInclude <string containing " |
31f3b1e1c5e5
8016601: Unable to build hsx24 on Windows using project creator and Visual Studio
dcubed
parents:
7456
diff
changeset
|
50 + "alternate include directory relative to -envVar>"); |
6801 | 51 System.err.println(" -relativeInclude <string containing include " |
52 + "directory relative to -envVar>"); | |
53 System.err.println(" -define <preprocessor flag to be #defined " | |
54 + "(note: doesn't yet support " + "#define (flag) (value))>"); | |
55 System.err.println(" -perFileLine <file> <line>"); | |
56 System.err.println(" -conditionalPerFileLine <file> <line for " | |
57 + "release build> <line for debug build>"); | |
58 System.err.println(" (NOTE: To work around a bug in nmake, where " | |
59 + "you can't have a '#' character in a quoted " | |
60 + "string, all of the lines outputted have \"#\"" + "prepended)"); | |
61 System.err.println(" -startAt <subdir of sourceBase>"); | |
62 System.err.println(" -ignoreFile <file which won't be able to be " | |
63 + "found in the sourceBase because it's generated " + "later>"); | |
64 System.err.println(" -additionalFile <file not in database but " | |
65 + "which should show up in .dsp file>"); | |
66 System.err | |
67 .println(" -additionalGeneratedFile <environment variable of " | |
68 + "generated file's location> <relative path to " | |
69 + "directory containing file; no trailing slash> " | |
70 + "<name of file generated later in the build process>"); | |
71 System.err.println(" -prelink <build> <desc> <cmds>:"); | |
72 System.err | |
73 .println(" Generate a set of prelink commands for the given BUILD"); | |
74 System.err | |
75 .println(" (\"Debug\" or \"Release\"). The prelink description and commands"); | |
76 System.err.println(" are both quoted strings."); | |
77 System.err.println(" Default includes: \".\""); | |
78 System.err | |
79 .println(" Default defines: WIN32, _WINDOWS, \"HOTSPOT_BUILD_USER=$(USERNAME)\""); | |
80 } | |
0 | 81 |
6801 | 82 public static void main(String[] args) { |
83 try { | |
84 if (args.length < 3) { | |
85 usage(); | |
86 System.exit(1); | |
87 } | |
0 | 88 |
6801 | 89 String platformName = args[0]; |
90 Class platformClass = Class.forName(platformName); | |
91 WinGammaPlatform platform = (WinGammaPlatform) platformClass | |
92 .newInstance(); | |
0 | 93 |
6801 | 94 String[] platformArgs = new String[args.length - 1]; |
95 System.arraycopy(args, 1, platformArgs, 0, platformArgs.length); | |
0 | 96 |
6801 | 97 // Allow the platform to write platform-specific files |
98 platform.createVcproj(platformArgs); | |
99 } catch (Exception e) { | |
100 e.printStackTrace(); | |
101 System.exit(1); | |
102 } | |
103 } | |
0 | 104 } |