1 <project name="UniTool" default="all" basedir=".">
2 <property environment="env" />
4 <!-- user configurable locations -->
5 <property name="destdir" value="" />
6 <property name="prefix" value="${env.HOME}/.usr/unitool" />
7 <property name="libdir" value="${prefix}/lib" />
8 <property name="bindir" value="${prefix}/bin" />
9 <property name="sysconfdir" value="${prefix}/etc" />
10 <property name="java-runtime" value="java" />
11 <property name="metux-lib" value="${env.HOME}/.jar/metux-java.jar" />
13 <property name="src" value="." />
14 <property name="build" value=".build" />
15 <property name="build-lib" value="${build}/lib" />
16 <property name="build-tests" value="${build}/tests" />
17 <property name="jarfile" value="${build}/unitool.jar" />
19 <property name="metux-runtime" value="${libdir}/metux-java.jar" />
20 <property name="unitool-runtime" value="${libdir}/unitool.jar" />
22 <target name="compile-base">
23 <mkdir dir="${build-lib}" />
24 <javac destdir="${build-lib}" srcdir="${src}/base" debug="on" classpath="${metux-lib}:." includeantruntime="false">
25 <include name="CCompilerParam.java"/>
26 <include name="Command.java"/>
27 <include name="EInstallFailed.java"/>
28 <include name="EMissingDBFile.java"/>
29 <include name="EParameterInvalid.java"/>
30 <include name="EParameterMissing.java"/>
31 <include name="EPkgConfigBrokenVariableReference.java"/>
32 <include name="EPkgConfigError.java"/>
33 <include name="EPkgConfigMissingProperty.java"/>
34 <include name="EPkgConfigParseError.java"/>
35 <include name="EPkgConfigUnhandledProperty.java"/>
36 <include name="EUnhandledCompilerFlag.java"/>
37 <include name="EUnitoolError.java"/>
38 <include name="EVersionSyntaxError.java"/>
39 <!-- <include name="Hacks.java"/> -->
40 <include name="InstallerParam.java"/>
41 <include name="LibraryInfo.java"/>
42 <include name="LinkerParam.java"/>
43 <include name="ManualPageInfo.java"/>
44 <include name="ObjectInfo.java"/>
45 <include name="PackageInfo.java"/>
46 <include name="ToolConfig.java"/>
47 <include name="ToolParam.java"/>
48 <include name="ToolType.java"/>
52 <target name="compile-db" depends="compile-base">
53 <mkdir dir="${build-lib}" />
54 <javac destdir="${build-lib}" srcdir="${src}/db" debug="on" classpath="${metux-lib}:${build-lib}:." includeantruntime="false">
55 <include name="LibraryInfo.java"/>
56 <include name="LoadLibtool.java"/>
57 <include name="LoadLibtoolArchive.java"/>
58 <include name="LoadLibtoolObject.java"/>
59 <include name="LoadPkgConfig.java"/>
60 <include name="ObjectInfo.java"/>
61 <include name="PackageInfo.java"/>
62 <include name="QueryPkgConfig.java"/>
63 <include name="StoreLibtool.java"/>
64 <include name="StoreLibtoolArchive.java"/>
65 <include name="StoreLibtoolObject.java"/>
66 <include name="StorePkgConfig.java"/>
67 <include name="UnitoolConf.java"/>
71 <target name="compile-tools" depends="compile-base,compile-db">
72 <mkdir dir="${build-lib}" />
73 <javac destdir="${build-lib}" srcdir="${src}/tools" debug="on" classpath="${metux-lib}:${build-lib}:." includeantruntime="false">
74 <include name="CCompiler.java"/>
75 <include name="Gcc_cmdline.java"/>
76 <include name="LD_cmdline.java"/>
77 <include name="LTLibraryInstaller.java"/>
78 <include name="LinkExecutable.java"/>
79 <include name="LinkSharedLibrary.java"/>
80 <include name="LinkStaticLibrary.java"/>
81 <include name="LinkerBase.java"/>
85 <target name="compile-unitool" depends="compile-base,compile-db">
86 <mkdir dir="${build-lib}" />
87 <javac destdir="${build-lib}" srcdir="${src}/unitool" debug="on" classpath="${metux-lib}:${build-lib}:." includeantruntime="false">
88 <include name="Build.java"/>
89 <include name="Install.java"/>
90 <include name="Main.java"/>
91 <!-- <include name="PIBuild.java"/> -->
92 <include name="PkgConfigFixup.java"/>
93 <include name="Query.java"/>
94 <include name="Unitool.java"/>
98 <target name="compile-libtool" depends="compile-base,compile-db,compile-tools">
99 <mkdir dir="${build-lib}" />
100 <javac destdir="${build-lib}" srcdir="${src}/libtool" debug="on" classpath="${metux-lib}:${build-lib}:." includeantruntime="false">
101 <include name="CmdCompile.java"/>
102 <include name="CmdInstall.java"/>
103 <include name="CmdLink.java"/>
104 <include name="Main.java"/>
108 <target name="compile" depends="compile-base,compile-db,compile-tools,compile-unitool,compile-libtool">
109 <jar jarfile="${jarfile}" basedir="${build-lib}"/>
113 <target name="compile-tests" depends="link-lib,compile-base,compile-log,compile-propertylist">
114 <mkdir dir="${build-tests}" />
115 <javac destdir="${build-tests}" srcdir="${src}/tests" debug="on" classpath="${jarfile}">
116 <include name="_test_util.java"/>
117 <include name="_test_log.java"/>
121 <target name="run-tests" depends="compile-tests">
122 <java classname="_test_util" classpath="${jarfile}:${build-tests}" />
123 <java classname="_test_log" classpath="${jarfile}:${build-tests}" />
127 <target name="run-tests" />
128 <target name="all" depends="compile,run-tests" />
130 <target name="clean">
131 <delete dir="${build-tests}" />
132 <delete dir="${build-lib}" />
133 <delete dir="${build}" />
134 <delete file="${jarfile}" />
137 <target name="install" depends="compile,run-tests">
138 <mkdir dir="${destdir}${libdir}" />
139 <mkdir dir="${destdir}${bindir}" />
140 <copy file="${jarfile}" todir="${destdir}${libdir}" />
141 <copy file="${metux-lib}" todir="${destdir}${libdir}" />
143 <!-- install the pkg-config-fixup script -->
144 <delete file="${destdir}${bindir}/pkg-config-fixup" />
145 <echo file="${destdir}${bindir}/pkg-config-fixup">#!/bin/bash
146 UNITOOL_PREFIX="${prefix}"
147 UNITOOL_JVM="${java-runtime}"
148 UNITOOL_MAIN="org.de.metux.unitool.unitool.Main"
150 export CLASSPATH="$CLASSPATH:${metux-runtime}:${unitool-runtime}"
152 if [ ! "$SYSROOT" ]; then
153 echo "$0: Missing \$SYSROOT"
158 echo "Processing: $i"
159 $UNITOOL_JVM $UNITOOL_MAIN \
163 system-root "$SYSROOT" && mv "$i.out" "$i"
166 <chmod file="${destdir}${bindir}/pkg-config-fixup" perm="u=rwx,go=rx" />
168 <!-- install the run-unitool script -->
169 <delete file="${destdir}${bindir}/run-unitool" />
170 <echo file="${destdir}${bindir}/run-unitool">#!/bin/bash
171 UNITOOL_PREFIX="${prefix}"
172 UNITOOL_JVM="${java-runtime}"
173 UNITOOL_MAIN="org.de.metux.unitool.unitool.Main"
175 export CLASSPATH="$CLASSPATH:${metux-runtime}:${unitool-runtime}"
176 $UNITOOL_JVM $UNITOOL_MAIN "$@"
178 <chmod file="${destdir}${bindir}/run-unitool" perm="u=rwx,go=rx" />
181 <!-- install the run-libtool script -->
182 <delete file="${destdir}${bindir}/run-libtool" />
183 <echo file="${destdir}${bindir}/run-libtool">#!/bin/bash
184 UNITOOL_PREFIX="${prefix}"
185 UNITOOL_JVM="${java-runtime}"
186 UNITOOL_MAIN="org.de.metux.unitool.libtool.Main"
188 export CLASSPATH="$CLASSPATH:${metux-runtime}:${unitool-runtime}"
189 $UNITOOL_JVM $UNITOOL_MAIN "$@"
191 <chmod file="${destdir}${bindir}/run-libtool" perm="u=rwx,go=rx" />