29 # This library provides shared support for the Java launcher in all of
30 # its manifestations (java, javaw, javac, ...).
31 #
32 BUILDDIR = ../..
33 LIBRARY = jli
34 PRODUCT = java
35
36 #
37 # Must be included before Defs.gmk to be functional.
38 #
39 # Note that for Windows, both a dynamic and static version are built.
40 # Doing the compiles with the static library specified can be overridden
41 # by the link step, but not the reverse.
42 #
43 MS_RUNTIME_STATIC = true
44
45 include $(BUILDDIR)/common/Defs.gmk
46
47 ifneq ($(SYSTEM_ZLIB),true)
48 ZIP_SRC = $(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION)
49 endif #SYSTEM_ZLIB
50 LAUNCHER_SHARE_SRC = $(SHARE_SRC)/bin
51
52 # set the platform specific directory for macosx, also this platform shares
53 # substantial family ties with its siblings (solaris and linux), thus we add
54 # solaris src path to its compilation dependencies.
55 ifeq ($(PLATFORM), macosx)
56 LAUNCHER_PLATFORM_SRC = $(BUILDDIR)/../src/macosx/bin
57 LAUNCHER_SOLARIS_PLATFORM_SRC = $(BUILDDIR)/../src/solaris/bin
58 else # !MACOSX
59 LAUNCHER_PLATFORM_SRC = $(PLATFORM_SRC)/bin
60 endif #PLATFORM
61
62 ifeq ($(ZERO_BUILD), true)
63 ERGO_FAMILY=zero
64 else # !ZERO_BUILD
65 ifneq (,$(findstring $(ARCH_FAMILY), amd64 x86_64))
66 ERGO_FAMILY=i586
67 else # !X86 FAMILY
68 ERGO_FAMILY=$(ARCH_FAMILY)
140
141 ifeq ($(PLATFORM), windows)
142 EXTRA_LIBS = advapi32.lib \
143 comctl32.lib \
144 user32.lib
145 JAVALIB =
146 OTHER_LCF = -export:JLI_Launch \
147 -export:JLI_ManifestIterate \
148 -export:JLI_SetTraceLauncher \
149 -export:JLI_ReportErrorMessage \
150 -export:JLI_ReportErrorMessageSys \
151 -export:JLI_ReportMessage \
152 -export:JLI_ReportExceptionDescription
153 endif # PLATFORM
154
155 OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)
156 OTHER_INCLUDES += -I$(LAUNCHER_PLATFORM_SRC)
157 ifneq ($(SYSTEM_ZLIB),true)
158 OTHER_INCLUDES += -I$(ZIP_SRC)
159 else # !SYSTEM_ZLIB
160 LDLIBS += -lz
161 endif # SYSTEM_ZLIB
162
163 #
164 # Library to compile.
165 #
166 include $(BUILDDIR)/common/Mapfile-vers.gmk
167 include $(BUILDDIR)/common/Library.gmk
168
169 #
170 # On Windows, some executable objects need to be statically linked against
171 # the jli library. Hence, we need both a standard library (archive) and
172 # an import library (associated with a dll). These both usually have the
173 # extension .LIB, so they need to be placed in different directories. The
174 # import library is build (as usual) in the $(OBJDIR) directory while the
175 # standard library is built in a "static" subdirectory. The standard library
176 # is not delivered as part of the product, but is only needed as part of
177 # the build process. The import library is built by the standard rules
178 # in Library.gmk. The additional rules which follow build the standard
179 # library.
180 #
|
29 # This library provides shared support for the Java launcher in all of
30 # its manifestations (java, javaw, javac, ...).
31 #
32 BUILDDIR = ../..
33 LIBRARY = jli
34 PRODUCT = java
35
36 #
37 # Must be included before Defs.gmk to be functional.
38 #
39 # Note that for Windows, both a dynamic and static version are built.
40 # Doing the compiles with the static library specified can be overridden
41 # by the link step, but not the reverse.
42 #
43 MS_RUNTIME_STATIC = true
44
45 include $(BUILDDIR)/common/Defs.gmk
46
47 ifneq ($(SYSTEM_ZLIB),true)
48 ZIP_SRC = $(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION)
49 else # SYSTEM_ZLIB
50 OTHER_CFLAGS += $(ZLIB_CFLAGS)
51 endif #SYSTEM_ZLIB
52 LAUNCHER_SHARE_SRC = $(SHARE_SRC)/bin
53
54 # set the platform specific directory for macosx, also this platform shares
55 # substantial family ties with its siblings (solaris and linux), thus we add
56 # solaris src path to its compilation dependencies.
57 ifeq ($(PLATFORM), macosx)
58 LAUNCHER_PLATFORM_SRC = $(BUILDDIR)/../src/macosx/bin
59 LAUNCHER_SOLARIS_PLATFORM_SRC = $(BUILDDIR)/../src/solaris/bin
60 else # !MACOSX
61 LAUNCHER_PLATFORM_SRC = $(PLATFORM_SRC)/bin
62 endif #PLATFORM
63
64 ifeq ($(ZERO_BUILD), true)
65 ERGO_FAMILY=zero
66 else # !ZERO_BUILD
67 ifneq (,$(findstring $(ARCH_FAMILY), amd64 x86_64))
68 ERGO_FAMILY=i586
69 else # !X86 FAMILY
70 ERGO_FAMILY=$(ARCH_FAMILY)
142
143 ifeq ($(PLATFORM), windows)
144 EXTRA_LIBS = advapi32.lib \
145 comctl32.lib \
146 user32.lib
147 JAVALIB =
148 OTHER_LCF = -export:JLI_Launch \
149 -export:JLI_ManifestIterate \
150 -export:JLI_SetTraceLauncher \
151 -export:JLI_ReportErrorMessage \
152 -export:JLI_ReportErrorMessageSys \
153 -export:JLI_ReportMessage \
154 -export:JLI_ReportExceptionDescription
155 endif # PLATFORM
156
157 OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)
158 OTHER_INCLUDES += -I$(LAUNCHER_PLATFORM_SRC)
159 ifneq ($(SYSTEM_ZLIB),true)
160 OTHER_INCLUDES += -I$(ZIP_SRC)
161 else # !SYSTEM_ZLIB
162 LDLIBS += $(ZLIB_LIBS)
163 endif # SYSTEM_ZLIB
164
165 #
166 # Library to compile.
167 #
168 include $(BUILDDIR)/common/Mapfile-vers.gmk
169 include $(BUILDDIR)/common/Library.gmk
170
171 #
172 # On Windows, some executable objects need to be statically linked against
173 # the jli library. Hence, we need both a standard library (archive) and
174 # an import library (associated with a dll). These both usually have the
175 # extension .LIB, so they need to be placed in different directories. The
176 # import library is build (as usual) in the $(OBJDIR) directory while the
177 # standard library is built in a "static" subdirectory. The standard library
178 # is not delivered as part of the product, but is only needed as part of
179 # the build process. The import library is built by the standard rules
180 # in Library.gmk. The additional rules which follow build the standard
181 # library.
182 #
|