Mercurial > hg > graal-jvmci-8
comparison src/share/tools/ProjectCreator/ProjectCreator.java @ 1972:f95d63e2154a
6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
author | stefank |
---|---|
date | Tue, 23 Nov 2010 13:22:55 -0800 |
parents | src/share/tools/MakeDeps/MakeDeps.java@c18cbe5936b8 |
children | 06f017f7daa7 1a9b9cfcef41 |
comparison
equal
deleted
inserted
replaced
1971:e33f46fc48ed | 1972:f95d63e2154a |
---|---|
1 /* | |
2 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. | |
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 * | |
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
20 * or visit www.oracle.com if you need additional information or have any | |
21 * questions. | |
22 * | |
23 */ | |
24 | |
25 public class ProjectCreator { | |
26 | |
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 " + | |
39 "jvm.dll and jvm_g.dll; no trailing slash>"); | |
40 System.err.println(" If any of the above are specified, "+ | |
41 "they must all be."); | |
42 System.err.println(" Additional, optional arguments, which can be " + | |
43 "specified multiple times:"); | |
44 System.err.println(" -absoluteInclude <string containing absolute " + | |
45 "path to include directory>"); | |
46 System.err.println(" -relativeInclude <string containing include " + | |
47 "directory relative to -envVar>"); | |
48 System.err.println(" -define <preprocessor flag to be #defined " + | |
49 "(note: doesn't yet support " + | |
50 "#define (flag) (value))>"); | |
51 System.err.println(" -perFileLine <file> <line>"); | |
52 System.err.println(" -conditionalPerFileLine <file> <line for " + | |
53 "release build> <line for debug build>"); | |
54 System.err.println(" (NOTE: To work around a bug in nmake, where " + | |
55 "you can't have a '#' character in a quoted " + | |
56 "string, all of the lines outputted have \"#\"" + | |
57 "prepended)"); | |
58 System.err.println(" -startAt <subdir of sourceBase>"); | |
59 System.err.println(" -ignoreFile <file which won't be able to be " + | |
60 "found in the sourceBase because it's generated " + | |
61 "later>"); | |
62 System.err.println(" -additionalFile <file not in database but " + | |
63 "which should show up in .dsp file>"); | |
64 System.err.println(" -additionalGeneratedFile <environment variable of " + | |
65 "generated file's location> <relative path to " + | |
66 "directory containing file; no trailing slash> " + | |
67 "<name of file generated later in the build process>"); | |
68 System.err.println(" -prelink <build> <desc> <cmds>:"); | |
69 System.err.println(" Generate a set of prelink commands for the given BUILD"); | |
70 System.err.println(" (\"Debug\" or \"Release\"). The prelink description and commands"); | |
71 System.err.println(" are both quoted strings."); | |
72 System.err.println(" Default includes: \".\""); | |
73 System.err.println(" Default defines: WIN32, _WINDOWS, \"HOTSPOT_BUILD_USER=$(USERNAME)\""); | |
74 } | |
75 | |
76 public static void main(String[] args) { | |
77 try { | |
78 if (args.length < 3) { | |
79 usage(); | |
80 System.exit(1); | |
81 } | |
82 | |
83 String platformName = args[0]; | |
84 Class platformClass = Class.forName(platformName); | |
85 WinGammaPlatform platform = (WinGammaPlatform) platformClass.newInstance(); | |
86 | |
87 String[] platformArgs = new String[args.length - 1]; | |
88 System.arraycopy(args, 1, platformArgs, 0, platformArgs.length); | |
89 | |
90 // Allow the platform to write platform-specific files | |
91 platform.createVcproj(platformArgs); | |
92 } | |
93 catch (Exception e) { | |
94 e.printStackTrace(); | |
95 System.exit(1); | |
96 } | |
97 } | |
98 } |