--- old/src/share/tools/MakeDeps/MakeDeps.java 2010-11-10 13:22:19.000000000 +0100 +++ /dev/null 2010-11-10 09:01:45.529476373 +0100 @@ -1,236 +0,0 @@ -/* - * Copyright (c) 1999, 2001, 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. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - * - */ - -// This program reads an include file database. -// The database should cover each self .c and .h file, -// but not files in /usr/include -// The database consists of pairs of nonblank words, where the first word is -// the filename that needs to include the file named by the second word. -// For each .c file, this program generates a fooIncludes.h file that -// the .c file may include to include all the needed files in the right order. -// It also generates a foo.dep file to include in the makefile. -// Finally it detects cycles, and can work with two files, an old and a new one. -// To incrementally write out only needed files after a small change. -// -// Based on a suggestion by Roland Conybeare, algorithm suggested by Craig -// Chambers, written by David Ungar, 3/1/89. -// Added PREFIX, {DEP/INC}_DIR, smaller dep output 10/92 -Urs - -// Add something for precompiled headers - -// To handle different platforms, I am introducing a platform file. -// The platform file contains lines like: -// os = svr4 -// -// Then, when processing the includeDB file, a token such as -// gets replaced by svr4. -- dmu 3/25/97 - -// Modified to centralize Dependencies to speed up make -- dmu 5/97 - -public class MakeDeps { - - public static void usage() { - System.out.println("usage:"); - System.out.println("\tmakeDeps platform-name platform-file database-file [MakeDeps args] [platform args]"); - System.out.println("\tmakeDeps diffs platform-name old-platform-file old-database-file new-platform-file new-database-file [MakeDeps args] [platform args]"); - System.out.println("where platform-name is the name of a platform MakeDeps supports"); - System.out.println("(currently \"WinGammaPlatform\" or \"UnixPlatform\")"); - System.out.println("MakeDeps options:"); - System.out.println(" -firstFile [filename]: Specify the first file in link order (i.e.,"); - System.out.println(" to have a well-known function at the start of the output file)"); - System.out.println(" -lastFile [filename]: Specify the last file in link order (i.e.,"); - System.out.println(" to have a well-known function at the end of the output file)"); - System.err.println("WinGammaPlatform platform-specific options:"); - System.err.println(" -sourceBase "); - System.err.println(" -dspFileName "); - System.err.println(" -envVar "); - System.err.println(" -dllLoc "); - System.err.println(" If any of the above are specified, "+ - "they must all be."); - System.err.println(" Additional, optional arguments, which can be " + - "specified multiple times:"); - System.err.println(" -absoluteInclude "); - System.err.println(" -relativeInclude "); - System.err.println(" -define "); - System.err.println(" -perFileLine "); - System.err.println(" -conditionalPerFileLine "); - System.err.println(" (NOTE: To work around a bug in nmake, where " + - "you can't have a '#' character in a quoted " + - "string, all of the lines outputted have \"#\"" + - "prepended)"); - System.err.println(" -startAt "); - System.err.println(" -ignoreFile "); - System.err.println(" -additionalFile "); - System.err.println(" -additionalGeneratedFile " + - ""); - System.err.println(" -prelink :"); - System.err.println(" Generate a set of prelink commands for the given BUILD"); - System.err.println(" (\"Debug\" or \"Release\"). The prelink description and commands"); - System.err.println(" are both quoted strings."); - System.err.println(" Default includes: \".\""); - System.err.println(" Default defines: WIN32, _WINDOWS, \"HOTSPOT_BUILD_USER=$(USERNAME)\""); - } - - public static void main(String[] args) { - try { - if (args.length < 3) { - usage(); - System.exit(1); - } - - int argc = 0; - boolean diffMode = false; - if (args[argc].equals("diffs")) { - diffMode = true; - ++argc; - } - - String platformName = args[argc++]; - Class platformClass = Class.forName(platformName); - - String plat1 = null; - String db1 = null; - String plat2 = null; - String db2 = null; - - String firstFile = null; - String lastFile = null; - - int numOptionalArgs = - (diffMode ? (args.length - 6) : (args.length - 3)); - if (numOptionalArgs < 0) { - usage(); - System.exit(1); - } - - plat1 = args[argc++]; - db1 = args[argc++]; - - if (diffMode) { - plat2 = args[argc++]; - db2 = args[argc++]; - } - - // argc now points at start of optional arguments, if any - - try { - boolean gotOne = true; - while (gotOne && (argc < args.length - 1)) { - gotOne = false; - String arg = args[argc]; - if (arg.equals("-firstFile")) { - firstFile = args[argc + 1]; - argc += 2; - gotOne = true; - } else if (arg.equals("-lastFile")) { - lastFile = args[argc + 1]; - argc += 2; - gotOne = true; - } - } - } - catch (Exception e) { - e.printStackTrace(); - usage(); - System.exit(1); - } - - Platform platform = (Platform) platformClass.newInstance(); - platform.setupFileTemplates(); - long t = platform.defaultGrandIncludeThreshold(); - - String[] platformArgs = null; - int numPlatformArgs = args.length - argc; - if (numPlatformArgs > 0) { - platformArgs = new String[numPlatformArgs]; - int offset = argc; - while (argc < args.length) { - platformArgs[argc - offset] = args[argc]; - ++argc; - } - } - - // If you want to change the threshold, change the default - // "grand include" threshold in Platform.java, or override - // it in the platform-specific file like UnixPlatform.java - - Database previous = new Database(platform, t); - Database current = new Database(platform, t); - - previous.canBeMissing(); - - if (firstFile != null) { - previous.setFirstFile(firstFile); - current.setFirstFile(firstFile); - } - if (lastFile != null) { - previous.setLastFile(lastFile); - current.setLastFile(lastFile); - } - - if (diffMode) { - System.out.println("Old database:"); - previous.get(plat1, db1); - previous.compute(); - System.out.println("New database:"); - current.get(plat2, db2); - current.compute(); - System.out.println("Deltas:"); - current.putDiffs(previous); - } else { - System.out.println("New database:"); - current.get(plat1, db1); - current.compute(); - current.put(); - } - - if (platformArgs != null) { - // Allow the platform to write platform-specific files - platform.writePlatformSpecificFiles(previous, current, - platformArgs); - } - } - catch (Exception e) { - e.printStackTrace(); - System.exit(1); - } - } -} --- /dev/null 2010-11-10 09:01:45.529476373 +0100 +++ new/src/share/tools/ProjectCreator/ProjectCreator.java 2010-11-10 13:22:18.000000000 +0100 @@ -0,0 +1,98 @@ +/* + * Copyright (c) 1999, 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. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ + +public class ProjectCreator { + + public static void usage() { + System.out.println("ProjectCreator options:"); + System.err.println("WinGammaPlatform platform-specific options:"); + System.err.println(" -sourceBase "); + System.err.println(" -dspFileName "); + System.err.println(" -envVar "); + System.err.println(" -dllLoc "); + System.err.println(" If any of the above are specified, "+ + "they must all be."); + System.err.println(" Additional, optional arguments, which can be " + + "specified multiple times:"); + System.err.println(" -absoluteInclude "); + System.err.println(" -relativeInclude "); + System.err.println(" -define "); + System.err.println(" -perFileLine "); + System.err.println(" -conditionalPerFileLine "); + System.err.println(" (NOTE: To work around a bug in nmake, where " + + "you can't have a '#' character in a quoted " + + "string, all of the lines outputted have \"#\"" + + "prepended)"); + System.err.println(" -startAt "); + System.err.println(" -ignoreFile "); + System.err.println(" -additionalFile "); + System.err.println(" -additionalGeneratedFile " + + ""); + System.err.println(" -prelink :"); + System.err.println(" Generate a set of prelink commands for the given BUILD"); + System.err.println(" (\"Debug\" or \"Release\"). The prelink description and commands"); + System.err.println(" are both quoted strings."); + System.err.println(" Default includes: \".\""); + System.err.println(" Default defines: WIN32, _WINDOWS, \"HOTSPOT_BUILD_USER=$(USERNAME)\""); + } + + public static void main(String[] args) { + try { + if (args.length < 3) { + usage(); + System.exit(1); + } + + String platformName = args[0]; + Class platformClass = Class.forName(platformName); + WinGammaPlatform platform = (WinGammaPlatform) platformClass.newInstance(); + + String[] platformArgs = new String[args.length - 1]; + System.arraycopy(args, 1, platformArgs, 0, platformArgs.length); + + // Allow the platform to write platform-specific files + platform.createVcproj(platformArgs); + } + catch (Exception e) { + e.printStackTrace(); + System.exit(1); + } + } +}