141f03cd9SDamjan Jovanovic<?xml version="1.0" encoding="UTF-8"?> 241f03cd9SDamjan Jovanovic<!--*********************************************************** 341f03cd9SDamjan Jovanovic * 441f03cd9SDamjan Jovanovic * Licensed to the Apache Software Foundation (ASF) under one 541f03cd9SDamjan Jovanovic * or more contributor license agreements. See the NOTICE file 641f03cd9SDamjan Jovanovic * distributed with this work for additional information 741f03cd9SDamjan Jovanovic * regarding copyright ownership. The ASF licenses this file 841f03cd9SDamjan Jovanovic * to you under the Apache License, Version 2.0 (the 941f03cd9SDamjan Jovanovic * "License"); you may not use this file except in compliance 1041f03cd9SDamjan Jovanovic * with the License. You may obtain a copy of the License at 1141f03cd9SDamjan Jovanovic * 1241f03cd9SDamjan Jovanovic * http://www.apache.org/licenses/LICENSE-2.0 1341f03cd9SDamjan Jovanovic * 1441f03cd9SDamjan Jovanovic * Unless required by applicable law or agreed to in writing, 1541f03cd9SDamjan Jovanovic * software distributed under the License is distributed on an 1641f03cd9SDamjan Jovanovic * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 1741f03cd9SDamjan Jovanovic * KIND, either express or implied. See the License for the 1841f03cd9SDamjan Jovanovic * specific language governing permissions and limitations 1941f03cd9SDamjan Jovanovic * under the License. 2041f03cd9SDamjan Jovanovic * 2141f03cd9SDamjan Jovanovic ***********************************************************--> 2241f03cd9SDamjan Jovanovic 2341f03cd9SDamjan Jovanovic 2441f03cd9SDamjan Jovanovic<project name="idl" xmlns:if="ant:if" xmlns:unless="ant:unless"> 2541f03cd9SDamjan Jovanovic 2641f03cd9SDamjan Jovanovic <dirname property="idl.basedir" file="${ant.file.idl}"/> 2741f03cd9SDamjan Jovanovic 2841f03cd9SDamjan Jovanovic <!-- global properties --> 2941f03cd9SDamjan Jovanovic <property file="${idl.basedir}/../../ant.properties"/> 3041f03cd9SDamjan Jovanovic 3141f03cd9SDamjan Jovanovic 3241f03cd9SDamjan Jovanovic 3341f03cd9SDamjan Jovanovic <property name="idl.build.dir" location="${build.base.dir}/idl"/> 3441f03cd9SDamjan Jovanovic <property name="idl.urd.build.dir" location="${idl.build.dir}/urd"/> 3541f03cd9SDamjan Jovanovic <property name="idl.rdb.build.dir" location="${idl.build.dir}/rdb"/> 3641f03cd9SDamjan Jovanovic <property name="idl.classes.build.dir" location="${idl.build.dir}/classes"/> 3741f03cd9SDamjan Jovanovic <property name="idl.javamaker.flag" location="${idl.build.dir}/idl.javamaker.flag"/> 3841f03cd9SDamjan Jovanovic 39a622bb93SDamjan Jovanovic <target name="idl"> 40a622bb93SDamjan Jovanovic <check-idl/> 41a622bb93SDamjan Jovanovic <build-idl unless:set="idl.uptodate"/> 42a622bb93SDamjan Jovanovic </target> 4341f03cd9SDamjan Jovanovic 44*8f71f2daSDamjan Jovanovic <target name="unoprivateapi-cppumaker"> 45*8f71f2daSDamjan Jovanovic <property name="idl.cppumaker.flag" location="${unoprivateapi.outdir}/idl.cppumaker.flag"/> 46*8f71f2daSDamjan Jovanovic <check-idl-cppumaker/> 47*8f71f2daSDamjan Jovanovic <build-idl-cppumaker unless:set="idl.cppumaker.uptodate"/> 48*8f71f2daSDamjan Jovanovic </target> 49*8f71f2daSDamjan Jovanovic 50a622bb93SDamjan Jovanovic <macrodef name="check-idl"> 51a622bb93SDamjan Jovanovic <sequential> 52a622bb93SDamjan Jovanovic <local name="idl.files.exist"/> 53a622bb93SDamjan Jovanovic <condition property="idl.files.exist"> 54a622bb93SDamjan Jovanovic <resourcecount refid="idl.files" when="greater" count="0"/> 55a622bb93SDamjan Jovanovic </condition> 56a622bb93SDamjan Jovanovic 57a622bb93SDamjan Jovanovic <uptodate property="idl.uptodate" targetfile="${idl.javamaker.flag}" if:set="idl.files.exist"> 58*8f71f2daSDamjan Jovanovic <srcresources> 59*8f71f2daSDamjan Jovanovic <resources refid="idl.files"/> 60*8f71f2daSDamjan Jovanovic </srcresources> 61a622bb93SDamjan Jovanovic </uptodate> 62a622bb93SDamjan Jovanovic <property name="idl.uptodate" value="true" unless:set="idl.files.exist"/> 63a622bb93SDamjan Jovanovic </sequential> 64a622bb93SDamjan Jovanovic </macrodef> 6541f03cd9SDamjan Jovanovic 66*8f71f2daSDamjan Jovanovic <macrodef name="check-idl-cppumaker"> 67*8f71f2daSDamjan Jovanovic <sequential> 68*8f71f2daSDamjan Jovanovic <uptodate property="idl.cppumaker.uptodate" targetfile="${idl.cppumaker.flag}"> 69*8f71f2daSDamjan Jovanovic <srcresources> 70*8f71f2daSDamjan Jovanovic <file name="${unoprivateapi.idl}"/> 71*8f71f2daSDamjan Jovanovic </srcresources> 72*8f71f2daSDamjan Jovanovic </uptodate> 73*8f71f2daSDamjan Jovanovic </sequential> 74*8f71f2daSDamjan Jovanovic </macrodef> 75*8f71f2daSDamjan Jovanovic 76a622bb93SDamjan Jovanovic <macrodef name="build-idl"> 77a622bb93SDamjan Jovanovic <sequential> 78*8f71f2daSDamjan Jovanovic <idlc urdDirectory="${idl.urd.build.dir}"> 79*8f71f2daSDamjan Jovanovic <idlFiles> 80*8f71f2daSDamjan Jovanovic <resources refid="idl.files"/> 81*8f71f2daSDamjan Jovanovic </idlFiles> 82*8f71f2daSDamjan Jovanovic </idlc> 83*8f71f2daSDamjan Jovanovic <regmerge 84*8f71f2daSDamjan Jovanovic urdDirectory="${idl.urd.build.dir}" 85*8f71f2daSDamjan Jovanovic rdbDirectory="${idl.rdb.build.dir}"/> 86a622bb93SDamjan Jovanovic <javamaker 87a622bb93SDamjan Jovanovic inputRdb="${idl.rdb.build.dir}/registry.rdb" 88a622bb93SDamjan Jovanovic outputDirectory="${idl.classes.build.dir}" 89a622bb93SDamjan Jovanovic noDependentTypes="true" 90a622bb93SDamjan Jovanovic excludes="${OUTDIR}/bin/types.rdb"/> 91a622bb93SDamjan Jovanovic <touch file="${idl.javamaker.flag}"/> 92a622bb93SDamjan Jovanovic </sequential> 93a622bb93SDamjan Jovanovic </macrodef> 94a622bb93SDamjan Jovanovic 95*8f71f2daSDamjan Jovanovic <macrodef name="build-idl-cppumaker"> 96*8f71f2daSDamjan Jovanovic <sequential> 97*8f71f2daSDamjan Jovanovic <idlc urdDirectory="${unoprivateapi.outdir}/urd"> 98*8f71f2daSDamjan Jovanovic <idlFiles> 99*8f71f2daSDamjan Jovanovic <file name="${unoprivateapi.idl}"/> 100*8f71f2daSDamjan Jovanovic </idlFiles> 101*8f71f2daSDamjan Jovanovic </idlc> 102*8f71f2daSDamjan Jovanovic <regmerge 103*8f71f2daSDamjan Jovanovic urdDirectory="${unoprivateapi.outdir}/urd" 104*8f71f2daSDamjan Jovanovic rdbDirectory="${unoprivateapi.outdir}/rdb"/> 105*8f71f2daSDamjan Jovanovic <cppumaker 106*8f71f2daSDamjan Jovanovic inputRdb="${unoprivateapi.outdir}/rdb/registry.rdb" 107*8f71f2daSDamjan Jovanovic outputDirectory="${unoprivateapi.outdir}/inc"/> 108*8f71f2daSDamjan Jovanovic <touch file="${idl.cppumaker.flag}"/> 109*8f71f2daSDamjan Jovanovic </sequential> 110*8f71f2daSDamjan Jovanovic </macrodef> 111*8f71f2daSDamjan Jovanovic 112a622bb93SDamjan Jovanovic <macrodef name="idlc"> 113*8f71f2daSDamjan Jovanovic <element name="idlFiles"/> 114*8f71f2daSDamjan Jovanovic <attribute name="urdDirectory"/> 115a622bb93SDamjan Jovanovic <sequential> 116*8f71f2daSDamjan Jovanovic <mkdir dir="@{urdDirectory}"/> 117a622bb93SDamjan Jovanovic <apply executable="${OUTDIR}/bin/idlc" failonerror="true"> 118a622bb93SDamjan Jovanovic <env key="LD_LIBRARY_PATH" value="${OUTDIR}/lib"/> 119a622bb93SDamjan Jovanovic <env key="DYLD_LIBRARY_PATH" value="${OUTDIR}/lib"/> 120a622bb93SDamjan Jovanovic <arg value="-I${OUTDIR}/idl"/> 121a622bb93SDamjan Jovanovic <arg value="-O"/> 122*8f71f2daSDamjan Jovanovic <arg value="@{urdDirectory}"/> 123a622bb93SDamjan Jovanovic <arg value="-verbose"/> 124a622bb93SDamjan Jovanovic <arg value="-cid"/> 125a622bb93SDamjan Jovanovic <arg value="-we"/> 126*8f71f2daSDamjan Jovanovic <resources> 127*8f71f2daSDamjan Jovanovic <idlFiles/> 128*8f71f2daSDamjan Jovanovic </resources> 129a622bb93SDamjan Jovanovic </apply> 130a622bb93SDamjan Jovanovic </sequential> 131a622bb93SDamjan Jovanovic </macrodef> 132a622bb93SDamjan Jovanovic 133a622bb93SDamjan Jovanovic <macrodef name="regmerge"> 134*8f71f2daSDamjan Jovanovic <attribute name="urdDirectory"/> 135*8f71f2daSDamjan Jovanovic <attribute name="rdbDirectory"/> 136a622bb93SDamjan Jovanovic <sequential> 137*8f71f2daSDamjan Jovanovic <mkdir dir="@{rdbDirectory}"/> 138*8f71f2daSDamjan Jovanovic <delete file="@{rdbDirectory}/registry.rdb"/> 139a622bb93SDamjan Jovanovic <apply executable="${OUTDIR}/bin/regmerge" failonerror="true"> 140a622bb93SDamjan Jovanovic <env key="LD_LIBRARY_PATH" value="${OUTDIR}/lib"/> 141a622bb93SDamjan Jovanovic <env key="DYLD_LIBRARY_PATH" value="${OUTDIR}/lib"/> 142*8f71f2daSDamjan Jovanovic <arg value="@{rdbDirectory}/registry.rdb"/> 143a622bb93SDamjan Jovanovic <arg value="/UCR"/> 144*8f71f2daSDamjan Jovanovic <fileset dir="@{urdDirectory}" includes="**/*.urd"/> 145a622bb93SDamjan Jovanovic </apply> 146a622bb93SDamjan Jovanovic </sequential> 147a622bb93SDamjan Jovanovic </macrodef> 14841f03cd9SDamjan Jovanovic 149bee6bcb9SDamjan Jovanovic <macrodef name="javamaker"> 150a622bb93SDamjan Jovanovic <attribute name="inputRdb"/> 151a622bb93SDamjan Jovanovic <attribute name="outputDirectory"/> 152a622bb93SDamjan Jovanovic <attribute name="noDependentTypes" default="false"/> 153bee6bcb9SDamjan Jovanovic <attribute name="excludes" default=""/> 154bee6bcb9SDamjan Jovanovic <sequential> 155a622bb93SDamjan Jovanovic <mkdir dir="@{outputDirectory}"/> 156bee6bcb9SDamjan Jovanovic <exec executable="${OUTDIR}/bin/javamaker" failonerror="true"> 157bee6bcb9SDamjan Jovanovic <env key="LD_LIBRARY_PATH" value="${OUTDIR}/lib"/> 158bee6bcb9SDamjan Jovanovic <env key="DYLD_LIBRARY_PATH" value="${OUTDIR}/lib"/> 159a622bb93SDamjan Jovanovic <arg value="-O@{outputDirectory}"/> 160bee6bcb9SDamjan Jovanovic <arg value="-BUCR"/> 161bee6bcb9SDamjan Jovanovic <arg value="-nD" 162a622bb93SDamjan Jovanovic if:true="@{noDependentTypes}"/> 163a622bb93SDamjan Jovanovic <arg value="@{inputRdb}"/> 164bee6bcb9SDamjan Jovanovic <arg value="-X@{excludes}" 165bee6bcb9SDamjan Jovanovic unless:blank="@{excludes}"/> 166bee6bcb9SDamjan Jovanovic </exec> 167bee6bcb9SDamjan Jovanovic </sequential> 168bee6bcb9SDamjan Jovanovic </macrodef> 169*8f71f2daSDamjan Jovanovic 170*8f71f2daSDamjan Jovanovic <macrodef name="cppumaker"> 171*8f71f2daSDamjan Jovanovic <attribute name="inputRdb"/> 172*8f71f2daSDamjan Jovanovic <attribute name="outputDirectory"/> 173*8f71f2daSDamjan Jovanovic <sequential> 174*8f71f2daSDamjan Jovanovic <mkdir dir="@{outputDirectory}"/> 175*8f71f2daSDamjan Jovanovic <exec executable="${OUTDIR}/bin/cppumaker" failonerror="true"> 176*8f71f2daSDamjan Jovanovic <env key="LD_LIBRARY_PATH" value="${OUTDIR}/lib"/> 177*8f71f2daSDamjan Jovanovic <env key="DYLD_LIBRARY_PATH" value="${OUTDIR}/lib"/> 178*8f71f2daSDamjan Jovanovic <arg value="-O@{outputDirectory}"/> 179*8f71f2daSDamjan Jovanovic <arg value="-BUCR"/> 180*8f71f2daSDamjan Jovanovic <arg value="-C"/> 181*8f71f2daSDamjan Jovanovic <arg value="@{inputRdb}"/> 182*8f71f2daSDamjan Jovanovic <arg value="${OUTDIR}/bin/udkapi.rdb"/> 183*8f71f2daSDamjan Jovanovic </exec> 184*8f71f2daSDamjan Jovanovic </sequential> 185*8f71f2daSDamjan Jovanovic </macrodef> 18641f03cd9SDamjan Jovanovic</project> 18741f03cd9SDamjan Jovanovic 188