Mercurial > hg > release > icedtea6-1.6
view Makefile.am @ 1742:ed41571c551a
Backpatch S6963870: Eliminate NullPointerEx in swing class CompoundBorder method getBorderInsets
* patches/openjdk/6963870.patch: New file. Backpatched from jdk7 for
upstream bug#6963870. Fixes IcedTea Bug#477: NullPointerEx in swing
class CompoundBorder method getBorderInsets.
* Makefile.am: Include above patch.
author | Andrew John Hughes <ahughes@redhat.com> |
---|---|
date | Sun, 25 Jul 2010 22:36:52 +0100 |
parents | c79bef6a3406 |
children |
line wrap: on
line source
OPENJDK_DATE = 24_apr_2009 OPENJDK_MD5SUM = 850a29b70206bc7fa083cd26acc781f3 OPENJDK_VERSION = b16 CACAO_VERSION = 0.99.4 CACAO_MD5SUM = c5e6525c5212ddbb6026e4a7cde37ca6 NETBEANS_PROFILER_MD5SUM = a6756a62291ebea5c0e2431389b31380 VISUALVM_MD5SUM = a289739f4a5bcdb9a2c642cfcc1e83fe if ENABLE_NPPLUGIN ICEDTEAPLUGIN_CLEAN = clean-IcedTeaNPPlugin ICEDTEAPLUGIN_TARGET = IcedTeaNPPlugin.so PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = -C lib/rt netscape NPPLUGIN_DIR=$(abs_top_srcdir)/plugin/icedteanp LIVECONNECT_SRCS = $(NPPLUGIN_DIR)/java else if ENABLE_PLUGIN ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin ICEDTEAPLUGIN_TARGET = IcedTeaPlugin.so PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = -C lib/rt netscape NPPLUGIN_DIR = LIVECONNECT_SRCS = $(abs_top_srcdir)/plugin/icedtea else ICEDTEAPLUGIN_CLEAN = ICEDTEAPLUGIN_TARGET = PLUGIN_PATCH = LIVECONNECT_DIR = NPPLUGIN_DIR = LIVECONNECT_SRCS = endif endif if ENABLE_PULSE_JAVA # include the makefile in pulseaudio subdir PULSE_JAVA_DIR = $(abs_top_srcdir)/pulseaudio PULSE_JAVA_NATIVE_SRCDIR = $(PULSE_JAVA_DIR)/src/native PULSE_JAVA_JAVA_SRCDIR = $(PULSE_JAVA_DIR)/src/java PULSE_JAVA_CLASS_DIR = $(abs_top_builddir)/pulseaudio else PULSE_JAVA_DIR = PULSE_JAVA_NATIVE_SRCDIR = PULSE_JAVA_JAVA_SRCDIR = PULSE_JAVA_CLASS_DIR = endif if WITH_ALT_HSBUILD HOTSPOT_MAKE_DIR = make else HOTSPOT_MAKE_DIR = build endif # Top-Level Targets # ================= all-local: icedtea-against-icedtea distclean-local: clean-copy clean-jtreg clean-jtreg-reports clean-pulse-java rm -rf stamps rm -f rt-source-files.txt \ hotspot-tools-source-files.txt \ extra-source-files.txt rm -rf bootstrap rm -rf lib rm -rf extra-lib rm -rf openjdk-ecj rm -rf openjdk rm -rf hotspot-tools rm -rf rt/netscape rm -rf visualvm rm -rf netbeans if ENABLE_NPPLUGIN rm -f $(NPPLUGIN_DIR)/*.o $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so else if ENABLE_PLUGIN rm -f IcedTeaPlugin.o IcedTeaPlugin.so endif endif if BUILD_CACAO rm -rf cacao endif rm -f jni-common.o if ADD_ZERO_BUILD rm -rf zerovm endif install: .PHONY: \ env env-ecj snapshot clean-clone clean-patch \ clean-clone-ecj clean-patch-ecj clean-bootstrap-directory \ clean-bootstrap-directory-symlink clean-bootstrap-directory-ecj \ clean-bootstrap-directory-symlink-ecj icedtea icedtea-debug \ clean-icedtea icedtea-against-icedtea clean-icedtea-ecj clean-plugs \ clean-tools-jar clean-shared-objects clean-visualvm clean-nbplatform \ clean-copy clean-hotspot-tools clean-rt $(ICEDTEAPLUGIN_CLEAN) \ $(ICEDTEANPPLUGIN_CLEAN) hotspot hotspot-helper clean-extra clean-jtreg \ clean-jtreg-reports EXTRA_DIST = rt generated \ $(abs_top_srcdir)/patches/* \ tools-copy contrib ports \ extra overlays \ javaws.png javaws.desktop visualvm.desktop \ jconsole.desktop policytool.desktop \ test/jtreg \ IcedTeaPlugin.cc \ HACKING pulseaudio fsg.sh \ plugin \ hotspot.map \ autogen.sh \ mkbc.c \ tapset/hotspot.stp.in \ tapset/hotspot_jni.stp.in \ scripts/jni_create_stap.c \ scripts/jni_desc \ rewriter/agpl-3.0.txt \ $(REWRITER_SRCS) \ THANKYOU # The Binary plugs directory is called jdk1.7.0 for historical reasons. The # name is completely irrelevant; only contains the plugs to build IcedTea. # OpenJDK build environment. OS_DIR = $(BUILD_OS_DIR)-$(BUILD_ARCH_DIR) BUILD_OUTPUT_DIR = openjdk/build/$(OS_DIR) ECJ_BUILD_OUTPUT_DIR = openjdk-ecj/build/$(OS_DIR) ICEDTEA_BUILD_DIR = \ $(abs_top_builddir)/$(BUILD_OUTPUT_DIR) ICEDTEA_RT = \ $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar ICEDTEA_CLS_DIR = \ $(abs_top_builddir)/$(BUILD_OUTPUT_DIR)/classes ICEDTEA_BOOT_DIR= \ $(abs_top_builddir)/bootstrap/jdk1.6.0 ICEDTEA_ENDORSED_DIR = \ $(ICEDTEA_BOOT_DIR)/lib/endorsed JDK_UPDATE_VERSION = 0 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) if CORE_BUILD ICEDTEA_CORE_BUILD = yes else ICEDTEA_CORE_BUILD = endif if ZERO_BUILD ICEDTEA_ZERO_BUILD = yes else ICEDTEA_ZERO_BUILD = endif if SHARK_BUILD ICEDTEA_SHARK_BUILD = yes else ICEDTEA_SHARK_BUILD = endif ICEDTEA_ENV = \ IMPORT_BINARY_PLUGS=true \ ALT_JDK_IMPORT_PATH="$(ICEDTEA_BOOT_DIR)" \ ANT_HOME="$(SYSTEM_ANT_DIR)" \ BUILD_NUMBER="$(OPENJDK_VERSION)" \ JDK_UPDATE_VERSION="$(JDK_UPDATE_VERSION)" \ JRE_RELEASE_VERSION="1.6.0_$(COMBINED_VERSION)" \ MILESTONE="fcs" \ LANG="C" \ PATH="$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:$(OS_PATH):$$PATH" \ ALT_BOOTDIR="$(ICEDTEA_BOOT_DIR)" \ ALT_BINARY_PLUGS_PATH="$(abs_top_builddir)/bootstrap/jdk1.7.0" \ BUILD_ARCH_DIR="$(BUILD_ARCH_DIR)" \ ICEDTEA_RT="$(ICEDTEA_RT)" \ ICEDTEA_BUILD_DIR="$(ICEDTEA_BUILD_DIR)" \ ICEDTEA_CLS_DIR="$(ICEDTEA_CLS_DIR)" \ ICEDTEA_ENDORSED_DIR="$(ICEDTEA_ENDORSED_DIR)" \ ENDORSED="-Djava.endorsed.dirs=$(ICEDTEA_ENDORSED_DIR)" \ CLASSPATH="" \ LD_LIBRARY_PATH="" \ ICEDTEA_CORE_BUILD="$(ICEDTEA_CORE_BUILD)" \ ICEDTEA_ZERO_BUILD="$(ICEDTEA_ZERO_BUILD)" \ ICEDTEA_SHARK_BUILD="$(ICEDTEA_SHARK_BUILD)" \ ZERO_LIBARCH="$(ZERO_LIBARCH)" \ ZERO_BITSPERWORD="$(ZERO_BITSPERWORD)" \ ZERO_ENDIANNESS="$(ZERO_ENDIANNESS)" \ ZERO_ARCHDEF="$(ZERO_ARCHDEF)" \ ZERO_ARCHFLAG="$(ZERO_ARCHFLAG)" \ LIBFFI_CFLAGS="$(LIBFFI_CFLAGS)" \ LIBFFI_LIBS="$(LIBFFI_LIBS)" \ LLVM_CFLAGS="$(LLVM_CFLAGS)" \ LLVM_LDFLAGS="$(LLVM_LDFLAGS)" \ LLVM_LIBS="$(LLVM_LIBS)" \ FREETYPE2_HEADERS="$(FREETYPE2_CFLAGS)" \ FT2_LIB="$(FREETYPE2_LIBS)" \ ALT_PARALLEL_COMPILE_JOBS="$(PARALLEL_JOBS)" \ HOTSPOT_BUILD_JOBS="$(PARALLEL_JOBS)" \ JAVAC="" \ JAVA_HOME="" \ JDK_HOME="" \ DISTRIBUTION_ID="$(DIST_ID)" if WITH_CACAO ICEDTEA_ENV += \ ALT_HOTSPOT_IMPORT_PATH="$(CACAO_IMPORT_PATH)" endif if DISABLE_OPTIMIZATIONS ICEDTEA_ENV += \ NO_OPTIMIZATIONS="true" \ CC_NO_OPT="-O0 -g" endif if !ENABLE_DOCS ICEDTEA_ENV += \ NO_DOCS="true" endif if ENABLE_CROSS_COMPILATION ICEDTEA_ENV += \ CROSS_COMPILATION="true" \ CROSS_TARGET_ARCH="$(CROSS_TARGET_ARCH)" endif if USE_ALT_JAR ICEDTEA_ENV += \ ALT_JAR_CMD="$(ALT_JAR_CMD)" endif env: @echo 'unset JAVA_HOME' @echo 'export $(ICEDTEA_ENV)' if WITH_RHINO ICEDTEA_ENV += \ RHINO_JAR="$(abs_top_builddir)/rhino/rhino.jar" endif # OpenJDK ecj build environment. ICEDTEA_BUILD_DIR_ECJ = \ $(abs_top_builddir)/$(ECJ_BUILD_OUTPUT_DIR)/ ICEDTEA_CLS_DIR_ECJ = \ $(abs_top_builddir)/$(ECJ_BUILD_OUTPUT_DIR)/classes ICEDTEA_ENV_ECJ = \ IMPORT_BINARY_PLUGS=true \ ALT_JDK_IMPORT_PATH="$(ICEDTEA_BOOT_DIR)" \ ANT_HOME="$(SYSTEM_ANT_DIR)" \ BUILD_NUMBER="$(OPENJDK_VERSION)" \ JDK_UPDATE_VERSION="$(JDK_UPDATE_VERSION)" \ JRE_RELEASE_VERSION="1.6.0_$(COMBINED_VERSION)" \ MILESTONE="fcs" \ LANG=C"" \ PATH="$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:$(OS_PATH):$$PATH" \ ALT_BOOTDIR="$(ICEDTEA_BOOT_DIR)" \ ALT_BINARY_PLUGS_PATH="$(abs_top_builddir)/bootstrap/jdk1.7.0" \ BUILD_ARCH_DIR="$(BUILD_ARCH_DIR)" \ ICEDTEA_RT="$(ICEDTEA_RT)" \ ICEDTEA_BUILD_DIR="$(ICEDTEA_BUILD_DIR_ECJ)" \ ICEDTEA_CLS_DIR="$(ICEDTEA_CLS_DIR_ECJ)" \ ICEDTEA_ENDORSED_DIR="$(ICEDTEA_ENDORSED_DIR)" \ ENDORSED="-Djava.endorsed.dirs=$(ICEDTEA_ENDORSED_DIR)" \ BOOTCLASSPATH_CLS_RT="-bootclasspath $(ICEDTEA_CLS_DIR_ECJ):$(ICEDTEA_RT)" \ BOOTCLASSPATH_CLS="-bootclasspath $(ICEDTEA_CLS_DIR_ECJ)" \ BOOTCLASSPATH_RT_LIBGCJ="-bootclasspath $(ICEDTEA_RT):$(SYSTEM_GCJ_DIR)/jre/lib/rt.jar" \ CLASSPATH="" \ LD_LIBRARY_PATH="" \ GENSRCDIR="$(abs_top_builddir)/generated" \ ICEDTEA_CORE_BUILD="$(ICEDTEA_CORE_BUILD)" \ ICEDTEA_ZERO_BUILD="$(ICEDTEA_ZERO_BUILD)" \ ICEDTEA_SHARK_BUILD="$(ICEDTEA_SHARK_BUILD)" \ ZERO_LIBARCH="$(ZERO_LIBARCH)" \ ZERO_BITSPERWORD="$(ZERO_BITSPERWORD)" \ ZERO_ENDIANNESS="$(ZERO_ENDIANNESS)" \ ZERO_ARCHDEF="$(ZERO_ARCHDEF)" \ ZERO_ARCHFLAG="$(ZERO_ARCHFLAG)" \ LIBFFI_CFLAGS="$(LIBFFI_CFLAGS)" \ LIBFFI_LIBS="$(LIBFFI_LIBS)" \ LLVM_CFLAGS="$(LLVM_CFLAGS)" \ LLVM_LDFLAGS="$(LLVM_LDFLAGS)" \ LLVM_LIBS="$(LLVM_LIBS)" \ FREETYPE2_HEADERS="$(FREETYPE2_CFLAGS)" \ FT2_LIB="$(FREETYPE2_LIBS)" \ ALT_PARALLEL_COMPILE_JOBS="$(PARALLEL_JOBS)" \ HOTSPOT_BUILD_JOBS="$(PARALLEL_JOBS)" \ JAVAC="" \ JAVA_HOME="" \ JDK_HOME="" \ JAR_KNOWS_ATFILE="$(JAR_KNOWS_ATFILE)" \ JAR_KNOWS_J_OPTIONS="$(JAR_KNOWS_J_OPTIONS)" \ JAR_ACCEPTS_STDIN_LIST="$(JAR_ACCEPTS_STDIN_LIST)" if WITH_CACAO ICEDTEA_ENV_ECJ += \ ALT_HOTSPOT_IMPORT_PATH="$(CACAO_IMPORT_PATH)" endif if DISABLE_OPTIMIZATIONS ICEDTEA_ENV_ECJ += \ NO_OPTIMIZATIONS="true" \ CC_NO_OPT="-O0 -g" endif if !ENABLE_DOCS ICEDTEA_ENV_ECJ += \ NO_DOCS="true" endif if ENABLE_CROSS_COMPILATION ICEDTEA_ENV_ECJ += \ CROSS_COMPILATION="true" \ CROSS_TARGET_ARCH="$(CROSS_TARGET_ARCH)" endif if WITH_RHINO ICEDTEA_ENV_ECJ += \ RHINO_JAR="$(abs_top_builddir)/rhino/rhino.jar" endif env-ecj: @echo 'unset JAVA_HOME' @echo 'export $(ICEDTEA_ENV_ECJ)' # Mercurial snapshot. snapshot: dist mv $(DIST_ARCHIVES) $(distdir)-`$(HG) tip --template '{node}'`.tar.gz # OpenJDK Source Preparation Targets # ================================== # Download OpenJDK sources. OPENJDK_URL = http://download.java.net/openjdk/jdk6/promoted/$(OPENJDK_VERSION)/ HOTSPOT_URL = http://hg.openjdk.java.net/hsx/hsx14/master/archive/ OPENJDK_HG_URL = http://hg.openjdk.java.net/jdk6/jdk6 if USE_ALT_OPENJDK_SRC_ZIP OPENJDK_SRC_ZIP = $(ALT_OPENJDK_SRC_ZIP) else if USE_HG OPENJDK_SRC_ZIP = else OPENJDK_SRC_ZIP = openjdk-6-src-$(OPENJDK_VERSION)-$(OPENJDK_DATE).tar.gz endif endif if USE_ALT_HOTSPOT_SRC_ZIP HOTSPOT_SRC_ZIP = $(ALT_HOTSPOT_SRC_ZIP) else HOTSPOT_SRC_ZIP = hotspot.tar.gz endif CACAO_BASE_URL = http://www.complang.tuwien.ac.at CACAO_URL = $(CACAO_BASE_URL)/cacaojvm/download/cacao-$(CACAO_VERSION)/ if USE_ALT_CACAO_SRC_ZIP CACAO_SRC_ZIP = $(ALT_CACAO_SRC_ZIP) else CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz endif # VisualVM sources. Alternatives cannot be used here. NETBEANS_PROFILER_URL = http://icedtea.classpath.org/visualvm/ NETBEANS_PROFILER_SRC_ZIP = netbeans-profiler-visualvm_release65_mod.tar.gz VISUALVM_URL = https://visualvm.dev.java.net/files/documents/7163/127170/ VISUALVM_SRC_ZIP = visualvm-111-src.tar.gz stamps/hgforest.stamp: if OPENJDK_SRC_DIR_FOUND else if USE_ALT_OPENJDK_SRC_ZIP else if !USE_HG else if ! $(HG) fclone -h; \ then \ echo "No forest extension found. Please refer to" \ "http://selenic.com/mercurial/wiki/index.cgi/ForestExtension"; \ exit 1; \ fi; endif endif endif mkdir -p stamps touch stamps/hgforest.stamp stamps/download.stamp: stamps/hgforest.stamp if OPENJDK_SRC_DIR_FOUND else if USE_ALT_OPENJDK_SRC_ZIP else if USE_HG if WITH_HGREV $(HG) fclone -r $(HGREV) $(OPENJDK_HG_URL) openjdk; else $(HG) fclone $(OPENJDK_HG_URL) openjdk; endif else if ! echo "$(OPENJDK_MD5SUM) $(OPENJDK_SRC_ZIP)" \ | $(MD5SUM) --check ; \ then \ if [ $(OPENJDK_SRC_ZIP) ] ; \ then \ mv $(OPENJDK_SRC_ZIP) $(OPENJDK_SRC_ZIP).old ; \ fi ; \ $(WGET) $(OPENJDK_URL)$(OPENJDK_SRC_ZIP) -O $(OPENJDK_SRC_ZIP); \ fi endif endif if WITH_ALT_HSBUILD if USE_ALT_HOTSPOT_SRC_ZIP else hotspot_md5sum="`$(AWK) 'version==$$1 {print $$3}' version=$(HSBUILD) \ $(abs_top_srcdir)/hotspot.map`" ; \ if ! echo "$${hotspot_md5sum} $(HOTSPOT_SRC_ZIP)" \ | $(MD5SUM) --check ; \ then \ if [ $(HOTSPOT_SRC_ZIP) ] ; \ then \ mv $(HOTSPOT_SRC_ZIP) $(HOTSPOT_SRC_ZIP).old ; \ fi ; \ changeset="`$(AWK) 'version==$$1 {print $$2}' version=$(HSBUILD) \ $(abs_top_srcdir)/hotspot.map`" ; \ $(WGET) $(HOTSPOT_URL)$${changeset}.tar.gz -O $(HOTSPOT_SRC_ZIP) ; \ fi endif endif endif if BUILD_CACAO if !USE_SYSTEM_CACAO if USE_ALT_CACAO_SRC_ZIP else if ! echo "$(CACAO_MD5SUM) $(CACAO_SRC_ZIP)" \ | $(MD5SUM) --check ; \ then \ if [ $(CACAO_SRC_ZIP) ] ; \ then \ mv $(CACAO_SRC_ZIP) $(CACAO_SRC_ZIP).old ; \ fi ; \ $(WGET) $(CACAO_URL)$(CACAO_SRC_ZIP) -O $(CACAO_SRC_ZIP); \ fi endif endif endif if WITH_VISUALVM if ! echo "$(NETBEANS_PROFILER_MD5SUM) $(NETBEANS_PROFILER_SRC_ZIP)" \ | $(MD5SUM) --check ; \ then \ if [ $(NETBEANS_PROFILER_SRC_ZIP) ] ; \ then \ mv $(NETBEANS_PROFILER_SRC_ZIP) $(NETBEANS_PROFILER_SRC_ZIP).old ; \ fi ; \ $(WGET) $(NETBEANS_PROFILER_URL)$(NETBEANS_PROFILER_SRC_ZIP) \ -O $(NETBEANS_PROFILER_SRC_ZIP) ; \ fi if ! echo "$(VISUALVM_MD5SUM) $(VISUALVM_SRC_ZIP)" \ | $(MD5SUM) --check ; \ then \ if [ $(VISUALVM_SRC_ZIP) ] ; \ then \ mv $(VISUALVM_SRC_ZIP) $(VISUALVM_SRC_ZIP).old ; \ fi ; \ $(WGET) $(VISUALVM_URL)$(VISUALVM_SRC_ZIP) \ -O $(VISUALVM_SRC_ZIP) ; \ fi endif mkdir -p stamps touch stamps/download.stamp clean-hgforest: rm -f stamps/hgforest.stamp clean-download: rm -f stamps/download.stamp rm -f $(OPENJDK_SRC_ZIP) if BUILD_CACAO rm -f $(CACAO_SRC_ZIP) endif if WITH_VISUALVM rm -f $(VISUALVM_SRC_ZIP) rm -f $(NETBEANS_PROFILER_SRC_ZIP) endif # Build asm interpreter bytecodes ZERO_ASM_BC_DEF = $(abs_top_srcdir)/ports/hotspot/src/cpu/zero/vm/bytecodes_$(ZERO_LIBARCH).def ZERO_ASM_BC_ASM = $(abs_top_srcdir)/ports/hotspot/src/cpu/zero/vm/bytecodes_$(ZERO_LIBARCH).s ZERO_ASM_BC_ASM_COND = $(shell test -f ${ZERO_ASM_BC_DEF} && echo ${ZERO_ASM_BC_ASM}) $(abs_top_srcdir)/mkbc: $(abs_top_srcdir)/mkbc.c $(CC) $< -o $@ ${ZERO_ASM_BC_ASM}: ${ZERO_ASM_BC_DEF} $(abs_top_srcdir)/mkbc $(abs_top_srcdir)/mkbc $< $@ # Link ports sources into tree stamps/ports.stamp: stamps/replace-hotspot.stamp for target in $(abs_top_srcdir)/ports/hotspot/build/*/makefiles/* \ $(abs_top_srcdir)/ports/hotspot/src/*cpu/* \ $(abs_top_srcdir)/ports/hotspot/src/share/vm/*; do \ link=$$(dirname $$target | sed 's/^.*ports/openjdk/'|sed "s#hotspot/build#hotspot/$(HOTSPOT_MAKE_DIR)#"); \ ln -sfv $$target $$link; \ done ln -sf $(abs_top_builddir)/platform_zero openjdk/hotspot/$(HOTSPOT_MAKE_DIR)/linux if ! test "x$(ICEDTEA_CORE_BUILD)$(ICEDTEA_SHARK_BUILD)$(WITH_CACAO)" \ = "xno" ; then \ mkdir -p openjdk/jdk/src/solaris/bin/$(BUILD_ARCH_DIR) ; \ ln -sf $(abs_top_builddir)/jvm.cfg \ openjdk/jdk/src/solaris/bin/$(BUILD_ARCH_DIR)/jvm.cfg ; \ fi if ! test "x$(ICEDTEA_ZERO_BUILD)$(WITH_CACAO)" = "xno"; then \ ln -sf $(abs_top_builddir)/ergo.c \ openjdk/jdk/src/solaris/bin/ergo_$(BUILD_ARCH_DIR).c; \ fi mkdir -p stamps touch stamps/ports.stamp # If new gcc is installed, apply 4.3 patch if GCC_OLD GCC_PATCH = else GCC_PATCH = patches/icedtea-gcc-4.3.patch \ patches/hotspot/$(HSBUILD)/icedtea-gcc-4.3.patch endif # Patches needed when not using the newer OpenJDK 7 HotSpot OLD_HOTSPOT_PATCHES = \ patches/icedtea-signed-types-hot6.patch \ patches/icedtea-lucene-crash.patch \ patches/icedtea-6700047-loopopts.patch \ patches/icedtea-6712835-ifnode.patch if WITH_ALT_HSBUILD OLD_HOTSPOT_PATCHES_COND = else OLD_HOTSPOT_PATCHES_COND = $(OLD_HOTSPOT_PATCHES) endif ICEDTEA_FSG_PATCHES = ICEDTEA_PATCHES = \ patches/icedtea-notice-safepoints.patch \ patches/hotspot/$(HSBUILD)/icedtea-bytecodeInterpreter.patch \ patches/icedtea-signature-iterator.patch \ patches/icedtea-test-atomic-operations.patch \ patches/icedtea-zero.patch \ patches/icedtea-ia64-bugfix.patch \ patches/hotspot/$(HSBUILD)/icedtea-parisc-opt.patch \ $(OLD_HOTSPOT_PATCHES_COND) \ patches/icedtea-version.patch \ patches/hotspot/$(HSBUILD)/icedtea-version.patch \ patches/icedtea-copy-plugs.patch \ patches/hotspot/$(HSBUILD)/icedtea-text-relocations.patch \ patches/icedtea-graphics.patch \ patches/icedtea-debuginfo.patch \ patches/hotspot/$(HSBUILD)/icedtea-debuginfo.patch \ patches/icedtea-ssl.patch \ $(PLUGIN_PATCH) \ patches/icedtea-webstart.patch \ patches/icedtea-webstart-umask.patch \ patches/icedtea-rmi_amd64.patch \ patches/icedtea-tools.patch \ patches/icedtea-timezone.patch \ patches/icedtea-timezone-default-permission.patch \ patches/icedtea-simpletimezone-relax.patch \ patches/icedtea-headers.patch \ patches/hotspot/$(HSBUILD)/icedtea-headers.patch \ patches/icedtea-ant.patch \ patches/icedtea-gcc-suffix.patch \ patches/hotspot/$(HSBUILD)/icedtea-gcc-suffix.patch \ patches/icedtea-bytebuffer-compact.patch \ patches/icedtea-float-double-trailing-zeros.patch \ patches/hotspot/$(HSBUILD)/icedtea-memory-limits.patch \ patches/icedtea-sunsrc.patch \ patches/icedtea-libraries.patch \ patches/icedtea-javafiles.patch \ patches/icedtea-core-build.patch \ patches/icedtea-jvmtiEnv.patch \ patches/icedtea-lcms.patch \ patches/icedtea-lcms-2.patch \ patches/hotspot/$(HSBUILD)/icedtea-core-build.patch \ patches/icedtea-linker-options.patch \ patches/hotspot/$(HSBUILD)/icedtea-static-libstdc++.patch \ patches/icedtea-timerqueue.patch \ patches/icedtea-lib64.patch \ patches/icedtea-zero-build.patch \ patches/hotspot/$(HSBUILD)/icedtea-zero-build.patch \ patches/icedtea-print-lsb-release.patch \ patches/icedtea-jpegclasses.patch \ patches/icedtea-uname.patch \ patches/icedtea-ia64-fdlibm.patch \ patches/icedtea-freetypeversion.patch \ patches/icedtea-fonts.patch \ patches/icedtea-override-redirect-metacity.patch \ patches/icedtea-no-bcopy.patch \ patches/icedtea-shark-build.patch \ patches/hotspot/$(HSBUILD)/icedtea-shark-build.patch \ patches/icedtea-toolkit.patch \ patches/icedtea-jdk-docs-target.patch \ patches/icedtea-nomotif-6706121.patch \ patches/icedtea-nomotif.patch \ patches/icedtea-alpha-fixes.patch \ patches/icedtea-alt-jar.patch \ patches/icedtea-jdk-use-ssize_t.patch \ patches/hotspot/$(HSBUILD)/icedtea-use-idx_t.patch \ patches/hotspot/$(HSBUILD)/icedtea-params-cast-size_t.patch \ patches/icedtea-clean-crypto.patch \ patches/hotspot/$(HSBUILD)/icedtea-shark.patch \ $(GCC_PATCH) \ patches/icedtea-arch.patch \ patches/icedtea-lc_ctype.patch \ patches/icedtea-messageutils.patch \ patches/icedtea-javac-debuginfo.patch \ patches/icedtea-xjc.patch \ patches/icedtea-renderer-crossing.patch \ patches/icedtea-stroker-finish.patch \ patches/icedtea-alsa-default-device.patch \ patches/icedtea-linker-libs-order.patch \ patches/icedtea-f2i-overflow.patch \ patches/icedtea-6761856-freetypescaler.patch \ patches/icedtea-testenv.patch \ patches/icedtea-samejvm-safe.patch \ patches/icedtea-6728542-epoll.patch \ patches/icedtea-cc-interp-jvmti.patch \ patches/icedtea-pr261.patch \ patches/icedtea-doc-headers.patch \ patches/icedtea-policy-evaluation.patch \ patches/openjdk/bidi-tests.patch \ patches/openjdk/annotation-tests.patch \ patches/openjdk/rename-execvpe.patch \ patches/security/icedtea-6588003.patch \ patches/security/icedtea-6656586.patch \ patches/security/icedtea-6656610.patch \ patches/security/icedtea-6656625.patch \ patches/security/icedtea-6657133.patch \ patches/security/icedtea-6657619.patch \ patches/security/icedtea-6657625.patch \ patches/security/icedtea-6657695.patch \ patches/security/icedtea-6660049.patch \ patches/security/icedtea-6660539.patch \ patches/security/icedtea-6736293.patch \ patches/security/icedtea-6738524.patch \ patches/security/icedtea-6777448.patch \ patches/security/icedtea-6801497.patch \ patches/security/icedtea-6801071.patch \ patches/security/icedtea-6777487.patch \ patches/security/icedtea-6823373.patch \ patches/security/icedtea-6824440.patch \ patches/security/icedtea-6830335.patch \ patches/security/icedtea-6845701.patch \ patches/security/icedtea-6813167.patch \ patches/security/icedtea-6862968.patch \ patches/security/icedtea-6863503.patch \ patches/security/icedtea-6864911.patch \ patches/security/icedtea-6872357.patch \ patches/security/icedtea-6874643.patch \ patches/security/icedtea-6631533.patch \ patches/security/icedtea-6632445.patch \ patches/security/icedtea-6636650.patch \ patches/security/icedtea-6657026.patch \ patches/security/icedtea-6657138.patch \ patches/security/icedtea-6664512.patch \ patches/security/icedtea-6822057.patch \ patches/security/icedtea-6824265.patch \ patches/security/icedtea-6861062.patch \ patches/security/icedtea-6872358.patch \ patches/icedtea-jar-misc.patch \ patches/icedtea-6897844-xshm.patch \ patches/icedtea-linux-separate-debuginfo.patch \ patches/openjdk/6822370-reentrantreadwritelock.patch \ patches/icedtea-format-warnings.patch \ patches/icedtea-fortify-source.patch \ patches/hotspot/$(HSBUILD)/icedtea-6791168.patch \ patches/hotspot/$(HSBUILD)/icedtea-includedb.patch \ patches/icedtea-use-system-tzdata.patch \ patches/openjdk/6678385.patch \ patches/openjdk/4891262-docs-accessibility.patch \ patches/openjdk/6737212-docs-sql.patch \ patches/openjdk/6875861-docs-properties.patch \ patches/openjdk/6909563-docs-rmi.patch \ patches/openjdk/6917485-docs-corba.patch \ patches/openjdk/6921068-docs-specdefault.patch \ patches/openjdk/6668231-ssl_cert.patch \ patches/openjdk/6963870-swing_npe.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ patches/hotspot/$(HSBUILD)/icedtea-sparc-buildfixes.patch \ patches/hotspot/$(HSBUILD)/icedtea-ignore-unrecognized-options.patch endif if !WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ patches/icedtea-sparc.patch \ patches/icedtea-bytecodeInterpreterWithChecks.patch endif ICEDTEA_PATCHES += \ patches/hotspot/$(HSBUILD)/icedtea-sparc64-linux.patch \ patches/hotspot/$(HSBUILD)/icedtea-sparc-ptracefix.patch \ patches/hotspot/$(HSBUILD)/icedtea-sparc-trapsfix.patch if WITH_RHINO ICEDTEA_PATCHES += \ patches/icedtea-rhino.patch endif if BUILD_CACAO ICEDTEA_PATCHES += \ patches/icedtea-cacao.patch \ patches/icedtea-cacao-no-mmap-first-page.patch \ patches/cacao/no-strict-aliasing.patch endif if WITH_CACAO ICEDTEA_PATCHES += \ patches/icedtea-cacao-ignore-jdi-tests.patch \ patches/icedtea-cacao-ignore-tests.patch endif if ENABLE_PULSE_JAVA ICEDTEA_PATCHES += \ patches/icedtea-pulse-soundproperties.patch endif if ENABLE_XRENDER XRENDER_PATCHES = patches/xrender/icedtea-???.patch XRENDER_PATCH_FILES = $(sort $(wildcard $(abs_top_srcdir)/$(XRENDER_PATCHES))) ICEDTEA_PATCHES += $(sort $(subst $(abs_top_srcdir)/,,$(XRENDER_PATCH_FILES))) endif if ENABLE_NIO2 ICEDTEA_PATCHES += patches/icedtea-nio2.patch endif if ENABLE_SYSTEMTAP ICEDTEA_PATCHES += patches/hotspot/$(HSBUILD)/systemtap.patch \ patches/systemtap-gcc-4.5.patch endif if ENABLE_NSS ICEDTEA_PATCHES += patches/icedtea-nss-config.patch \ patches/icedtea-nss-6763530.patch endif ICEDTEA_PATCHES += \ patches/icedtea-demo-swingapplet.patch \ patches/icedtea-awt-window-size.patch \ patches/icedtea-java2d-dasher.patch \ patches/hotspot/$(HSBUILD)/icedtea-format.patch \ patches/icedtea-cc-interp-backedge.patch \ patches/icedtea-xml-encodinginfo.patch \ patches/icedtea-jtreg-6592792.patch \ patches/icedtea-s390-noinline.patch \ patches/icedtea-jtreg-hatrun.patch \ patches/icedtea-jtreg-dnd.patch \ patches/icedtea-jtreg-colortest.patch \ patches/icedtea-jtreg-printjob-multiple-end.patch \ patches/icedtea-jtreg-printjob-edgetest-manual.patch \ patches/icedtea-jtreg-jrunscript.patch \ patches/icedtea-network-unreachable.patch \ patches/icedtea-dnd-filelists.patch \ patches/icedtea-java2d-mitre-join.patch \ patches/icedtea-java2d-stroker-internal-joint.patch \ patches/icedtea-java2d-stroker-internal-close-joint.patch \ patches/icedtea-disable-cc-incompatible-sanity-checks.patch \ patches/icedtea-explicit-target-arch.patch \ patches/hotspot/$(HSBUILD)/icedtea-explicit-target-arch.patch \ patches/openjdk/6648816.patch \ patches/openjdk/oj100103-debugger-socket-overflow.patch \ patches/gcc-stack-markings.patch \ patches/icedtea-jtreg-httpTest.patch \ patches/security/20100330/6626217.patch \ patches/security/20100330/6633872.patch \ patches/security/20100330/6639665.patch \ patches/security/20100330/6736390.patch \ patches/security/20100330/6745393.patch \ patches/security/20100330/6887703.patch \ patches/security/20100330/6888149.patch \ patches/security/20100330/6892265.patch \ patches/security/20100330/6893947.patch \ patches/security/20100330/6893954.patch \ patches/security/20100330/hotspot/$(HSBUILD)/6894807.patch \ patches/security/20100330/6898622.patch \ patches/security/20100330/6898739.patch \ patches/security/20100330/6899653.patch \ patches/security/20100330/6902299.patch \ patches/security/20100330/6904691.patch \ patches/security/20100330/6909597.patch \ patches/security/20100330/6910590.patch \ patches/security/20100330/6914823.patch \ patches/security/20100330/6914866.patch \ patches/security/20100330/6932480.patch \ patches/ant-1.8.0.patch \ $(DISTRIBUTION_PATCHES) stamps/extract.stamp: stamps/download.stamp if OPENJDK_SRC_DIR_FOUND cp -a $(OPENJDK_SRC_DIR) openjdk else if ! test -d openjdk ; \ then \ mkdir openjdk ; \ $(TAR) xf $(OPENJDK_SRC_ZIP) -C openjdk; \ chmod -R ug+w openjdk ; \ sh $(abs_top_srcdir)/fsg.sh ; \ fi endif if BUILD_CACAO if !USE_SYSTEM_CACAO if ! test -d cacao ; \ then \ mkdir cacao ; \ $(TAR) xf $(CACAO_SRC_ZIP) -C cacao ; \ dir=$$(basename cacao/cacao-*) ; \ ln -s $$dir cacao/cacao ; \ fi endif endif if WITH_VISUALVM if ! test -d netbeans ; \ then \ mkdir netbeans ; \ $(TAR) xf $(NETBEANS_PROFILER_SRC_ZIP) -C netbeans ; \ fi if ! test -d visualvm ; \ then \ $(TAR) xf $(VISUALVM_SRC_ZIP) ; \ fi endif if [ ! -e $(abs_top_builddir)/generated ]; then \ cp -a $(abs_top_srcdir)/generated $(abs_top_builddir); \ find $(abs_top_builddir)/generated -type f -exec chmod 640 '{}' ';' \ -o -type d -exec chmod 750 '{}' ';'; \ fi mkdir -p stamps touch stamps/extract.stamp clean-extract: rm -f stamps/extract.stamp stamps/replace-hotspot.stamp: stamps/extract.stamp if WITH_ALT_HSBUILD if test "x${HSBUILD}" != "xoriginal"; then \ if test -e ${HOTSPOT_SRC_ZIP} ; \ then \ $(TAR) xf $(HOTSPOT_SRC_ZIP) && \ chmod -R ug+w master-* && \ rm -rf openjdk/hotspot && \ mv master-$$($(AWK) 'version==$$1 {print $$2}' version=$(HSBUILD) \ $(abs_top_srcdir)/hotspot.map) openjdk/hotspot ; \ fi ; \ fi ; endif touch stamps/replace-hotspot.stamp clean-replace-hotspot: rm -rf stamps/replace-hotspot.stamp stamps/patch.stamp: stamps/patch-fsg.stamp mkdir -p stamps ; \ rm -f stamps/patch.stamp.tmp ; \ touch stamps/patch.stamp.tmp ; \ all_patches_ok=yes; \ for p in $(ICEDTEA_PATCHES) ; \ do \ if test x$${all_patches_ok} = "xyes" \ && echo Checking $$p \ && $(PATCH) -l -p0 --dry-run -s -t -f \ < $(abs_top_srcdir)/$$p ; \ then \ echo Applying $$p ; \ $(PATCH) -l -p0 < $(abs_top_srcdir)/$$p ; \ if ! grep "^\* $$(basename $$p)" $(abs_top_srcdir)/HACKING \ >> stamps/patch.stamp.tmp ; \ then \ echo "* $$(basename $$p): UNDOCUMENTED" \ >> stamps/patch.stamp.tmp ; \ fi ; \ else \ test x$${all_patches_ok} = "xyes" && all_patches_ok=$$p ; \ fi ; \ done ; \ mv stamps/patch.stamp.tmp stamps/patch.stamp ; \ if ! test x$${all_patches_ok} = "xyes"; then \ echo ERROR patch $${all_patches_ok} FAILED! ; \ echo WARNING make clean-patch before retrying a fix ; \ exit 2; \ fi if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \ revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{node|short}')`" ; \ fi ; \ icedtea_version="$(PACKAGE_VERSION)$${revision}" ; \ if ! test "x$(WITH_CACAO)" = "xno"; then \ echo "JDK_DERIVATIVE_NAME=$${icedtea_version}" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ echo "PRODUCT_NAME=IcedTea6" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ else \ echo "JDK_DERIVATIVE_NAME=IcedTea6 $${icedtea_version}" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ fi if [ -n "$(PKGVERSION)" ]; then \ echo "DISTRO_PACKAGE_VERSION=$(PKGVERSION)" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; \ fi if ENABLE_NPPLUGIN cp -a $(abs_top_srcdir)/plugin/icedteanp/java/sun/applet/*java openjdk/jdk/src/share/classes/sun/applet/ else if ENABLE_PLUGIN cp -a $(abs_top_srcdir)/plugin/icedtea/sun/applet/*java openjdk/jdk/src/share/classes/sun/applet/ endif endif clean-patch: rm -f stamps/patch.stamp all_patches_ok=yes; \ for p in $(ICEDTEA_PATCHES) ; \ do \ echo Checking $$p ; \ if $(PATCH) -l -p0 -R --dry-run -s -t -f < $(abs_top_srcdir)/$$p ; \ then \ echo Reverting $$p ; \ $(PATCH) -l -p0 -R < $(abs_top_srcdir)/$$p ; \ else \ all_patches_ok=no ; \ fi ; \ done ; \ if ! test x$${all_patches_ok} = "xyes" ; then \ echo "WARNING Not all patches reverted cleanly" ; \ fi rm -rf rt/netscape for file in plugin/icedtea/sun/applet/*java ; \ do \ rm -f openjdk/jdk/src/share/classes/sun/applet/`basename $file` ; \ done ; stamps/patch-fsg.stamp: stamps/replace-hotspot.stamp mkdir -p stamps ; \ rm -f stamps/patch-fsg.stamp.tmp ; \ touch stamps/patch-fsg.stamp.tmp ; \ all_patches_ok=yes; \ for p in $(ICEDTEA_FSG_PATCHES) ; \ do \ if test x$${all_patches_ok} = "xyes" \ && echo Checking $$p \ && $(PATCH) -l -p0 --dry-run -s -t -f \ < $(abs_top_srcdir)/$$p ; \ then \ echo Applying $$p ; \ $(PATCH) -l -p0 < $(abs_top_srcdir)/$$p ; \ if ! grep "^\* $$(basename $$p)" $(abs_top_srcdir)/HACKING \ >> stamps/patch-fsg.stamp.tmp ; \ then \ echo "* $$(basename $$p): UNDOCUMENTED" \ >> stamps/patch-fsg.stamp.tmp ; \ fi ; \ else \ test x$${all_patches_ok} = "xyes" && all_patches_ok=$$p ; \ fi ; \ done ; \ mv stamps/patch-fsg.stamp.tmp stamps/patch-fsg.stamp ; \ if ! test x$${all_patches_ok} = "xyes"; then \ echo ERROR patch $${all_patches_ok} FAILED! ; \ echo WARNING make clean-patch before retrying a fix ; \ exit 2; \ fi ; clean-patch-fsg: rm -f stamps/patch-fsg.stamp all_patches_ok=yes; \ for p in $(ICEDTEA_FSG_PATCHES) ; \ do \ echo Checking $$p ; \ if $(PATCH) -l -p0 -R --dry-run -s -t -f < $(abs_top_srcdir)/$$p ; \ then \ echo Reverting $$p ; \ $(PATCH) -l -p0 -R < $(abs_top_srcdir)/$$p ; \ else \ all_patches_ok=no ; \ fi ; \ done ; \ if ! test x$${all_patches_ok} = "xyes" ; then \ echo "WARNING Not all patches reverted cleanly" ; \ fi stamps/overlay.stamp: stamps/patch.stamp cp -r $(abs_top_srcdir)/overlays/openjdk/* openjdk/ if ENABLE_NIO2 cp -r $(abs_top_srcdir)/overlays/nio2/openjdk/* openjdk/ endif touch stamps/overlay.stamp # OpenJDK ecj Source Preparation Targets # ====================================== # Copy over OpenJDK sources for ecj. stamps/extract-ecj.stamp: stamps/overlay.stamp if ! test -d openjdk-ecj ; then \ cp -pPRl openjdk openjdk-ecj ; \ fi mkdir -p stamps touch stamps/extract-ecj.stamp clean-extract-ecj: rm -f stamps/extract-ecj.stamp rm -rf openjdk-ecj # Link ports sources into tree stamps/ports-ecj.stamp: stamps/extract-ecj.stamp for target in $(abs_top_srcdir)/ports/hotspot/build/*/makefiles/* \ $(abs_top_srcdir)/ports/hotspot/src/*cpu/* \ $(abs_top_srcdir)/ports/hotspot/src/share/vm/*; do \ link=$$(dirname $$target | sed 's/^.*ports/openjdk-ecj/'|sed "s#hotspot/build#hotspot/$(HOTSPOT_MAKE_DIR)#"); \ ln -sfv $$target $$link; \ done ln -sf $(abs_top_builddir)/platform_zero openjdk-ecj/hotspot/$(HOTSPOT_MAKE_DIR)/linux if ! test "x$(ICEDTEA_CORE_BUILD)$(ICEDTEA_SHARK_BUILD)$(WITH_CACAO)" \ = "xno"; then \ mkdir -p openjdk-ecj/jdk/src/solaris/bin/$(BUILD_ARCH_DIR); \ ln -sf $(abs_top_builddir)/jvm.cfg \ openjdk-ecj/jdk/src/solaris/bin/$(BUILD_ARCH_DIR)/jvm.cfg; \ fi if ! test "x$(ICEDTEA_ZERO_BUILD)$(WITH_CACAO)" = "xno"; then \ ln -sf $(abs_top_builddir)/ergo.c \ openjdk-ecj/jdk/src/solaris/bin/ergo_$(BUILD_ARCH_DIR).c; \ fi mkdir -p stamps touch stamps/ports-ecj.stamp # Patch OpenJDK for plug replacements and ecj. ICEDTEA_ECJ_PATCHES = patches/ecj/icedtea.patch \ patches/ecj/icedtea-hotspot-$(HSBUILD).patch \ patches/ecj/icedtea-spp.patch \ patches/ecj/icedtea-jopt.patch stamps/patch-ecj.stamp: stamps/extract-ecj.stamp mkdir -p stamps; \ rm -f stamps/patch-ecj.stamp.tmp ; \ touch stamps/patch-ecj.stamp.tmp ; \ all_patches_ok=yes; \ for p in $(ICEDTEA_ECJ_PATCHES) ; \ do \ if test x$${all_patches_ok} = "xyes" \ && echo Checking $$p \ && $(PATCH) -l -p0 --dry-run -s -t -f \ < $(abs_top_srcdir)/$$p ; \ then \ echo Applying $$p ; \ $(PATCH) -l -p0 < $(abs_top_srcdir)/$$p ; \ if ! grep "^\* $$(basename $$p)" $(abs_top_srcdir)/HACKING \ >> stamps/patch-ecj.stamp.tmp ; \ then \ echo "* $$(basename $$p): UNDOCUMENTED" \ >> stamps/patch-ecj.stamp.tmp ; \ fi ; \ else \ test x$${all_patches_ok} = "xyes" && all_patches_ok=$$p ; \ fi ; \ done ; \ mv stamps/patch-ecj.stamp.tmp stamps/patch-ecj.stamp ; \ if ! test x$${all_patches_ok} = "xyes"; then \ echo ERROR patch $${all_patches_ok} FAILED! ; \ echo WARNING make clean-patch before retrying a fix ; \ exit 2; \ fi clean-patch-ecj: rm -f stamps/patch-ecj.stamp all_patches_ok=yes; \ for p in $(ICEDTEA_ECJ_PATCHES) ; \ do \ echo Checking $$p ; \ if $(PATCH) -l -p0 -R --dry-run -s -t -f < $(abs_top_srcdir)/$$p ; \ then \ echo Reverting $$p ; \ $(PATCH) -l -p0 -R < $(abs_top_srcdir)/$$p ; \ else \ all_patches_ok=no ; \ fi ; \ done ; \ if ! test x$${all_patches_ok} = "xyes" ; then \ echo "WARNING Not all patches reverted cleanly" ; \ fi # Bootstrap Directory Targets # =========================== # bootstrap/icedtea. stamps/bootstrap-directory.stamp: stamps/icedtea-against-ecj.stamp rm -rf bootstrap/icedtea ln -s \ $(abs_top_builddir)/$(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/ \ bootstrap/icedtea if ! test -d bootstrap/icedtea/include; then \ ln -sf $(ICEDTEA_BUILD_DIR_ECJ)/include bootstrap/icedtea/include; \ fi mkdir -p stamps touch stamps/bootstrap-directory.stamp clean-bootstrap-directory: rm -f stamps/bootstrap-directory.stamp rm -rf bootstrap/icedtea if WITH_OPENJDK BOOTSTRAP_DIRECTORY_STAMP = ICEDTEA_HOME = $(SYSTEM_OPENJDK_DIR) else BOOTSTRAP_DIRECTORY_STAMP = stamps/bootstrap-directory.stamp ICEDTEA_HOME = $(abs_top_builddir)/bootstrap/icedtea endif # bootstrap/jdk1.6.0 to bootstrap/icedtea symlink. stamps/bootstrap-directory-symlink.stamp: $(BOOTSTRAP_DIRECTORY_STAMP) mkdir -p bootstrap rm -f bootstrap/jdk1.6.0 ln -sf $(ICEDTEA_HOME) bootstrap/jdk1.6.0; \ if ! bootstrap/jdk1.6.0/bin/java -version ; \ then \ echo "bootstrap/jdk1.6.0/bin/java" \ "cannot be found or is corrupted." ; \ exit 1; \ fi mkdir -p stamps touch stamps/bootstrap-directory-symlink.stamp clean-bootstrap-directory-symlink: rm -f stamps/bootstrap-directory-symlink.stamp rm -f bootstrap/jdk1.6.0 # Bootstrap ecj Directory Targets # =============================== # bootstrap/ecj. stamps/bootstrap-directory-ecj.stamp: stamps/native-ecj.stamp mkdir -p bootstrap/ecj/bin stamps/ ln -sf $(JAVA) bootstrap/ecj/bin/java ln -sf $(JAVAH) bootstrap/ecj/bin/javah ln -sf $(RMIC) bootstrap/ecj/bin/rmic ln -sf $(JAR) bootstrap/ecj/bin/jar ln -sf ../../../javac bootstrap/ecj/bin/javac ln -sf ../../../javap bootstrap/ecj/bin/javap mkdir -p bootstrap/ecj/lib/endorsed ln -sf $(XALAN2_JAR) bootstrap/ecj/lib/endorsed/xalan-j2.jar ln -sf $(XALAN2_SERIALIZER_JAR) \ bootstrap/ecj/lib/endorsed/xalan-j2-serializer.jar ln -sf $(XERCES2_JAR) bootstrap/ecj/lib/endorsed/xerces-j2.jar mkdir -p bootstrap/ecj/jre/lib; \ ln -sf $(SYSTEM_GCJ_DIR)/jre/lib/$(JRE_ARCH_DIR) \ bootstrap/ecj/jre/lib/; \ if ! test -d bootstrap/ecj/jre/lib/$(INSTALL_ARCH_DIR); \ then \ ln -sf ./$(JRE_ARCH_DIR) \ bootstrap/ecj/jre/lib/$(INSTALL_ARCH_DIR); \ fi; \ mkdir -p bootstrap/ecj/include; \ for i in $(SYSTEM_GCJ_DIR)/include/*; do \ test -r $$i | continue; \ i=`basename $$i`; \ rm -f bootstrap/ecj/include/$$i; \ ln -s $(SYSTEM_GCJ_DIR)/include/$$i bootstrap/ecj/include/$$i; \ done; \ if test -f $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/tools.jar ; \ then \ mkdir -p $(abs_top_builddir)/bootstrap/ecj/lib ; \ ln -sf $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/tools.jar \ $(abs_top_builddir)/bootstrap/ecj/lib/tools.jar ; \ fi if test -f \ $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar ; \ then \ cp $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ $(abs_top_builddir)/bootstrap/ecj/jre/lib/rt.jar ; \ fi mkdir -p stamps touch stamps/bootstrap-directory-ecj.stamp clean-bootstrap-directory-ecj: rm -f stamps/bootstrap-directory-ecj.stamp rm -rf bootstrap/ecj # bootstrap/jdk1.6.0 to bootstrap/ecj symlink. stamps/bootstrap-directory-symlink-ecj.stamp: \ stamps/bootstrap-directory-ecj.stamp rm -f bootstrap/jdk1.6.0 ln -sf ecj bootstrap/jdk1.6.0 mkdir -p stamps touch stamps/bootstrap-directory-symlink-ecj.stamp clean-bootstrap-directory-symlink-ecj: rm -f stamps/bootstrap-directory-symlink-ecj.stamp rm -f bootstrap/jdk1.6.0 # OpenJDK Targets # =============== if WITH_OPENJDK MEMORY_LIMIT = -J-Xmx1024m else MEMORY_LIMIT = endif if WITH_CACAO ICEDTEA_BUILD_TARGET=j2se_only ICEDTEA_DEBUG_BUILD_TARGET=j2se_fastdebug_only else ICEDTEA_BUILD_TARGET= ICEDTEA_DEBUG_BUILD_TARGET=debug_build endif # If you change anything here in the icedtea target, please make sure # you change it in the icedtea-debug target as well. stamps/icedtea.stamp: stamps/bootstrap-directory-symlink.stamp \ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ $(ICEDTEAPLUGIN_TARGET) $(ICEDTEANPPLUGIN_TARGET) \ extra-lib/about.jar stamps/cacao.stamp stamps/visualvm.stamp \ stamps/pulse-java.stamp $(ZERO_ASM_BC_ASM_COND) \ stamps/rewrite-rhino.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV) \ -C openjdk \ $(ICEDTEA_BUILD_TARGET) mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) mkdir -p $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/ext mkdir -p $(BUILD_OUTPUT_DIR)/j2re-image/lib/ext if ENABLE_NPPLUGIN cp -pPRf $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) cp -pPRf $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so \ $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) else if ENABLE_PLUGIN cp -pPRf IcedTeaPlugin.so \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) cp -pPRf IcedTeaPlugin.so \ $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) endif endif if ENABLE_PULSE_JAVA cp -pPRf libpulse-java.so \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) cp -pPRf libpulse-java.so \ $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) cp -pPRf pulse-java.jar \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/ext cp -pPRf pulse-java.jar \ $(BUILD_OUTPUT_DIR)/j2re-image/lib/ext endif if WITH_VISUALVM mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc ; \ mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/visualvm ; \ sed "s/APPNAME=\`basename.*\`/APPNAME=visualvm/" \ visualvm/launcher/visualvm >> \ $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/jvisualvm ; \ chmod a+x $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/jvisualvm ; \ cp visualvm/launcher/visualvm.conf \ $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc ; \ echo visualvm >> \ $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc/visualvm.clusters ; \ echo profiler3 >> \ $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc/visualvm.clusters ; \ cp -r visualvm/build/cluster/* \ $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/visualvm ; \ cp -r netbeans/nbbuild/netbeans_visualvm/platform9 \ $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm ; \ cp -r netbeans/nbbuild/netbeans_visualvm/profiler3 \ $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm endif cp $(abs_top_srcdir)/rt/net/sourceforge/jnlp/resources/about.jnlp \ extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)/j2re-image/lib ; \ cp $(abs_top_srcdir)/rt/net/sourceforge/jnlp/resources/about.jnlp \ extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib if ZERO_BUILD printf -- '-zero ALIASED_TO -server\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg endif if WITH_CACAO printf -- '-cacao ALIASED_TO -server\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg endif if ENABLE_SYSTEMTAP mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset ; \ grep "client IGNORE" $(BUILD_JRE_ARCH_DIR)/jvm.cfg; \ if test $$? -eq 0; then \ sed -e '/\/client\/libjvm.so/d' \ < $(abs_top_builddir)/tapset/hotspot.stp \ > $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot.stp; \ sed -e '/\/client\/libjvm.so/d' \ < $(abs_top_builddir)/tapset/hotspot_jni.stp \ > $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \ else \ cp $(abs_top_builddir)/tapset/hotspot.stp \ $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot.stp; \ cp $(abs_top_builddir)/tapset/hotspot_jni.stp \ $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \ fi; \ cp $(abs_top_builddir)/tapset/jstack.stp \ $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp endif if ENABLE_NSS cp $(abs_top_builddir)/nss.cfg \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security; endif if WITH_TZDATA_DIR cp $(abs_top_builddir)/tz.properties \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib; endif @echo "IcedTea is served:" $(BUILD_OUTPUT_DIR) mkdir -p stamps touch stamps/icedtea.stamp stamps/icedtea-debug.stamp: stamps/bootstrap-directory-symlink.stamp \ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ $(ICEDTEAPLUGIN_TARGET) $(ICEDTEANPPLUGIN_TARGET) \ extra-lib/about.jar stamps/cacao.stamp stamps/visualvm.stamp \ stamps/pulse-java.stamp $(ZERO_ASM_BC_ASM_COND) \ stamps/rewrite-rhino.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV) \ -C openjdk \ $(ICEDTEA_DEBUG_BUILD_TARGET) mkdir -p $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) mkdir -p $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/$(INSTALL_ARCH_DIR) mkdir -p $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/ext mkdir -p $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/ext if ENABLE_NPPLUGIN cp -pPRf $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so \ $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) cp -pPRf $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so \ $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/$(INSTALL_ARCH_DIR) else if ENABLE_PLUGIN cp -pPRf IcedTeaPlugin.so \ $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) cp -pPRf IcedTeaPlugin.so \ $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/$(INSTALL_ARCH_DIR) endif endif if ENABLE_PULSE_JAVA cp -pPRf libpulse-java.so \ $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) cp -pPRf libpulse-java.so \ $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/$(INSTALL_ARCH_DIR) cp -pPRf pulse-java.jar \ $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/ext cp -pPRf pulse-java.jar \ $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/ext endif if WITH_VISUALVM mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc ; \ mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/visualvm ; \ sed "s/APPNAME=\`basename.*\`/APPNAME=visualvm/" \ visualvm/launcher/visualvm >> \ $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/jvisualvm ; \ chmod a+x $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/jvisualvm ; \ cp visualvm/launcher/visualvm.conf \ $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc ; \ echo visualvm >> \ $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc/visualvm.clusters ; \ echo profiler3 >> \ $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc/visualvm.clusters ; \ cp -r visualvm/build/cluster/* \ $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/visualvm ; \ cp -r netbeans/nbbuild/netbeans_visualvm/platform9 \ $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm ; \ cp -r netbeans/nbbuild/netbeans_visualvm/profiler3 \ $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm endif cp $(abs_top_srcdir)/rt/net/sourceforge/jnlp/resources/default.jnlp \ extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib ; \ cp $(abs_top_srcdir)/rt/net/sourceforge/jnlp/resources/default.jnlp \ extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib if ZERO_BUILD printf -- '-zero ALIASED_TO -server\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg endif if WITH_CACAO printf -- '-cacao ALIASED_TO -server\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg endif if ENABLE_SYSTEMTAP mkdir -p $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/tapset ; \ grep "client IGNORE" $(BUILD_JRE_ARCH_DIR)/jvm.cfg; \ if test $$? -eq 0; then \ sed -e '/\/client\/libjvm.so/d' \ < $(abs_top_builddir)/tapset/hotspot.stp \ > $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/tapset/hotspot.stp; \ sed -e '/\/client\/libjvm.so/d' \ < $(abs_top_builddir)/tapset/hotspot_jni.stp \ > $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/tapset/hotspot_jni.stp; \ else \ cp $(abs_top_builddir)/tapset/hotspot.stp \ $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/tapset/hotspot.stp; \ cp $(abs_top_builddir)/tapset/hotspot_jni.stp \ $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/tapset/hotspot_jni.stp; \ fi; \ cp $(abs_top_builddir)/tapset/jstack.stp \ $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/tapset/jstack.stp endif if ENABLE_NSS cp $(abs_top_builddir)/nss.cfg \ $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/security; endif if WITH_TZDATA_DIR cp $(abs_top_builddir)/tz.properties \ $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib; endif @echo "IcedTea (debug build) is served:" \ $(BUILD_OUTPUT_DIR)-debug mkdir -p stamps touch stamps/icedtea-debug.stamp clean-icedtea: stamps/extract.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV) \ -C openjdk clobber rm -f stamps/icedtea.stamp stamps/icedtea-debug.stamp icedtea-against-icedtea: \ stamps/bootstrap-directory-symlink.stamp \ stamps/icedtea.stamp \ stamps/add-cacao.stamp \ stamps/add-zero.stamp icedtea-debug-against-icedtea: \ stamps/bootstrap-directory-symlink.stamp \ stamps/icedtea-debug.stamp \ stamps/add-cacao-debug.stamp \ stamps/add-zero-debug.stamp # OpenJDK ecj Targets # =================== stamps/native-ecj.stamp: mkdir -p stamps ; \ if test "x${GCJ}" != "xno"; then \ ${GCJ} ${CFLAGS} -Wl,-Bsymbolic -findirect-dispatch -o native-ecj \ --main=org.eclipse.jdt.internal.compiler.batch.Main ${ECJ_JAR} ; \ fi ; \ touch stamps/native-ecj.stamp stamps/icedtea-ecj.stamp: stamps/bootstrap-directory-symlink-ecj.stamp \ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports-ecj.stamp stamps/patch-ecj.stamp stamps/cacao.stamp \ $(ZERO_ASM_BC_ASM_COND) stamps/rewrite-rhino.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV_ECJ) \ -C openjdk-ecj/ \ $(ICEDTEA_BUILD_TARGET) @echo "ecj-poured IcedTea is served:" \ $(ECJ_BUILD_OUTPUT_DIR) mkdir -p stamps touch stamps/icedtea-ecj.stamp SERVER_DIR = hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server hotspot: rm -f stamps/bootstrap-directory-symlink-ecj.stamp rm -f stamps/icedtea-ecj.stamp rm -f stamps/icedtea-against-ecj.stamp $(ARCH_PREFIX) $(MAKE) hotspot-helper mkdir -p \ $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/server cp $(ECJ_BUILD_OUTPUT_DIR)/$(SERVER_DIR)/libjvm.so \ $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/server @echo "Hotspot is served:" $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image hotspot-helper: stamps/bootstrap-directory-symlink-ecj.stamp \ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports-ecj.stamp stamps/patch-ecj.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV_ECJ) \ -C openjdk-ecj/ hotspot clean-icedtea-ecj: stamps/extract-ecj.stamp rm -f stamps/icedtea-ecj.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV_ECJ) \ -C openjdk-ecj/ clobber stamps/icedtea-against-ecj.stamp: \ stamps/bootstrap-directory-symlink-ecj.stamp \ stamps/icedtea-ecj.stamp mkdir -p stamps touch stamps/icedtea-against-ecj.stamp # Binary Plugs and Tools Targets # ============================== stamps/plugs.stamp: bootstrap/jdk1.7.0/jre/lib/rt-closed.jar mkdir -p stamps touch stamps/plugs.stamp stamps/hotspot-tools.stamp: bootstrap/jdk1.7.0/jre/lib/tools.jar mkdir -p stamps touch stamps/hotspot-tools.stamp clean-plugs: clean-plugs clean-shared-objects \ clean-copy clean-rt rm -f stamps/plugs.stamp rm -f bootstrap/jdk1.7.0/jre/lib/rt-closed.jar clean-tools-jar: clean-hotspot-tools rm -f stamps/hotspot-tools.stamp rm -rf tools/ rm -f bootstrap/jdk1.7.0/jre/lib/tools.jar # Sources copied from OpenJDK. ICEDTEA_COPY_DIRS = \ com/sun/jdi \ com/sun/jdi/connect \ com/sun/jdi/connect/spi \ com/sun/jdi/event \ com/sun/jdi/request \ com/sun/jmx/snmp/agent \ com/sun/tools/jdi \ java/io \ java/util \ java/rmi \ sun/awt/ \ javax/net/ssl if WITH_ALT_HSBUILD ICEDTEA_COPY_DIRS += \ javax/script endif stamps/copy-source-files.stamp: stamps/overlay.stamp for copy_dir in $(ICEDTEA_COPY_DIRS) ; \ do \ mkdir -p openjdk-copy/$$copy_dir ; \ cp -pPRf openjdk/jdk/src/share/classes/$$copy_dir/*.java \ openjdk-copy/$$copy_dir ; \ done mkdir -p stamps touch stamps/copy-source-files.stamp clean-copy: rm -f stamps/copy-source-files.stamp for copy_dir in $(ICEDTEA_COPY_DIRS) ; \ do \ rm -rf rt/$$copy_dir ; \ done SHARE = openjdk/jdk/src/share/classes SOLARIS = openjdk/jdk/src/solaris/classes LANGTOOLS = openjdk/langtools/src/share/classes JAXP = openjdk/jaxp/src/share/classes CORBA = openjdk/corba/src/share/classes JAXWS = openjdk/jaxws/src/share/classes OPENJDK_SOURCEPATH_DIRS = \ $(SHARE):$(SOLARIS):$(LANGTOOLS):$(JAXP):$(CORBA):$(JAXWS) # tools.jar class files. stamps/hotspot-tools-copy-source-files.stamp: stamps/overlay.stamp for copy_dir in \ `cat $(abs_top_srcdir)/tools-copy/tools-jdk-copy-files.txt` ; \ do \ mkdir -p hotspot-tools/$$copy_dir ; \ cp -pPRf openjdk/jdk/src/share/classes/$$copy_dir/* \ hotspot-tools/$$copy_dir ; \ done for copy_dir in \ `cat $(abs_top_srcdir)/tools-copy/tools-langtools-copy-files.txt` ; \ do \ mkdir -p hotspot-tools/$$copy_dir ; \ cp -pPRf openjdk/langtools/src/share/classes/$$copy_dir/* \ hotspot-tools/$$copy_dir ; \ done for copy_dir in \ `cat $(abs_top_srcdir)/tools-copy/tools-corba-copy-files.txt` ; \ do \ mkdir -p hotspot-tools/$$copy_dir ; \ cp -pPRf openjdk/corba/src/share/classes/$$copy_dir/* \ hotspot-tools/$$copy_dir ; \ done for copy_dir in \ `cat $(abs_top_srcdir)/tools-copy/tools-jaxws-copy-files.txt` ; \ do \ mkdir -p hotspot-tools/$$copy_dir ; \ cp -pPRf openjdk/jaxws/src/share/classes/$$copy_dir/* \ hotspot-tools/$$copy_dir ; \ done mkdir -p stamps touch stamps/hotspot-tools-copy-source-files.stamp hotspot-tools-source-files.txt: stamps/replace-hotspot.stamp \ stamps/hotspot-tools-copy-source-files.stamp find hotspot-tools -name '*.java' | sort > $@ mkdir -p lib/hotspot-tools ABS_SOURCE_DIRS = $(abs_top_builddir)/generated:$(abs_top_builddir)/rt:$(abs_top_srcdir)/rt:$(LIVECONNECT_SRCS) stamps/hotspot-tools-class-files.stamp: hotspot-tools-source-files.txt if ! test -d $(ICEDTEA_BOOT_DIR) ; \ then \ $(JAVAC) $(MEMORY_LIMIT) -g -d lib/hotspot-tools \ -source 1.5 \ -sourcepath \ 'hotspot-tools:$(OPENJDK_SOURCEPATH_DIRS):$(ABS_SOURCE_DIRS)' \ -classpath \'\' -bootclasspath \'\' @$< ; \ else \ $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g \ -d lib/hotspot-tools \ -source 1.5 \ -sourcepath \ 'hotspot-tools:$(OPENJDK_SOURCEPATH_DIRS):$(ABS_SOURCE_DIRS)' \ -classpath \'\' -bootclasspath \'\' @$< ; \ fi mkdir -p stamps touch stamps/hotspot-tools-class-files.stamp clean-hotspot-tools: rm -rf lib/hotspot-tools rm -f stamps/hotspot-tools-class-files.stamp rm -f hotspot-tools-source-files.txt rm -f stamps/hotspot-tools-copy-source-files.stamp # tools.jar bootstrap/jdk1.7.0/jre/lib/tools.jar: stamps/hotspot-tools-class-files.stamp mkdir -p bootstrap/jdk1.7.0/jre/lib/ if ! test -d $(ICEDTEA_BOOT_DIR) ; \ then \ $(JAR) cf $@ -C lib/hotspot-tools com -C lib/hotspot-tools sun \ -C lib/hotspot-tools org -C lib/hotspot-tools java \ -C lib/hotspot-tools javax ; \ else \ $(ICEDTEA_BOOT_DIR)/bin/jar cf $@ -C lib/hotspot-tools com \ -C lib/hotspot-tools sun \ -C lib/hotspot-tools org -C lib/hotspot-tools java \ -C lib/hotspot-tools javax ; \ fi if test -d bootstrap/ecj ; \ then \ mkdir -p bootstrap/ecj/lib/; \ ln -sf $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/tools.jar \ $(abs_top_builddir)/bootstrap/ecj/lib/tools.jar; \ fi # rt-closed.jar class files. rt-source-files.txt: stamps/replace-hotspot.stamp stamps/copy-source-files.stamp find $(abs_top_srcdir)/rt $(LIVECONNECT_SRCS) openjdk-copy -name '*.java' \ | sort -u > $@ stamps/rt-class-files.stamp: rt-source-files.txt mkdir -p lib/rt if ! test -d $(ICEDTEA_BOOT_DIR) ; \ then \ $(JAVAC) $(MEMORY_LIMIT) -g -d lib/rt \ -source 1.5 \ -sourcepath \ '$(OPENJDK_SOURCEPATH_DIRS):$(abs_top_builddir)/generated' \ -classpath \'\' -bootclasspath \'\' @$< ; \ else \ $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g -d lib/rt \ -source 1.5 \ -sourcepath \ '$(OPENJDK_SOURCEPATH_DIRS):$(abs_top_builddir)/generated' \ -classpath \'\' -bootclasspath \'\' @$< ; \ fi cp -r $(abs_top_srcdir)/rt/net/sourceforge/jnlp/resources \ lib/rt/net/sourceforge/jnlp/ mkdir -p stamps touch stamps/rt-class-files.stamp clean-rt: rm -rf lib/rt rm -f stamps/rt-class-files.stamp rm -f rt-source-files.txt # rt-closed.jar. bootstrap/jdk1.7.0/jre/lib/rt-closed.jar: stamps/rt-class-files.stamp mkdir -p bootstrap/jdk1.7.0/jre/lib if ! test -d $(ICEDTEA_BOOT_DIR) ; \ then \ $(JAR) cf $@ -C lib/rt com -C lib/rt java \ -C lib/rt javax $(LIVECONNECT_DIR) -C lib/rt net -C lib/rt sun ; \ else \ $(ICEDTEA_BOOT_DIR)/bin/jar cf $@ -C lib/rt com -C lib/rt java \ -C lib/rt javax $(LIVECONNECT_DIR) -C lib/rt net -C lib/rt sun ; \ fi if test -d bootstrap/ecj/jre/lib ; \ then \ cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ bootstrap/ecj/jre/lib/rt.jar; \ fi # extras -- used to create about.jar for javaws. extra-source-files.txt: find $(abs_top_srcdir)/extra -name '*.java' | sort > $@ stamps/extra-class-files.stamp: extra-source-files.txt \ bootstrap/jdk1.7.0/jre/lib/rt-closed.jar mkdir -p extra-lib if ! test -d $(ICEDTEA_BOOT_DIR) ; \ then \ $(JAVAC) $(MEMORY_LIMIT) -g -d extra-lib \ -source 1.5 \ -sourcepath extra -cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ -bootclasspath \'\' @extra-source-files.txt ; \ else \ $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g -d extra-lib \ -source 1.5 \ -sourcepath extra -cp bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ -bootclasspath \'\' @extra-source-files.txt ; \ fi cp -r $(abs_top_srcdir)/extra/net/sourceforge/jnlp/about/resources \ extra-lib/net/sourceforge/jnlp/about mkdir -p stamps touch $@ clean-extra: rm -rf extra-lib rm -f stamps/extra-class-files.stamp rm -f extra-source-files.txt extra-lib/about.jar: stamps/extra-class-files.stamp if ! test -d $(ICEDTEA_BOOT_DIR) ; \ then \ $(JAR) cf $@ -C extra-lib net ; \ else \ $(ICEDTEA_BOOT_DIR)/bin/jar cf $@ -C extra-lib net ; \ fi stamps/cacao.stamp: stamps/replace-hotspot.stamp stamps/rt-class-files.stamp if BUILD_CACAO if !USE_SYSTEM_CACAO cd cacao/cacao && \ $(ARCH_PREFIX) ./configure \ --host=$(host_alias) \ --build=$(build_alias) \ --target=$(target_alias) \ --prefix=$(abs_top_builddir)/cacao/install \ --with-java-runtime-library=openjdk \ --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \ --with-java-runtime-library-classes=$(abs_top_builddir)/lib/rt \ --enable-jre-layout $(CACAO_CONFIGURE_ARGS); \ $(ARCH_PREFIX) $(MAKE) install endif endif mkdir -p stamps touch $@ clean-cacao: rm -rf cacao rm -f stamps/cacao.stamp if ENABLE_NPPLUGIN # IcedTeaNPPlugin.so. # Separate compile and link invocations to ensure intermediate object # is listed before -l options. See: # http://developer.mozilla.org/en/docs/XPCOM_Glue NPPLUGIN_SRC=IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc \ IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcessor.cc \ IcedTeaPluginUtils.cc NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedTeaScriptablePluginObject.o \ IcedTeaJavaRequestProcessor.o IcedTeaPluginRequestProcessor.o \ IcedTeaPluginUtils.o IcedTeaNPPlugin_objects: cd $(NPPLUGIN_DIR); \ if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \ revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{rev}')`" ; \ fi ; \ if [ -n "$(PKGVERSION)" ]; then plugin_version=" ($(PKGVERSION))"; fi; \ plugin_version=" $(PACKAGE_VERSION)$$revision$$plugin_version"; \ $(CXX) $(CXXFLAGS) \ -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" \ -DPLUGIN_VERSION="\"$$plugin_version\"" \ -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ $(GLIB_CFLAGS) \ $(GTK_CFLAGS) \ $(MOZILLA_CFLAGS) \ -fPIC -c $(NPPLUGIN_SRC); \ cd ../ IcedTeaNPPlugin.so: IcedTeaNPPlugin_objects cd $(NPPLUGIN_DIR); \ $(CXX) $(CXXFLAGS) \ $(NPPLUGIN_OBJECTS) \ $(GLIB_LIBS) \ $(GTK_LIBS) \ $(MOZILLA_LIBS)\ -shared -o $@; \ cd ../ clean-IcedTeaNPPlugin: cd $(NPPLUGIN_DIR);\ rm -f *.o; \ rm -f IcedTeaNPPlugin.so; \ cd ../ else if ENABLE_PLUGIN # IcedTeaPlugin.so. # Separate compile and link invocations to ensure intermediate object # is listed before -l options. See: # http://developer.mozilla.org/en/docs/XPCOM_Glue IcedTeaPlugin.o: IcedTeaPlugin.cc if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \ revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{rev}')`" ; \ fi ; \ if [ -n "$(PKGVERSION)" ]; then plugin_version=" ($(PKGVERSION))"; fi; \ plugin_version=" $(PACKAGE_VERSION)$$revision$$plugin_version"; \ $(CXX) $(CXXFLAGS) \ -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" \ -DPLUGIN_VERSION="\"$$plugin_version\"" \ -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ $(GTK_CFLAGS) \ $(XULRUNNER_CFLAGS) \ -fPIC -c -o $@ $< IcedTeaPlugin.so: IcedTeaPlugin.o $(CXX) $(CXXFLAGS) \ $< \ $(GTK_LIBS) \ $(XULRUNNER_LIBS) \ -shared -o $@ clean-IcedTeaPlugin: rm -f IcedTeaPlugin.o rm -f IcedTeaPlugin.so endif endif # PulseAudio based mixer # (pulse-java) stamps/pulse-java.stamp: stamps/pulse-java-jar.stamp stamps/pulse-java-headers.stamp if ENABLE_PULSE_JAVA $(CC) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/jni-common.c $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_EventLoop.c $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Operation.c $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Stream.c $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c $(CC) $(LDFLAGS) $(ZERO_ARCHFLAG) -shared org_*pulseaudio*.o jni-common.o $(LIBPULSE_LIBS) -o libpulse-java.so mv org_classpath_icedtea_pulseaudio_*.o $(PULSE_JAVA_CLASS_DIR) mv jni-common.o $(PULSE_JAVA_CLASS_DIR) endif mkdir -p stamps touch stamps/pulse-java.stamp stamps/pulse-java-jar.stamp: stamps/pulse-java-class.stamp if ENABLE_PULSE_JAVA mkdir -p $(PULSE_JAVA_CLASS_DIR); if ! test -d $(ICEDTEA_BOOT_DIR) ; \ then \ $(JAR) cf pulse-java.jar -C $(PULSE_JAVA_CLASS_DIR) .; \ else \ $(ICEDTEA_BOOT_DIR)/bin/jar cf pulse-java.jar -C $(PULSE_JAVA_CLASS_DIR) .; \ fi endif mkdir -p stamps touch stamps/pulse-java-jar.stamp stamps/pulse-java-class.stamp: if ENABLE_PULSE_JAVA mkdir -p $(PULSE_JAVA_CLASS_DIR) if ! test -d $(ICEDTEA_BOOT_DIR) ; \ then \ (cd $(PULSE_JAVA_JAVA_SRCDIR); \ $(JAVAC) -g -d $(PULSE_JAVA_CLASS_DIR) \ -bootclasspath \ '$(OPENJDK_SOURCEPATH_DIRS):$(abs_top_builddir)/generated' \ org/classpath/icedtea/pulseaudio/*.java\ ) \ else \ (cd $(PULSE_JAVA_JAVA_SRCDIR); \ $(ICEDTEA_BOOT_DIR)/bin/javac -g -d $(PULSE_JAVA_CLASS_DIR)\ -bootclasspath \ '$(ICEDTEA_BOOT_DIR)/jre/lib/rt.jar' \ org/classpath/icedtea/pulseaudio/*.java\ ) \ fi cp -r $(PULSE_JAVA_JAVA_SRCDIR)/META-INF $(PULSE_JAVA_CLASS_DIR) endif mkdir -p stamps touch stamps/pulse-java-class.stamp stamps/pulse-java-headers.stamp: stamps/pulse-java-class.stamp if ENABLE_PULSE_JAVA if ! test -d $(ICEDTEA_BOOT_DIR) ; \ then \ $(JAVAH) -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.EventLoop ; \ $(JAVAH) -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.Stream ; \ $(JAVAH) -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.Operation; \ $(JAVAH) -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.PulseAudioSourcePort ; \ $(JAVAH) -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.PulseAudioTargetPort ; \ else \ $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.EventLoop ; \ $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.Stream ; \ $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.Operation; \ $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.PulseAudioSourcePort ; \ $(ICEDTEA_BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_SRCDIR) -classpath $(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.PulseAudioTargetPort ; \ fi endif mkdir -p stamps touch stamps/pulse-java-headers.stamp clean-pulse-java: if ENABLE_PULSE_JAVA [ -z "$(PULSE_JAVA_CLASS_DIR)" ] || find $(PULSE_JAVA_CLASS_DIR) -name '*.class' | xargs -r rm -f [ -z "$(PULSE_JAVA_NATIVE_SRCDIR)" ] || rm -f $(PULSE_JAVA_NATIVE_SRCDIR)/org_*.h $(PULSE_JAVA_NATIVE_SRCDIR)/*.o rm -f stamps/pulse-java*.stamp rm -f pulse-java.jar rm -f libpulse-java.so endif # end of pulse-java # targets for additional VMs BUILD_JRE_ARCH_DIR = $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) BUILD_DEBUG_JRE_ARCH_DIR = $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) stamps/add-cacao.stamp: stamps/icedtea.stamp stamps/cacao.stamp if ADD_CACAO_BUILD mkdir -p $(BUILD_JRE_ARCH_DIR)/cacao install -m 644 cacao/install/lib/libjvm.so \ $(BUILD_JRE_ARCH_DIR)/cacao/ install -m 644 cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/server/libjsig.so \ $(BUILD_JRE_ARCH_DIR)/cacao/ install -m 644 cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/server/Xusage.txt \ $(BUILD_JRE_ARCH_DIR)/cacao/ printf -- '-cacao KNOWN\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg else printf -- '-cacao ERROR\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg endif touch $@ stamps/add-cacao-debug.stamp: stamps/icedtea-debug.stamp stamps/cacao.stamp if ADD_CACAO_BUILD mkdir -p $(BUILD_DEBUG_JRE_ARCH_DIR)/cacao install -m 644 cacao/install/lib/libjvm.so \ $(BUILD_DEBUG_JRE_ARCH_DIR)/cacao/ install -m 644 cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/server/libjsig.so \ $(BUILD_DEBUG_JRE_ARCH_DIR)/cacao/ install -m 644 cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/server/Xusage.txt \ $(BUILD_DEBUG_JRE_ARCH_DIR)/cacao/ printf -- '-cacao KNOWN\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg else printf -- '-cacao ERROR\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg endif touch $@ # configure script arguments, quoted in single quotes CONFIGURE_ARGS = @CONFIGURE_ARGS@ ADD_ZERO_CONFIGURE_ARGS = \ --with-openjdk=$(abs_top_builddir)/$(BUILD_OUTPUT_DIR)/j2sdk-image \ --enable-zero if ADD_SHARK_BUILD ADD_ZERO_CONFIGURE_ARGS += \ --enable-shark endif ADD_ZERO_CONFIGURE_ARGS += \ --disable-docs \ $(filter-out '--with-gcj-home=% '--with-ecj=% \ '--with-java=% '--with-javah=% \ '--with-rmic=% '--with-additional-vms=% \ '--with-openjdk '--with-openjdk=% , \ $(CONFIGURE_ARGS)) \ $(foreach i, openjdk hotspot, \ $(if $(findstring --with-$(i)-src-zip=, $(CONFIGURE_ARGS)),, --with-$(i)-src-zip=$(abs_top_builddir)/$(i).tar.gz)) ADD_ZERO_EXTRA_BUILD_ENV = \ BUILD_LANGTOOLS=false ALT_LANGTOOLS_DIST=$(ICEDTEA_BUILD_DIR)/langtools/dist \ BUILD_JAXP=false ALT_JAXP_DIST=$(ICEDTEA_BUILD_DIR)/jaxp/dist \ BUILD_JAXWS=false ALT_JAXWS_DIST=$(ICEDTEA_BUILD_DIR)/jaxws/dist \ BUILD_CORBA=false ALT_CORBA_DIST=$(ICEDTEA_BUILD_DIR)/corba/dist \ BUILD_JDK=false \ DISTRIBUTION_PATCHES='$(foreach p,$(DISTRIBUTION_PATCHES),$(if $(findstring cacao,$(p)),,$(p)))' stamps/add-zero.stamp: stamps/icedtea.stamp if ADD_ZERO_BUILD mkdir -p zerovm cd zerovm && \ $(ADD_ZERO_EXTRA_BUILD_ENV) \ $(ARCH_PREFIX) $(abs_top_srcdir)/configure $(ADD_ZERO_CONFIGURE_ARGS) $(ADD_ZERO_EXTRA_BUILD_ENV) \ $(ARCH_PREFIX) $(MAKE) -C zerovm $(ICEDTEA_BUILD_TARGET) mkdir -p $(BUILD_JRE_ARCH_DIR)/zero cp -a zerovm/openjdk/build/$(OS_DIR)/hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server/* \ $(BUILD_JRE_ARCH_DIR)/zero/ printf -- '-zero KNOWN\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg else printf -- '-zero ERROR\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg endif touch $@ stamps/add-zero-debug.stamp: stamps/icedtea-debug.stamp if ADD_ZERO_BUILD mkdir -p zerovm cd zerovm && \ $(ADD_ZERO_EXTRA_BUILD_ENV) \ $(ARCH_PREFIX) $(abs_top_srcdir)/configure $(ADD_ZERO_CONFIGURE_ARGS) $(ADD_ZERO_EXTRA_BUILD_ENV) \ $(ARCH_PREFIX) $(MAKE) -C zerovm $(ICEDTEA_DEBUG_BUILD_TARGET) mkdir -p $(BUILD_DEBUG_JRE_ARCH_DIR)/zero cp -a zerovm/openjdk/build/$(OS_DIR)/hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server/* \ $(BUILD_DEBUG_JRE_ARCH_DIR)/zero/ printf -- '-zero KNOWN\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg else printf -- '-zero ERROR\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg endif touch $@ # end additional VMs # jtreg stamps/jtreg.stamp: stamps/icedtea.stamp rm -rf test/jtreg/classes mkdir -p test/jtreg/classes $(ICEDTEA_BOOT_DIR)/bin/javac -g -d test/jtreg/classes -source 1.5 \ -encoding iso-8859-1 `find $(abs_top_srcdir)/test/jtreg/com -name '*.java'` (cd $(abs_top_srcdir)/test/jtreg; \ $(ICEDTEA_BOOT_DIR)/bin/jar cfm $(abs_top_builddir)/test/jtreg.jar \ META-INF/MANIFEST.MF \ legal README JavaTest.cmdMgrs.lst JavaTest.toolMgrs.lst \ `find com -type f -a -not -name '*.java'` \ -C $(abs_top_builddir)/test/jtreg/classes com) mkdir -p stamps touch $@ clean-jtreg: rm -rf test/jtreg/classes rm -f test/jtreg.jar rm -f stamps/jtreg.stamp check-hotspot: stamps/jtreg.stamp mkdir -p test/hotspot/JTwork test/hotspot/JTreport $(ICEDTEA_BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \ -w:test/hotspot/JTwork -r:test/hotspot/JTreport \ -jdk:`pwd`/$(BUILD_OUTPUT_DIR)/j2sdk-image \ $(ICEDTEA_JTREG_OPTIONS) \ `pwd`/openjdk/hotspot/test \ | tee test/$@.log check-langtools: stamps/jtreg.stamp mkdir -p test/langtools/JTwork test/langtools/JTreport $(ICEDTEA_BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \ -w:test/langtools/JTwork -r:test/langtools/JTreport \ -s -jdk:`pwd`/$(BUILD_OUTPUT_DIR)/j2sdk-image \ $(ICEDTEA_JTREG_OPTIONS) \ `pwd`/openjdk/langtools/test \ | tee test/$@.log check-jdk: stamps/jtreg.stamp chmod a-w $(abs_top_builddir)/openjdk/jdk/test/sun/tools/native2ascii/test2 chmod a-w $(abs_top_builddir)/openjdk/jdk/test/sun/tools/native2ascii/test3 mkdir -p test/jdk/JTwork test/jdk/JTreport $(ICEDTEA_BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \ -w:test/jdk/JTwork -r:test/jdk/JTreport \ -s -jdk:`pwd`/$(BUILD_OUTPUT_DIR)/j2sdk-image \ -exclude:$(abs_top_srcdir)/test/jtreg/excludelist.jdk.jtx \ $(ICEDTEA_JTREG_OPTIONS) \ `pwd`/openjdk/jdk/test \ | tee test/$@.log clean-jtreg-reports: rm -rf test/hotspot test/langtools test/jdk rm -f test/check-*.log test/jtreg-summary.log # FIXME: this might need some adjustment for other OS than Linux jtreg_processes = ps x -ww -o pid,ppid,args \ | awk '$$2 == 1 && $$3 ~ /^$(subst /,\/,/scratch)/' \ | sed 's,$(CURDIR)/$(sdkimg),<sdkimg>,g;s,$(CURDIR),<pwd>,g' jtreg_pids = ps x --no-headers -ww -o pid,ppid,args \ | awk '$$2 == 1 && $$3 ~ /^$(subst /,\/,$(CURDIR)/$(sdkimg))/ {print $$1}' jtregcheck: jtreg check-hotspot check-langtools check-jdk for i in hotspot langtools jdk; do \ echo "--------------- jtreg console summary for $$i ---------------"; \ egrep -v '^(Passed:|Directory|Re[a-z]+\ written\ to)' test/check-$$i.log; \ done | tee test/jtreg-summary.log : # kill testsuite processes still hanging @pids=$$($(jtreg_pids)); \ if [ -n "$$pids" ]; then \ echo "killing processes..."; \ $(jtreg_processes); \ kill -1 $$pids; \ sleep 2; \ pids=$$($(jtreg_pids)); \ if [ -n "$$pids" ]; then \ echo "try harder..."; \ $(jtreg_processes); \ kill -9 $$pids; \ sleep 2; \ fi; \ else \ echo "nothing to cleanup"; \ fi; \ pids=$$($(jtreg_pids)); \ if [ -n "$$pids" ]; then \ echo "leftover processes..."; \ $(jtreg_processes); \ fi check-local: jtregcheck # Rhino support stamps/rewriter.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) if WITH_RHINO mkdir -p $(abs_top_builddir)/rewriter (cd $(abs_top_srcdir)/rewriter ; \ $(ICEDTEA_BOOT_DIR)/bin/javac -g \ -d $(abs_top_builddir)/rewriter $(REWRITER_SRCS) \ ) endif mkdir -p stamps touch stamps/rewriter.stamp stamps/rewrite-rhino.stamp: stamps/rewriter.stamp $(RHINO_JAR) if WITH_RHINO mkdir -p rhino/rhino.{old,new} (cd rhino/rhino.old ; jar xf $(RHINO_JAR)) $(ICEDTEA_BOOT_DIR)/bin/java -cp $(abs_top_builddir)/rewriter \ com.redhat.rewriter.ClassRewriter \ $(abs_top_builddir)/rhino/rhino.old $(abs_top_builddir)/rhino/rhino.new \ org.mozilla sun.org.mozilla (cd rhino/rhino.old ; \ for files in `find -type f -not -name '*.class'` ; do \ new_file=../rhino.new/`echo $$files|sed -e 's#org#sun/org#'` ; \ mkdir -p `dirname $$new_file` ; \ cp -v $$files $$new_file ; \ sed -ie 's#org\.mozilla#sun.org.mozilla#g' $$new_file ; \ done \ ) (cd rhino/rhino.new ; \ $(ICEDTEA_BOOT_DIR)/bin/jar cfm ../rhino.jar META-INF/MANIFEST.MF sun ) endif mkdir -p stamps touch stamps/rewrite-rhino.stamp # VisualVM stamps/visualvm.stamp: $(BOOTSTRAP_DIRECTORY_STAMP) stamps/download.stamp \ stamps/replace-hotspot.stamp stamps/nbplatform.stamp if WITH_VISUALVM cd visualvm ; \ ln -s $(abs_top_srcdir)/netbeans/nbbuild/netbeans_visualvm netbeans ; \ JAVA_HOME=$(ICEDTEA_HOME) $(ANT) build endif mkdir -p stamps touch $@ clean-visualvm: rm -rf visualvm rm -f stamps/visualvm.stamp stamps/nbplatform.stamp: $(BOOTSTRAP_DIRECTORY_STAMP) stamps/replace-hotspot.stamp \ stamps/download.stamp if WITH_VISUALVM cd netbeans ; \ rm nbbuild/external/binaries-list ; \ mkdir -p ./nbbuild/netbeans_visualvm/ ; \ ln -s $(SYSTEM_NETBEANS_DIR)/platform9/ ./nbbuild/netbeans_visualvm/platform9 ; \ ln -s $(SYSTEM_NETBEANS_DIR)/apisupport1/ ./nbbuild/netbeans_visualvm/apisupport1 ; \ ln -s $(SYSTEM_NETBEANS_DIR)/harness/ ./nbbuild/netbeans_visualvm/harness ; \ if ! (uname -a | grep x86_64) ; then \ mkdir -p lib.profiler/release/lib/deployed/jdk15/linux ; \ mkdir -p lib.profiler/release/lib/deployed/jdk16/linux ; \ buildscript=./buildnative-linux-15.sh ; \ else \ mkdir -p lib.profiler/release/lib/deployed/jdk15/linux-amd64 ; \ mkdir -p lib.profiler/release/lib/deployed/jdk16/linux-amd64 ; \ buildscript=./buildnative-linux64-15.sh ; \ fi ; \ cd lib.profiler/native/build ; \ JAVA_HOME_15=$(ICEDTEA_HOME) JAVA_HOME_16=$(ICEDTEA_HOME) \ $$buildscript ; \ cd ../../.. ; \ JAVA_HOME=$(ICEDTEA_HOME) $(ANT) -Dpermit.jdk6.builds=true \ -f nbbuild/build.xml bootstrap ; \ for dir in lib.profiler lib.profiler.ui lib.profiler.common profiler ; do \ JAVA_HOME=$(ICEDTEA_HOME) $(ANT) -Dpermit.jdk6.builds=true -Dbuildnumber=081204 \ -Dnetbeans.dest.dir=../nbbuild/netbeans_visualvm \ -f $$dir/build.xml ; \ done endif mkdir -p stamps touch $@ clean-nbplatform: rm -rf netbeans rm -f stamps/nbplatform.stamp # fsg-tarball # Creates archive of openjdk that is compliant with Free Software guidelines. dist-openjdk-fsg: stamps/patch-fsg.stamp $(ZIP) -r openjdk-fsg-$(OPENJDK_VERSION) openjdk/ REWRITER_SRCS = $(abs_top_srcdir)/rewriter/com/redhat/rewriter/ClassRewriter.java # Target Aliases # =============== bootstrap-directory-ecj: stamps/bootstrap-directory-ecj.stamp bootstrap-directory: stamps/bootstrap-directory.stamp bootstrap-directory-symlink-ecj: stamps/bootstrap-directory-symlink-ecj.stamp bootstrap-directory-symlink: stamps/bootstrap-directory-symlink.stamp cacao: stamps/cacao.stamp visualvm: stamps/visualvm.stamp nbplatform: stamps/nbplatform.stamp copy-source-files: stamps/copy-source-files.stamp download: stamps/download.stamp extract: stamps/extract.stamp extract-ecj: stamps/extract-ecj.stamp icedtea: stamps/icedtea.stamp icedtea-against-ecj: stamps/icedtea-against-ecj.stamp icedtea-debug: stamps/icedtea-debug.stamp icedtea-ecj: stamps/icedtea-ecj.stamp native-ecj: stamps/native-ecj.stamp patch-ecj: stamps/patch-ecj.stamp patch: stamps/patch.stamp patch-fsg: stamps/patch-fsg.stamp overlay: stamps/overlay.stamp rewriter: stamps/rewriter.stamp rewrite-rhino: stamps/rewrite-rhino.stamp plugs: stamps/plugs.stamp rt-class-files: stamps/rt-class-files.stamp replace-hotspot: stamps/replace-hotspot.stamp hotspot-tools-class-files: stamps/hotspot-tools-class-files.stamp hotspot-tools-copy-source-files: stamps/hotspot-tools-copy-source-files.stamp hotspot-tools: stamps/hotspot-tools.stamp hotspot-ports: stamps/ports.stamp hotspot-ports-ecj: stamps/ports-ecj.stamp clean: distclean-local jtreg: stamps/jtreg.stamp