jdk/makefiles/CopyFiles.gmk
changeset 17192 047dd06efe8f
parent 16852 60207b2b4b42
child 17460 19eb5d62770a
--- 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)