jdk/makefiles/CompileLaunchers.gmk
changeset 12317 9670c1610c53
child 12892 3ef14bab6254
equal deleted inserted replaced
12316:ba6b7a51e226 12317:9670c1610c53
       
     1 #
       
     2 # Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
       
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     4 #
       
     5 # This code is free software; you can redistribute it and/or modify it
       
     6 # under the terms of the GNU General Public License version 2 only, as
       
     7 # published by the Free Software Foundation.  Oracle designates this
       
     8 # particular file as subject to the "Classpath" exception as provided
       
     9 # by Oracle in the LICENSE file that accompanied this code.
       
    10 #
       
    11 # This code is distributed in the hope that it will be useful, but WITHOUT
       
    12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    14 # version 2 for more details (a copy is included in the LICENSE file that
       
    15 # accompanied this code).
       
    16 #
       
    17 # You should have received a copy of the GNU General Public License version
       
    18 # 2 along with this work; if not, write to the Free Software Foundation,
       
    19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    20 #
       
    21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
       
    22 # or visit www.oracle.com if you need additional information or have any
       
    23 # questions.
       
    24 #
       
    25 
       
    26 defalt: all
       
    27 
       
    28 include $(SPEC)
       
    29 include MakeBase.gmk
       
    30 include NativeCompilation.gmk
       
    31 
       
    32 # Setup the java compilers for the JDK build.
       
    33 include Setup.gmk
       
    34 
       
    35 BUILD_LAUNCHERS=
       
    36 
       
    37 define SetupLauncher
       
    38     # TODO: Fix mapfile on solaris. Won't work with ld as linker.
       
    39     # Parameter 1 is the name of the launcher (java,javac,jar...)
       
    40     # Parameter 2 are extra CFLAGS
       
    41     # Parameter 3 are extra LDFLAGS
       
    42     # Parameter 4 are extra LDFLAGS_SUFFIX_posix
       
    43     # Parameter 5 are extra LDFLAGS_SUFFIX_winapi
       
    44     $(call SetupNativeCompilation,BUILD_LAUNCHER_$1,\
       
    45 	SRC:=$(JDK_TOPDIR)/src/share/bin,\
       
    46 	INCLUDE_FILES:=main.c,\
       
    47 	LANG:=C,\
       
    48 	CFLAGS:=$(CFLAGS_JDKEXE) $(C_O_FLAG_NORM) \
       
    49 		-I$(JDK_TOPDIR)/src/share/bin \
       
    50 		-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin \
       
    51 		-I$(JDK_TOPDIR)/src/$(PLATFORM)/bin \
       
    52                 -DFULL_VERSION='"$(FULL_VERSION)"' \
       
    53                 -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
       
    54                 -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
       
    55 		-DLIBARCHNAME='"$(ARCH)"' \
       
    56 		-DLAUNCHER_NAME='"openjdk"' \
       
    57 		-DPROGNAME='"$1"' $(DPACKAGEPATH) \
       
    58 		$2,\
       
    59 	CFLAGS_linux:=-fPIC,\
       
    60 	LDFLAGS:=$(LDFLAGS_JDKEXE) \
       
    61                  $(call SET_SHARED_LIBRARY_ORIGIN,../lib/$(LIBARCH)/jli) \
       
    62                  $(call SET_SHARED_LIBRARY_ORIGIN,../jre/lib/$(LIBARCH)/jli) \
       
    63 		 $3,\
       
    64         LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/launchers/mapfile-$(ARCH)),\
       
    65         LDFLAGS_SUFFIX:=$(LDFLAGS_JDKEXE_SUFFIX),\
       
    66 	LDFLAGS_SUFFIX_posix:=$4 -lc,\
       
    67 	LDFLAGS_SUFFIX_winapi:=$5,\
       
    68 	BIN:=$(JDK_OUTPUTDIR)/newobjs/$1_objs,\
       
    69 	EXE:=$(JDK_OUTPUTDIR)/newobjs/$1$(EXE_SUFFIX),\
       
    70 	VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
    71 	RC_FLAGS:=$(RC_FLAGS)\
       
    72 		  /D "JDK_FNAME=$1$(EXE_SUFFIX)" \
       
    73 		  /D "JDK_INTERNAL_NAME=$1" \
       
    74 		  /D "JDK_FTYPE=0x1L")
       
    75 
       
    76     BUILD_LAUNCHERS += $(JDK_OUTPUTDIR)/newobjs/$1$(EXE_SUFFIX) $(JDK_OUTPUTDIR)/bin/$1$(EXE_SUFFIX)
       
    77 endef
       
    78 
       
    79 ##########################################################################################
       
    80 
       
    81 XLIBS:=-lX11
       
    82 ifeq ($(PLATFORM),macosx)
       
    83     DPACKAGEPATH:=-DPACKAGE_PATH='"$(PACKAGE_PATH)"'
       
    84     XLIBS:=
       
    85 endif
       
    86 
       
    87 $(eval $(call SetupLauncher,java,\
       
    88     -DEXPAND_CLASSPATH_WILDCARDS))
       
    89 
       
    90 ifeq ($(PLATFORM),solaris)
       
    91     THREAD_LIB:=-lthread
       
    92 endif
       
    93 ifeq ($(PLATFORM),linux)
       
    94     THREAD_LIB:=-lpthread
       
    95 endif
       
    96 
       
    97 ifndef BUILD_HEADLESS_ONLY
       
    98 $(eval $(call SetupLauncher,appletviewer,\
       
    99     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.applet.Main"$(COMMA) }',,\
       
   100     $(THREAD_LIB) $(XLIBS) -ldl))
       
   101 endif
       
   102 
       
   103 $(eval $(call SetupLauncher,extcheck,\
       
   104     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "com.sun.tools.extcheck.Main"$(COMMA) }'))
       
   105 
       
   106 $(eval $(call SetupLauncher,idlj,\
       
   107     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "com.sun.tools.corba.se.idl.toJavaPortable.Compile"$(COMMA) }'))
       
   108 
       
   109 $(eval $(call SetupLauncher,jar,\
       
   110     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.tools.jar.Main"$(COMMA) }'))
       
   111 
       
   112 $(eval $(call SetupLauncher,jarsigner,\
       
   113     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.security.tools.JarSigner"$(COMMA) }'))
       
   114 
       
   115 $(eval $(call SetupLauncher,javac,\
       
   116     -DEXPAND_CLASSPATH_WILDCARDS \
       
   117     -DNEVER_ACT_AS_SERVER_CLASS_MACHINE \
       
   118     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "com.sun.tools.javac.Main"$(COMMA) }'))
       
   119 
       
   120 $(eval $(call SetupLauncher,javadoc,\
       
   121     -DEXPAND_CLASSPATH_WILDCARDS \
       
   122     -DNEVER_ACT_AS_SERVER_CLASS_MACHINE \
       
   123     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "com.sun.tools.javadoc.Main"$(COMMA) }'))
       
   124 
       
   125 $(eval $(call SetupLauncher,javah,\
       
   126     -DEXPAND_CLASSPATH_WILDCARDS \
       
   127     -DNEVER_ACT_AS_SERVER_CLASS_MACHINE \
       
   128     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "com.sun.tools.javah.Main"$(COMMA) }'))
       
   129 
       
   130 $(eval $(call SetupLauncher,javap,\
       
   131     -DEXPAND_CLASSPATH_WILDCARDS \
       
   132     -DNEVER_ACT_AS_SERVER_CLASS_MACHINE \
       
   133     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "com.sun.tools.javap.Main"$(COMMA) }'))
       
   134 
       
   135 BUILD_LAUNCHER_jconsole_CPPFLAGS_windows:=-DJAVAW
       
   136 BUILD_LAUNCHER_jconsole_LDFLAGS_windows:=user32.lib
       
   137 
       
   138 $(eval $(call SetupLauncher,jconsole,\
       
   139     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "-J-Djconsole.showOutputViewer"$(COMMA) "sun.tools.jconsole.JConsole"$(COMMA) }' \
       
   140     -DAPP_CLASSPATH='{ "/lib/jconsole.jar"$(COMMA) "/lib/tools.jar"$(COMMA) "/classes" }'))
       
   141 
       
   142 $(eval $(call SetupLauncher,jdb,\
       
   143     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "com.sun.tools.example.debug.tty.TTY"$(COMMA) }' \
       
   144     -DAPP_CLASSPATH='{ "/lib/tools.jar"$(COMMA) "/lib/sa-jdi.jar"$(COMMA) "/classes" }'))
       
   145 
       
   146 $(eval $(call SetupLauncher,jhat,\
       
   147     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "com.sun.tools.hat.Main"$(COMMA) }'))
       
   148 
       
   149 $(eval $(call SetupLauncher,jinfo,\
       
   150     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) \
       
   151 		   "-J-Dsun.jvm.hotspot.debugger.useProcDebugger"$(COMMA) \
       
   152 		   "-J-Dsun.jvm.hotspot.debugger.useWindbgDebugger"$(COMMA) \
       
   153 		   "sun.tools.jinfo.JInfo"$(COMMA) }' \
       
   154     -DAPP_CLASSPATH='{ "/lib/tools.jar"$(COMMA) "/lib/sa-jdi.jar"$(COMMA) "/classes" }'))
       
   155 
       
   156 $(eval $(call SetupLauncher,jmap,\
       
   157     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) \
       
   158 		   "-J-Dsun.jvm.hotspot.debugger.useProcDebugger"$(COMMA) \
       
   159 		   "-J-Dsun.jvm.hotspot.debugger.useWindbgDebugger"$(COMMA) \
       
   160 		   "sun.tools.jmap.JMap"$(COMMA) }' \
       
   161     -DAPP_CLASSPATH='{ "/lib/tools.jar"$(COMMA) "/lib/sa-jdi.jar"$(COMMA) "/classes" }'))
       
   162 
       
   163 $(eval $(call SetupLauncher,jps,\
       
   164     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.tools.jps.Jps"$(COMMA) }'))
       
   165 
       
   166 $(eval $(call SetupLauncher,jrunscript,\
       
   167     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "com.sun.tools.script.shell.Main"$(COMMA) }'))
       
   168 
       
   169 $(eval $(call SetupLauncher,jsadebugd,\
       
   170     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.jvm.hotspot.jdi.SADebugServer"$(COMMA) }' \
       
   171     -DAPP_CLASSPATH='{ "/lib/tools.jar"$(COMMA) "/lib/sa-jdi.jar"$(COMMA) "/classes" }'))
       
   172 
       
   173 $(eval $(call SetupLauncher,jstack,\
       
   174     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) \
       
   175 		   "-J-Dsun.jvm.hotspot.debugger.useProcDebugger"$(COMMA) \
       
   176 		   "-J-Dsun.jvm.hotspot.debugger.useWindbgDebugger"$(COMMA) \
       
   177 		   "sun.tools.jstack.JStack"$(COMMA) }' \
       
   178     -DAPP_CLASSPATH='{ "/lib/tools.jar"$(COMMA) "/lib/sa-jdi.jar"$(COMMA) "/classes" }'))
       
   179 
       
   180 $(eval $(call SetupLauncher,jstat,\
       
   181     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.tools.jstat.Jstat"$(COMMA) }'))
       
   182 
       
   183 $(eval $(call SetupLauncher,jstatd,\
       
   184     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.tools.jstatd.Jstatd"$(COMMA) }'))
       
   185 
       
   186 $(eval $(call SetupLauncher,keytool,\
       
   187     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.security.tools.KeyTool"$(COMMA) }'))
       
   188 
       
   189 $(eval $(call SetupLauncher,native2ascii,\
       
   190     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.tools.native2ascii.Main"$(COMMA) }'))
       
   191 
       
   192 ifndef BUILD_HEADLESS_ONLY
       
   193 $(eval $(call SetupLauncher,policytool,\
       
   194     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.security.tools.policytool.PolicyTool"$(COMMA) }'))
       
   195 endif
       
   196 
       
   197 $(eval $(call SetupLauncher,rmic,\
       
   198     -DEXPAND_CLASSPATH_WILDCARDS \
       
   199     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.rmi.rmic.Main"$(COMMA) }'))
       
   200 
       
   201 $(eval $(call SetupLauncher,schemagen,\
       
   202     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "com.sun.tools.internal.jxc.SchemaGenerator"$(COMMA) }'))
       
   203 
       
   204 $(eval $(call SetupLauncher,serialver,\
       
   205     -DEXPAND_CLASSPATH_WILDCARDS \
       
   206     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.tools.serialver.SerialVer"$(COMMA) }'))
       
   207 
       
   208 $(eval $(call SetupLauncher,xjc,\
       
   209     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "com.sun.tools.internal.xjc.Driver"$(COMMA) }'))
       
   210 
       
   211 $(eval $(call SetupLauncher,wsgen,\
       
   212     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "com.sun.tools.internal.ws.WsGen"$(COMMA) }'))
       
   213 
       
   214 $(eval $(call SetupLauncher,wsimport,\
       
   215     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "com.sun.tools.internal.ws.WsImport"$(COMMA) }'))
       
   216 
       
   217 $(eval $(call SetupLauncher,orbd,\
       
   218     -DJAVA_ARGS='{ 	"-J-ms8m"$(COMMA) \
       
   219 			"-J-Dcom.sun.CORBA.activation.DbDir=./orb.db"$(COMMA) \
       
   220 			"-J-Dcom.sun.CORBA.activation.Port=1049"$(COMMA) \
       
   221 			"-J-Dcom.sun.CORBA.POA.ORBServerId=1"$(COMMA) \
       
   222 			"com.sun.corba.se.impl.activation.ORBD"$(COMMA) }'))
       
   223 
       
   224 $(eval $(call SetupLauncher,servertool,\
       
   225     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "com.sun.corba.se.impl.activation.ServerTool"$(COMMA) }'))
       
   226 
       
   227 $(eval $(call SetupLauncher,tnameserv,\
       
   228     -DJAVA_ARGS='{ 	"-J-ms8m"$(COMMA) \
       
   229 			"-J-Dcom.sun.CORBA.activation.DbDir=./orb.db"$(COMMA) \
       
   230 			"-J-Djava.util.logging.LoggingPermission=contol"$(COMMA) \
       
   231 			"-J-Dcom.sun.CORBA.POA.ORBServerId=1"$(COMMA) \
       
   232 			"com.sun.corba.se.impl.naming.cosnaming.TransientNameServer"$(COMMA) }'))
       
   233 
       
   234 $(eval $(call SetupLauncher,pack200,\
       
   235     -DJAVA_ARGS='{	"-J-ms8m"$(COMMA) "com.sun.java.util.jar.pack.Driver"$(COMMA) "--pack" }'))
       
   236 
       
   237 $(eval $(call SetupLauncher,rmid,\
       
   238     -DJAVA_ARGS='{	"-J-ms8m"$(COMMA) "sun.rmi.server.Activation"$(COMMA) }'))
       
   239 
       
   240 $(eval $(call SetupLauncher,rmiregistry,\
       
   241     -DJAVA_ARGS='{	"-J-ms8m"$(COMMA) "sun.rmi.registry.RegistryImpl"$(COMMA) }'))
       
   242 
       
   243 $(eval $(call SetupLauncher,jcmd,\
       
   244     -DJAVA_ARGS='{	"-J-ms8m"$(COMMA) "sun.tools.jcmd.JCmd"$(COMMA) }'))
       
   245 
       
   246 ifeq ($(PLATFORM),windows)
       
   247     $(eval $(call SetupLauncher,kinit,\
       
   248         -DJAVA_ARGS='{	"-J-ms8m"$(COMMA) "sun.security.krb5.internal.tools.Kinit"$(COMMA) }'))
       
   249 
       
   250     $(eval $(call SetupLauncher,klist,\
       
   251         -DJAVA_ARGS='{	"-J-ms8m"$(COMMA) "sun.security.krb5.internal.tools.Klist"$(COMMA) }'))
       
   252 
       
   253     $(eval $(call SetupLauncher,ktab,\
       
   254         -DJAVA_ARGS='{	"-J-ms8m"$(COMMA) "sun.security.krb5.internal.tools.Ktab"$(COMMA) }'))
       
   255 endif
       
   256 
       
   257 ##########################################################################################
       
   258 # The order of the object files on the link command line affects the size of the resulting
       
   259 # binary (at least on linux) which causes the size to differ between old and new build.
       
   260 UNPACKEXE_ZIPOBJS = 	$(JDK_OUTPUTDIR)/newobjs/libzip/zcrc32$(OBJ_SUFFIX) \
       
   261 		     	$(JDK_OUTPUTDIR)/newobjs/libzip/deflate$(OBJ_SUFFIX) \
       
   262 			$(JDK_OUTPUTDIR)/newobjs/libzip/trees$(OBJ_SUFFIX) \
       
   263 			$(JDK_OUTPUTDIR)/newobjs/libzip/zadler32$(OBJ_SUFFIX) \
       
   264 			$(JDK_OUTPUTDIR)/newobjs/libzip/compress$(OBJ_SUFFIX) \
       
   265 			$(JDK_OUTPUTDIR)/newobjs/libzip/zutil$(OBJ_SUFFIX) \
       
   266 			$(JDK_OUTPUTDIR)/newobjs/libzip/inflate$(OBJ_SUFFIX) \
       
   267 			$(JDK_OUTPUTDIR)/newobjs/libzip/infback$(OBJ_SUFFIX) \
       
   268 			$(JDK_OUTPUTDIR)/newobjs/libzip/inftrees$(OBJ_SUFFIX) \
       
   269 			$(JDK_OUTPUTDIR)/newobjs/libzip/inffast$(OBJ_SUFFIX)
       
   270 
       
   271 $(eval $(call SetupNativeCompilation,BUILD_UNPACKEXE,\
       
   272                 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
       
   273 		EXCLUDE_FILES:=jni.cpp,\
       
   274 		LANG:=C++,\
       
   275 		CFLAGS:=$(CXXFLAGS_JDKEXE) $(CXX_O_FLAG_NORM) \
       
   276 			 -DFULL \
       
   277 			 -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5,\
       
   278 		CFLAGS_release:=-DPRODUCT,\
       
   279 		CFLAGS_linux:=-fPIC,\
       
   280 		LDFLAGS:=$(LDFLAGS_JDKEXE) \
       
   281 			 $(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/libunpack/mapfile-vers-unpack200) \
       
   282 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
       
   283 		LDFLAGS_SUFFIX:=$(UNPACKEXE_ZIPOBJS) $(LIBCXX),\
       
   284 		LDFLAGS_SUFFIX_solaris:=-lc,\
       
   285 		BIN:=$(JDK_OUTPUTDIR)/newobjs/unpackexe,\
       
   286 		EXE:=$(JDK_OUTPUTDIR)/newobjs/unpack200$(EXE_SUFFIX),\
       
   287 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
   288 		RC_FLAGS:=$(RC_FLAGS)\
       
   289 			  /D "JDK_FNAME=unpack200.exe" \
       
   290 			  /D "JDK_INTERNAL_NAME=unpack200" \
       
   291 			  /D "JDK_FTYPE=0x1L"))
       
   292 
       
   293 $(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX): $(UNPACKEXE_ZIPOBJS)
       
   294 
       
   295 ifeq ($(HOST_OS_API),winapi)
       
   296     UNPACK_MANIFEST:=$(JDK_OUTPUTDIR)/newobjs/unpackexe/unpack200.exe.manifest
       
   297     IMVERSIONVALUE=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VERSION).$(COOKED_BUILD_NUMBER)
       
   298     SED_ALL_MANIFEST=$(SED) -e 's%IMVERSION%$(IMVERSIONVALUE)%g'
       
   299 
       
   300     $(UNPACK_MANIFEST): $(JDK_TOPDIR)/src/windows/resource/unpack200_proto.exe.manifest
       
   301 	$(CAT) $< | $(SED_ALL_MANIFEST) > $@
       
   302 
       
   303     # Adding a dependency to spec file might be a good idea here, to force rerun on version change.
       
   304     $(JDK_OUTPUTDIR)/newobjs/unpackexe/unpack200.exe.manifest.mt: $(UNPACK_MANIFEST)
       
   305 	$(MT) /manifest $< /outputresource:$(JDK_OUTPUTDIR)/newobjs/unpack200$(EXE_SUFFIX);#1
       
   306 	touch $@
       
   307 
       
   308     $(JDK_OUTPUTDIR)/newobjs/unpackexe/unpack200.exe.manifest.mt: $(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX)
       
   309 endif
       
   310 
       
   311 BUILD_LAUNCHERS += $(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX)
       
   312 
       
   313 ##########################################################################################
       
   314 
       
   315 #
       
   316 # The java-rmi.cgi script in bin/ only gets delivered in certain situations
       
   317 #
       
   318 JAVA_RMI_CGI:=$(JDK_OUTPUTDIR)/bin/java-rmi.cgi
       
   319 ifeq ($(PLATFORM), linux)
       
   320   BUILD_LAUNCHERS += $(JAVA_RMI_CGI)
       
   321 endif
       
   322 ifeq ($(PLATFORM), solaris)
       
   323   ifeq ($(ARCH_DATA_MODEL), 32)
       
   324     BUILD_LAUNCHERS += $(JAVA_RMI_CGI)
       
   325   endif
       
   326 endif
       
   327 
       
   328 # TODO: 
       
   329 # On windows java-rmi.cgi shouldn't be bundled since Java 1.2, but has been built all
       
   330 # this time anyway. Since jdk6, it has been built from the wrong source and resulted
       
   331 # in a copy of the standard java launcher named "java-rmi.exe" ending up in the final
       
   332 # images bin dir. This weird behavior is mimicked here in the converted makefiles for
       
   333 # now. Should probably just be deleted.
       
   334 # http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6512052
       
   335 ifeq ($(HOST_OS_API),winapi)
       
   336     $(eval $(call SetupLauncher,java-rmi,\
       
   337         -DEXPAND_CLASSPATH_WILDCARDS,\
       
   338         $(call SET_SHARED_LIBRARY_MAPFILE,makefiles/java/main/java/mapfile-$(ARCH))))
       
   339 
       
   340     $(JAVA_RMI_CGI): $(JDK_OUTPUTDIR)/newobjs/java-rmi$(EXE_SUFFIX)
       
   341 	$(CP) $< $@
       
   342 
       
   343     BUILD_LAUNCHERS += $(JAVA_RMI_CGI)
       
   344 else
       
   345     $(JAVA_RMI_CGI): $(JDK_TOPDIR)/src/solaris/bin/java-rmi.cgi.sh
       
   346 	$(CP) $< $@
       
   347 	$(CHMOD) a+x $@
       
   348 endif
       
   349 
       
   350 ##########################################################################################
       
   351 
       
   352 $(JDK_OUTPUTDIR)/bin/% : $(JDK_OUTPUTDIR)/newobjs/%
       
   353 	echo Copying $(@F)
       
   354 	$(CP) $< $@
       
   355 
       
   356 $(BUILD_LAUNCHERS) : $(JDK_TOPDIR)/makefiles/CompileLaunchers.gmk
       
   357 
       
   358 all: $(BUILD_LAUNCHERS)
       
   359 
       
   360 .PHONY: all