--- a/jdk/makefiles/CopyFiles.gmk Mon Apr 29 10:28:22 2013 +0100
+++ b/jdk/makefiles/CopyFiles.gmk Mon Apr 29 07:40:04 2013 -0400
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -294,45 +294,56 @@
ifeq ($(OPENJDK_TARGET_CPU_BITS),32)
- # On 32 bit machines, we can have client and/or server libjvms installed.
- # Since the currently committed jvm.cfg expects clientANDserver, we need
- # to patch the jvm.cfg when we have built only a client or only a server.
- # This should also support -kernel, -zero and -zeroshark.
- ifeq ($(JVM_VARIANTS),$(COMMA)client$(COMMA))
- # Create a patched jvm.cfg to use -client by default and alias -server to -client.
- $(JVMCFG):
- $(MKDIR) -p $(@D)
- $(RM) $(JVMCFG)
- $(PRINTF) "-client KNOWN\n">$(JVMCFG)
- $(PRINTF) "-server ALIASED_TO -client\n">>$(JVMCFG)
- $(PRINTF) "-hotspot ALIASED_TO -client\n">>$(JVMCFG)
- $(PRINTF) "-classic WARN\n">>$(JVMCFG)
- $(PRINTF) "-native ERROR\n">>$(JVMCFG)
- $(PRINTF) "-green ERROR\n">>$(JVMCFG)
+ # On 32-bit machines we have three potential VMs: client, server and minimal.
+ # Historically we usually have both client and server and so that is what the
+ # committed jvm.cfg expects (including platform specific ergonomics switches
+ # to decide whether to use client or server by default). So when we have anything
+ # other than client and server we need to define a new jvm.cfg file.
+ # The main problem is deciding whether to use aliases for the VMs that are not
+ # present and the current position is that we add aliases for client and server, but
+ # not for minimal.
+ # To do: should this also support, -zero and -zeroshark?
+
+ CLIENT_AND_SERVER := $(and $(findstring true,$(JVM_VARIANT_SERVER)),$(findstring true,$(JVM_VARIANT_CLIENT)))
+ ifeq ($(CLIENT_AND_SERVER), true)
+ # Use the committed jvm.cfg for this 32 bit setup (the minimal
+ # VM is already KNOWN on platforms that potentially support it)
+ $(JVMCFG): $(JVMCFG_SRC)
+ $(call install-file)
+ else
+ $(JVMCFG):
+ $(MKDIR) -p $(@D)
+ $(RM) $(@)
+
+ # Now check for other permutations
+ ifeq ($(JVM_VARIANT_SERVER), true)
+ $(PRINTF) "-server KNOWN\n">>$(@)
+ $(PRINTF) "-client ALIASED_TO -server\n">>$(@)
+ ifeq ($(JVM_VARIANT_MINIMAL1), true)
+ $(PRINTF) "-minimal KNOWN\n">>$(@)
+ endif
else
- ifeq ($(JVM_VARIANTS),$(COMMA)server$(COMMA))
- # Create a patched jvm.cfg to use -server by default and alias -client to -server.
-
- $(JVMCFG):
- $(MKDIR) -p $(@D)
- $(RM) $(JVMCFG)
- $(PRINTF) "-server KNOWN\n">$(JVMCFG)
- $(PRINTF) "-client IGNORE\n">>$(JVMCFG)
- $(PRINTF) "-hotspot IGNORE\n">>$(JVMCFG)
- $(PRINTF) "-classic WARN\n">>$(JVMCFG)
- $(PRINTF) "-native ERROR\n">>$(JVMCFG)
- $(PRINTF) "-green ERROR\n">>$(JVMCFG)
+ ifeq ($(JVM_VARIANT_CLIENT), true)
+ $(PRINTF) "-client KNOWN\n">>$(@)
+ $(PRINTF) "-server ALIASED_TO -client\n">>$(@)
+ ifeq ($(JVM_VARIANT_MINIMAL1), true)
+ $(PRINTF) "-minimal KNOWN\n">>$(@)
+ endif
else
- # Use the default jvm.cfg for this 32 bit setup.
- $(JVMCFG): $(JVMCFG_SRC)
- $(call install-file)
+ ifeq ($(JVM_VARIANT_MINIMAL1), true)
+ $(PRINTF) "-minimal KNOWN\n">>$(@)
+ $(PRINTF) "-server ALIASED_TO -minimal\n">>$(@)
+ $(PRINTF) "-client ALIASED_TO -minimal\n">>$(@)
+ endif
endif
endif
+ endif
+
else
# Use the default jvm.cfg for this 64 bit setup.
$(JVMCFG): $(JVMCFG_SRC)
- $(call install-file)
+ $(call install-file)
endif
COPY_FILES += $(JVMCFG)