Index: general/prog/apache-ant.xml
===================================================================
--- general/prog/apache-ant.xml	(revision 784a1a7f65980b077b1f7131658feec41cfbe219)
+++ general/prog/apache-ant.xml	(revision 784a1a7f65980b077b1f7131658feec41cfbe219)
@@ -0,0 +1,289 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+
+  <!ENTITY apache-ant-download-http "http://archive.apache.org/dist/ant/source/apache-ant-&apache-ant-version;-src.tar.bz2">
+  <!ENTITY apache-ant-download-ftp  " ">
+  <!ENTITY apache-ant-md5sum        "c474fa9d0c35a24037c23b6e476862c1">
+  <!ENTITY apache-ant-size          "3.2 MB">
+  <!ENTITY apache-ant-buildsize     "66 MB">
+  <!ENTITY apache-ant-time          "0.4 SBU">
+]>
+
+<sect1 id="apache-ant" xreflabel="apache-ant-&apache-ant-version;">
+  <?dbhtml filename="apache-ant.html"?>
+
+  <sect1info>
+    <othername>$LastChangedBy$</othername>
+    <date>$Date$</date>
+  </sect1info>
+
+  <title>apache-ant-&apache-ant-version;</title>
+
+  <indexterm zone="apache-ant">
+   <primary sortas="a-Apache-Ant">Apache Ant</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title>Introduction to Apache Ant</title>
+
+    <warning><para>Under revison do not use for now.</para></warning>
+
+
+    <para>The <application>Apache Ant</application> package is a
+    <application>Java</application>-based build tool. In theory, it is kind of
+    like <command>make</command>, but without <command>make</command>'s
+    wrinkles. <application>Ant</application> is different. Instead of a model
+    that is extended with shell-based commands, <application>Ant</application>
+    is extended using <application>Java</application> classes. Instead of
+    writing shell commands, the configuration files are XML-based, calling out
+    a target tree that executes various tasks. Each task is run by an object
+    that implements a particular task interface.</para>
+
+    &lfs72_checked;
+
+    <bridgehead renderas="sect3">Package Information</bridgehead>
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>Download (HTTP): <ulink url="&apache-ant-download-http;"/></para>
+      </listitem>
+      <listitem>
+        <para>Download (FTP): <ulink url="&apache-ant-download-ftp;"/></para>
+      </listitem>
+      <listitem>
+        <para>Download MD5 sum: &apache-ant-md5sum;</para>
+      </listitem>
+      <listitem>
+        <para>Download size: &apache-ant-size;</para>
+      </listitem>
+      <listitem>
+        <para>Estimated disk space required: &apache-ant-buildsize;</para>
+      </listitem>
+      <listitem>
+        <para>Estimated build time: &apache-ant-time;</para>
+      </listitem>
+    </itemizedlist>
+
+    <bridgehead renderas="sect3">Apache Ant Dependencies</bridgehead>
+
+    <bridgehead renderas="sect4">Required</bridgehead>
+    <para role="required">
+      <xref linkend="openjdk"/> <!-- or <xref linkend="jdk"/> -->
+    </para>
+
+    <bridgehead renderas="sect4">Recommended</bridgehead>
+    <para role="recommended">
+      <xref linkend="junit"/>
+    </para>
+
+    <para condition="html" role="usernotes">User Notes:
+    <ulink url="&blfs-wiki;/apache-ant"/></para>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of Apache Ant</title>
+
+    <note>
+      <para>You may need additional libraries to satisfy the build
+      requirements of various packages installed using
+      <application>Apache Ant</application>. Review the table at
+      <ulink url="http://ant.apache.org/manual/install.html#librarydependencies"/>
+      for any prerequisite libraries you may need.</para>
+    </note>
+
+    <para>If it is not possible to install the recommended
+    <application>JUnit</application> package, install
+    <application>Apache Ant</application> by removing the reference to the test
+    instructions (note that the tests will not be performed):</para>
+
+<screen><userinput>sed -i 's;jars,test-jar;jars;' build.xml</userinput></screen>
+
+    <para>otherwise copy the <application>junit</application> jar file to the
+    local directory tree.</para>
+
+<screen><userinput>cp -v /usr/share/junit-&junit-version;/junit-&junit-version;.jar lib/optional/junit.jar</userinput></screen>
+
+    <para>Install <application>Apache Ant</application> by running the following
+    commands:</para>
+
+    <para>The unit regression tests are performed during the build step below
+    unless <application>JUnit</application> is not installed. Now, as the
+    <systemitem class="username">root</systemitem> user:</para>
+
+<screen role="root"><userinput>./build.sh -Ddist.dir=/opt/ant-&apache-ant-version; dist &amp;&amp;
+ln -v -sfn ant-&apache-ant-version; /opt/ant</userinput></screen>
+
+  <note><para>Make sure the JAVA_HOME environment variable is set for the
+  <systemitem class="username">root</systemitem> user.</para></note>
+
+  </sect2>
+
+  <sect2 role="commands">
+    <title>Command Explanations</title>
+
+    <para><command>sed -i 's;jars...</command>: If the
+    <application>JUnit</application> package is not installed, the regression
+    tests cannot be performed.</para>
+
+    <para><command>cp -v
+    /usr/share/junit-&junit-version;/&junit-version;.jar ...</command>:
+    This command copies the JUnit jar file into the directory where Apache Ant
+    will look for it.</para>
+
+    <para><command>./build.sh -Ddist.dir=/opt/ant-&apache-ant-version;
+    dist</command>: This command does everything. It builds, tests, then
+    installs the package into
+    <filename class='directory'>/opt/ant-&apache-ant-version;</filename>.</para>
+
+    <para><command>ln -v -sfn ant-&apache-ant-version; /opt/ant</command>: This
+    command is optional, and creates a convenience symlink.</para>
+
+  </sect2>
+
+  <sect2 role="configuration">
+    <title>Configuring Apache Ant</title>
+
+    <sect3 id="apache-ant-config">
+      <title>Config Files</title>
+
+      <para><filename>/etc/ant/ant.conf</filename>,
+      <filename>~/.ant/ant.conf</filename>, and
+      <filename>~/.antrc</filename></para>
+
+      <indexterm zone="apache-ant apache-ant-config">
+        <primary sortas="e-AA.ant-ant.conf">~/.ant/ant.conf</primary>
+      </indexterm>
+
+      <indexterm zone="apache-ant apache-ant-config">
+        <primary sortas="e-AA.antrc">~/.antrc</primary>
+      </indexterm>
+
+      <indexterm zone="apache-ant apache-ant-config">
+        <primary sortas="e-etc-ant-ant.conf">/etc/ant/ant.conf</primary>
+      </indexterm>
+
+    </sect3>
+
+    <sect3>
+      <title>Configuration Information</title>
+
+      <para>Some packages will require <command>ant</command> to be in the
+      search path and the <envar>$ANT_HOME</envar> environment variable
+      defined. Satisfy these requirements by adding the following lines to
+      <filename>/etc/profile</filename> or to individual user's
+      <filename>~/.profile</filename> or <filename>~/.bashrc</filename> files:</para>
+
+<screen><literal>export PATH=$PATH:/opt/ant/bin
+export ANT_HOME=/opt/ant</literal></screen>
+
+    </sect3>
+
+  </sect2>
+
+  <sect2 role="content">
+    <title>Contents</title>
+
+    <segmentedlist>
+      <segtitle>Installed Programs</segtitle>
+      <segtitle>Installed Libraries</segtitle>
+      <segtitle>Installed Directories</segtitle>
+
+      <seglistitem>
+        <seg>ant, antRun, antRun.pl, complete-ant-cmd.pl, runant.pl, and runant.py</seg>
+        <seg>ant*.jar</seg>
+        <seg>/opt/ant-&apache-ant-version;</seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="ant">
+        <term><command>ant</command></term>
+        <listitem>
+          <para>is a <application>Java</application> based build tool used by
+          many packages instead of the conventional <command>make</command>
+          program.</para>
+          <indexterm zone="apache-ant ant">
+            <primary sortas="b-ant">ant</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="antRun">
+        <term><command>antRun</command></term>
+        <listitem>
+          <para>is a support script used to start <command>ant</command>
+          build scripts in a given directory.</para>
+          <indexterm zone="apache-ant antRun">
+            <primary sortas="b-antRun">antRun</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="antRun.pl">
+        <term><command>antRun.pl</command></term>
+        <listitem>
+          <para>is a <application>Perl</application> script that provides
+          similar functionality offered by the <command>antRun</command> script.</para>
+          <indexterm zone="apache-ant antRun.pl">
+            <primary sortas="b-antRun.pl">antRun.pl</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="complete-ant-cmd.pl">
+        <term><command>complete-ant-cmd.pl</command></term>
+        <listitem>
+          <para>is a <application>Perl</application> script that allows
+          <application>Bash</application> to complete an <command>ant</command>
+          command-line.</para>
+          <indexterm zone="apache-ant complete-ant-cmd.pl">
+            <primary sortas="b-complete-ant-cmd.pl">complete-ant-cmd.pl</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="runant.pl">
+        <term><command>runant.pl</command></term>
+        <listitem>
+          <para>is a <application>Perl</application> wrapper script used to
+          invoke <command>ant</command>.</para>
+          <indexterm zone="apache-ant runant.pl">
+            <primary sortas="b-runant.pl">runant.pl</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="runant.py">
+        <term><command>runant.py</command></term>
+        <listitem>
+          <para>is a <application>Python</application> wrapper script used to
+          invoke <command>ant</command>.</para>
+          <indexterm zone="apache-ant runant.py">
+            <primary sortas="b-runant.py">runant.py</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="ant-star">
+        <term><filename class='libraryfile'>ant*.jar</filename></term>
+        <listitem>
+          <para>files are the <application>Apache Ant</application>
+          <application>Java</application> class libraries.</para>
+          <indexterm zone="apache-ant ant-star">
+            <primary sortas="c-ant-star">ant-*.jar</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </sect2>
+
+</sect1>
Index: general/prog/dummy-java.xml
===================================================================
--- general/prog/dummy-java.xml	(revision 784a1a7f65980b077b1f7131658feec41cfbe219)
+++ general/prog/dummy-java.xml	(revision 784a1a7f65980b077b1f7131658feec41cfbe219)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+
+<sect1 role="dummy">
+
+  <sect1info>
+    <othername>$LastChangedBy$</othername>
+    <date>$Date$</date>
+  </sect1info>
+
+  <title>Java</title>
+  <para/>
+</sect1>
+
Index: general/prog/java.xml
===================================================================
--- general/prog/java.xml	(revision 784a1a7f65980b077b1f7131658feec41cfbe219)
+++ general/prog/java.xml	(revision 784a1a7f65980b077b1f7131658feec41cfbe219)
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+
+  <!ENTITY anduin-download             "http://anduin.linuxfromscratch.org/files/BLFS/OpenJDK-&openjdk-version;">
+  <!ENTITY openjdk-download-binary-x86 "&anduin-download;/OpenJDK-&openjdk-version;-i686-bin.tar.xz">
+  <!ENTITY openjdk-bin-md5sum-x86      "099f50edbd6b0f83b746c907032d5c">
+  <!ENTITY openjdk-bin-size-x86        "163 MB">
+  <!ENTITY openjdk-bin-buildsize-x86   "464 MB">
+
+  <!ENTITY openjdk-download-binary-x64 "&anduin-download;/OpenJDK-&openjdk-version;-x86_64-bin.tar.xz">
+  <!ENTITY openjdk-bin-md5sum-x64      "506ca98b2f4064c350ee08ab8f8f5416">
+  <!ENTITY openjdk-bin-size-x64        "146 MB">
+  <!ENTITY openjdk-bin-buildsize-x64   "358 MB">
+
+]>
+
+<sect1 id="java">
+  <?dbhtml filename="java.html"?>
+
+  <sect1info>
+    <othername>$LastChangedBy$</othername>
+    <date>$Date$</date>
+  </sect1info>
+
+  <title>About Java</title>
+
+  <indexterm zone="java">
+    <primary sortas="a-java">JDK Binary</primary>
+  </indexterm>
+
+
+  <para>Java is different from most of the packages in LFS and BLFS.  It
+  is a programming language that works with files of byte codes to obtain
+  instructions and executes then in a Java Virtual Machine (JVM).  An 
+  introductory java program looks like:</para>
+
+<screen><literal>public class HelloWorld 
+{
+    public static void main(String[] args) 
+    {
+        System.out.println("Hello, World");
+    }
+}</literal></screen>
+
+  <para>This program is saved as <filename>HelloWorld.java</filename>.  The file
+  name, <emphasis>HelloWorld</emphasis>, must match the class name.  It
+  is then converted into byte code with <command>javac HelloWorld.java</command>.
+  The output file is <filename>HelloWorld.class</filename>.  The program is 
+  executed with <command>java HelloWorld</command>.  This creates a JVM and 
+  runs the code.  The 'class' extention must not be specified.</para>
+
+  <para>Several class files can be combined into one file with the
+  <command>jar</command> command.  This is similar to the standard
+  <command>tar</command> command.  For instance, the command <command>jar cf myjar.jar
+  *.class</command> will combine all class files in a directory into one jar
+  file.  These act as library files.</para>
+
+  <para>The JVM can search for and use classes in jar files automatically.  It
+  uses the <envar>CLASSPATH</envar> envronment variable to search for jar files.
+  This a a standard list of colon-separated directory namesi similar to
+  the <envar>PATH</envar> envronment variable.</para>
+ 
+  &lfs73_checked;
+
+  <sect2 id="java-bin">
+    <title>Installing a binary JDK</title>
+
+    <para>Creating a JVM from source requires a set of circular dependencies.
+    The first thing that's needed is a set of programs called a Java Development
+    Kit (JDK).  This set of programs includes <command>java</command>,  
+    <command>javac</command>, <command>jar</command>, and severl others. It 
+    also includes several base <emphasis>jar</emphasis> files.</para>
+
+    <para>To start, we set up a binary installation of the JDK created
+    by the BLFS editors.  It is installed in the <filename>/opt</filename>
+    directory to allow for multiple installations, including a source based
+    version.</para>
+
+    <bridgehead renderas="sect3">Binary Package Information</bridgehead>
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>Binary download (x86):
+        <ulink url="&openjdk-download-binary-x86;"/></para>
+      </listitem>
+      <listitem>
+        <para>Download MD5 sum: &openjdk-bin-md5sum-x86;</para>
+      </listitem>
+      <listitem>
+        <para>Download size (binary): &openjdk-bin-size-x86;</para>
+      </listitem>
+      <listitem>
+        <para>Estimated disk space required: &openjdk-bin-buildsize-x86;</para>
+      </listitem>
+    </itemizedlist>
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>Binary download (x86_64):
+        <ulink url="&openjdk-download-binary-x64;"/></para>
+      </listitem>
+      <listitem>
+        <para>Download MD5 sum: &openjdk-bin-md5sum-x64;</para>
+      </listitem>
+      <listitem>
+        <para>Download size (binary): &openjdk-bin-size-x64;</para>
+      </listitem>
+      <listitem>
+        <para>Estimated disk space required: &openjdk-bin-buildsize-x64;</para>
+      </listitem>
+    </itemizedlist>
+ 
+    <para>Begin by extracting the appropriate binary tarball for your
+    architeciture and changing to the extracted directory. Install the binary
+    <application>OpenJDK</application> with the following commands as the
+    <systemitem class="username">root</systemitem> user:</para>
+
+<screen role="root"><userinput>install -vdm755 /opt/OpenJDK-&openjdk-version;-bin &amp;&amp;
+mv -v * /opt/OpenJDK-&openjdk-version;-bin         &amp;&amp;
+chown -R root:root /opt/OpenJDK-&openjdk-version;-bin</userinput></screen>
+
+    <para>Configure the temporary <application>OpenJDK</application>
+    installation with the following commands:</para>
+
+<screen><userinput>export CLASSPATH=.:/usr/share/java &amp;&amp;
+export PATH="$PATH:/opt/OpenJDK-&openjdk-version;-bin/bin"</userinput></screen>
+
+    <para>The binary version is now installed. If you don't want to compile the
+    sources, skip ahead to the <xref linkend='openjdk-config'/> section.
+    Otherwise, continue to the <xref linkend='junit'/>, <xref
+    linkend='apache-ant'/>, and <xref linkend='openjdk'/> sections.</para>
+    
+  </sect2>
+
+</sect1>
Index: general/prog/junit.xml
===================================================================
--- general/prog/junit.xml	(revision ad50452b3e50d7c5da682b0a15d9730c74371c34)
+++ general/prog/junit.xml	(revision 784a1a7f65980b077b1f7131658feec41cfbe219)
@@ -29,4 +29,7 @@
   <sect2 role="package">
     <title>Introduction to JUnit</title>
+
+    <warning><para>Under revison do not use for now.</para></warning>
+
 
     <para>The <application>JUnit</application> package contains a simple, open
Index: general/prog/openjdk.xml
===================================================================
--- general/prog/openjdk.xml	(revision ad50452b3e50d7c5da682b0a15d9730c74371c34)
+++ general/prog/openjdk.xml	(revision 784a1a7f65980b077b1f7131658feec41cfbe219)
@@ -74,4 +74,6 @@
   <sect2 role="package">
     <title>Introduction to OpenJDK and IcedTea</title>
+
+    <warning><para>Under revison do not use for now.</para></warning>
 
     <para><application>IcedTea</application> provides a build harness for the
@@ -445,5 +447,5 @@
   </sect2>
 
-  <sect2 role="configuration">
+  <sect2 role="configuration" id="openjdk-config" xreflabel="Configuring OpenJDK" >
     <title>Configuring OpenJDK</title>
 
@@ -605,5 +607,5 @@
       </varlistentry>
 
-      <varlistentry id="java">
+      <varlistentry id="java-prog">
         <term><command>java</command></term>
         <listitem>
@@ -611,6 +613,6 @@
           environment, loading a specified class and invoking its main
           method.</para>
-          <indexterm zone="openjdk java">
-            <primary sortas="b-java">java</primary>
+          <indexterm zone="openjdk java-prog">
+            <primary sortas="b-java-prog">java</primary>
           </indexterm>
         </listitem>
Index: general/prog/prog.xml
===================================================================
--- general/prog/prog.xml	(revision ad50452b3e50d7c5da682b0a15d9730c74371c34)
+++ general/prog/prog.xml	(revision 784a1a7f65980b077b1f7131658feec41cfbe219)
@@ -36,6 +36,4 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="git.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="guile.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="openjdk.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="junit.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="librep.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="llvm.xml"/>
@@ -59,3 +57,9 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="other-tools.xml"/>
 
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dummy-java.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="java.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="junit.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apache-ant.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="openjdk.xml"/>
+
 </chapter>
