Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/src/macosx/native_NOTIOS/jobjc/build.xml
48472 views
1
<?xml version="1.0" encoding="UTF-8"?>
2
<!--
3
#
4
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
5
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6
#
7
# This code is free software; you can redistribute it and/or modify it
8
# under the terms of the GNU General Public License version 2 only, as
9
# published by the Free Software Foundation. Oracle designates this
10
# particular file as subject to the "Classpath" exception as provided
11
# by Oracle in the LICENSE file that accompanied this code.
12
#
13
# This code is distributed in the hope that it will be useful, but WITHOUT
14
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16
# version 2 for more details (a copy is included in the LICENSE file that
17
# accompanied this code).
18
#
19
# You should have received a copy of the GNU General Public License version
20
# 2 along with this work; if not, write to the Free Software Foundation,
21
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
22
#
23
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
24
# or visit www.oracle.com if you need additional information or have any
25
# questions.
26
#
27
#
28
-->
29
<project name="JObjC" default="install" basedir=".">
30
<property environment="env"/>
31
<echoproperties/>
32
33
<target name="installhdrs">
34
<echo>Nothing to do for install-headers build phase</echo>
35
</target>
36
37
<target name="installsrc">
38
<echo>Nothing to do for install-source build phase</echo>
39
</target>
40
41
<property name="redirection-target-defined" value="${env.PRODUCT_NAME}"/>
42
43
<target name="install" description="Redirects to the target specified in $PRODUCT_NAME">
44
<fail unless="env.PRODUCT_NAME" status="-1">
45
This Ant build file depends on the native Xcode project to invoke
46
targets by defining $PRODUCT_NAME to specify the target.
47
</fail>
48
49
<echo>--- Redirecting to target "${env.PRODUCT_NAME}"</echo>
50
<antcall target="${env.PRODUCT_NAME}"/>
51
</target>
52
53
<property name="compile.debug" value="true"/>
54
55
<!-- building from the command line / xcode b&i -->
56
<condition property="src" value="." else="${env.SRCROOT}">
57
<not><isset property="env.SRCROOT"/></not>
58
</condition>
59
60
<condition property="cfg" value="Debug" else="${env.CONFIGURATION}">
61
<not><isset property="env.CONFIGURATION"/></not>
62
</condition>
63
64
<condition property="obj" value="build/JObjC.build/${cfg}" else="${env.OBJROOT}">
65
<not><isset property="env.OBJROOT"/></not>
66
</condition>
67
68
<condition property="dst" value="build/${cfg}" else="${env.DSTROOT}/${cfg}">
69
<not><isset property="env.DSTROOT"/></not>
70
</condition>
71
72
<condition property="ARCHS" value="ppc i386 x86_64" else="${env.RC_ARCHS}">
73
<not><isset property="env.RC_ARCHS"/></not>
74
</condition>
75
76
<!-- -/- -->
77
78
<property name="bin" location="${obj}/bin"/>
79
<property name="gendoc" location="${obj}/doc"/>
80
81
<condition property="nativelib.dir" value="${dst}">
82
<not><isset property="env.CONFIGURATION_BUILD_DIR"/></not>
83
</condition>
84
<condition property="nativelib.dir" value="${env.CONFIGURATION_BUILD_DIR}">
85
<isset property="env.CONFIGURATION_BUILD_DIR"/>
86
</condition>
87
<property name="nativelib.file" location="${nativelib.dir}/libJObjC.dylib" />
88
89
<property name="jniheaders" location="${obj}/src/jni_headers"/>
90
91
<property name="core.src" location="${src}/src/core/java"/>
92
<property name="core.bin" location="${bin}/core"/>
93
<property name="core.jniheaders" location="${jniheaders}/core"/>
94
<property name="core.nativelib.dir" location="${nativelib.dir}"/>
95
96
<property name="generator.src" location="${src}/src/generator/java"/>
97
<property name="generator.bin" location="${bin}/generator"/>
98
99
<property name="generated.src" location="${obj}/src/jobjc"/>
100
<property name="generated.bin" location="${bin}/generated"/>
101
102
<property name="additions.src" location="${src}/src/runtime-additions"/>
103
<property name="additions.bin" location="${bin}/additions"/>
104
<property name="additions.jniheaders" location="${jniheaders}/additions"/>
105
<property name="additions.nativelib.dir" location="${nativelib.dir}"/>
106
107
<property name="test.src" location="${src}/src/tests/java"/>
108
<property name="test.bin" location="${bin}/test"/>
109
<property name="test.jniheaders" location="${jniheaders}/test"/>
110
<property name="test.reports" location="${obj}/test-reports"/>
111
112
<condition property="product.target_path"
113
value="/System/Library/Java/Extensions"
114
else="${env.INSTALL_PATH}">
115
<not><isset property="env.INSTALL_PATH"/></not>
116
</condition>
117
118
<echo message="(Settings :src '${src}' :cfg '${cfg}' :obj '${obj}' :dst '${dst}')"/>
119
120
<path id="test.lib.path.id">
121
<fileset dir="/usr/share/java">
122
<include name="**/*.jar"/>
123
</fileset>
124
</path>
125
126
<property name="product.jarfile.dir" location="${obj}"/>
127
<property name="product.jarfile.name" value="JObjC.jar"/>
128
<property name="product.jarfile" location="${product.jarfile.dir}/${product.jarfile.name}"/>
129
130
<target name="gen-pcoder" description="Generate PrimitiveCoder.java">
131
<exec executable="ruby" failonerror="true">
132
<arg value="${src}/run-and-write-if-okay"/>
133
<arg value="${src}/src/core/PrimitiveCoder.hs"/>
134
<arg value="${src}/src/core/java/com/apple/jobjc/PrimitiveCoder.java"/>
135
</exec>
136
</target>
137
138
<target name="build-core" depends="gen-pcoder" description="Compile the core runtime classes">
139
<mkdir dir="${core.bin}" />
140
<!-- Compile PrimitiveCoder first to work around javac bug. -->
141
<javac srcdir="${core.src}" destdir="${core.bin}" source="1.5" target="1.5" debug="${compile.debug}"
142
includes="**/PrimitiveCoder.java"
143
includeantruntime="false">
144
<classpath>
145
<path location="${obj}/../langtools/dist/lib/classes.jar"/>
146
</classpath>
147
</javac>
148
<javac srcdir="${core.src}" destdir="${core.bin}" source="1.5" target="1.5" debug="${compile.debug}" includeantruntime="false">
149
<classpath>
150
<path location="${obj}/../langtools/dist/lib/classes.jar"/>
151
</classpath>
152
</javac>
153
154
<exec executable="/usr/bin/perl" outputproperty="core.classes" failonerror="true">
155
<arg value="${src}/extract_classes.pl"/>
156
<arg path="${core.bin}"/>
157
</exec>
158
159
<mkdir dir="${core.jniheaders}" />
160
<javah destdir="${core.jniheaders}" class="${core.classes}">
161
<classpath path="${core.bin}"/>
162
</javah>
163
</target>
164
165
<target name="build-core-native" depends="build-core">
166
<exec executable="xcodebuild" failonerror="true">
167
<env key="CC" value=""/>
168
<env key="CXX" value=""/>
169
<arg value="-configuration"/>
170
<arg value="${cfg}"/>
171
<arg value="-target"/>
172
<arg value="build-core-native"/>
173
<arg value="SRCROOT=${src}"/>
174
<arg value="OBJROOT=${obj}"/>
175
<arg value="DSTROOT=${dst}"/>
176
<arg value="TARGET_TEMP_DIR=${env.DSTROOT}"/>
177
<arg value="PROJECT_TEMP_DIR=${env.DSTROOT}"/>
178
<arg value="BUILD_DIR=${env.DSTROOT}"/>
179
</exec>
180
</target>
181
182
<!-- macosx jdk 7 puts jobjc core classes on the bootclasspath by default -->
183
<target name="build-generator" description="Compile and assemble the generator">
184
<mkdir dir="${generator.bin}"/>
185
<javac srcdir="${generator.src}" destdir="${generator.bin}" source="1.5" target="1.5" debug="${compile.debug}" includeantruntime="false">
186
<compilerarg value="-version"/>
187
<compilerarg value="-Xbootclasspath/p:${core.bin}"/>
188
</javac>
189
</target>
190
191
<!-- Use this indirection hack to work around buildit lockup when
192
running the generator. -->
193
<target name="run-generator" depends="build-generator" description="Invoke the assembled generator">
194
<mkdir dir="${generated.src}"/>
195
<exec executable="ruby" failonerror="true">
196
<arg value="${src}/rungen"/>
197
<arg value="install"/>
198
<arg value="${product.jarfile.name}"/>
199
<arg value="${nativelib.dir}"/>
200
<arg value="${obj}"/>
201
<arg value="${ARCHS}"/>
202
<arg value="${env.STABLE_GEN_DIR}"/>
203
</exec>
204
</target>
205
206
<target name="run-generator-old" depends="build-generator" description="Invoke the assembled generator">
207
<mkdir dir="${generated.src}"/>
208
<java classname="com.apple.internal.jobjc.generator.Generator" fork="true" failonerror="true">
209
<jvmarg value="-Xms128m" />
210
<jvmarg value="-Xmx512m" />
211
<assertions><enable/></assertions>
212
<classpath>
213
<path location="${core.bin}"/>
214
<path location="${generator.bin}"/>
215
</classpath>
216
<sysproperty key="java.library.path" value="${core.nativelib.dir}"/>
217
<arg value="dst=${generated.src}"/>
218
</java>
219
</target>
220
221
<target name="build-generated" description="Build and assemble the JObjC core and all generated frameworks">
222
<mkdir dir="${generated.bin}"/>
223
<javac srcdir="${generated.src}" destdir="${generated.bin}" source="1.5" target="1.5" fork="yes" memoryMaximumSize="512m" debug="${compile.debug}" includeantruntime="false">
224
<classpath>
225
<path location="${core.bin}"/>
226
</classpath>
227
<compilerarg value="-version"/>
228
</javac>
229
</target>
230
231
<target name="build-additions" depends="build-generated">
232
<mkdir dir="${additions.bin}"/>
233
<javac srcdir="${additions.src}" destdir="${additions.bin}" source="1.5" target="1.5" debug="${compile.debug}" includeantruntime="false">
234
<classpath>
235
<path location="${core.bin}"/>
236
<path location="${generated.bin}"/>
237
</classpath>
238
<compilerarg value="-version"/>
239
</javac>
240
241
<exec executable="/usr/bin/perl" outputproperty="additions.classes" failonerror="true">
242
<arg value="${src}/extract_classes.pl"/>
243
<arg path="${additions.bin}"/>
244
</exec>
245
246
<mkdir dir="${additions.jniheaders}"/>
247
<javah destdir="${additions.jniheaders}" class="${additions.classes}">
248
<classpath>
249
<path location="${core.bin}"/>
250
<path location="${generated.bin}"/>
251
<path location="${additions.bin}"/>
252
</classpath>
253
</javah>
254
</target>
255
256
<target name="build-additions-native">
257
<exec executable="xcodebuild" failonerror="true">
258
<env key="CC" value=""/>
259
<env key="CXX" value=""/>
260
<arg value="-configuration"/>
261
<arg value="${cfg}"/>
262
<arg value="-target"/>
263
<arg value="build-additions-native"/>
264
<arg value="SRCROOT=${src}"/>
265
<arg value="OBJROOT=${obj}"/>
266
<arg value="DSTROOT=${dst}"/>
267
<arg value="TARGET_TEMP_DIR=${env.DSTROOT}"/>
268
<arg value="PROJECT_TEMP_DIR=${env.DSTROOT}"/>
269
<arg value="BUILD_DIR=${env.DSTROOT}"/>
270
</exec>
271
</target>
272
273
<target name="assemble-product">
274
<mkdir dir="${product.jarfile.dir}"/>
275
<jar jarfile="${product.jarfile}" level="9" index="true">
276
<fileset dir="${core.bin}"/>
277
<fileset dir="${generated.bin}"/>
278
<fileset dir="${additions.bin}"/>
279
</jar>
280
281
<mkdir dir="${dst}/${product.target_path}"/>
282
<copy file="${product.jarfile}" toDir="${dst}/${product.target_path}" failonerror="true" verbose="true"/>
283
<copy file="${nativelib.file}" toDir="${dst}/${product.target_path}" failonerror="true" verbose="true"/>
284
</target>
285
286
<target name="doc-core">
287
<mkdir dir="${gendoc}"/>
288
<javadoc destdir="${gendoc}" access="protected">
289
<fileset dir="${src}/src" includes="**/*.java"/>
290
</javadoc>
291
</target>
292
293
<target name="build-test" description="compile unit tests">
294
<mkdir dir="${test.bin}"/>
295
<javac srcdir="${test.src}" destdir="${test.bin}" debug="false" includeantruntime="false">
296
<classpath>
297
<pathelement location="${core.bin}"/>
298
<pathelement location="${generator.bin}"/>
299
<pathelement location="${generated.bin}"/>
300
<pathelement location="${additions.bin}"/>
301
</classpath>
302
<classpath refid="test.lib.path.id"/>
303
<compilerarg value="-version"/>
304
</javac>
305
306
<exec executable="/usr/bin/perl" outputproperty="test.classes" failonerror="true">
307
<arg value="${src}/extract_classes.pl"/>
308
<arg path="${test.bin}"/>
309
</exec>
310
311
<mkdir dir="${test.jniheaders}"/>
312
<javah destdir="${test.jniheaders}" class="${test.classes}">
313
<classpath>
314
<path location="${core.bin}"/>
315
<path location="${generated.bin}"/>
316
<path location="${additions.bin}"/>
317
<path location="${test.bin}"/>
318
</classpath>
319
<classpath refid="test.lib.path.id"/>
320
</javah>
321
</target>
322
323
<target name="build-test-installed" description="compile unit tests">
324
<mkdir dir="${test.bin}"/>
325
<javac srcdir="${test.src}" destdir="${test.bin}" debug="false" includeantruntime="false">
326
<compilerarg value="-verbose"/>
327
<classpath>
328
<pathelement location="${generator.bin}"/>
329
<pathelement location="${generated.bin}"/>
330
<pathelement location="${additions.bin}"/>
331
</classpath>
332
<classpath refid="test.lib.path.id"/>
333
<compilerarg value="-version"/>
334
</javac>
335
336
<exec executable="/usr/bin/perl" outputproperty="test.classes" failonerror="true">
337
<arg value="${src}/extract_classes.pl"/>
338
<arg path="${test.bin}"/>
339
</exec>
340
341
<mkdir dir="${test.jniheaders}"/>
342
<javah destdir="${test.jniheaders}" class="${test.classes}">
343
<classpath>
344
<path location="${generated.bin}"/>
345
<path location="${additions.bin}"/>
346
<path location="${test.bin}"/>
347
</classpath>
348
<classpath refid="test.lib.path.id"/>
349
</javah>
350
</target>
351
352
<target name="build-test-native" depends="build-test">
353
<exec executable="xcodebuild" failonerror="true">
354
<env key="CC" value=""/>
355
<env key="CXX" value=""/>
356
<arg value="-configuration"/>
357
<arg value="${cfg}"/>
358
<arg value="-target"/>
359
<arg value="build-test-native"/>
360
<arg value="SRCROOT=${src}"/>
361
<arg value="OBJROOT=${obj}"/>
362
<arg value="DSTROOT=${dst}"/>
363
<arg value="TARGET_TEMP_DIR=${env.DSTROOT}"/>
364
<arg value="PROJECT_TEMP_DIR=${env.DSTROOT}"/>
365
<arg value="BUILD_DIR=${env.DSTROOT}"/>
366
</exec>
367
</target>
368
369
<target name="build-test-native-installed" depends="build-test-installed">
370
<exec executable="xcodebuild" failonerror="true">
371
<env key="CC" value=""/>
372
<env key="CXX" value=""/>
373
<arg value="-configuration"/>
374
<arg value="${cfg}"/>
375
<arg value="-target"/>
376
<arg value="build-test-native"/>
377
<arg value="SRCROOT=${src}"/>
378
<arg value="OBJROOT=${obj}"/>
379
<arg value="DSTROOT=${dst}"/>
380
<arg value="TARGET_TEMP_DIR=${env.DSTROOT}"/>
381
<arg value="PROJECT_TEMP_DIR=${env.DSTROOT}"/>
382
<arg value="BUILD_DIR=${env.DSTROOT}"/>
383
</exec>
384
</target>
385
386
<target name="test" depends="build-test-native" description="run unit tests">
387
<mkdir dir="${test.reports}"/>
388
<junit fork="yes" printsummary="yes">
389
<assertions>
390
<enable/>
391
</assertions>
392
<jvmarg value="-server" />
393
394
<sysproperty key="java.library.path" value="${nativelib.dir}" />
395
<classpath>
396
<pathelement location="${core.bin}"/>
397
<pathelement location="${generator.bin}"/>
398
<pathelement location="${generated.bin}"/>
399
<pathelement location="${additions.bin}"/>
400
<pathelement location="${test.bin}"/>
401
</classpath>
402
<classpath refid="test.lib.path.id"/>
403
404
<formatter type="plain"/>
405
406
<batchtest fork="yes" todir="${test.reports}">
407
<fileset dir="${test.src}">
408
<include name="**/*Test.java"/>
409
<exclude name="**/AllTests.java"/>
410
</fileset>
411
</batchtest>
412
</junit>
413
</target>
414
415
<target name="test-installed" depends="build-test-native-installed" description="run unit tests">
416
<mkdir dir="${test.reports}"/>
417
<junit fork="yes" printsummary="yes">
418
<assertions>
419
<enable/>
420
</assertions>
421
<jvmarg value="-server" />
422
423
<sysproperty key="java.library.path" value="${nativelib.dir}" />
424
<classpath>
425
<pathelement location="${generator.bin}"/>
426
<pathelement location="${generated.bin}"/>
427
<pathelement location="${additions.bin}"/>
428
<pathelement location="${test.bin}"/>
429
</classpath>
430
<classpath refid="test.lib.path.id"/>
431
432
<formatter type="plain"/>
433
434
<batchtest fork="yes" todir="${test.reports}">
435
<fileset dir="${test.src}">
436
<include name="**/*Test.java"/>
437
<exclude name="**/AllTests.java"/>
438
</fileset>
439
</batchtest>
440
</junit>
441
</target>
442
443
444
<condition property="bench_match" value="*" else="${env.BENCH_MATCH}">
445
<not><isset property="env.BENCH_MATCH"/></not>
446
</condition>
447
448
<target name="bench" depends="build-test-native" description="run benchmarks">
449
<mkdir dir="${test.reports}"/>
450
<junit fork="yes" printsummary="yes">
451
<sysproperty key="java.library.path" value="${nativelib.dir}" />
452
<classpath>
453
<pathelement location="${core.bin}"/>
454
<pathelement location="${generator.bin}"/>
455
<pathelement location="${generated.bin}"/>
456
<pathelement location="${additions.bin}"/>
457
<pathelement location="${test.bin}"/>
458
</classpath>
459
<classpath refid="test.lib.path.id"/>
460
461
<jvmarg value="-Xms256m" />
462
<jvmarg value="-Xmx1024m" />
463
<jvmarg value="-server" />
464
465
<formatter type="plain"/>
466
467
<batchtest fork="yes" todir="${test.reports}">
468
<fileset dir="${test.src}">
469
<include name="**/Bench*${bench_match}*.java"/>
470
</fileset>
471
</batchtest>
472
</junit>
473
</target>
474
475
<target name="bench-installed" depends="build-test-native-installed" description="run benchmarks">
476
<mkdir dir="${test.reports}"/>
477
<junit fork="yes" printsummary="yes">
478
<sysproperty key="java.library.path" value="${nativelib.dir}" />
479
<classpath>
480
<pathelement location="${generator.bin}"/>
481
<pathelement location="${generated.bin}"/>
482
<pathelement location="${additions.bin}"/>
483
<pathelement location="${test.bin}"/>
484
</classpath>
485
<classpath refid="test.lib.path.id"/>
486
487
<jvmarg value="-Xms256m" />
488
<jvmarg value="-Xmx1024m" />
489
<jvmarg value="-server" />
490
491
<formatter type="plain"/>
492
493
<batchtest fork="yes" todir="${test.reports}">
494
<fileset dir="${test.src}">
495
<include name="**/Bench*${bench_match}*.java"/>
496
</fileset>
497
</batchtest>
498
</junit>
499
</target>
500
501
<target name="clean">
502
<delete dir="build"/>
503
<delete dir="${obj}"/>
504
<delete dir="${dst}"/>
505
<delete dir="${gendoc}"/>
506
<delete dir="${test.reports}"/>
507
</target>
508
509
510
<target name="clean-all" depends="clean,build-core,build-core-native,build-generator,run-generator,build-generated,build-additions,build-additions-native,assemble-product">
511
</target>
512
<target name="all" depends="build-core,build-core-native,build-generator,run-generator,build-generated,build-additions,build-additions-native,assemble-product">
513
</target>
514
<target name="all-test" depends="build-core,build-core-native,build-generator,run-generator,build-generated,build-additions,build-additions-native,assemble-product,test-installed">
515
</target>
516
<target name="clean-all-test" depends="clean,build-core,build-core-native,build-generator,run-generator,build-generated,build-additions,build-additions-native,assemble-product,test-installed">
517
</target>
518
<target name="all-but-gen" depends="clean,build-core,build-core-native,build-generator,build-generated,build-additions,build-additions-native,assemble-product">
519
</target>
520
</project>
521
522