~ubuntu-branches/ubuntu/wily/gluegen2/wily

« back to all changes in this revision

Viewing changes to make/build.xml

  • Committer: Bazaar Package Importer
  • Author(s): Sylvestre Ledru
  • Date: 2010-12-04 16:22:37 UTC
  • Revision ID: james.westby@ubuntu.com-20101204162237-ma60n1ng0nf2eha7
Tags: upstream-2.0-rc1
ImportĀ upstreamĀ versionĀ 2.0-rc1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="UTF-8"?>
 
2
<!--
 
3
   - Ant build for GlueGen and corresponding ANT tasks. Also builds
 
4
   - JOGL-specific BuildStaticGLInfo and its corresponding ANT task.
 
5
   -
 
6
   - This build has been tested with ANT 1.6.2 and ANTLR 2.7.4.
 
7
   -
 
8
   - Public targets:
 
9
   -   all:  clean and build GlueGen and GlueGen Ant task
 
10
   -   clean:  clean all built
 
11
  -->
 
12
<project name="GlueGen" basedir="." default="all">
 
13
 
 
14
  <fail message="Please build using Ant 1.8.0 or higher.">
 
15
      <condition>
 
16
          <not>
 
17
              <antversion atleast="1.8.0"/>
 
18
          </not>
 
19
      </condition>
 
20
  </fail>
 
21
 
 
22
  <import file="gluegen-cpptasks.xml" />
 
23
 
 
24
  <condition property="rootrel.build" value="build">
 
25
    <not>
 
26
      <isset property="rootrel.build"/>
 
27
    </not>
 
28
  </condition>
 
29
 
 
30
  <target name="setup-excludes-1" if="gluegen.nsig">
 
31
    <property name="gluegen.excludes" value="" />
 
32
  </target>
 
33
 
 
34
  <target name="setup-excludes-2" unless="gluegen.nsig">
 
35
    <property name="gluegen.excludes" value="com/jogamp/gluegen/runtime/BufferFactoryInternal.java,com/jogamp/gluegen/nativesig/**" />
 
36
  </target>
 
37
 
 
38
  <target name="init" depends="gluegen.properties.load.user,gluegen.cpptasks.detect.os,setup-excludes-1,setup-excludes-2">
 
39
    <!-- Declare all paths and user defined variables. -->
 
40
 
 
41
    <property name="javac.bootclasspath-cdc.jar" value="lib/cdc_fp.jar" />
 
42
 
 
43
    <!--property name="javadoc.link" value="http://download.oracle.com/javase/1.4.2/docs/api/"/-->
 
44
    <property name="javadoc.link" value="http://java.sun.com/j2se/1.4.2/docs/api/" />
 
45
 
 
46
    <!-- The source and build directories. -->
 
47
    <property name="project.root"  value=".." />
 
48
    <property name="src.java" value="${project.root}/src/java" />
 
49
    <property name="build"    location="${project.root}/${rootrel.build}" />
 
50
    <property name="javadoc.root.path"    location="${build}/javadoc" />
 
51
    <property name="javadoc.gluegen.path" location="${javadoc.root.path}/gluegen/javadoc" />
 
52
    <property name="gluegen.lib.dir" value="${build}/obj"/>
 
53
 
 
54
    <tstamp>
 
55
        <format property="version.timestamp" pattern="yyyyMMdd"/>
 
56
    </tstamp>
 
57
 
 
58
    <property file="${build}/artifact.properties"/>
 
59
    <property name="gluegen.build.number" value="manual"/>
 
60
    <property name="gluegen.build.id"     value="${version.timestamp}"/>
 
61
    <property name="gluegen.build.branch" value="master"/>
 
62
    <property name="gluegen.build.commit" value="manual"/>
 
63
 
 
64
    <!-- This is the version of GlueGen you are building -->
 
65
    <property name="gluegen_base_version" value="2.0"/>
 
66
    <property name="gluegen.version" value="${gluegen_base_version}-b${gluegen.build.number}-${version.timestamp}" />
 
67
 
 
68
    <!-- The generated source directories. -->
 
69
    <property name="src.generated"          value="${build}/gensrc" />
 
70
    <property name="src.generated.java"     value="${src.generated}/java" />
 
71
    <property name="src.generated.java-cdc" value="${src.generated}/java-cdc" />
 
72
 
 
73
    <!-- The compiler output directories. -->
 
74
    <property name="classes" value="${build}/classes" />
 
75
    <property name="classes-cdc" value="${build}/classes-cdc" />
 
76
 
 
77
    <!-- Call the external config validator script to make sure the config is ok and consistent -->
 
78
    <ant antfile="validate-properties.xml" inheritall="true"/>
 
79
 
 
80
    <!-- Create the required output directories. -->
 
81
    <mkdir dir="${src.generated.java}" />
 
82
    <mkdir dir="${src.generated.java-cdc}" />
 
83
    <mkdir dir="${classes}" />
 
84
    <mkdir dir="${classes-cdc}" />
 
85
 
 
86
    <!-- Create the classpath for ANTLR.  This requires the user-defined
 
87
      - "antlr.jar" property. -->
 
88
    <path id="antlr.classpath">
 
89
      <pathelement location="${antlr.jar}" />
 
90
    </path>
 
91
    
 
92
    <!-- The location of the GlueGen source and the C grammar files. -->
 
93
    <property name="gluegen" value="${src.java}/com/jogamp/gluegen" />
 
94
    <property name="c.grammar" value="${gluegen}/cgram" />
 
95
    <property name="j.grammar" value="${gluegen}/jgram" />
 
96
        
 
97
    <!-- The resulting location of the generated Java files from the
 
98
      - C grammar via ANTLR. -->
 
99
    <property name="gluegen.build" value="${src.generated.java}/com/jogamp/gluegen" />
 
100
    <property name="generated.java.from.c.grammar" value="${gluegen.build}/cgram" />
 
101
    <property name="generated.java.from.j.grammar" value="${gluegen.build}/jgram" />
 
102
 
 
103
    <property name="tools.jar" value="${java.home}/../lib/tools.jar"/>
 
104
 
 
105
    <property name="archive.name"     value="gluegen-${gluegen.version}-${os.and.arch}" />
 
106
    <property name="archive"          value="${build}/${archive.name}" />
 
107
 
 
108
  </target>
 
109
 
 
110
  <!--
 
111
    - Using ANTLR generate the specified Java files.
 
112
    -
 
113
    - @param target the grammar file to process
 
114
    - @param output.dir the directory to write the generated files to.  If
 
115
    -        the directory does not exist, it will be created.
 
116
    -->
 
117
  <target name="generate.grammar">
 
118
    <!-- Generate the Java files -->
 
119
    <antlr target="${output.dir}/${target}" outputdirectory="${output.dir}">
 
120
      <classpath refid="antlr.classpath" />
 
121
    </antlr>
 
122
  </target>
 
123
    
 
124
  <!--
 
125
    - Using ANTLR generate the specified Java files with an overridden
 
126
    - grammar file.
 
127
    -
 
128
    - @param target the grammar file to process
 
129
    - @param glib the overridding grammar file
 
130
    - @param output.dir the directory to write the generated files to.  If
 
131
    -        the directory does not exist, it will be created.
 
132
   -->
 
133
  <target name="generate.c.grammar.glib">
 
134
    <!-- Generate the Java files -->
 
135
    <antlr target="${output.dir}/${target}" glib="${output.dir}/${glib}" outputdirectory="${output.dir}">
 
136
      <classpath refid="antlr.classpath" />
 
137
    </antlr>
 
138
  </target>
 
139
 
 
140
  <!-- Use GlueGen to generate the source code for the NativeLibrary
 
141
       implementation. Note that to make the build process simpler (in
 
142
       particular, the nightly builds) we do not do this every time we
 
143
       run the build, but instead check in the generated sources to
 
144
       the source tree. -->
 
145
 
 
146
  <property name="gluegen.root" value="../" />
 
147
  <target name="generate.nativelibrary.sources" depends="init" >
 
148
    <!-- Define the appropriate include paths -->
 
149
    <dirset id="stub.includes.fileset.windows" dir=".">
 
150
      <include name="stub_includes/windows/**" />
 
151
    </dirset>
 
152
    <dirset id="stub.includes.fileset.unix" dir=".">
 
153
      <include name="stub_includes/unix/**" />
 
154
    </dirset>
 
155
    <dirset id="stub.includes.fileset.macosx" dir=".">
 
156
      <include name="stub_includes/macosx/**" />
 
157
    </dirset>
 
158
    <!-- Define the classpath we should use -->
 
159
    <path id="gluegen.classpath" >
 
160
      <pathelement location="${classes}" />
 
161
      <pathelement location="${antlr.jar}" />
 
162
    </path>
 
163
    <!-- Define the GlueGen task we just built -->
 
164
    <taskdef name="gluegen" classname="com.jogamp.gluegen.ant.GlueGenTask"
 
165
             classpathref="gluegen.classpath" />
 
166
 
 
167
    <!-- Execute it against all of the OSs' header files -->
 
168
    <gluegen src="stub_includes/windows/dynamic-linker.h"
 
169
             config="dynlink-windows.cfg"
 
170
             includeRefId="stub.includes.fileset.windows"
 
171
             emitter="com.jogamp.gluegen.JavaEmitter"
 
172
             dumpCPP="false"
 
173
             debug="false">
 
174
      <classpath refid="gluegen.classpath" />
 
175
    </gluegen>
 
176
    <gluegen src="stub_includes/unix/dynamic-linker.h"
 
177
             config="dynlink-unix.cfg"
 
178
             includeRefId="stub.includes.fileset.unix"
 
179
             emitter="com.jogamp.gluegen.JavaEmitter"
 
180
             dumpCPP="false"
 
181
             debug="false">
 
182
      <classpath refid="gluegen.classpath" />
 
183
    </gluegen>
 
184
    <gluegen src="stub_includes/macosx/dynamic-linker.h"
 
185
             config="dynlink-macosx.cfg"
 
186
             includeRefId="stub.includes.fileset.macosx"
 
187
             emitter="com.jogamp.gluegen.JavaEmitter"
 
188
             dumpCPP="false"
 
189
             debug="false">
 
190
      <classpath refid="gluegen.classpath" />
 
191
    </gluegen>
 
192
  </target>
 
193
 
 
194
    <!-- ================================================================== -->
 
195
    <!-- 
 
196
       - Set up java.home.dir appropriately on all platforms.
 
197
      -->
 
198
    <target name="setup.java.home.dir.nonmacosx" depends="gluegen.properties.load.user" unless="isOSX">
 
199
      <!-- java home dir is up one directory as java.home points to '<java-install-dir>/jre' -->
 
200
      <property name="java.home.dir" value="${java.home}/.." />
 
201
    </target>
 
202
    <target name="setup.java.home.dir.macosx" depends="gluegen.properties.load.user" if="isOSX">
 
203
      <property name="java.home.dir" value="/System/Library/Frameworks/JavaVM.framework/Home" />
 
204
    </target>
 
205
    <target name="setup.java.home.dir" depends="setup.java.home.dir.nonmacosx,setup.java.home.dir.macosx" >
 
206
      <property name="java.includes.dir" value="${java.home.dir}/include" />
 
207
    </target>
 
208
 
 
209
    <!-- ================================================================== -->
 
210
    <!-- 
 
211
       - Compile the native C code for GlueGen's dynamic linker interface.
 
212
      -->
 
213
 
 
214
    <target name="declare.win32.vc6" if="isVC6">
 
215
      <echo message="Win32.VC6" />
 
216
      <property name="compiler.cfg.id"                      value="compiler.cfg.win32.msvc" />
 
217
      <property name="linker.cfg.id"                        value="linker.cfg.win32.msvc" />
 
218
    </target>
 
219
    
 
220
    <target name="declare.win32.vc7" if="isVC7">
 
221
      <echo message="Win32.VC7" />
 
222
      <property name="compiler.cfg.id"                      value="compiler.cfg.win32.msvc" />
 
223
      <property name="linker.cfg.id"                        value="linker.cfg.win32.msvc" />
 
224
    </target>
 
225
    
 
226
    <target name="declare.win32.vc8" if="isVC8">
 
227
      <echo message="Win32.VC8" />
 
228
      <property name="compiler.cfg.id"                      value="compiler.cfg.win32.msvc" />
 
229
      <property name="linker.cfg.id"                        value="linker.cfg.win32.msvc" />
 
230
    </target>
 
231
    
 
232
    <target name="declare.win32.vc8_x64" if="isVC8_X64">
 
233
      <echo message="Win32.VC8_X64" />
 
234
      <property name="compiler.cfg.id"                      value="compiler.cfg.win32.msvc" />
 
235
      <property name="linker.cfg.id"                        value="linker.cfg.win32.msvc" />
 
236
    </target>
 
237
    
 
238
    <target name="declare.win32.vc9" if="isVC9">
 
239
      <echo message="Win32.VC9" />
 
240
      <property name="compiler.cfg.id"                      value="compiler.cfg.win32.msvc" />
 
241
      <property name="linker.cfg.id"                        value="linker.cfg.win32.msvc" />
 
242
    </target>
 
243
    
 
244
    <target name="declare.win32.mingw" if="isMingW32">
 
245
      <echo message="Win32.MingW" />
 
246
      <property name="compiler.cfg.id"                      value="compiler.cfg.win32.mingw" />
 
247
      <property name="linker.cfg.id"                        value="linker.cfg.win32.mingw" />
 
248
    </target>
 
249
 
 
250
    <target name="declare.win64.mingw" if="isMingW64">
 
251
      <echo message="Win64.MingW" />
 
252
      <property name="compiler.cfg.id"                      value="compiler.cfg.win64.mingw" />
 
253
      <property name="linker.cfg.id"                        value="linker.cfg.win64.mingw" />
 
254
    </target>
 
255
 
 
256
    <target name="declare.win32" depends="declare.win32.vc6,declare.win32.vc7,declare.win32.vc8,declare.win32.vc8_x64,declare.win32.vc9,declare.win32.mingw,declare.win64.mingw" if="isWindows" >
 
257
      <property name="c.src.dir.os"                         value="windows" />
 
258
      <property name="java.includes.dir.platform"           value="${java.includes.dir}/win32" />
 
259
    </target>
 
260
 
 
261
    <target name="declare.linux.x86" if="isLinuxX86">
 
262
      <echo message="Linux.x86" />
 
263
      <property name="compiler.cfg.id"                      value="compiler.cfg.linux" /> 
 
264
      <property name="linker.cfg.id"                        value="linker.cfg.linux" /> 
 
265
    </target>
 
266
    
 
267
    <target name="declare.linux.amd64" if="isLinuxAMD64">
 
268
      <echo message="Linux.AMD64" />
 
269
      <property name="compiler.cfg.id"                      value="compiler.cfg.linux.amd64" />
 
270
      <property name="linker.cfg.id"                        value="linker.cfg.linux.amd64" />
 
271
    </target>
 
272
    
 
273
    <target name="declare.linux.ia64" if="isLinuxIA64">
 
274
      <echo message="Linux.IA64" />
 
275
      <property name="compiler.cfg.id"                      value="compiler.cfg.linux" /> 
 
276
      <property name="linker.cfg.id"                        value="linker.cfg.linux" /> 
 
277
    </target>
 
278
 
 
279
    <target name="declare.linux" depends="declare.linux.x86,declare.linux.amd64,declare.linux.ia64" if="isLinux" >
 
280
      <property name="c.src.dir.os"                         value="unix" />
 
281
      <property name="java.includes.dir.platform"           value="${java.includes.dir}/linux" />
 
282
    </target>
 
283
 
 
284
    <target name="declare.solaris32" if="isSolaris32Bit">
 
285
      <echo message="Solaris" />
 
286
      <property name="compiler.cfg.id"                      value="compiler.cfg.solaris" /> 
 
287
      <property name="linker.cfg.id"                        value="linker.cfg.solaris" /> 
 
288
    </target>
 
289
 
 
290
    <target name="declare.solarisSparcv9" if="isSolarisSparcv9">
 
291
      <echo message="SolarisSparcv9" />
 
292
      <property name="compiler.cfg.id"                      value="compiler.cfg.solaris.sparcv9" /> 
 
293
      <property name="linker.cfg.id"                        value="linker.cfg.solaris.sparcv9" /> 
 
294
    </target>
 
295
 
 
296
    <target name="declare.solarisAMD64" if="isSolarisAMD64">
 
297
      <echo message="SolarisAMD64" />
 
298
      <property name="compiler.cfg.id"                      value="compiler.cfg.solaris.amd64" /> 
 
299
      <property name="linker.cfg.id"                        value="linker.cfg.solaris.amd64" /> 
 
300
    </target>
 
301
   
 
302
    <target name="declare.solaris" depends="declare.solaris32,declare.solarisSparcv9,declare.solarisAMD64" if="isSolaris" >
 
303
      <property name="c.src.dir.os"                         value="unix" />
 
304
      <property name="java.includes.dir.platform"           value="${java.includes.dir}/solaris" />
 
305
    </target>
 
306
 
 
307
    <target name="declare.macosx" if="isOSX">
 
308
      <echo message="MacOSX" />
 
309
      <property name="compiler.cfg.id"                      value="compiler.cfg.macosx" /> 
 
310
      <property name="linker.cfg.id"                        value="linker.cfg.macosx" /> 
 
311
      <property name="c.src.dir.os"                         value="macosx" />
 
312
      <property name="java.includes.dir.platform"           value="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Headers" />
 
313
    </target>
 
314
    
 
315
    <target name="declare.freebsd.amd64" if="isFreeBSDAMD64">
 
316
      <echo message="FreeBSDAMD64" />
 
317
      <property name="compiler.cfg.id"                      value="compiler.cfg.freebsd" />
 
318
      <property name="linker.cfg.id"                        value="linker.cfg.freebsd.amd64" />
 
319
      <property name="c.src.dir.os"                         value="unix" />
 
320
    </target>
 
321
 
 
322
    <target name="declare.freebsd.x86" if="isFreeBSDX86">
 
323
      <echo message="FreeBSDX86" />
 
324
      <property name="compiler.cfg.id"                      value="compiler.cfg.freebsd" />
 
325
      <property name="linker.cfg.id"                        value="linker.cfg.freebsd.x86" />
 
326
      <property name="c.src.dir.os"                         value="unix" />
 
327
    </target>
 
328
 
 
329
    <target name="declare.freebsd" depends="declare.freebsd.x86,declare.freebsd.amd64" if="isFreeBSD" >
 
330
      <property name="c.src.dir.os"                         value="unix" />
 
331
      <property name="java.includes.dir.platform"           value="${java.includes.dir}/freebsd" />
 
332
    </target>
 
333
 
 
334
    <target name="declare.hpux" if="isHPUX">
 
335
      <echo message="HP-UX" />
 
336
      <property name="compiler.cfg.id"                      value="compiler.cfg.hpux" />
 
337
      <property name="linker.cfg.id"                        value="linker.cfg.hpux" />
 
338
      <property name="c.src.dir.os"                         value="unix" />
 
339
      <property name="java.includes.dir.hpux"               value="${java.includes.dir}/hp-ux" />
 
340
    </target>
 
341
 
 
342
    <target name="c.configure" depends="gluegen.cpptasks.detect.os,gluegen.cpptasks.detect.compiler,setup.java.home.dir,declare.win32,declare.linux,declare.solaris,declare.macosx,declare.freebsd,declare.hpux,gluegen.cpptasks.configure.compiler" unless="build.javaonly" >
 
343
      <!-- Common properties -->
 
344
      <property name="java.includes.dir" value="${java.home.dir}/include" /> <!-- NOTE:  this MUST be relative for FileSet -->
 
345
 
 
346
      <property name="c.compiler.src.files.os" value="src/native/${c.src.dir.os}/*.c" />
 
347
 
 
348
      <property name="output.lib.name" value="gluegen-rt" />
 
349
    </target>
 
350
 
 
351
    <target name="c.rename.lib.mingw" if="isMingW">
 
352
      <!-- FIXME: this is a hack; the cpptask should have an option to change the
 
353
           suffix or at least understand the override from .so to .dll -->
 
354
      <move file="${build}/obj/libgluegen-rt.so" tofile="${build}/obj/gluegen-rt.dll" />
 
355
    </target>
 
356
 
 
357
    <target name="c.rename.lib.macosx" if="isOSX">
 
358
      <move file="${build}/obj/libgluegen-rt.dylib" tofile="${build}/obj/libgluegen-rt.jnilib" />
 
359
      <copy file="${build}/obj/libgluegen-rt.jnilib" tofile="${build}/obj/libgluegen-rt.so" />
 
360
    </target>
 
361
 
 
362
    <target name="c.manifest" if="isVC8Family">
 
363
      <!-- exec mt, the Microsoft Manifest Tool, to include DLL manifests in order to resolve the location of msvcr80.dll -->
 
364
      <msvc.manifest objdir="${build}/obj" dllname="gluegen-rt" />
 
365
    </target>
 
366
 
 
367
    <target name="c.build" depends="init, c.configure" unless="build.javaonly" >
 
368
 
 
369
      <fail message="Requires '${c.compiler.src.files.os}'" unless="c.compiler.src.files.os"/>
 
370
      <fail message="Requires '${compiler.cfg.id}'"      unless="compiler.cfg.id"/>
 
371
      <fail message="Requires '${linker.cfg.id}'"        unless="linker.cfg.id"/>
 
372
      <fail message="Requires '${output.lib.name}'"      unless="output.lib.name"/>
 
373
 
 
374
      <echo message="Output lib name = ${output.lib.name}" />
 
375
 
 
376
      <!-- NOTE: the value of the debug and optimise attributes will not be overridden if already set externally -->
 
377
      <property name="c.compiler.debug"     value="false" /> 
 
378
      <!-- Optimise flags one of { none, size, speed, minimal, full, aggressive, extreme, unsafe } --> 
 
379
      <property name="c.compiler.optimise"  value="none" /> 
 
380
 
 
381
      <condition property="c.compiler.use-debug"><istrue value="${c.compiler.debug}"/></condition>
 
382
 
 
383
      <mkdir dir="${gluegen.lib.dir}"/>
 
384
 
 
385
      <property name="c.compiler.src.files.common" value="src/native/common/*.c" />
 
386
 
 
387
      <echo message="Compiling ${c.compiler.src.files.os} ${c.compiler.src.files.common}" />
 
388
      <echo message="user.dir=${user.dir}" />
 
389
 
 
390
      <cc outtype="shared" 
 
391
          objdir="${gluegen.lib.dir}"
 
392
          outfile="${gluegen.lib.dir}/${output.lib.name}"
 
393
          optimize="${c.compiler.optimise}" 
 
394
          debug="${c.compiler.debug}"
 
395
          multithreaded="true" 
 
396
          exceptions="false" 
 
397
          rtti="false">   
 
398
 
 
399
        <!-- TODO: versioninfo  companyname="java.net"
 
400
                      legalcopyright="Copyright"
 
401
                      productname="GlueGen" 
 
402
                      productversion="x.y.z"
 
403
                      description="Description"
 
404
                      fileversion="x.y.z" 
 
405
                      filecomments="File Comment" /-->      
 
406
 
 
407
        <fileset dir="..">
 
408
          <patternset>
 
409
            <include name="${c.compiler.src.files.os}" />
 
410
            <include name="${c.compiler.src.files.common}" />
 
411
          </patternset>
 
412
        </fileset>
 
413
 
 
414
        <compiler extends="${compiler.cfg.id}" >
 
415
          <sysincludepath path="${java.includes.dir}"/>
 
416
          <sysincludepath path="${java.includes.dir.platform}"/>
 
417
          <sysincludepath path="${stub.includes.dir}/platform"/>
 
418
        </compiler>
 
419
 
 
420
        <linker extends="${linker.cfg.id}" />
 
421
      </cc>
 
422
 
 
423
      <antcall target="c.rename.lib.mingw" inheritRefs="true" />
 
424
      <antcall target="c.rename.lib.macosx" inheritRefs="true" />
 
425
 
 
426
      <antcall target="gluegen.cpptasks.striplibs" inheritRefs="true">
 
427
          <param name="libdir" value="${gluegen.lib.dir}"/>
 
428
      </antcall>
 
429
 
 
430
      <antcall target="c.manifest" inheritRefs="true" />
 
431
    </target>  
 
432
 
 
433
  <target name="gluegen.build.gluegen-rt.cdc" >
 
434
    <!-- Build just the gluegen-rt.cdc.jar classes using the Java CDC
 
435
         boot classes -->
 
436
    <copy todir="${classes-cdc}">
 
437
        <fileset dir="${classes}"
 
438
                 includes="com/** net/**" 
 
439
                 excludes="com/jogamp/gluegen/runtime/** com/jogamp/gluegen/test/**" />
 
440
    </copy>
 
441
 
 
442
    <!-- bootclasspath="${javac.bootclasspath-cdc.jar}"-->
 
443
    <javac destdir="${classes-cdc}"
 
444
           source="1.4"
 
445
           debug="true"
 
446
           debuglevel="source,lines,vars"
 
447
           includeAntRuntime="false"
 
448
           excludes="${gluegen.excludes}"
 
449
           >
 
450
      <src path="${src.java}" />
 
451
      <src path="${src.generated.java-cdc}" />
 
452
      <classpath refid="antlr.classpath" />
 
453
    </javac>
 
454
  </target>
 
455
 
 
456
  <!-- ================================================================== -->
 
457
  <!--
 
458
    - Build GlueGen.
 
459
    -->
 
460
  <target name="pre-build">
 
461
 
 
462
    <!-- Int*Maps -->
 
463
    <antcall target="create-map" inheritrefs="true">
 
464
        <param name="map.name" value="IntObjectHashMap"/>
 
465
        <param name="map.key" value="int"/>
 
466
        <param name="map.value" value="Object"/>
 
467
        <param name="map.null" value="null"/>
 
468
    </antcall>
 
469
 
 
470
    <antcall target="create-map" inheritrefs="true">
 
471
        <param name="map.name" value="IntLongHashMap"/>
 
472
        <param name="map.key" value="int"/>
 
473
        <param name="map.value" value="long"/>
 
474
        <param name="map.null" value="-1"/>
 
475
    </antcall>
 
476
 
 
477
    <!-- Long*Maps -->
 
478
    <antcall target="create-map" inheritrefs="true">
 
479
        <param name="map.name" value="LongObjectHashMap"/>
 
480
        <param name="map.key" value="long"/>
 
481
        <param name="map.value" value="Object"/>
 
482
        <param name="map.null" value="null"/>
 
483
    </antcall>
 
484
 
 
485
    <antcall target="create-map" inheritrefs="true">
 
486
        <param name="map.name" value="LongIntHashMap"/>
 
487
        <param name="map.key" value="long"/>
 
488
        <param name="map.value" value="int"/>
 
489
        <param name="map.null" value="-1"/>
 
490
    </antcall>
 
491
 
 
492
    <antcall target="create-map" inheritrefs="true">
 
493
        <param name="map.name" value="LongLongHashMap"/>
 
494
        <param name="map.key" value="long"/>
 
495
        <param name="map.value" value="long"/>
 
496
        <param name="map.null" value="-1"/>
 
497
    </antcall>
 
498
 
 
499
  </target>
 
500
 
 
501
  <target name="create-map">
 
502
    <!-- substitutes certain token in IntIntHashmap to create new primitive HasmMap-->
 
503
    <copy file="${src.java}/com/jogamp/common/util/IntIntHashMap.java"
 
504
        tofile="${src.generated.java}/com/jogamp/common/util/${map.name}.java" overwrite="true">
 
505
        <filterchain>
 
506
            <replaceregex pattern="IntIntHashMap" replace="${map.name}"/>
 
507
            <replaceregex pattern="@see ${map.name}" replace="@see IntIntHashMap"/>
 
508
            <replaceregex pattern="/\*value\*/int/\*value\*/" replace="${map.value}"/>
 
509
            <replaceregex pattern="/\*key\*/int/\*key\*/" replace="${map.key}"/>
 
510
            <replaceregex pattern="/\*null\*/-1/\*null\*/" replace="${map.null}"/>
 
511
        </filterchain>
 
512
        <!-- no clue why we have to do this twice... otherwise it will only replace one token per line -->
 
513
        <filterchain>
 
514
            <replaceregex pattern="/\*value\*/int/\*value\*/" replace="${map.value}"/>
 
515
        </filterchain>
 
516
    </copy>
 
517
  </target>
 
518
 
 
519
  <target name="gluegen.build.check" depends="init">
 
520
      <uptodate property="gluegen.build.skip">
 
521
        <srcfiles dir= "."            includes="*.xml"/>
 
522
        <srcfiles dir= "${src.java}"  includes="**"/>
 
523
        <srcfiles dir= "${c.grammar}" includes="**/*.g"/>
 
524
        <srcfiles dir= "${j.grammar}" includes="**/*.g"/>
 
525
        <mapper type="merge" to="${build}/gluegen.jar"/>
 
526
      </uptodate>
 
527
  </target>
 
528
 
 
529
  <target name="gluegen.build" depends="gluegen.cpptasks.detect.os,gluegen.build.check" unless="gluegen.build.skip">
 
530
    <antcall target="pre-build"  inheritRefs="true"/>
 
531
 
 
532
    <!-- Because ANTLR looks for importVocab files in the current
 
533
         working directory, it likes to have all of its files,
 
534
         including supergrammars, in one place, so copy all of the
 
535
         grammars to the output directory up front so we don't put
 
536
         temporary files into the source tree -->
 
537
    <mkdir dir="${generated.java.from.c.grammar}" />
 
538
    <copy todir="${generated.java.from.c.grammar}">
 
539
      <fileset dir="${c.grammar}">
 
540
        <include name="*.g" />
 
541
      </fileset>
 
542
    </copy>
 
543
    <mkdir dir="${generated.java.from.j.grammar}" />
 
544
    <copy todir="${generated.java.from.j.grammar}">
 
545
      <fileset dir="${j.grammar}">
 
546
        <include name="*.g" />
 
547
      </fileset>
 
548
    </copy>
 
549
 
 
550
    <!-- Generate the Java files from the C grammar using ANTLR. -->
 
551
    <antcall target="generate.grammar"  inheritRefs="true">
 
552
      <param name="output.dir" value="${generated.java.from.c.grammar}" />
 
553
      <param name="target" value="StdCParser.g" />
 
554
    </antcall>
 
555
    <antcall target="generate.c.grammar.glib"  inheritRefs="true">
 
556
      <param name="output.dir" value="${generated.java.from.c.grammar}" />
 
557
      <param name="target" value="GnuCParser.g" />
 
558
      <param name="glib" value="StdCParser.g" />
 
559
    </antcall>
 
560
    <antcall target="generate.grammar"  inheritRefs="true">
 
561
      <param name="output.dir" value="${generated.java.from.c.grammar}" />
 
562
      <param name="target" value="GnuCTreeParser.g" />
 
563
    </antcall>
 
564
    <antcall target="generate.c.grammar.glib"  inheritRefs="true">
 
565
      <param name="output.dir" value="${generated.java.from.c.grammar}" />
 
566
      <param name="target" value="GnuCEmitter.g" />
 
567
      <param name="glib" value="GnuCTreeParser.g" />
 
568
    </antcall>
 
569
    <antcall target="generate.c.grammar.glib"  inheritRefs="true">
 
570
      <param name="output.dir" value="${generated.java.from.c.grammar}" />
 
571
      <param name="target" value="HeaderParser.g" />
 
572
      <param name="glib" value="GnuCTreeParser.g" />
 
573
    </antcall>
 
574
    <antcall target="generate.grammar"  inheritRefs="true">
 
575
      <param name="output.dir" value="${generated.java.from.j.grammar}" />
 
576
      <param name="target" value="JavaParser.g" />
 
577
    </antcall>
 
578
 
 
579
    <!-- Build GlueGen using the generated Java files along with the
 
580
      - original source. -->
 
581
 
 
582
    <property name="gluegen-rt.classes" value="com/jogamp/gluegen/runtime/**"/>
 
583
    <property name="jogamp.common.classes" value="com/jogamp/common/**"/>
 
584
 
 
585
    <!--compile gluegen-rt with source=1.4 first-->
 
586
    <javac destdir="${classes}"
 
587
           source="1.4"
 
588
           debug="true"
 
589
           debuglevel="source,lines,vars"
 
590
           includeAntRuntime="false"
 
591
           includes="${gluegen-rt.classes},${jogamp.common.classes}"
 
592
           excludes="${gluegen.excludes}">
 
593
      <src path="${src.java}" />
 
594
      <src path="${src.generated.java}" />
 
595
      <classpath refid="antlr.classpath" />
 
596
    </javac>
 
597
 
 
598
    <!--compile gluegen with source=1.5-->
 
599
    <javac destdir="${classes}"
 
600
           source="1.5"
 
601
           debug="true"
 
602
           debuglevel="source,lines,vars"
 
603
           includeAntRuntime="true"
 
604
           excludes="${gluegen.excludes},${gluegen-rt.classes}">
 
605
      <src path="${src.java}" />
 
606
      <src path="${src.generated.java}" />
 
607
      <classpath refid="antlr.classpath" />
 
608
    </javac>
 
609
 
 
610
    <copy file="Manifest"
 
611
          tofile="${build}/Manifest.temp"
 
612
          overwrite="true">
 
613
        <filterset>
 
614
            <filter token="VERSION" value="${gluegen.version}"/>
 
615
            <filter token="SCM_BRANCH" value="${gluegen.build.branch}"/>
 
616
            <filter token="SCM_COMMIT" value="${gluegen.build.commit}"/>
 
617
            <filter token="BASEVERSION" value="${gluegen_base_version}"/>
 
618
        </filterset>
 
619
    </copy>
 
620
 
 
621
    <!-- Build gluegen.jar. -->
 
622
    <jar destfile="${build}/gluegen.jar" manifest="${build}/Manifest.temp">
 
623
      <fileset dir="${classes}">
 
624
        <include name="**/*.class" />
 
625
      </fileset>
 
626
    </jar>
 
627
 
 
628
    <copy file="Manifest-rt"
 
629
          tofile="${build}/Manifest-rt.temp"
 
630
          overwrite="true">
 
631
        <filterset>
 
632
            <filter token="VERSION" value="${gluegen.version}"/>
 
633
            <filter token="SCM_BRANCH" value="${gluegen.build.branch}"/>
 
634
            <filter token="SCM_COMMIT" value="${gluegen.build.commit}"/>
 
635
            <filter token="BASEVERSION" value="${gluegen_base_version}"/>
 
636
        </filterset>
 
637
    </copy>
 
638
 
 
639
    <copy file="Manifest-rt.cdc"
 
640
          tofile="${build}/Manifest-rt.cdc.temp"
 
641
          overwrite="true">
 
642
        <filterset>
 
643
            <filter token="VERSION" value="${gluegen.version}"/>
 
644
            <filter token="SCM_BRANCH" value="${gluegen.build.branch}"/>
 
645
            <filter token="SCM_COMMIT" value="${gluegen.build.commit}"/>
 
646
            <filter token="BASEVERSION" value="${gluegen_base_version}"/>
 
647
        </filterset>
 
648
    </copy>
 
649
 
 
650
    <!-- Build the (native code) NativeLibrary support for
 
651
         gluegen-rt[-cdc].jar using the just-built GlueGen. -->
 
652
    <antcall target="c.build" inheritRefs="true" />
 
653
 
 
654
    <!-- Build gluegen-rt.jar. -->
 
655
    <jar destfile="${build}/gluegen-rt.jar" manifest="${build}/Manifest-rt.temp">
 
656
      <fileset dir="${classes}">
 
657
        <include name="com/jogamp/gluegen/runtime/*.class" />
 
658
        <include name="com/jogamp/common/**" />
 
659
      </fileset>
 
660
    </jar>
 
661
    <jar destfile="${build}/gluegen-rt-natives-${os.and.arch}.jar" manifest="${build}/Manifest-rt.temp">
 
662
      <fileset dir="${build}/obj">
 
663
        <include name="*gluegen-rt.${native.library.suffix}" />
 
664
      </fileset>
 
665
    </jar>
 
666
 
 
667
    <!-- Build just the gluegen-rt.cdc.jar classes using the Java CDC
 
668
         boot classes. -->
 
669
    <antcall target="gluegen.build.gluegen-rt.cdc" inheritRefs="true" />
 
670
 
 
671
    <!-- Build gluegen-rt.cdc.jar. -->
 
672
    <jar destfile="${build}/gluegen-rt.cdc.jar" manifest="${build}/Manifest-rt.cdc.temp">
 
673
      <fileset dir="${classes-cdc}">
 
674
        <include name="com/jogamp/gluegen/runtime/*.class" />
 
675
        <include name="com/jogamp/common/impl/*.class" />
 
676
        <include name="com/jogamp/common/jvm/*.class" />
 
677
        <include name="com/jogamp/common/type/*.class" />
 
678
        <include name="com/jogamp/common/util/*.class" />
 
679
        <include name="com/jogamp/common/util/locks/*.class" />
 
680
        <include name="com/jogamp/common/nio/*.class" />
 
681
        <include name="com/jogamp/common/os/*.class" />
 
682
        <include name="com/jogamp/common/*.class" />
 
683
      </fileset>
 
684
    </jar>
 
685
    <jar destfile="${build}/gluegen-rt-natives-${os.and.arch}-cdc.jar" manifest="${build}/Manifest-rt.cdc.temp">
 
686
      <fileset dir="${build}/obj">
 
687
        <include name="*gluegen-rt.${native.library.suffix-cdc}" />
 
688
      </fileset>
 
689
    </jar>
 
690
 
 
691
    <!-- Copy antlr.jar into build directory for convenience so
 
692
         gluegen.jar can be run via "java -jar". antlr.jar is
 
693
         referenced via a Class-Path entry in the Manifest of
 
694
         gluegen.jar. -->
 
695
    <copy file="${antlr.jar}" todir="${build}" />
 
696
  </target>
 
697
 
 
698
  <target name="base.compile" depends="init, gluegen.build" />
 
699
 
 
700
  <target name="all" depends="base.compile, junit.compile, tag.build, developer-zip-archive" />
 
701
 
 
702
  <target name="clean" depends="init">
 
703
    <delete includeEmptyDirs="true">
 
704
      <fileset dir="${build}" />
 
705
    </delete>
 
706
  </target>    
 
707
 
 
708
  <target name="tag.build" depends="init">
 
709
    <echo message='gluegen.build.number=${gluegen.build.number}${line.separator}' file="${build}/artifact.properties"/>
 
710
    <echo message='gluegen.build.id=${gluegen.build.id}${line.separator}'         file="${build}/artifact.properties" append="true"/>
 
711
    <echo message='gluegen.build.branch=${gluegen.build.branch}${line.separator}' file="${build}/artifact.properties" append="true"/>
 
712
    <echo message='gluegen.build.commit=${gluegen.build.commit}${line.separator}' file="${build}/artifact.properties" append="true"/>
 
713
  </target>
 
714
 
 
715
  <target name="junit.compile" depends="init, gluegen.cpptasks.detect.os">
 
716
    <mkdir dir="${build}/test/build/classes"/>
 
717
 
 
718
    <javac destdir="${build}/test/build/classes" srcdir="${gluegen.root}/test/junit" source="1.5" failonerror="false"
 
719
        debug="true" debuglevel="lines,vars,source" includeAntRuntime="false"
 
720
        excludes="com/jogamp/gluegen/StructValidator.java">
 
721
      <classpath path="${junit.jar}:${build}/classes:${build}/test/gensrc/java:${tools.jar}:${ant.core.lib}"/>
 
722
    </javac>
 
723
 
 
724
    <ant antfile="build-junit.xml" target="junit.compile"/>
 
725
  </target>
 
726
 
 
727
  <target name="junit.run" depends="junit.compile">
 
728
    <mkdir dir="${build}/test/results"/>
 
729
    <delete quiet="true">
 
730
        <fileset dir="${build}/test/results" includes="**"/>
 
731
    </delete>
 
732
 
 
733
    <junit forkmode="once" showoutput="true" fork="true" includeAntRuntime="true">
 
734
      <env key="${system.env.library.path}" path="${gluegen.lib.dir}${path.separator}${build}/test/build/natives"/>
 
735
      <jvmarg value="-Djava.library.path=${gluegen.lib.dir}${path.separator}${build}/test/build/natives"/>
 
736
      <jvmarg value="-Drootrel.build=${rootrel.build}"/>
 
737
      <jvmarg value="-Dos.arch=${os.arch}"/>
 
738
      <jvmarg value="-Dgluegen.user.compiler.file=${gluegen.user.compiler.file}"/>
 
739
      <batchtest todir="${build}/test/results">
 
740
          <fileset dir="${build}/test/build/classes">
 
741
              <include name="com/jogamp/gluegen/**Test*"/>
 
742
              <include name="com/jogamp/common/nio/**Test*"/>
 
743
              <include name="com/jogamp/common/util/**Test*"/>
 
744
              <include name="com/jogamp/common/util/locks/**Test*"/>
 
745
              <exclude name="**/*$$*"/>
 
746
          </fileset>
 
747
          <formatter usefile="false" type="plain"/>
 
748
          <formatter usefile="true" type="xml"/>
 
749
      </batchtest>
 
750
      <classpath>
 
751
          <path path="${build}/test/build/classes:${build}/test/gensrc/java:${build}/gluegen-rt.jar:${build}/gluegen.jar:${antlr.jar}:${junit.jar}:${tools.jar}:${ant.core.lib}"/>
 
752
      </classpath>
 
753
    </junit>
 
754
 
 
755
    <ant antfile="build-junit.xml" target="junit.run"/>
 
756
  </target>
 
757
 
 
758
  <target name="javadoc" depends="init">
 
759
    <!-- Build the general public Javadoc in the target folder hierarchy javadoc/gluegen/javadoc -->
 
760
    <delete dir="${javadoc.gluegen.path}" includeEmptyDirs="true" quiet="true" failonerror="false" />
 
761
    <mkdir dir="${javadoc.gluegen.path}" />
 
762
    <javadoc packagenames="com.jogamp.*"
 
763
             sourcepath="${src.java};${src.generated.java}"
 
764
             destdir="${javadoc.gluegen.path}" windowtitle="GlueGen Runtime Documentation"
 
765
             overview="../src/java/com/jogamp/gluegen/package.html"
 
766
             source="1.5"
 
767
             maxmemory="256m" >
 
768
        <classpath path="${classes}"/>
 
769
        <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" />
 
770
        <excludepackage name="com.jogamp.common.impl"/>
 
771
    </javadoc>
 
772
    <zip destfile="${build}/javadoc.zip"
 
773
         basedir="${javadoc.root.path}"
 
774
         includes="gluegen/**" />
 
775
  </target>
 
776
 
 
777
    <!-- ================================================================== -->
 
778
    <!--
 
779
       - Build the per-platform binary zip archive for developers.
 
780
       - This must be called after all of the build targets complete.
 
781
      -->
 
782
 
 
783
    <target name="developer-zip-archive" depends="init" unless="build.noarchives">
 
784
        <delete includeEmptyDirs="true" quiet="true" dir="${archive}" failonerror="false" />
 
785
        <mkdir dir="${archive}" />
 
786
        <copy file="${build}/artifact.properties" todir="${archive}"/>
 
787
        <copy file="../LICENSE.txt"    todir="${archive}" />
 
788
        <mkdir dir="${archive}/jar" />
 
789
        <copy todir="${archive}/jar">
 
790
            <fileset dir="${build}" includes="gluegen*.jar"/>
 
791
        </copy>
 
792
        <mkdir dir="${archive}/lib" />
 
793
        <copy todir="${archive}/lib">
 
794
            <fileset dir="${build}/obj" includes="*${native.library.suffix}"/>
 
795
        </copy>
 
796
        <mkdir dir="${archive}/jnlp-files" />
 
797
        <copy todir="${archive}/jnlp-files">
 
798
            <fileset dir="${project.root}/jnlp-files" includes="*" />
 
799
        </copy>
 
800
        <delete quiet="true" file="${build}/${archive.name}.zip"/>
 
801
        <zip destfile="${build}/${archive.name}.zip"
 
802
             basedir="${build}"
 
803
             includes="${archive.name}/**" />
 
804
        <!-- Clean up after ourselves -->
 
805
        <delete includeEmptyDirs="true" quiet="true" dir="${archive}" failonerror="false" />
 
806
    </target>
 
807
 
 
808
        <!-- Put  the files created by target gluegen.build from
 
809
         build directory to maven repository, local or remote
 
810
         (targets maven.install and maven.deploy.snapshot respectively)-->
 
811
    
 
812
    <import file="maven-common.xml" />
 
813
 
 
814
    <target name="maven.prepare.pom">
 
815
        <copy file="pom-template.xml" tofile="${build}/pom-${artifactId}.xml" overwrite="true">
 
816
            <filterset>
 
817
                <filter token="ARTIFACTID" value="${artifactId}"/>
 
818
                <filter token="VERSION" value="${maven.artifacts.version}"/>
 
819
                <filter token="DESCRIPTION" value="${description}"/>
 
820
                <filter token="DEPENDENCIES" value=""/>
 
821
            </filterset>
 
822
        </copy>
 
823
    </target>
 
824
 
 
825
    <target name="maven.prepare.native.pom">
 
826
        <loadfile srcfile="pom-rt-dependency.xml" property="maven.dependencies.section"/>
 
827
        <copy file="pom-template.xml" tofile="${build}/pom-${artifactId}-${os.and.arch}.xml" overwrite="true">
 
828
            <filterchain description="Put in the dependencies section, then replace tokens">
 
829
                <replacetokens>
 
830
                    <token key="DEPENDENCIES" value="${maven.dependencies.section}"/>
 
831
                </replacetokens>
 
832
                <replacetokens>
 
833
                    <token key="ARTIFACTID" value="${artifactId}"/>
 
834
                    <token key="VERSION" value="${maven.artifacts.version}"/>
 
835
                    <token key="DESCRIPTION" value="${description}"/>
 
836
                </replacetokens>
 
837
            </filterchain>
 
838
        </copy>
 
839
    </target>
 
840
 
 
841
    <target name="maven.install.artifact">
 
842
        <antcall target="maven.prepare.pom" inheritall="true"/>
 
843
        <exec executable="mvn" dir="${build}">
 
844
            <arg value="install:install-file"/>
 
845
            <arg value="-Dfile=${artifactId}.jar"/>
 
846
            <arg value="-DpomFile=pom-${artifactId}.xml"/>
 
847
            <arg value="-DcreateChecksum=true"/>
 
848
        </exec>
 
849
    </target>
 
850
 
 
851
 
 
852
    <target name="maven.install.native.artifact">
 
853
        <antcall target="maven.prepare.native.pom" inheritall="true"/>
 
854
        <exec executable="mvn" dir="${build}">
 
855
            <arg value="install:install-file"/>
 
856
            <arg value="-Dfile=${artifactId}-${os.and.arch}.jar"/>
 
857
            <arg value="-DpomFile=pom-${artifactId}-${os.and.arch}.xml"/>
 
858
            <arg value="-DcreateChecksum=true"/>
 
859
            <arg value="-Dclassifier=${os.and.arch}"/>
 
860
        </exec>
 
861
    </target>
 
862
 
 
863
    <target name="maven.deploy.artifact">
 
864
        <antcall target="maven.prepare.pom" inheritall="true"/>
 
865
        <exec executable="mvn" dir="${build}">
 
866
            <arg value="deploy:deploy-file"/>
 
867
            <arg value="-DrepositoryId=sonatype-nexus-snapshots"/>
 
868
            <arg value="-Durl=https://oss.sonatype.org/content/repositories/snapshots/"/>
 
869
 
 
870
            <arg value="-Dfile=${artifactId}.jar"/>
 
871
            <arg value="-DpomFile=pom-${artifactId}.xml"/>
 
872
            <arg value="-DcreateChecksum=true"/>
 
873
        </exec>
 
874
    </target>
 
875
 
 
876
    <target name="maven.deploy.native.artifact">
 
877
        <antcall target="maven.prepare.native.pom" inheritall="true"/>
 
878
        <exec executable="mvn" dir="${build}">
 
879
            <arg value="deploy:deploy-file"/>
 
880
            <arg value="-DrepositoryId=sonatype-nexus-snapshots"/>
 
881
            <arg value="-Durl=https://oss.sonatype.org/content/repositories/snapshots/"/>
 
882
 
 
883
            <arg value="-Dfile=${artifactId}-${os.and.arch}.jar"/>
 
884
            <arg value="-DpomFile=pom-${artifactId}-${os.and.arch}.xml"/>
 
885
            <arg value="-DcreateChecksum=true"/>
 
886
            <arg value="-Dclassifier=${os.and.arch}"/>
 
887
        </exec>
 
888
    </target>
 
889
 
 
890
    <target name="maven.antcalls">
 
891
        <antcall target="maven.${mvn.task}.artifact" inheritall="true">
 
892
            <param name="artifactId" value="gluegen"/>
 
893
            <param name="description" value="GlueGen - JNI Glue Code Generator"/>
 
894
        </antcall>
 
895
        <antcall target="maven.${mvn.task}.artifact" inheritall="true">
 
896
            <param name="artifactId" value="gluegen-rt"/>
 
897
            <param name="description" value="GlueGen runtime"/>
 
898
        </antcall>
 
899
        <antcall target="maven.${mvn.task}.native.artifact" inheritall="true">
 
900
            <param name="artifactId" value="gluegen-rt-natives"/>
 
901
            <param name="description" value="GlueGen runtime native libraries for ${os.and.arch}"/>
 
902
        </antcall>
 
903
        <!--<antcall target="maven.${mvn.task}.artifact" inheritall="true">-->
 
904
        <!--<param name="artifactId" value="gluegen-rt-cdc"/>-->
 
905
        <!--<param name="description" value="Gluegen CDC Runtime"/>-->
 
906
        <!--</antcall>-->
 
907
        <!--<antcall target="maven.${mvn.task}.artifact" inheritall="true">-->
 
908
        <!--<param name="artifactId" value="gluegen-rt-natives-cdc"/>-->
 
909
        <!--<param name="description" value="Gluegen CDC runtime native libraries for ${os.and.arch}"/>-->
 
910
        <!--</antcall>-->
 
911
    </target>
 
912
 
 
913
    <target name="maven.install" depends="init, gluegen.build">
 
914
        <property name="maven.artifacts.version" value="${gluegen_base_version}"/>
 
915
        <antcall target="maven.antcalls" inheritall="true">
 
916
            <param name="mvn.task" value="install"/>
 
917
        </antcall>
 
918
    </target>
 
919
 
 
920
    <target name="maven.deploy.snapshot" depends="init, gluegen.build">
 
921
        <property name="maven.artifacts.version" value="${gluegen_base_version}-SNAPSHOT"/>
 
922
        <antcall target="maven.antcalls" inheritall="true">
 
923
            <param name="mvn.task" value="deploy"/>
 
924
        </antcall>
 
925
    </target>
 
926
 
 
927
</project>