~ubuntu-branches/ubuntu/natty/icedtea-web/natty-security

« back to all changes in this revision

Viewing changes to .pc/gcc-option-order.diff/Makefile.am

  • Committer: Package Import Robot
  • Author(s): Steve Beattie
  • Date: 2012-08-03 15:42:11 UTC
  • mfrom: (19.1.4 natty-security)
  • Revision ID: package-import@ubuntu.com-20120803154211-97ii301zwp9thfxh
Tags: 1.2-2ubuntu0.11.04.3
debian/patches/fix-plugin-error-on-chromium.patch: fix plugin
table initialization to check only that the subset of hooks that
it uses exists. (LP: #1025553)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Source directories
 
2
 
 
3
NETX_DIR = $(abs_top_builddir)/netx.build
 
4
NETX_SRCDIR = $(abs_top_srcdir)/netx
 
5
NETX_RESOURCE_DIR=$(NETX_SRCDIR)/net/sourceforge/jnlp/resources
 
6
NETX_EXTRA_DIR=$(abs_top_srcdir)/extra/net/sourceforge/javaws/about/resources
 
7
NETX_EXTRA_DIST_DIR=$(abs_top_builddir)/extra-lib/net/sourceforge/javaws/about/resources
 
8
 
 
9
REPORT_STYLES_DIRNAME=report-styles
 
10
 
 
11
TESTS_SRCDIR=$(abs_top_srcdir)/tests
 
12
TESTS_DIR=$(abs_top_builddir)/tests.build
 
13
 
 
14
NETX_UNIT_TEST_SRCDIR=$(TESTS_SRCDIR)/netx/unit
 
15
NETX_UNIT_TEST_DIR=$(TESTS_DIR)/netx/unit
 
16
 
 
17
JUNIT_RUNNER_DIR=$(TESTS_DIR)/junit-runner
 
18
JUNIT_RUNNER_SRCDIR=$(TESTS_SRCDIR)/junit-runner
 
19
 
 
20
JNLP_TESTS_ENGINE_SRCDIR=$(TESTS_SRCDIR)/netx/jnlp_testsengine
 
21
JNLP_TESTS_SRCDIR=$(TESTS_SRCDIR)/jnlp_tests
 
22
JNLP_TESTS_ENGINE_DIR=$(TESTS_DIR)/netx/jnlp_testsengine
 
23
JNLP_TESTS_SERVER_DEPLOYDIR=$(TESTS_DIR)/jnlp_test_server
 
24
JNLP_TESTS_DIR=$(TESTS_DIR)/jnlp_tests
 
25
KEYSTORE_NAME=teststore.ks
 
26
 
 
27
JUNIT_RUNNER_JAR=$(abs_top_builddir)/junit-runner.jar
 
28
UNIT_CLASS_NAMES = $(abs_top_builddir)/unit_class_names
 
29
REPRODUCERS_CLASS_NAMES = $(abs_top_builddir)/reproducers_class_names
 
30
 
 
31
# Build directories
 
32
 
 
33
BOOT_DIR = $(abs_top_builddir)/bootstrap/jdk1.6.0
 
34
 
 
35
if WITH_RHINO
 
36
  RHINO_RUNTIME=:$(RHINO_JAR)
 
37
else
 
38
  RHINO_RUNTIME=
 
39
endif
 
40
 
 
41
RUNTIME = $(BOOT_DIR)/jre/lib/rt.jar:$(BOOT_DIR)/jre/lib/jsse.jar$(RHINO_RUNTIME)
 
42
 
 
43
# Flags
 
44
IT_CFLAGS=$(CFLAGS) $(ARCHFLAG)
 
45
IT_JAVAC_SETTINGS=-g -encoding utf-8 $(JAVACFLAGS) $(MEMORY_LIMIT) $(PREFER_SOURCE)
 
46
IT_LANGUAGE_SOURCE_VERSION=6
 
47
IT_CLASS_TARGET_VERSION=6
 
48
IT_JAVACFLAGS=$(IT_JAVAC_SETTINGS) -source $(IT_LANGUAGE_SOURCE_VERSION) -target $(IT_CLASS_TARGET_VERSION)
 
49
 
 
50
#
 
51
# We need the jars in bootclasspath for a couple of reasons
 
52
#  - we use classes (in the sun.applet package) loaded by the bootclassloader
 
53
#    using another classloader to load classes from the same package causes an
 
54
#    IllegalAccessException
 
55
#  - we want full privileges
 
56
#
 
57
LAUNCHER_BOOTCLASSPATH="-Xbootclasspath/a:$(datadir)/$(PACKAGE_NAME)/netx.jar$(RHINO_RUNTIME)"
 
58
PLUGIN_BOOTCLASSPATH='"-Xbootclasspath/a:$(datadir)/$(PACKAGE_NAME)/netx.jar:$(datadir)/$(PACKAGE_NAME)/plugin.jar$(RHINO_RUNTIME)"'
 
59
 
 
60
# Fake update version to work with the Deployment Toolkit script used by Oracle
 
61
# http://download.oracle.com/javase/tutorial/deployment/deploymentInDepth/depltoolkit_index.html
 
62
JDK_UPDATE_VERSION=50
 
63
 
 
64
# Sources list
 
65
 
 
66
PLUGIN_TEST_SRCS = $(abs_top_srcdir)/plugin/tests/LiveConnect/*.java
 
67
 
 
68
NETX_PKGS = javax.jnlp net.sourceforge.nanoxml net.sourceforge.jnlp \
 
69
        net.sourceforge.jnlp.cache net.sourceforge.jnlp.config \
 
70
        net.sourceforge.jnlp.controlpanel net.sourceforge.jnlp.event \
 
71
        net.sourceforge.jnlp.runtime net.sourceforge.jnlp.security \
 
72
        net.sourceforge.jnlp.security.viewer net.sourceforge.jnlp.services \
 
73
        net.sourceforge.jnlp.tools net.sourceforge.jnlp.util
 
74
 
 
75
# Conditional defintions
 
76
if ENABLE_PLUGIN
 
77
ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin
 
78
LIVECONNECT_DIR = netscape sun/applet
 
79
PLUGIN_DIR=$(abs_top_builddir)/plugin/icedteanp
 
80
PLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp
 
81
LIVECONNECT_SRCS = $(PLUGIN_SRCDIR)/java
 
82
ICEDTEAPLUGIN_TARGET = $(PLUGIN_DIR)/IcedTeaPlugin.so stamps/liveconnect-dist.stamp
 
83
PLUGIN_PKGS = sun.applet netscape.security netscape.javascript
 
84
endif
 
85
 
 
86
if CP_SUPPORTS_REFLINK
 
87
  REFLINK = --reflink=auto
 
88
endif
 
89
 
 
90
if SRC_DIR_HARDLINKABLE
 
91
  SRC_DIR_LINK = -l
 
92
else
 
93
  SRC_DIR_LINK = $(REFLINK)
 
94
endif
 
95
 
 
96
if ENABLE_DOCS
 
97
JAVADOC_OPTS=-use -keywords -encoding UTF-8 -splitIndex \
 
98
 -bottom '<font size="-1"> <a href="http://icedtea.classpath.org/bugzilla">Submit a bug or feature</a></font>'
 
99
if JAVADOC_SUPPORTS_J_OPTIONS
 
100
JAVADOC_MEM_OPTS=-J-Xmx1024m -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m
 
101
endif
 
102
endif
 
103
 
 
104
if WITH_RHINO
 
105
  RHINO_TESTS=check-pac-functions
 
106
else
 
107
  RHINO_TESTS=
 
108
endif
 
109
 
 
110
if WITH_JUNIT
 
111
  JUNIT_TESTS=stamps/run-netx-unit-tests.stamp
 
112
else
 
113
  JUNIT_TESTS=
 
114
endif
 
115
 
 
116
 
 
117
PLUGIN_VERSION = IcedTea-Web $(FULL_VERSION)
 
118
 
 
119
EXTRA_DIST = $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png javaws.desktop.in extra launcher \
 
120
 itweb-settings.desktop.in $(top_srcdir)/tests
 
121
 
 
122
# binary names
 
123
javaws:= $(shell echo javaws | sed '@program_transform_name@')
 
124
itweb_settings:= $(shell echo itweb-settings | sed '@program_transform_name@')
 
125
 
 
126
# the launcher needs to know $(bindir) and $(datadir) which can be different at
 
127
# make-time from configure-time
 
128
edit_launcher_script = sed \
 
129
  -e 's|[@]LAUNCHER_BOOTCLASSPATH[@]|$(LAUNCHER_BOOTCLASSPATH)|g' \
 
130
  -e 's|[@]JAVAWS_BIN_LOCATION[@]|$(bindir)/$(javaws)|g' \
 
131
  -e 's|[@]ITWEB_SETTINGS_BIN_LOCATION[@]|$(bindir)/$(itweb_settings)|g' \
 
132
  -e 's|[@]JAVA[@]|$(JAVA)|g' \
 
133
  -e 's|[@]JRE[@]|$(SYSTEM_JRE_DIR)|g'
 
134
 
 
135
# Top-Level Targets
 
136
# =================
 
137
 
 
138
all-local: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/$(javaws) \
 
139
 javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop
 
140
 
 
141
check-local: $(RHINO_TESTS) $(JUNIT_TESTS)
 
142
 
 
143
clean-local: clean-netx clean-plugin clean-liveconnect clean-extra clean-bootstrap-directory \
 
144
 clean-native-ecj clean-launchers clean-desktop-files clean-docs clean-tests
 
145
        if [ -e stamps ] ; then \
 
146
          rmdir stamps ; \
 
147
        fi
 
148
 
 
149
.PHONY: clean-IcedTeaPlugin clean-add-netx clean-add-netx-debug clean-add-plugin clean-add-plugin-debug \
 
150
 clean-bootstrap-directory clean-native-ecj clean-desktop-files clean-netx-docs clean-docs clean-plugin-docs \
 
151
 clean-tests check-local clean-launchers check-pac-functions stamps/run-netx-unit-tests.stamp clean-netx-tests \
 
152
 clean-junit-runner clean-netx-unit-tests
 
153
 
 
154
install-exec-local:
 
155
        ${mkinstalldirs} $(DESTDIR)$(bindir) $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/ $(DESTDIR)$(libdir)
 
156
if ENABLE_PLUGIN
 
157
        ${INSTALL_PROGRAM} $(PLUGIN_DIR)/IcedTeaPlugin.so $(DESTDIR)$(libdir)
 
158
        ${INSTALL_DATA} $(abs_top_builddir)/liveconnect/lib/classes.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar
 
159
endif
 
160
        ${INSTALL_DATA} $(NETX_DIR)/lib/classes.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar
 
161
        ${INSTALL_PROGRAM} launcher.build/$(javaws) $(DESTDIR)$(bindir)
 
162
        ${INSTALL_DATA} extra-lib/about.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jar
 
163
        ${INSTALL_PROGRAM} launcher.build/$(itweb_settings) $(DESTDIR)$(bindir)
 
164
 
 
165
install-data-local:
 
166
        ${mkinstalldirs} -d $(DESTDIR)$(mandir)/man1
 
167
        ${INSTALL_DATA} $(NETX_SRCDIR)/javaws.1 $(DESTDIR)$(mandir)/man1
 
168
        ${INSTALL_DATA} $(NETX_RESOURCE_DIR)/about.jnlp $(DESTDIR)$(datarootdir)/$(PACKAGE_NAME)
 
169
if ENABLE_DOCS
 
170
        ${mkinstalldirs} $(DESTDIR)$(htmldir)
 
171
        (cd ${abs_top_builddir}/docs/netx; \
 
172
         for files in $$(find . -type f); \
 
173
         do \
 
174
           ${INSTALL_DATA} -D $${files} $(DESTDIR)$(htmldir)/netx/$${files}; \
 
175
         done)
 
176
if ENABLE_PLUGIN
 
177
        (cd ${abs_top_builddir}/docs/plugin; \
 
178
         for files in $$(find . -type f); \
 
179
         do \
 
180
           ${INSTALL_DATA} -D $${files} $(DESTDIR)$(htmldir)/plugin/$${files}; \
 
181
         done)
 
182
endif
 
183
endif
 
184
 
 
185
uninstall-local:
 
186
        rm -f $(DESTDIR)$(libdir)/IcedTeaPlugin.so
 
187
        rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar
 
188
        rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar
 
189
        rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jnlp
 
190
        rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jar
 
191
        rm -f $(DESTDIR)$(mandir)/man1/javaws.1
 
192
        rm -f $(DESTDIR)$(bindir)/$(javaws)
 
193
        rm -f $(DESTDIR)$(bindir)/$(itweb_settings)
 
194
        rm -rf $(DESTDIR)$(htmldir)
 
195
 
 
196
# Plugin
 
197
 
 
198
if ENABLE_PLUGIN
 
199
# IcedTeaPlugin.so.
 
200
# Separate compile and link invocations to ensure intermediate object
 
201
# is listed before -l options.  See:
 
202
# http://developer.mozilla.org/en/docs/XPCOM_Glue
 
203
 
 
204
PLUGIN_SRC=IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc \
 
205
        IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcessor.cc \
 
206
                IcedTeaPluginUtils.cc
 
207
 
 
208
PLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedTeaScriptablePluginObject.o \
 
209
        IcedTeaJavaRequestProcessor.o IcedTeaPluginRequestProcessor.o \
 
210
                IcedTeaPluginUtils.o
 
211
 
 
212
$(PLUGIN_DIR)/%.o: $(PLUGIN_SRCDIR)/%.cc
 
213
        mkdir -p $(PLUGIN_DIR) && \
 
214
        cd $(PLUGIN_DIR) && \
 
215
        $(CXX) $(CXXFLAGS) \
 
216
           $(DEFS) $(VERSION_DEFS) \
 
217
          -DJDK_UPDATE_VERSION="\"$(JDK_UPDATE_VERSION)\"" \
 
218
          -DPLUGIN_NAME="\"IcedTea-Web Plugin\"" \
 
219
          -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \
 
220
          -DPACKAGE_URL="\"$(PACKAGE_URL)\"" \
 
221
          -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \
 
222
          -DICEDTEA_WEB_JRE="\"$(SYSTEM_JRE_DIR)\"" \
 
223
          -DPLUGIN_BOOTCLASSPATH=$(PLUGIN_BOOTCLASSPATH) \
 
224
          $(GLIB_CFLAGS) \
 
225
          $(GTK_CFLAGS) \
 
226
          $(MOZILLA_CFLAGS) \
 
227
          -fPIC -o $@ -c $<
 
228
 
 
229
$(PLUGIN_DIR)/IcedTeaPlugin.so: $(addprefix $(PLUGIN_DIR)/,$(PLUGIN_OBJECTS))
 
230
        cd $(PLUGIN_DIR) && \
 
231
        $(CXX) $(CXXFLAGS) \
 
232
          $(PLUGIN_OBJECTS) \
 
233
          $(GLIB_LIBS) \
 
234
          $(GTK_LIBS) \
 
235
          $(MOZILLA_LIBS)\
 
236
          -shared -o $@
 
237
 
 
238
clean-IcedTeaPlugin:
 
239
        rm -f $(PLUGIN_DIR)/*.o
 
240
        rm -f $(PLUGIN_DIR)/IcedTeaPlugin.so
 
241
        if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \
 
242
          if [ -e $(abs_top_builddir)/plugin/icedteanp ] ; then \
 
243
            rmdir $(abs_top_builddir)/plugin/icedteanp ; \
 
244
            rmdir $(abs_top_builddir)/plugin ; \
 
245
          fi ; \
 
246
        fi
 
247
endif
 
248
 
 
249
stamps/plugin.stamp: $(ICEDTEAPLUGIN_TARGET)
 
250
        mkdir -p stamps
 
251
        touch stamps/plugin.stamp
 
252
 
 
253
clean-plugin: $(ICEDTEAPLUGIN_CLEAN)
 
254
        rm -f stamps/plugin.stamp
 
255
 
 
256
liveconnect-source-files.txt:
 
257
        if test "x${LIVECONNECT_DIR}" != x; then \
 
258
          find $(LIVECONNECT_SRCS) -name '*.java' | sort > $@ ; \
 
259
        fi
 
260
        touch $@
 
261
 
 
262
stamps/liveconnect.stamp: liveconnect-source-files.txt stamps/netx.stamp
 
263
        if test "x${LIVECONNECT_DIR}" != x; then \
 
264
          mkdir -p $(abs_top_builddir)/liveconnect && \
 
265
          $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
 
266
              -d $(abs_top_builddir)/liveconnect \
 
267
              -bootclasspath $(NETX_DIR):$(RUNTIME) \
 
268
              -sourcepath $(LIVECONNECT_SRCS) \
 
269
              @liveconnect-source-files.txt ; \
 
270
        fi
 
271
        mkdir -p stamps
 
272
        touch $@
 
273
 
 
274
stamps/liveconnect-dist.stamp: stamps/liveconnect.stamp
 
275
        if test "x${LIVECONNECT_DIR}" != x; then \
 
276
          (cd $(abs_top_builddir)/liveconnect ; \
 
277
           mkdir -p lib ; \
 
278
           $(BOOT_DIR)/bin/jar cf lib/classes.jar $(LIVECONNECT_DIR) ; \
 
279
           cp -pPR $(SRC_DIR_LINK) $(LIVECONNECT_SRCS) src; \
 
280
           find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \
 
281
           cd src ; \
 
282
           $(ZIP) -qr $(abs_top_builddir)/liveconnect/lib/src.zip $(LIVECONNECT_DIR) ) ; \
 
283
        fi
 
284
        mkdir -p stamps
 
285
        touch $@
 
286
 
 
287
clean-liveconnect:
 
288
        rm -rf $(abs_top_builddir)/liveconnect
 
289
        rm -f stamps/liveconnect-dist.stamp
 
290
        rm -f liveconnect-source-files.txt
 
291
        rm -f stamps/liveconnect.stamp
 
292
 
 
293
# NetX
 
294
# requires availability of OpenJDK source code including
 
295
# a patch applied to sun.plugin.AppletViewerPanel and generated sources
 
296
 
 
297
netx-source-files.txt:
 
298
        find $(NETX_SRCDIR) -name '*.java' | sort > $@
 
299
if !WITH_RHINO
 
300
        sed -i '/RhinoBasedPacEvaluator/ d' $@
 
301
endif
 
302
 
 
303
stamps/netx.stamp: netx-source-files.txt stamps/bootstrap-directory.stamp
 
304
        mkdir -p $(NETX_DIR)
 
305
        $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
 
306
            -d $(NETX_DIR) \
 
307
            -sourcepath $(NETX_SRCDIR) \
 
308
            -bootclasspath $(RUNTIME) \
 
309
            @netx-source-files.txt
 
310
        (cd $(NETX_RESOURCE_DIR); \
 
311
         for files in $$(find . -type f); \
 
312
         do \
 
313
           ${INSTALL_DATA} -D $${files} \
 
314
           $(NETX_DIR)/net/sourceforge/jnlp/resources/$${files}; \
 
315
         done)
 
316
        cp -a $(NETX_SRCDIR)/net/sourceforge/jnlp/runtime/pac-funcs.js \
 
317
          $(NETX_DIR)/net/sourceforge/jnlp/runtime
 
318
        cp -a build.properties $(NETX_DIR)/net/sourceforge/jnlp/
 
319
        mkdir -p stamps
 
320
        touch $@
 
321
 
 
322
stamps/netx-dist.stamp: stamps/netx.stamp $(abs_top_builddir)/netx.manifest
 
323
        (cd $(NETX_DIR) ; \
 
324
         mkdir -p lib ; \
 
325
         $(BOOT_DIR)/bin/jar cfm lib/classes.jar \
 
326
          $(abs_top_builddir)/netx.manifest javax/jnlp net ; \
 
327
         cp -pPR $(SRC_DIR_LINK) $(NETX_SRCDIR) src; \
 
328
         find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \
 
329
         cd src ; \
 
330
         $(ZIP) -qr $(NETX_DIR)/lib/src.zip javax net )
 
331
        mkdir -p stamps
 
332
        touch $@
 
333
 
 
334
clean-netx:
 
335
        rm -rf $(NETX_DIR)
 
336
        rm -f stamps/netx-dist.stamp
 
337
        rm -f netx-source-files.txt
 
338
        rm -f stamps/netx.stamp
 
339
 
 
340
clean-desktop-files:
 
341
        rm -f javaws.desktop
 
342
        rm -f itweb-settings.desktop
 
343
 
 
344
# extras -- used to create about.jar for javaws.
 
345
extra-source-files.txt:
 
346
        find $(abs_top_srcdir)/extra -name '*.java' | sort > $@
 
347
 
 
348
stamps/extra-class-files.stamp: extra-source-files.txt stamps/netx.stamp
 
349
        mkdir -p extra-lib
 
350
        $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d extra-lib \
 
351
          -sourcepath $(abs_top_srcdir)/extra -cp netx.build \
 
352
          -bootclasspath $(RUNTIME) @extra-source-files.txt
 
353
        (cd $(NETX_EXTRA_DIR); \
 
354
         for files in $$(find . -type f); \
 
355
         do \
 
356
           ${INSTALL_DATA} -D $${files} \
 
357
           $(NETX_EXTRA_DIST_DIR)/$${files}; \
 
358
         done)
 
359
        mkdir -p stamps
 
360
        touch $@
 
361
 
 
362
clean-extra:
 
363
        rm -rf extra-lib
 
364
        rm -f stamps/extra-class-files.stamp
 
365
        rm -f extra-source-files.txt
 
366
 
 
367
extra-lib/about.jar: stamps/extra-class-files.stamp
 
368
        $(BOOT_DIR)/bin/jar cf $@ -C extra-lib net ;
 
369
 
 
370
launcher.build/$(javaws): launcher/javaws.in
 
371
        mkdir -p launcher.build
 
372
        $(edit_launcher_script) < $< > $@
 
373
 
 
374
launcher.build/$(itweb_settings): launcher/itweb-settings.in
 
375
        mkdir -p launcher.build
 
376
        $(edit_launcher_script) < $< > $@
 
377
 
 
378
clean-launchers:
 
379
        rm -f launcher.build/$(javaws)
 
380
        rm -f launcher.build/$(itweb_settings)
 
381
        if [ -e launcher.build ] ; then \
 
382
          rmdir launcher.build ; \
 
383
        fi
 
384
 
 
385
javaws.desktop: javaws.desktop.in
 
386
        sed "s#PATH_TO_JAVAWS#$(bindir)/$(javaws)#" < $(srcdir)/javaws.desktop.in > javaws.desktop
 
387
 
 
388
itweb-settings.desktop: $(srcdir)/itweb-settings.desktop.in
 
389
        sed "s#PATH_TO_ITWEB_SETTINGS#$(bindir)/$(itweb_settings)#" \
 
390
          < $(srcdir)/itweb-settings.desktop.in > itweb-settings.desktop
 
391
 
 
392
# documentation
 
393
 
 
394
stamps/docs.stamp: stamps/netx-docs.stamp stamps/plugin-docs.stamp
 
395
        touch stamps/docs.stamp
 
396
 
 
397
clean-docs: clean-netx-docs clean-plugin-docs
 
398
        if [ -e ${abs_top_builddir}/docs ] ; then \
 
399
          rmdir ${abs_top_builddir}/docs ; \
 
400
        fi
 
401
        rm -f stamps/docs.stamp
 
402
 
 
403
stamps/netx-docs.stamp: stamps/bootstrap-directory.stamp
 
404
if ENABLE_DOCS
 
405
        $(BOOT_DIR)/bin/javadoc $(JAVADOC_MEM_OPTS) $(JAVADOC_OPTS) \
 
406
         -d ${abs_top_builddir}/docs/netx -sourcepath $(NETX_SRCDIR) \
 
407
         -doctitle 'IcedTea-Web: NetX API Specification' \
 
408
         -windowtitle 'IcedTea-Web: NetX ' \
 
409
         -header '<strong>IcedTea-Web<br/>NetX</strong>' \
 
410
         $(NETX_PKGS)
 
411
endif
 
412
        mkdir -p stamps
 
413
        touch stamps/netx-docs.stamp
 
414
 
 
415
clean-netx-docs:
 
416
        rm -rf ${abs_top_builddir}/docs/netx
 
417
        rm -f stamps/netx-docs.stamp
 
418
 
 
419
stamps/plugin-docs.stamp: stamps/bootstrap-directory.stamp
 
420
if ENABLE_DOCS
 
421
if ENABLE_PLUGIN
 
422
        $(BOOT_DIR)/bin/javadoc $(JAVADOC_MEM_OPTS) $(JAVADOC_OPTS) \
 
423
         -d ${abs_top_builddir}/docs/plugin -sourcepath $(NETX_SRCDIR):$(LIVECONNECT_SRCS) \
 
424
         -doctitle 'IcedTea-Web: Plugin API Specification' \
 
425
         -windowtitle 'IcedTea-Web: Plugin ' \
 
426
         -header '<strong>IcedTea-Web<br/>Plugin</strong>' \
 
427
         $(PLUGIN_PKGS)
 
428
endif
 
429
endif
 
430
        mkdir -p stamps
 
431
        touch stamps/plugin-docs.stamp
 
432
 
 
433
clean-plugin-docs:
 
434
        rm -rf ${abs_top_builddir}/docs/plugin
 
435
        rm -f stamps/plugin-docs.stamp
 
436
 
 
437
 
 
438
# check
 
439
# ==========================
 
440
 
 
441
clean-tests: clean-netx-tests
 
442
        if [ -e $(TESTS_DIR) ]; then \
 
443
                rmdir $(TESTS_DIR) ; \
 
444
        fi
 
445
 
 
446
check-pac-functions: stamps/bootstrap-directory.stamp
 
447
        ./jrunscript $(abs_top_srcdir)/tests/netx/pac/pac-funcs-test.js \
 
448
          $$(readlink -f $(abs_top_srcdir)/netx/net/sourceforge/jnlp/runtime/pac-funcs.js)
 
449
 
 
450
junit-runner-source-files.txt:
 
451
        find $(JUNIT_RUNNER_SRCDIR) -name '*.java' | sort > $@
 
452
 
 
453
$(JUNIT_RUNNER_JAR): junit-runner-source-files.txt
 
454
        mkdir -p $(JUNIT_RUNNER_DIR) && \
 
455
        $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
 
456
          -d $(JUNIT_RUNNER_DIR) \
 
457
          -classpath $(JUNIT_JAR) \
 
458
          @junit-runner-source-files.txt && \
 
459
        $(BOOT_DIR)/bin/jar cf $@  -C $(JUNIT_RUNNER_DIR) .
 
460
 
 
461
stamps/junit-jnlp-dist-dirs: junit-jnlp-dist-simple.txt junit-jnlp-dist-signed.txt
 
462
        mkdir -p $(JNLP_TESTS_SERVER_DEPLOYDIR)
 
463
        mkdir -p $(JNLP_TESTS_DIR)
 
464
        mkdir -p $(JNLP_TESTS_ENGINE_DIR)
 
465
        touch $@
 
466
 
 
467
junit-jnlp-dist-simple.txt:
 
468
        cd $(JNLP_TESTS_SRCDIR)/simple/ ; \
 
469
        find .  -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@
 
470
 
 
471
junit-jnlp-dist-signed.txt: 
 
472
        cd $(JNLP_TESTS_SRCDIR)/signed/ ; \
 
473
        find .  -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@
 
474
 
 
475
stamps/netx-dist-tests-prepare-reproducers.stamp: stamps/junit-jnlp-dist-dirs
 
476
        types=(simple signed); \
 
477
        for which in "$${types[@]}" ; do \
 
478
          . $(abs_top_srcdir)/NEW_LINE_IFS ; \
 
479
          simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \
 
480
          IFS="$$IFS_BACKUP" ; \
 
481
          for dir in "$${simpleReproducers[@]}" ; do \
 
482
            echo "processing: $$dir" ; \
 
483
            mkdir -p "$(JNLP_TESTS_DIR)/$$dir" ; \
 
484
            d=`pwd` ; \
 
485
            cd "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/srcs/" ; \
 
486
            srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \
 
487
            notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \
 
488
            $(BOOT_DIR)/bin/javac -d  "$(JNLP_TESTS_DIR)/$$dir/" $$srcFiles ; \
 
489
            if [ -n "$$notSrcFiles" ] ; then \
 
490
              cp -R --parents "$$notSrcFiles" "$(JNLP_TESTS_DIR)/$$dir/" ; \
 
491
            fi ; \
 
492
            cd "$(JNLP_TESTS_DIR)/$$dir/" ; \
 
493
            $(BOOT_DIR)/bin/jar cf "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" * ; \
 
494
            cd "$$d" ; \
 
495
            cp -R "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/resources/"*  $(JNLP_TESTS_SERVER_DEPLOYDIR)/ ; \
 
496
          done ; \
 
497
        done ; \
 
498
        mkdir -p stamps && \
 
499
        touch $@
 
500
 
 
501
stamps/netx-dist-tests-sign-some-reproducers.stamp: stamps/netx-dist-tests-prepare-reproducers.stamp
 
502
        alias=icedteaweb; \
 
503
        keystore=$(abs_top_builddir)/$(KEYSTORE_NAME); \
 
504
        pass=123456789; \
 
505
        $(BOOT_DIR)/bin/keytool -genkey -alias $$alias -keystore $$keystore -keypass $$pass -storepass $$pass -dname "cn=$$alias, ou=$$alias, o=$$alias, c=$$alias" ; \
 
506
          . $(abs_top_srcdir)/NEW_LINE_IFS ; \
 
507
        signedReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-signed.txt `); \
 
508
          IFS="$$IFS_BACKUP" ; \
 
509
        for dir in "$${signedReproducers[@]}" ; do \
 
510
         $(BOOT_DIR)/bin/jarsigner -keystore $$keystore -storepass $$pass -keypass $$pass  "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar"  $$alias ; \
 
511
        done ; \
 
512
        mkdir -p stamps && \
 
513
        touch $@
 
514
 
 
515
netx-dist-tests-source-files.txt:
 
516
        find $(JNLP_TESTS_ENGINE_SRCDIR) -name '*.java' | sort > $@
 
517
 
 
518
stamps/netx-dist-tests-compile.stamp: stamps/netx.stamp \
 
519
 stamps/junit-jnlp-dist-dirs netx-dist-tests-source-files.txt
 
520
        $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
 
521
         -d $(JNLP_TESTS_ENGINE_DIR) \
 
522
         -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \
 
523
         @netx-dist-tests-source-files.txt && \
 
524
        mkdir -p stamps && \
 
525
        touch $@
 
526
 
 
527
stamps/netx-dist-tests-compile-testcases.stamp: stamps/netx.stamp stamps/junit-jnlp-dist-dirs \
 
528
 netx-dist-tests-source-files.txt stamps/netx-dist-tests-compile.stamp
 
529
        types=(simple signed); \
 
530
        for which in "$${types[@]}" ; do \
 
531
          . $(abs_top_srcdir)/NEW_LINE_IFS ; \
 
532
          simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \
 
533
          IFS="$$IFS_BACKUP" ; \
 
534
          for dir in "$${simpleReproducers[@]}" ; do \
 
535
            $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
 
536
            -d $(JNLP_TESTS_ENGINE_DIR) \
 
537
            -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \
 
538
            "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/"* ; \
 
539
          done ; \
 
540
        done ; \
 
541
        mkdir -p stamps && \
 
542
        touch $@
 
543
 
 
544
$(REPRODUCERS_CLASS_NAMES):
 
545
        cd $(JNLP_TESTS_ENGINE_DIR) ; \
 
546
        class_names= ; \
 
547
        for test in `find -type f` ; do \
 
548
          class_name=`echo $$test | sed -e 's|\.class$$||' -e 's|^\./||'` ; \
 
549
          class_name=`echo $$class_name | sed -e 's|/|.|g' ` ; \
 
550
          class_names="$$class_names $$class_name" ; \
 
551
        done ; \
 
552
        echo $$class_names > $(REPRODUCERS_CLASS_NAMES)
 
553
 
 
554
stamps/run-netx-dist-tests.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/$(javaws) \
 
555
 javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop \
 
556
 stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-sign-some-reproducers.stamp \
 
557
 stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp $(JUNIT_RUNNER_JAR) \
 
558
 $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES)
 
559
        cd $(JNLP_TESTS_ENGINE_DIR) ; \
 
560
        class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \
 
561
        CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):. \
 
562
          $(BOOT_DIR)/bin/java -Dtest.server.dir=$(JNLP_TESTS_SERVER_DEPLOYDIR) -Djavaws.build.bin=$(DESTDIR)$(bindir)/javaws \
 
563
         -Xbootclasspath:$(RUNTIME) CommandLine $$class_names \
 
564
          > stdout.log 2> stderr.log ; \
 
565
         cat stdout.log ; \
 
566
         cat stderr.log >&2
 
567
if WITH_XSLTPROC
 
568
        $(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml > $(TESTS_DIR)/index_reproducers.html
 
569
endif
 
570
        touch $@
 
571
 
 
572
netx-unit-tests-source-files.txt:
 
573
        find $(NETX_UNIT_TEST_SRCDIR) -name '*.java' | sort > $@
 
574
 
 
575
stamps/netx-unit-tests-compile.stamp: stamps/netx.stamp \
 
576
 netx-unit-tests-source-files.txt
 
577
        mkdir -p $(NETX_UNIT_TEST_DIR) && \
 
578
        $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
 
579
         -d $(NETX_UNIT_TEST_DIR) \
 
580
         -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \
 
581
         @netx-unit-tests-source-files.txt && \
 
582
        mkdir -p stamps && \
 
583
        touch $@
 
584
 
 
585
$(TESTS_DIR)/$(REPORT_STYLES_DIRNAME):
 
586
        mkdir $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)
 
587
        cp $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/*.css $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)/
 
588
        cp $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/*.js $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)/
 
589
 
 
590
$(UNIT_CLASS_NAMES):
 
591
        cd $(NETX_UNIT_TEST_DIR) ; \
 
592
        class_names= ; \
 
593
        for test in `find -type f` ; do \
 
594
          class_name=`echo $$test | sed -e 's|\.class$$||' -e 's|^\./||'` ; \
 
595
          class_name=`echo $$class_name | sed -e 's|/|.|g' ` ; \
 
596
          class_names="$$class_names $$class_name" ; \
 
597
        done ; \
 
598
        echo $$class_names > $(UNIT_CLASS_NAMES);
 
599
 
 
600
stamps/run-netx-unit-tests.stamp: stamps/netx-unit-tests-compile.stamp $(JUNIT_RUNNER_JAR)  \
 
601
 $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)  $(UNIT_CLASS_NAMES)
 
602
        filename=" " ; \
 
603
        cd $(NETX_UNIT_TEST_SRCDIR) ; \
 
604
        for file in `find . -type f \! -iname "*.java"`; do\
 
605
                filename=`echo $$file `; \
 
606
                cp --parents $$filename $(NETX_UNIT_TEST_DIR) ; \
 
607
        done ; \
 
608
        cd $(NETX_UNIT_TEST_DIR) ; \
 
609
        class_names=`cat $(UNIT_CLASS_NAMES)` ; \
 
610
        CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):. \
 
611
          $(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine $$class_names \
 
612
          > stdout.log 2> stderr.log ; \
 
613
        cat stdout.log ; \
 
614
        cat stderr.log >&2
 
615
if WITH_XSLTPROC
 
616
        $(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/index_unit.html
 
617
endif
 
618
        touch $@
 
619
 
 
620
#warning,  during this target tests.build/netx/unit/tests-output.xml is backup and rewriten (but not coresponding html file)
 
621
#xml results run from emma sandbox, however, can be wrong, co the new tests-output.xml is then renamed and orginal one restored
 
622
#you can add -ix "-*Test*" -ix "-*test*"  to ignore all test cases from statistics
 
623
stamps/run-unit-test-code-coverage.stamp: check  $(UNIT_CLASS_NAMES);
 
624
if WITH_EMMA
 
625
        mv $(NETX_UNIT_TEST_DIR)/tests-output.xml  $(NETX_UNIT_TEST_DIR)/tests-output.xml_noEmma ; \
 
626
        cd $(NETX_UNIT_TEST_DIR) ; \
 
627
        class_names=`cat $(UNIT_CLASS_NAMES)` ; \
 
628
        $(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emmarun \
 
629
         -Dreport.html.out.encoding=UTF-8 \
 
630
         -raw \
 
631
         -sp $(NETX_SRCDIR) \
 
632
         -sp $(NETX_UNIT_TEST_SRCDIR) \
 
633
         -sp $(JUNIT_RUNNER_SRCDIR) \
 
634
         -r html \
 
635
         -r xml \
 
636
         -cp $(NETX_DIR)/lib/classes.jar \
 
637
         -cp $(JUNIT_JAR) \
 
638
         -cp $(JUNIT_RUNNER_JAR) \
 
639
         -cp $(BOOT_DIR)/jre/lib/rt.jar \
 
640
         -cp $(BOOT_DIR)/jre/lib/jsse.jar \
 
641
         -cp $(RHINO_RUNTIME) \
 
642
         -cp . \
 
643
         -ix "-org.junit.*" \
 
644
         -ix "-junit.*" \
 
645
         CommandLine $$class_names ;  \
 
646
        mv $(NETX_UNIT_TEST_DIR)/tests-output.xml  $(NETX_UNIT_TEST_DIR)/tests-output_withEmma.xml ; \
 
647
        mv $(NETX_UNIT_TEST_DIR)/tests-output.xml_noEmma  $(NETX_UNIT_TEST_DIR)/tests-output.xml ; 
 
648
else 
 
649
        echo "Sorry, coverage report cant be run without emma installed. Try install emma or specify with-emma value" ;
 
650
        exit 5
 
651
endif 
 
652
        touch $@
 
653
 
 
654
#warning,  during this target tests.build/netx/jnlp_testsengine/tests-output.xml is backup and rewriten (but not coresponding html file)
 
655
#xml results run from emma sandbox, however, can be wrong, co the new tests-output.xml is then renamed and orginal one restored
 
656
stamps/run-reproducers-test-code-coverage.stamp: stamps/run-netx-dist-tests.stamp $(REPRODUCERS_CLASS_NAMES)
 
657
if WITH_EMMA
 
658
        cd $(TESTS_DIR) ; \
 
659
        mv $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml  $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml_noEmma ; \
 
660
        echo "backuping javaws and netx.jar in $(DESTDIR)" ; \
 
661
        netx_backup=$(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx_backup.jar ; \
 
662
        javaws_backup=$(DESTDIR)$(bindir)/javaws_backup ; \
 
663
        mv $(DESTDIR)$(bindir)/javaws $$javaws_backup ;  \
 
664
        mv $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar $$netx_backup ; \
 
665
        nw_bootclasspath="$(LAUNCHER_BOOTCLASSPATH):$(EMMA_JAR):$$netx_backup" ; \
 
666
        instructed_dir=$(TESTS_DIR)/instr ; \
 
667
        echo "instrumenting netx.jar from $$netx_backup through $$instructed_dir" ; \
 
668
        $(BOOT_DIR)/bin/java -cp  $(EMMA_JAR) emma instr -d $$instructed_dir -ip $$netx_backup ; \
 
669
        pushd $$instructed_dir ; \
 
670
        $(BOOT_DIR)/bin/jar -cf $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar * ; \
 
671
        popd ; \
 
672
        rm -rf $$instructed_dir ; \
 
673
        echo "patching javaws" ; \
 
674
        cat $$javaws_backup | sed "s,$(LAUNCHER_BOOTCLASSPATH),$$nw_bootclasspath," > $(DESTDIR)$(bindir)/javaws ; \
 
675
        chmod 777 $(DESTDIR)$(bindir)/javaws ; \
 
676
        testcases_srcs=( ) ; \
 
677
        k=0 ; \
 
678
        types=(simple signed); \
 
679
        for which in "$${types[@]}" ; do \
 
680
          . $(abs_top_srcdir)/NEW_LINE_IFS ; \
 
681
          simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \
 
682
          IFS="$$IFS_BACKUP" ; \
 
683
          for dir in "$${simpleReproducers[@]}" ; do \
 
684
            testcases_srcs[k]="-sp" ; \
 
685
            k=$$((k+1)) ; \
 
686
            testcases_srcs[k]="$(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/" ; \
 
687
            k=$$((k+1)) ; \
 
688
            done ; \
 
689
          done ; \
 
690
        cd $(JNLP_TESTS_ENGINE_DIR) ; \
 
691
        class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \
 
692
        $(BOOT_DIR)/bin/java  \
 
693
         -Dtest.server.dir=$(JNLP_TESTS_SERVER_DEPLOYDIR) \
 
694
         -Djavaws.build.bin=$(DESTDIR)$(bindir)/javaws \
 
695
         -Xbootclasspath:$(RUNTIME) -cp $(EMMA_JAR) emmarun  \
 
696
           -raw \
 
697
           -cp $(NETX_DIR)/lib/classes.jar \
 
698
           -cp $(JUNIT_JAR) \
 
699
           -cp $(JUNIT_RUNNER_JAR) \
 
700
           -cp $(BOOT_DIR)/jre/lib/rt.jar \
 
701
           -cp $(BOOT_DIR)/jre/lib/jsse.jar \
 
702
           -cp $(RHINO_RUNTIME) \
 
703
           -cp . \
 
704
           -ix "-org.junit.*" \
 
705
           -ix "-junit.*" \
 
706
           CommandLine $$class_names ; \
 
707
        mv $(JNLP_TESTS_ENGINE_DIR)/coverage.ec $(JNLP_TESTS_ENGINE_DIR)/coverageX.ec ; \
 
708
        mv $(JNLP_TESTS_ENGINE_DIR)/coverage.es $(JNLP_TESTS_ENGINE_DIR)/coverageX.es ; \
 
709
        $(BOOT_DIR)/bin/java -cp $(EMMA_JAR) emma merge \
 
710
          -in $(TESTS_DIR)/coverage.em \
 
711
          -in $(JNLP_TESTS_ENGINE_DIR)/coverageX.ec \
 
712
          -in $(JNLP_TESTS_ENGINE_DIR)/coverageX.es ; \
 
713
        $(BOOT_DIR)/bin/java -cp $(EMMA_JAR)  -Demma.report.html.out.encoding=UTF-8 emma report \
 
714
          -Dreport.html.out.encoding=UTF-8 \
 
715
          -in $(JNLP_TESTS_ENGINE_DIR)/coverage.es  \
 
716
          -sp $(NETX_SRCDIR) \
 
717
          -sp $(NETX_UNIT_TEST_SRCDIR) \
 
718
          -sp $(JUNIT_RUNNER_SRCDIR) \
 
719
          -sp $(JNLP_TESTS_ENGINE_SRCDIR) \
 
720
          -r html \
 
721
          -r xml \
 
722
          "$${testcases_srcs[@]}" ; \
 
723
        echo "restoring javaws and netx.jar in $(DESTDIR)" ; \
 
724
        rm -f $(DESTDIR)$(bindir)/javaws $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar ; \
 
725
        rm -f $(DESTDIR)$(bindir)/javaws;  \
 
726
        mv $$javaws_backup $(DESTDIR)$(bindir)/javaws;  \
 
727
        mv $$netx_backup $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar ; \
 
728
        mv $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml  $(JNLP_TESTS_ENGINE_DIR)/tests-output_withEmma.xml ; \
 
729
        mv $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml_noEmma  $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml ; \
 
730
        rm $(JNLP_TESTS_ENGINE_DIR)/coverage.txt ; 
 
731
else
 
732
        echo "Sorry, coverage report cant be run without emma installed. Try install emma or specify with-emma value" ;
 
733
        exit 5
 
734
endif
 
735
        touch $@
 
736
 
 
737
run-test-code-coverage: run-unit-test-code-coverage run-reproducers-test-code-coverage
 
738
if WITH_EMMA
 
739
        cd $(TESTS_DIR) ; \
 
740
        k=0 ; \
 
741
        types=(simple signed); \
 
742
        for which in "$${types[@]}" ; do \
 
743
          . $(abs_top_srcdir)/NEW_LINE_IFS ; \
 
744
          simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \
 
745
          IFS="$$IFS_BACKUP" ; \
 
746
          for dir in "$${simpleReproducers[@]}" ; do \
 
747
            testcases_srcs[k]="-sp" ; \
 
748
            k=$$((k+1)) ; \
 
749
            testcases_srcs[k]="$(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/" ; \
 
750
            k=$$((k+1)) ; \
 
751
          done ; \
 
752
        done ; \
 
753
        $(BOOT_DIR)/bin/java -cp $(EMMA_JAR) emma merge \
 
754
         -in $(NETX_UNIT_TEST_DIR)/coverage.es \
 
755
         -in $(JNLP_TESTS_ENGINE_DIR)/coverage.es ; \
 
756
        $(BOOT_DIR)/bin/java -cp $(EMMA_JAR)  -Demma.report.html.out.encoding=UTF-8 emma report \
 
757
         -Dreport.html.out.encoding=UTF-8 \
 
758
         -in $(TESTS_DIR)/coverage.es \
 
759
         -in $(TESTS_DIR)/coverage.em \
 
760
         -sp $(NETX_SRCDIR) \
 
761
         -sp $(NETX_UNIT_TEST_SRCDIR) \
 
762
         -sp $(JUNIT_RUNNER_SRCDIR) \
 
763
         -sp $(JNLP_TESTS_ENGINE_SRCDIR) \
 
764
         "$${testcases_srcs[@]}" \
 
765
         -r html \
 
766
         -r xml ; 
 
767
else
 
768
        echo "Sorry, coverage report cant be run without emma installed. Try install emma or specify with-emma value" ;
 
769
        exit 5
 
770
endif
 
771
 
 
772
clean-netx-tests: clean-netx-unit-tests clean-junit-runner clean-netx-dist-tests clean-test-code-coverage
 
773
        if [ -e $(TESTS_DIR)/netx ]; then \
 
774
          rmdir $(TESTS_DIR)/netx ; \
 
775
        fi
 
776
 
 
777
clean-junit-runner:
 
778
        rm -f junit-runner-source-files.txt
 
779
        rm -rf $(JUNIT_RUNNER_DIR)
 
780
        rm -f $(JUNIT_RUNNER_JAR)
 
781
 
 
782
clean-netx-unit-tests: clean_tests_reports
 
783
        rm -f netx-unit-tests-source-files.txt
 
784
        rm -rf $(NETX_UNIT_TEST_DIR)
 
785
        rm -f $(UNIT_CLASS_NAMES)
 
786
        rm -f stamps/run-netx-unit-tests.stamp
 
787
        rm -f stamps/netx-unit-tests-compile.stamp
 
788
 
 
789
clean_tests_reports:
 
790
        rm -rf  $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)/
 
791
        rm -f  $(TESTS_DIR)/index*.html
 
792
 
 
793
clean-netx-dist-tests: clean_tests_reports
 
794
        rm -f netx-dist-tests-source-files.txt
 
795
        rm -rf $(JNLP_TESTS_DIR)
 
796
        rm -rf $(JNLP_TESTS_SERVER_DEPLOYDIR)
 
797
        rm -rf $(JNLP_TESTS_ENGINE_DIR)
 
798
        rm -f stamps/junit-jnlp-dist-dirs
 
799
        rm -f stamps/netx-dist-tests-compile.stamp
 
800
        rm -f stamps/netx-dist-tests-prepare-reproducers.stamp
 
801
        rm -f stamps/netx-dist-tests-compile-testcases.stamp
 
802
        rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp
 
803
        rm -f junit-jnlp-dist-simple.txt
 
804
        rm -f junit-jnlp-dist-signed.txt
 
805
        rm -f $(REPRODUCERS_CLASS_NAMES)
 
806
        rm -f $(abs_top_builddir)/$(KEYSTORE_NAME)
 
807
        rm -f stamps/run-netx-dist-tests.stamp
 
808
 
 
809
clean-unit-test-code-coverage:
 
810
        if [ -e stamps/run-unit-test-code-coverage.stamp ]; then \
 
811
          rm -rf $(NETX_UNIT_TEST_DIR)/coverage ; \
 
812
          rm -f $(NETX_UNIT_TEST_DIR)/coverage.xml ; \
 
813
          rm -f $(NETX_UNIT_TEST_DIR)/coverageX.es ; \
 
814
          rm -f $(NETX_UNIT_TEST_DIR)/coverageX.ec ; \
 
815
          rm -f $(NETX_UNIT_TEST_DIR)/coverage.es ; \
 
816
          rm -f $(NETX_UNIT_TEST_DIR)/tests-output_withEmma.xml ; \
 
817
          rm -f stamps/run-unit-test-code-coverage.stamp ; \
 
818
        fi
 
819
 
 
820
clean-reproducers-test-code-coverage:
 
821
        if [ -e stamps/run-reproducers-test-code-coverage.stamp ]; then \
 
822
         rm -rf $(JNLP_TESTS_ENGINE_DIR)/coverage ; \
 
823
         rm -f $(JNLP_TESTS_ENGINE_DIR)/coverage.xml ; \
 
824
         rm -f $(JNLP_TESTS_ENGINE_DIR)/coverage.es ; \
 
825
         rm -f $(JNLP_TESTS_ENGINE_DIR)/tests-output_withEmma.xml ; \
 
826
         rm -f stamps/run-reproducers-test-code-coverage.stamp ; \
 
827
        fi
 
828
 
 
829
clean-test-code-coverage: clean-unit-test-code-coverage clean-reproducers-test-code-coverage
 
830
        if [ -e $(TESTS_DIR)/coverage.xml ]; then \
 
831
          rm -rf $(TESTS_DIR)/coverage  ; \
 
832
          rm -f $(TESTS_DIR)/coverage.xml  ; \
 
833
          rm -f $(TESTS_DIR)/coverage.es  ; \
 
834
          rm -f $(TESTS_DIR)/coverage.em ; \
 
835
        fi
 
836
 
 
837
 
 
838
# plugin tests
 
839
 
 
840
if ENABLE_PLUGIN
 
841
stamps/plugin-tests.stamp: $(PLUGIN_TEST_SRCS) stamps/plugin.stamp
 
842
        mkdir -p plugin/tests/LiveConnect
 
843
        $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
 
844
         -d plugin/tests/LiveConnect \
 
845
         -classpath liveconnect/lib/classes.jar \
 
846
         $(PLUGIN_TEST_SRCS) ;
 
847
        $(BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \
 
848
          plugin/tests/LiveConnect/*.class ;
 
849
        cp -pPR $(SRC_DIR_LINK) $(abs_top_srcdir)/plugin/tests/LiveConnect/*.{js,html} \
 
850
          plugin/tests/LiveConnect ;
 
851
        echo "Done. Now launch \"firefox file://`pwd`/index.html\"" ;
 
852
        mkdir -p stamps
 
853
        touch stamps/plugin-tests.stamp
 
854
endif
 
855
 
 
856
# Bootstrap Directory Targets
 
857
# ===========================
 
858
 
 
859
stamps/native-ecj.stamp: 
 
860
        mkdir -p stamps ; \
 
861
        if test "x$(GCJ)" != "xno"; then \
 
862
          $(GCJ) $(IT_CFLAGS) -Wl,-Bsymbolic -findirect-dispatch -o native-ecj \
 
863
            --main=org.eclipse.jdt.internal.compiler.batch.Main ${ECJ_JAR} ; \
 
864
        fi ; \
 
865
        touch stamps/native-ecj.stamp
 
866
 
 
867
clean-native-ecj:
 
868
        rm -f native-ecj
 
869
        rm -rf stamps/native-ecj.stamp
 
870
 
 
871
# bootstrap
 
872
stamps/bootstrap-directory.stamp: stamps/native-ecj.stamp
 
873
        mkdir -p $(BOOT_DIR)/bin stamps/
 
874
        ln -sf $(JAVA) $(BOOT_DIR)/bin/java
 
875
        ln -sf $(JAR) $(BOOT_DIR)/bin/jar
 
876
        ln -sf $(abs_top_builddir)/javac $(BOOT_DIR)/bin/javac
 
877
        ln -sf $(JAVADOC) $(BOOT_DIR)/bin/javadoc
 
878
        if [ -e "$(KEYTOOL)" ] ; then \
 
879
          ln -sf $(KEYTOOL) $(BOOT_DIR)/bin/keytool ;\
 
880
        else \
 
881
          echo "#! /bin/sh" > $(BOOT_DIR)/bin/keytool ;\
 
882
          echo "echo \"keytool not exist on your system, signed part of reproducers test will fail\"" >> $(BOOT_DIR)/bin/keytool ;\
 
883
          chmod 777 $(BOOT_DIR)/bin/keytool ;\
 
884
        fi
 
885
        if [ -e "$(JARSIGNER)" ] ; then \
 
886
          ln -sf $(JARSIGNER) $(BOOT_DIR)/bin/jarsigner ;\
 
887
        else \
 
888
          echo "#! /bin/sh" > $(BOOT_DIR)/bin/jarsigner ;\
 
889
          echo "echo \"jarsigner not exist on your system, signed part of reproducers test will fail\"" >> $(BOOT_DIR)/bin/jarsigner ;\
 
890
          chmod 777 $(BOOT_DIR)/bin/jarsigner ;\
 
891
        fi
 
892
        mkdir -p $(BOOT_DIR)/jre/lib && \
 
893
        ln -s $(SYSTEM_JRE_DIR)/lib/rt.jar $(BOOT_DIR)/jre/lib && \
 
894
        if [ -e $(SYSTEM_JRE_DIR)/lib/jsse.jar ] ; then \
 
895
          ln -s $(SYSTEM_JRE_DIR)/lib/jsse.jar $(BOOT_DIR)/jre/lib ; \
 
896
        else \
 
897
          ln -s rt.jar $(BOOT_DIR)/jre/lib/jsse.jar ; \
 
898
        fi
 
899
        ln -sf $(SYSTEM_JRE_DIR)/lib/$(JRE_ARCH_DIR) \
 
900
          $(BOOT_DIR)/jre/lib/ && \
 
901
        if ! test -d $(BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR); \
 
902
          then \
 
903
          ln -sf ./$(JRE_ARCH_DIR) \
 
904
            $(BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR); \
 
905
        fi;
 
906
        mkdir -p $(BOOT_DIR)/include && \
 
907
        for i in $(SYSTEM_JDK_DIR)/include/*; do \
 
908
          test -r $$i | continue; \
 
909
          i=`basename $$i`; \
 
910
          rm -f $(BOOT_DIR)/include/$$i; \
 
911
          ln -s $(SYSTEM_JDK_DIR)/include/$$i $(BOOT_DIR)/include/$$i; \
 
912
        done
 
913
        mkdir -p stamps
 
914
        touch stamps/bootstrap-directory.stamp
 
915
 
 
916
clean-bootstrap-directory:
 
917
        rm -rf $(BOOT_DIR)
 
918
        if [ -e ${abs_top_builddir}/bootstrap ] ; then \
 
919
          rmdir ${abs_top_builddir}/bootstrap ; \
 
920
        fi
 
921
        rm -f stamps/bootstrap-directory.stamp
 
922
 
 
923
# Target Aliases
 
924
# ===============
 
925
 
 
926
add-netx: stamps/add-netx.stamp
 
927
 
 
928
add-netx-debug: stamps/add-netx-debug.stamp
 
929
 
 
930
netx: stamps/netx.stamp
 
931
 
 
932
netx-dist: stamps/netx-dist.stamp
 
933
 
 
934
plugin: stamps/plugin.stamp
 
935
 
 
936
plugin-tests: stamps/plugin-tests.stamp
 
937
 
 
938
run-netx-unit-tests: stamps/run-netx-unit-tests.stamp
 
939
 
 
940
run-netx-dist-tests: stamps/run-netx-dist-tests.stamp
 
941
 
 
942
run-unit-test-code-coverage: stamps/run-unit-test-code-coverage.stamp
 
943
 
 
944
run-reproducers-test-code-coverage: stamps/run-reproducers-test-code-coverage.stamp