Module: console-environment Synopsis: The command line version of the environment Author: Andy Armstrong Copyright: Original Code is Copyright (c) 1995-2004 Functional Objects, Inc. All rights reserved. License: Functional Objects Library Public License Version 1.0 Dual-license: GNU Lesser General Public License Warranty: Distributed WITHOUT WARRANTY OF ANY KIND /// Main command /// /// This is the version used by external editions. define class () end class ; define command-line main => (summary: "command-line version of Functional Developer", documentation: "Command-line version of Functional Developer.") optional project :: = "the project to be built"; keyword build-script :: = "the (Jam) build script to use"; keyword target :: = "the target"; flag help = "show this help summary"; flag logo = "displays the copyright banner"; flag debugger = "enter the debugger if this program crashes"; flag echo-input = "echoes all input to the console"; flag import = "import the project"; flag build = "build the project"; flag compile = "compile the project"; flag link = "link the project"; flag clean = "force a clean build of the project"; flag release = "build a release for the project"; flag subprojects = "build subprojects as well if necesssary"; flag force = "force relink the executable"; end command-line main; /// Internal main command /// /// This is the version used by the internal edition. define class () end class ; define command-line internal-main => (summary: "command-line version of Functional Developer", documentation: "Command-line version of Functional Developer.") optional project :: = "the project to be built"; keyword build-script :: = "the (Jam) build script to use"; keyword target :: = "the type of executable to generate"; keyword debug-info :: = "control the debug info generated"; flag help = "show this help summary"; flag logo = "displays the copyright banner"; flag debugger = "enter the debugger if this program crashes"; flag echo-input = "echoes all input to the console"; flag import = "import the project"; flag build = "build the project"; flag compile = "compile the project"; flag link = "link the project"; flag clean = "force a clean build of the project"; flag release = "build a release for the project"; flag subprojects = "build subprojects as well if necessary"; flag force = "force relink the executable"; // Internal-only options keyword personal-root :: = "personal area root"; keyword system-root :: = "system area root"; flag unify = "combine the libraries into a single executable"; flag profile-commands = "profile the execution of each command"; // Backwards-compatibility options for pentium-dw users flag not-recursive = "don't build subprojects as well"; flag microsoft = "use the Microsoft linker"; flag gnu = "use the GNU linker"; flag save = "save compiler databases"; flag link-dll = "link as a DLL"; flag link-exe = "link as an EXE"; flag gnu-exports = "link the GNU exports"; keyword messages :: = "control the progress messages generated"; end command-line internal-main;