755a6be6fd
'ant private-javadocs' will work. Removed Jskad's source release. We'll have an all-in-one source release (for now, anyway).
541 lines
19 KiB
XML
541 lines
19 KiB
XML
<project name="THDLTools" default="dist" basedir=".">
|
|
|
|
|
|
<description>
|
|
This Jakarta Ant buildfile is used to build Jskad, Savant,
|
|
QuillDriver, and the Translation Tool. The docs at
|
|
http://thdltools.sf.net/api are created using this buildfile, for
|
|
example. Read the comments of this buildfile to learn more.
|
|
</description>
|
|
|
|
|
|
<!-- set global properties for this build -->
|
|
<property name="javacdashg" value="yes"/>
|
|
<property name="source" location="source"/>
|
|
<property name="bin" location="bin"/>
|
|
<property name="jskadbin" location="bin/jskad"/>
|
|
<property name="qdbin" location="bin/qd"/>
|
|
<property name="ttbin" location="bin/tt"/>
|
|
<property name="savantbin" location="bin/savant"/>
|
|
<property name="docs" location="docs"/>
|
|
<property name="dist" location="dist"/>
|
|
<property name="ext" location="extensions"/>
|
|
<property name="publicjavadocs" location="${docs}/public-javadocs"/>
|
|
<property name="privatejavadocs" location="${docs}/private-javadocs"/>
|
|
<property name="j2ee.sdk.home" location="F:\Program Files\j2sdkee1.3.1\lib"/>
|
|
|
|
<!-- Set to false for less output when running the tools: -->
|
|
<property name="thdl.debug" value="true"/>
|
|
|
|
<!-- Set to true if you want the code to abort when it reaches
|
|
poorly thought-out control flow paths (i.e., iffy code). -->
|
|
<property name="thdl.die.on.iffy" value="true"/>
|
|
|
|
<!-- Set to the name of the dictionary used by the Translation Tool: -->
|
|
<property name="arch.dict" value="architecture_dictionary"/>
|
|
|
|
|
|
<!-- To easily add a jar to the CLASSPATH, just drop it into
|
|
'extensions/drop-ins/'. -->
|
|
<path id="entire.class.path">
|
|
<pathelement location="${ext}/"/> <!-- for netscape.javascript -->
|
|
|
|
<!-- Developers: although these JARs are not yet in CVS, you're
|
|
responsible for finding them and putting them into
|
|
'extensions/': -->
|
|
<pathelement location="${ext}/jdom.jar"/>
|
|
<pathelement location="${ext}/xalan.jar"/>
|
|
<pathelement location="${ext}/xercesImpl.jar"/>
|
|
<pathelement location="${ext}/xml-apis.jar"/>
|
|
<pathelement location="${ext}/jmf.jar"/>
|
|
|
|
<fileset dir="${j2ee.sdk.home}">
|
|
<include name="j2ee.jar"/>
|
|
</fileset>
|
|
|
|
<!-- this gets Ant's jars, so leave it out:
|
|
<pathelement path="${java.class.path}/"/> -->
|
|
|
|
<fileset dir="${ext}/drop-ins">
|
|
<include name="*.jar"/>
|
|
<include name="*.JAR"/>
|
|
</fileset>
|
|
|
|
<!-- Developers: set this on the ant command line if you need to
|
|
with 'ant -Dadditional.class.path="c:\foo"': -->
|
|
<pathelement path="${additional.class.path}"/>
|
|
|
|
</path>
|
|
|
|
<target name="init">
|
|
<!-- Create the time stamp -->
|
|
<tstamp/>
|
|
<!-- Create the build directory structure used by compile -->
|
|
<mkdir dir="${dist}"/>
|
|
<mkdir dir="${dist}/lib"/>
|
|
<mkdir dir="${dist}/source"/>
|
|
<mkdir dir="${bin}"/>
|
|
<mkdir dir="${jskadbin}"/>
|
|
<mkdir dir="${qdbin}"/>
|
|
<mkdir dir="${ttbin}"/>
|
|
<mkdir dir="${savantbin}"/>
|
|
<mkdir dir="${publicjavadocs}"/>
|
|
<mkdir dir="${privatejavadocs}"/>
|
|
</target>
|
|
|
|
|
|
<target name="test-all"
|
|
depends="clean,distclean,compile,dist,src-dist,self-contained-dist,public-javadocs-dist,private-javadocs-dist,releases"
|
|
description="runs every target in this buildfile in a smart order; useful for testing the buildfile and your build environment" />
|
|
|
|
|
|
<!-- DLC FIXME: generate as-nearly-self-contained-as-possible Savant
|
|
and QuillDriver -->
|
|
<target name="self-contained-dist"
|
|
depends="jskad-all-in-one-dist"
|
|
description="JARs up everything into self-contained JARs for double-click, classpath-worry-free joy" />
|
|
|
|
<target name="dist"
|
|
depends="jskad-dist,savant-dist,qd-dist,tt-dist"
|
|
description="JARs up everything" />
|
|
|
|
<target name="compile"
|
|
depends="jskad-compile,savant-compile,qd-compile,tt-compile"
|
|
description="compiles all source" />
|
|
|
|
|
|
<target name="jskad-compile" depends="init"
|
|
description="compiles Jskad" >
|
|
<!-- Compile the java code from ${source} into ${jskadbin} -->
|
|
<javac destdir="${jskadbin}" debug="${javacdashg}">
|
|
<classpath refid="entire.class.path"/>
|
|
<src path="${source}"/>
|
|
<include name="org/thdl/tib/input/Jskad.java" />
|
|
<exclude name="**/*.ini" />
|
|
<exclude name="**/*.html" />
|
|
<!-- Exclude JUnit tests: -->
|
|
<exclude name="**/*Test.java" />
|
|
<exclude name="**/*AllTests.java" />
|
|
</javac>
|
|
<copy todir="${jskadbin}">
|
|
<fileset dir="${source}">
|
|
<include name="org/thdl/tib/**/*.ini"/>
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="savant-compile" depends="init"
|
|
description="compiles Savant" >
|
|
<!-- Compile the java code from ${source} into ${savantbin} -->
|
|
<javac destdir="${savantbin}" debug="${javacdashg}">
|
|
<classpath refid="entire.class.path"/>
|
|
<src path="${source}"/>
|
|
<include name="org/thdl/savant/SavantShell.java" />
|
|
<exclude name="**/*.ini" />
|
|
<exclude name="**/*.html" />
|
|
<!-- Exclude JUnit tests: -->
|
|
<exclude name="**/*Test.java" />
|
|
<exclude name="**/*AllTests.java" />
|
|
</javac>
|
|
<copy todir="${savantbin}/org/thdl/savant">
|
|
<fileset dir="${source}">
|
|
<include name="*savant*"/>
|
|
</fileset>
|
|
</copy>
|
|
<copy todir="${savantbin}">
|
|
<fileset dir="${source}">
|
|
<include name="org/thdl/tib/**/*.ini"/>
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
|
|
|
|
<target name="tt-compile" depends="init"
|
|
description="compiles the Translation Tool" >
|
|
<!-- Compile the java code from ${source} into ${ttbin} -->
|
|
<javac destdir="${ttbin}" debug="${javacdashg}">
|
|
<classpath refid="entire.class.path"/>
|
|
<src path="${source}"/>
|
|
<include name="org/thdl/tib/scanner/WindowScannerFilter.java" />
|
|
<exclude name="**/*.ini" />
|
|
<exclude name="**/*.html" />
|
|
<!-- Exclude JUnit tests: -->
|
|
<exclude name="**/*Test.java" />
|
|
<exclude name="**/*AllTests.java" />
|
|
</javac>
|
|
<copy todir="${ttbin}">
|
|
<fileset dir="${source}">
|
|
<include name="org/thdl/tib/**/*.ini"/>
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
|
|
|
|
<target name="tt-serv-compile" depends="init"
|
|
description="compiles the full Translation Tool, including servlets. You'd better set the j2ee.sdk.home property first or have j2ee.jar on your CLASSPATH." >
|
|
<!-- Compile the java code from ${source} into ${ttbin} -->
|
|
<javac destdir="${ttbin}" debug="${javacdashg}">
|
|
<classpath refid="entire.class.path"/>
|
|
<src path="${source}"/>
|
|
<include name="org/thdl/tib/scanner/**.java" />
|
|
<exclude name="**/*.ini" />
|
|
<exclude name="**/*.html" />
|
|
<!-- Exclude JUnit tests: -->
|
|
<exclude name="**/*Test.java" />
|
|
<exclude name="**/*AllTests.java" />
|
|
</javac>
|
|
<copy todir="${ttbin}">
|
|
<fileset dir="${source}">
|
|
<include name="org/thdl/tib/**/*.ini"/>
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
|
|
|
|
<target name="qd-compile" depends="init"
|
|
description="compiles QuillDriver" >
|
|
<!-- Compile the java code from ${source} into ${qdbin} -->
|
|
<javac destdir="${qdbin}" debug="${javacdashg}">
|
|
<classpath refid="entire.class.path"/>
|
|
<src path="${source}"/>
|
|
<include name="org/thdl/quilldriver/QDShell.java" />
|
|
<exclude name="**/*.ini" />
|
|
<exclude name="**/*.html" />
|
|
<exclude name="**/*.gif" />
|
|
<exclude name="**/*.jpg" />
|
|
<!-- Exclude JUnit tests: -->
|
|
<exclude name="**/*Test.java" />
|
|
<exclude name="**/*AllTests.java" />
|
|
</javac>
|
|
<copy todir="${qdbin}">
|
|
<fileset dir="${source}">
|
|
<include name="org/thdl/tib/**/*.ini"/>
|
|
</fileset>
|
|
</copy>
|
|
<copy todir="${qdbin}">
|
|
<fileset dir="${source}">
|
|
<include name="MessageBundle*"/>
|
|
<include name="**/*.gif"/>
|
|
<include name="**/*.jpg"/>
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
|
|
|
|
<target name="src-dist" depends="init"
|
|
description="generates the full Jskad+Savant+QuillDriver+Translation Tool source distribution" >
|
|
<!-- Put everything necessary into the zip file -->
|
|
<zip destfile="${dist}/source/THDL-Tools-src-${DSTAMP}.zip">
|
|
<zipfileset dir="${source}"
|
|
includes="**"
|
|
prefix="source"/>
|
|
<zipfileset dir="license"
|
|
includes="*.txt,*.html"
|
|
prefix="."/>
|
|
<zipfileset dir="."
|
|
includes="build.xml"
|
|
prefix="."/>
|
|
<zipfileset dir="."
|
|
includes="docs/*package-list/**"
|
|
prefix="."/>
|
|
</zip>
|
|
</target>
|
|
|
|
|
|
<target name="jskad-dist" depends="jskad-compile"
|
|
description="generates the bare Jskad binary distribution" >
|
|
<!-- Put everything in ${jskadbin} into the JAR file -->
|
|
<jar jarfile="${dist}/lib/Jskad-${DSTAMP}.jar"
|
|
basedir="${jskadbin}">
|
|
<manifest>
|
|
<attribute name="Main-Class" value="org.thdl.tib.input.Jskad"/>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
|
|
<target name="tt-dist" depends="tt-compile"
|
|
description="generates the TranslationDesktop binary distribution. Call tt-serv-compile first if you want servlets in this dist." >
|
|
<!-- Put everything in ${ttbin} into the JAR file -->
|
|
<jar jarfile="${dist}/lib/TranslationDesktop-${DSTAMP}.jar"
|
|
basedir="${ttbin}">
|
|
<manifest>
|
|
<attribute name="Main-Class" value="org.thdl.tib.scanner.WindowScannerFilter"/>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
|
|
<target name="savant-dist" depends="savant-compile"
|
|
description="generates the bare Savant binary distribution" >
|
|
<!-- Put everything in ${savantbin} into the JAR file -->
|
|
<jar jarfile="${dist}/lib/Savant-${DSTAMP}.jar"
|
|
basedir="${savantbin}">
|
|
<manifest>
|
|
<attribute name="Main-Class" value="org.thdl.savant.SavantShell"/>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
|
|
<target name="qd-dist" depends="qd-compile"
|
|
description="generates the bare QuillDriver binary distribution" >
|
|
<!-- Put everything in ${qdbin} into the JAR file -->
|
|
<jar jarfile="${dist}/lib/QuillDriver-${DSTAMP}.jar"
|
|
basedir="${qdbin}">
|
|
<manifest>
|
|
<attribute name="Main-Class" value="org.thdl.quilldriver.QDShell"/>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
|
|
|
|
<target name="jskad-all-in-one-dist" depends="jskad-compile"
|
|
description="generates the self-contained binary distribution for Jskad" >
|
|
<!-- Now put everything in ${bin} and ${ext}/netscape, plus
|
|
the .ini files, into the JAR file
|
|
-->
|
|
<copy todir="${jskadbin}">
|
|
<fileset dir="${source}">
|
|
<include name="org/thdl/tib/**/*.ini"/>
|
|
</fileset>
|
|
</copy>
|
|
<copy todir="${jskadbin}/netscape">
|
|
<fileset dir="${ext}/netscape"/>
|
|
</copy>
|
|
<jar jarfile="${dist}/lib/Jskad-self-contained-${DSTAMP}.jar"
|
|
basedir="${jskadbin}"
|
|
includes="org/thdl/tib/**,org/thdl/util/**,netscape/**"
|
|
index="true"
|
|
update="no">
|
|
<manifest>
|
|
<attribute name="Main-Class" value="org.thdl.tib.input.Jskad"/>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
|
|
<target name="clean"
|
|
description="cleans up a few things, but not all" >
|
|
<!-- Delete the ${bin} and ${dist} directory trees -->
|
|
<delete dir="${bin}"/>
|
|
<delete dir="${jskadbin}"/>
|
|
<delete dir="${qdbin}"/>
|
|
<delete dir="${ttbin}"/>
|
|
<delete dir="${savantbin}"/>
|
|
<delete dir="${dist}"/>
|
|
</target>
|
|
|
|
|
|
<target name="distclean"
|
|
description="cleans up so your directory once again looks like the source distribution"
|
|
depends="clean" >
|
|
<!-- Delete the API docs -->
|
|
<delete dir="${publicjavadocs}"/>
|
|
<delete dir="${privatejavadocs}"/>
|
|
</target>
|
|
|
|
|
|
<!--
|
|
HEY PROJECT MANAGER:
|
|
|
|
http://thdltools.sf.net/api lives at
|
|
/home/groups/t/th/thdltools/htdocs/api. To update it, simple run
|
|
'ant private-javadocs-dist', which creates dist/docs/private-javadocs-DSTAMP.zip. Then scp that file over with the command
|
|
|
|
scp dist/docs/private-javadocs-WHATEVER.zip \
|
|
yourUserId@thdltools.sf.net/home/groups/t/th/thdltools/
|
|
|
|
or use PuTTY's scp to do something equivalent.
|
|
|
|
Now, shell in to thdltools.sf.net with 'ssh -l yourUserId
|
|
thdltools.sf.net' or with PuTTY.
|
|
|
|
Change directory (cd) to /home/groups/t/th/thdltools/htdocs/.
|
|
|
|
While you're here, do a 'cvs update' - just in case some developer
|
|
made changes to the web pages but forgot to update.
|
|
|
|
Anyway, now run 'rm -fr api' (from the htdocs/ directory).
|
|
|
|
Now run 'mkdir api'.
|
|
|
|
Now 'cd api'.
|
|
|
|
Now run 'unzip ../../private-javadocs-WHATEVER.zip'.
|
|
|
|
See if http://thdltools.sf.net/api/ looks up to date. If so,
|
|
delete ../../private-javadocs-WHATEVER.zip and log out.
|
|
|
|
UPDATE THESE INSTRUCTIONS if something above is wrong or unclear.
|
|
-->
|
|
|
|
|
|
<target name="public-javadocs-dist" depends="public-javadocs"
|
|
description="makes zip file of Javadoc documentation for public/protected classes, methods, and fields" >
|
|
<mkdir dir="${dist}/docs"/>
|
|
<tstamp/>
|
|
<zip destfile="${dist}/docs/public-javadocs-${DSTAMP}.zip"
|
|
basedir="${publicjavadocs}"/>
|
|
</target>
|
|
|
|
|
|
<target name="private-javadocs-dist" depends="private-javadocs"
|
|
description="makes zip file of Javadoc documentation for ALL classes, methods, and fields" >
|
|
<mkdir dir="${dist}/docs"/>
|
|
<tstamp/>
|
|
<zip destfile="${dist}/docs/private-javadocs-${DSTAMP}.zip"
|
|
basedir="${privatejavadocs}"/>
|
|
</target>
|
|
|
|
|
|
<target name="public-javadocs"
|
|
description="makes Javadoc documentation for public/protected classes, methods, and fields"
|
|
depends="init" >
|
|
<antcall target="our-javadocs">
|
|
<param name="access" value="protected"/>
|
|
<param name="our-javadocs-destdir" value="${publicjavadocs}"/>
|
|
</antcall>
|
|
</target>
|
|
|
|
|
|
<target name="private-javadocs"
|
|
description="makes Javadoc documentation for all classes, methods, and fields, regardless of their protection level (public, private, etc.)"
|
|
depends="init" >
|
|
<antcall target="our-javadocs">
|
|
<param name="access" value="private"/>
|
|
<param name="our-javadocs-destdir" value="${privatejavadocs}"/>
|
|
</antcall>
|
|
</target>
|
|
|
|
|
|
<!-- -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -->
|
|
<!-- UTILITY TARGETS - targets of antcalls, targets not usually
|
|
directly called. -->
|
|
<!-- -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -->
|
|
|
|
<!-- Utility target called by private-javadocs and public-javadocs -->
|
|
<target name="our-javadocs" depends="init"
|
|
description="makes Javadoc documentation; NOT A USER TARGET" >
|
|
|
|
<!-- See http://jakarta.apache.org/ant/manual/CoreTasks/javadoc.html
|
|
to learn more about the Javadoc task.
|
|
-->
|
|
|
|
<tstamp>
|
|
<format property="javadoc.creation.time" pattern="MM/dd/yyyy hh:mm aa"/>
|
|
</tstamp>
|
|
|
|
<!-- We don't really use @version correctly, do we? So version="false". -->
|
|
<javadoc destdir="${our-javadocs-destdir}"
|
|
author="true"
|
|
access="${access}"
|
|
version="false"
|
|
use="true"
|
|
classpathref="entire.class.path"
|
|
windowtitle="THDL Tools APIs"
|
|
Overview="${source}/overview.html">
|
|
|
|
<fileset dir="${source}" defaultexcludes="yes">
|
|
<include name="org/thdl/**" />
|
|
<!-- Exclude JUnit tests: -->
|
|
<exclude name="**/*Test.java"/>
|
|
<exclude name="**/*AllTests.java"/>
|
|
<exclude name="**/*.ini"/>
|
|
<exclude name="**/*.html"/>
|
|
<exclude name="**/*.gif"/>
|
|
<exclude name="**/*.jpg"/>
|
|
</fileset>
|
|
|
|
<doctitle><![CDATA[<h1>THDL Tools</h1>]]></doctitle>
|
|
|
|
<!-- Note: We must show the SF.net logo in order to get hit counts. -->
|
|
<bottom>These API docs were created ${javadoc.creation.time}.<![CDATA[<br><i>Copyright © 2001-2002 Tibetan and Himalayan Digital Library. All Rights Reserved.</i><br>Hosted by <a href="http://sourceforge.net/"><img src="http://sourceforge.net/sflogo.php?group_id=61934&type=1" width="88" height="31" border="0" alt="SourceForge_Logo"></a>]]></bottom>
|
|
|
|
<group title="Tibetan Text Packages" packages="org.thdl.tib.text.**"/>
|
|
<group title="Tibetan Input Packages" packages="org.thdl.tib.input.**"/>
|
|
|
|
<!-- Have our API docs link to Sun's, JDOM's, etc. -->
|
|
<link offline="true"
|
|
href="http://java.sun.com/j2se/1.4/docs/api/"
|
|
packagelistLoc="${docs}/j2sdk1.4-package-list"/>
|
|
<link offline="true"
|
|
href="http://www.jdom.org/docs/apidocs/"
|
|
packagelistLoc="${docs}/jdom-package-list"/>
|
|
</javadoc>
|
|
</target>
|
|
|
|
|
|
<target name="qd-run" depends="qd-dist" description="runs QuillDriver">
|
|
<java classname="org.thdl.quilldriver.QDShell" fork="yes">
|
|
<classpath>
|
|
<pathelement location="${dist}/lib/QuillDriver-${DSTAMP}.jar"/>
|
|
<path refid="entire.class.path"/>
|
|
</classpath>
|
|
<jvmarg value="-DTHDL_DEBUG=${thdl.debug}"/>
|
|
<jvmarg value="-DTHDL_DIE_ON_IFFY_CODE=${thdl.die.on.iffy}"/>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="savant-run" depends="savant-dist" description="runs Savant">
|
|
<java classname="org.thdl.savant.SavantShell" fork="yes">
|
|
<classpath>
|
|
<pathelement location="${dist}/lib/Savant-${DSTAMP}.jar"/>
|
|
<path refid="entire.class.path"/>
|
|
</classpath>
|
|
<jvmarg value="-DTHDL_DEBUG=${thdl.debug}"/>
|
|
<jvmarg value="-DTHDL_DIE_ON_IFFY_CODE=${thdl.die.on.iffy}"/>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="jskad-run" depends="jskad-dist" description="runs Jskad">
|
|
<java classname="org.thdl.tib.input.Jskad" fork="yes">
|
|
<classpath>
|
|
<pathelement location="${dist}/lib/Jskad-${DSTAMP}.jar"/>
|
|
<path refid="entire.class.path"/>
|
|
</classpath>
|
|
<jvmarg value="-DTHDL_DEBUG=${thdl.debug}"/>
|
|
<jvmarg value="-DTHDL_DIE_ON_IFFY_CODE=${thdl.die.on.iffy}"/>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="tt-run" depends="tt-dist" description="runs TranslationDesktop">
|
|
<java classname="org.thdl.tib.scanner.WindowScannerFilter" fork="yes">
|
|
<classpath>
|
|
<pathelement location="${dist}/lib/TranslationDesktop-${DSTAMP}.jar"/>
|
|
<path refid="entire.class.path"/>
|
|
</classpath>
|
|
<jvmarg value="-DTHDL_DEBUG=${thdl.debug}"/>
|
|
<jvmarg value="-DTHDL_DIE_ON_IFFY_CODE=${thdl.die.on.iffy}"/>
|
|
<!-- For non-swing version: <arg value="-simple"/> -->
|
|
<arg value="${arch.dict}"/>
|
|
</java>
|
|
</target>
|
|
|
|
|
|
<!-- See http://thdltools.sf.net/CuttingReleases.html for info on
|
|
how to use this target. Note that we must do a distclean
|
|
because Ant doesn't always recompile when it should. -->
|
|
<target name="releases"
|
|
description="builds the releases under 'dist/releases/' after doing a distclean"
|
|
depends="distclean">
|
|
<mkdir dir="${dist}/releases"/>
|
|
<antcall target="dist">
|
|
<param name="javacdashg" value="no"/>
|
|
<param name="dist" value="${dist}/releases"/>
|
|
</antcall>
|
|
<antcall target="src-dist">
|
|
<param name="dist" value="${dist}/releases"/>
|
|
</antcall>
|
|
<antcall target="public-javadocs-dist">
|
|
<param name="dist" value="${dist}/releases"/>
|
|
</antcall>
|
|
<antcall target="private-javadocs-dist">
|
|
<param name="dist" value="${dist}/releases"/>
|
|
</antcall>
|
|
</target>
|
|
|
|
<!-- DLC FIXME: we need a compile-all that uses if="" and <available> . -->
|
|
|
|
</project>
|