[Gd-chatter] r10819 - in trunk/documentation/topic: concept reference
housel at gwydiondylan.org
housel at gwydiondylan.org
Sun Jul 9 18:48:37 CEST 2006
Author: housel
Date: Sun Jul 9 18:48:35 2006
New Revision: 10819
Added:
trunk/documentation/topic/concept/jam.xml (contents, props changed)
trunk/documentation/topic/reference/jam-invoked-rules.xml (contents, props changed)
Log:
Bug: 7249 7003
Convert parts of the Jam-based build-system documentation to DITA topics.
Added: trunk/documentation/topic/concept/jam.xml
==============================================================================
--- (empty file)
+++ trunk/documentation/topic/concept/jam.xml Sun Jul 9 18:48:35 2006
@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd" []>
+<concept id="concept-1">
+ <title>Jam</title>
+ <conbody>
+ <p><xref href="http://www.perforce.com/jam/jam.html">Jam</xref> is
+ a build tool designed by Christopher Seiwald, founder of <xref
+ href="http://www.perforce.com/">Perforce Software</xref>. It is
+ similar in some ways to <cmdname>make</cmdname>, the traditional
+ Unix build tool. However, instead of using only simple declarative
+ rules to define build targets and the dependencies between them,
+ Jam contains a full scripting language, allowing build script
+ authors to define high-level build instructions that match
+ particular applications. The Jam program also includes Jambase, a
+ library of rules (functions) for building executables and
+ libraries from C, C++, and Fortran sources.</p>
+
+ <p>The original Jam tool is a standalone program written in C and
+ YACC. Peter Housel re-implemented the Jam language interpreter and
+ build logic as a reusable Dylan library for use in the Open Dylan
+ <codeph>build-system</codeph>.</p>
+ </conbody>
+</concept>
Added: trunk/documentation/topic/reference/jam-invoked-rules.xml
==============================================================================
--- (empty file)
+++ trunk/documentation/topic/reference/jam-invoked-rules.xml Sun Jul 9 18:48:35 2006
@@ -0,0 +1,240 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd" []>
+<reference id="reference-jam-invoked-rules">
+ <title>Automatically-invoked Jam Rules</title>
+
+ <refbody>
+ <section>
+ <p>When the build system reads a
+ <filepath>dylanmakefile.mkf</filepath> file, it invokes several
+ of the Jam rules (functions) defined in the user's build
+ script. These rules in turn register the necessary targets and
+ their dependencies with the Jam build mechanism.</p>
+
+ <p>All of the rules described below take
+ <parmname>image</parmname> as their first parameter; this is a
+ list whose first element is the library name (from the Library:
+ keyword of the <filepath>.mkf</filepath> file) and whose
+ optional second component is the base name of the executable or
+ shared library (from the <codeph>Executable</codeph>: keyword of
+ the .<filepath>mkf</filepath> file).</p>
+ </section>
+ </refbody>
+
+ <reference id="reference-jam-DylanLibrary">
+ <title>DylanLibrary</title>
+ <refbody>
+ <refsyn>
+ <synph>
+ <kwd>DylanLibrary</kwd>
+ <parmname>image</parmname>
+ <delim>:</delim>
+ <parmname>version</parmname>
+ <delim>;</delim>
+ </synph>
+ </refsyn>
+
+ <section>
+ <p>Link a Dylan library as a shared library or executable
+ image. This is always the first rule invoked for a given
+ library, and it is usually charged with establishing the
+ library target and setting global and target-specific
+ variables.</p>
+
+ <p>The <parmname>version</parmname> argument normally contains
+ two components, the first obtained from the
+ <codeph>Major-version</codeph>: keyword of the
+ <filepath>.mkf</filepath> file, and the second from the
+ <codeph>Minor-version:</codeph> keyword.</p>
+ </section>
+ </refbody>
+ </reference>
+
+ <reference id="reference-jam-DylanExecutable">
+ <title>DylanLibraryLinkerOptions</title>
+ <refbody>
+ <refsyn>
+ <synph><kwd>DylanLibraryLinkerOptions</kwd> <parmname>image</parmname> : <parmname>options</parmname> <delim>;</delim></synph>
+ </refsyn>
+
+ <section>
+ <p>Add the given options to the link command line of the
+ shared library and executable images. The link options
+ provided in the <codeph>Linker-options:</codeph> keyword of
+ the <filepath>.mkf</filepath> file are expanded using the
+ usual Jam variable expansion rules before being passed to this
+ rule. (This allows <codeph>Linker-options:</codeph> keywords
+ in LID and HDP files to refer to platform-specific variables
+ such as <codeph>$(guilflags)</codeph>).</p>
+ </section>
+ </refbody>
+ </reference>
+
+ <reference id="reference-jam-DylanLibraryBaseAddress">
+ <title>DylanLibraryBaseAddress</title>
+ <refbody>
+ <refsyn>
+ <synph>
+ <kwd>DylanLibraryBaseAddress</kwd>
+ <parmname>image</parmname>
+ <delim>:</delim>
+ <parmname>address</parmname>
+ <delim>;</delim>
+ </synph>
+ </refsyn>
+
+ <section>
+ <p>Set the base address of the shared library. The
+ compiler-computed base addresses are probably only usable on
+ the Win32 platform.</p>
+ </section>
+ </refbody>
+ </reference>
+
+ <reference id="reference-jam-DylanLibraryCLibraries">
+ <title>DylanLibraryCLibraries</title>
+ <refbody>
+ <refsyn>
+ <synph>
+ <kwd>DylanLibraryCLibraries</kwd>
+ <parmname>image</parmname>
+ <delim>:</delim>
+ <parmname>libraries</parmname>
+ <delim>;</delim>
+ </synph>
+ </refsyn>
+ <section>
+ <p>Link C (or other externally-derived) libraries into the
+ shared library or executable. The link options provided in the
+ <codeph>C-libraries: </codeph>keyword of the
+ <filepath>.mkf</filepath> file are expanded using the usual
+ Jam variable expansion rules before being passed to this
+ rule.</p>
+ </section>
+ </refbody>
+ </reference>
+
+ <reference id="reference-jam-DylanLibraryCObjects">
+ <title>DylanLibraryCObjects</title>
+ <refbody>
+ <refsyn>
+ <synph>
+ <kwd>DylanLibraryCObjects</kwd>
+ <parmname>image</parmname>
+ <delim>:</delim>
+ <parmname>objects</parmname>
+ <delim>;</delim>
+ </synph>
+ </refsyn>
+ <section>
+ <p>Link C (or other externally-derived) object files into the
+ shared library or executable.</p>
+ </section>
+ </refbody>
+ </reference>
+
+ <reference id="reference-jam-DylanLibraryCSources">
+ <title>DylanLibraryCSources</title>
+ <refbody>
+ <refsyn>
+ <synph>
+ <kwd>DylanLibraryCSources</kwd>
+ <parmname>image</parmname>
+ <delim>:</delim>
+ <parmname>sources</parmname>
+ <delim>;</delim>
+ </synph>
+ </refsyn>
+ <section>
+ <p>Compile and link C source files into the shared library or
+ executable.</p>
+ </section>
+ </refbody>
+ </reference>
+
+ <reference id="reference-jam-DylanLibraryCHeaders">
+ <title>DylanLibraryCHeaders</title>
+ <refbody>
+ <refsyn>
+ <synph>
+ <kwd>DylanLibraryCHeaders</kwd>
+ <parmname>image</parmname>
+ <delim>:</delim>
+ <parmname>headers</parmname>
+ <delim>;</delim>
+ </synph>
+ </refsyn>
+
+ <section>
+ <p>This rule normally does nothing. The
+ <codeph>C-header-files:</codeph> HDP/LID file keyword is
+ normally used to ensure that files of various sorts (including
+ but not limited to C header files) are copied into the build
+ directory.</p>
+ </section>
+ </refbody>
+ </reference>
+
+ <reference id="reference-jam-DylanLibraryRCFiles">
+ <title>DylanLibraryRCFiles</title>
+ <refbody>
+ <refsyn>
+ <synph>
+ <kwd>DylanLibraryRCFiles</kwd>
+ <parmname>image</parmname>
+ <delim>:</delim>
+ <parmname>rcfiles</parmname>
+ <delim>;</delim>
+ </synph>
+ </refsyn>
+
+ <section>
+ <p>Compile and link the given Win32 resource files into the
+ shared library or executable.</p>
+ </section>
+ </refbody>
+ </reference>
+
+ <reference id="reference-jam-DylanLibraryJamIncludes">
+ <title>DylanLibraryJamIncludes</title>
+ <refbody>
+ <refsyn>
+ <synph>
+ <kwd>DylanLibraryJamIncludes</kwd>
+ <parmname>image</parmname>
+ <delim>:</delim>
+ <parmname>includes</parmname>
+ <delim>;</delim>
+ </synph>
+ </refsyn>
+ <section>Not yet implemented.</section>
+ <section/>
+ </refbody>
+ </reference>
+
+ <reference id="reference-jam-DylanLibraryUses">
+ <title>DylanLibraryUses</title>
+ <refbody>
+ <refsyn>
+ <synph>
+ <kwd>DylanLibraryUses</kwd>
+ <parmname>image</parmname>
+ <delim>:</delim>
+ <parmname>library</parmname>
+ <delim>:</delim>
+ <parmname>dir</parmname>
+ <delim>;</delim>
+ </synph>
+ </refsyn>
+
+ <section>
+ <p>Link other Dylan libraries into the shared library. The
+ <parmname>library</parmname> argument gives the name of the
+ other library, and the <parmname>dir</parmname> argument gives
+ the name of the other library's build directory. If
+ <parmname>dir</parmname> is <tt>system</tt>, then the library
+ is an installed system library.</p>
+ </section>
+ </refbody>
+ </reference>
+</reference>
More information about the chatter
mailing list