Print this page
Split |
Close |
Expand all |
Collapse all |
--- old/make/sun/xawt/Makefile
+++ new/make/sun/xawt/Makefile
1 1 #
2 2 # Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
3 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 4 #
5 5 # This code is free software; you can redistribute it and/or modify it
6 6 # under the terms of the GNU General Public License version 2 only, as
7 7 # published by the Free Software Foundation. Oracle designates this
8 8 # particular file as subject to the "Classpath" exception as provided
9 9 # by Oracle in the LICENSE file that accompanied this code.
10 10 #
11 11 # This code is distributed in the hope that it will be useful, but WITHOUT
12 12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 14 # version 2 for more details (a copy is included in the LICENSE file that
15 15 # accompanied this code).
16 16 #
17 17 # You should have received a copy of the GNU General Public License version
↓ open down ↓ |
17 lines elided |
↑ open up ↑ |
18 18 # 2 along with this work; if not, write to the Free Software Foundation,
19 19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 20 #
21 21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 22 # or visit www.oracle.com if you need additional information or have any
23 23 # questions.
24 24 #
25 25
26 26 BUILDDIR = ../..
27 27 PACKAGE = sun.awt.X11
28 -LIBRARY = mawt
29 -LIBRARY_OUTPUT = xawt
30 -LIB_LOCATION = $(LIBDIR)/$(LIBARCH)/xawt
28 +LIBRARY = awt_xawt
31 29 PRODUCT = sun
32 30
33 31 include $(BUILDDIR)/common/Defs.gmk
34 32
35 33 GEN_DIR=$(GENSRCDIR)/sun/awt/X11
36 34
37 35 CLASSES_INIT += $(TEMPDIR)/.gen.wrappers $(TEMPDIR)/.gen_icons touch.wrappers
38 36
39 37 .PHONY: generated.clean
40 38
41 39 #
42 40 # Files
43 41 #
44 42 include FILES_c_unix.gmk
45 43 include FILES_export_unix.gmk
46 44 AUTO_FILES_JAVA_DIRS = sun/awt/X11
47 45 AUTO_JAVA_PRUNE = WrapperGenerator.java
48 46
49 47 LDFLAGS += -L$(OPENWIN_LIB)
50 48
51 49 # For Xrender extension.
52 50 ifeq ($(PLATFORM), solaris)
53 51 LDFLAGS += -L/usr/openwin/sfw/lib$(ISA_DIR) -R/usr/openwin/sfw/lib$(ISA_DIR)
54 52 endif
55 53
56 54 ifeq ($(PLATFORM), linux)
57 55 LDFLAGS += -lpthread
58 56 dummy := $(shell $(MKDIR) -p $(LIB_LOCATION))
59 57 endif
60 58
61 59 # Since this library will be living in a subdirectory below the other libraries
62 60 # we need to add an extra runpath so that libraries in the upper directory
63 61 # are found at runtime.
64 62 LD_RUNPATH_EXTRAS = ..
65 63
66 64 #
67 65 # Rules.
68 66 #
69 67 include $(BUILDDIR)/common/Mapfile-vers.gmk
70 68 include $(BUILDDIR)/common/Library.gmk
71 69
72 70 #
73 71 # Add to the ambient vpath to pick up files in subdirectories
74 72 #
75 73 vpath %.c $(SHARE_SRC)/native/sunawt/alphacomposite
76 74 vpath %.c $(PLATFORM_SRC)/native/sun/xawt
77 75 vpath %.c $(PLATFORM_SRC)/native/sun/awt
78 76 vpath %.c $(SHARE_SRC)/native/sun/awt/debug
79 77 vpath %.c $(SHARE_SRC)/native/sun/awt/image
80 78 vpath %.c $(SHARE_SRC)/native/sun/awt/image/gif
81 79 vpath %.c $(SHARE_SRC)/native/sun/awt/image/cvutils
82 80 vpath %.c $(SHARE_SRC)/native/sun/awt/shell
83 81 vpath %.c $(SHARE_SRC)/native/sun/java2d
84 82 vpath %.c $(SHARE_SRC)/native/sun/java2d/loops
85 83 vpath %.c $(SHARE_SRC)/native/sun/java2d/pipe
86 84 vpath %.c $(SHARE_SRC)/native/sun/awt/medialib
87 85 vpath %.c $(SHARE_SRC)/native/sun/awt/utility
88 86 vpath %.cpp $(SHARE_SRC)/native/sun/image
89 87 vpath %.c $(SHARE_SRC)/native/sun/font
90 88 vpath %.c $(PLATFORM_SRC)/native/sun/awt/robot_child
91 89 vpath %.c $(SHARE_SRC)/native/sun/java2d/opengl
92 90 vpath %.c $(PLATFORM_SRC)/native/sun/java2d/opengl
93 91 vpath %.c $(PLATFORM_SRC)/native/sun/java2d/x11
94 92
95 93 OTHER_LDLIBS = $(LIBM) -lawt -lXext -lX11 -lXrender -ldl \
96 94 $(LDFLAGS_COMMON) $(AWT_RUNPATH) $(OTHER_LDFLAGS) -lXtst -lXi
97 95
98 96 ifeq ($(PLATFORM), solaris)
99 97 CPPFLAGS += -DFUNCPROTO=15
100 98 dummy := $(shell $(MKDIR) -p $(LIB_LOCATION))
101 99 endif
102 100
103 101 CPPFLAGS += -I$(CUPS_HEADERS_PATH)
104 102
105 103 CPPFLAGS += -DXAWT -DXAWT_HACK \
106 104 -I$(TEMPDIR)/../../sun.awt/awt/CClassHeaders \
107 105 -I$(PLATFORM_SRC)/native/sun/awt \
108 106 -I$(PLATFORM_SRC)/native/sun/xawt \
109 107 -I$(PLATFORM_SRC)/native/sun/jdga \
110 108 -I$(SHARE_SRC)/native/sun/awt/debug \
111 109 -I$(SHARE_SRC)/native/sun/awt/image/cvutils \
112 110 -I$(SHARE_SRC)/native/sun/java2d \
113 111 -I$(SHARE_SRC)/native/sun/java2d/loops \
114 112 -I$(SHARE_SRC)/native/sun/awt/image/cvutils \
115 113 -I$(SHARE_SRC)/native/sun/awt/image \
116 114 -I$(SHARE_SRC)/native/sun/font \
117 115 -I$(PLATFORM_SRC)/native/sun/java2d \
118 116 -I$(SHARE_SRC)/native/sun/java2d/pipe \
119 117 -I$(SHARE_SRC)/native/sun/java2d/opengl \
120 118 -I$(PLATFORM_SRC)/native/sun/java2d/opengl \
121 119 -I$(PLATFORM_SRC)/native/sun/java2d/x11 \
122 120 -I$(SHARE_SRC)/native/sun/dc/path \
123 121 -I$(SHARE_SRC)/native/sun/dc/doe \
124 122 -I$(SHARE_SRC)/native/sun/awt/alphacomposite \
125 123 -I$(SHARE_SRC)/native/sun/awt/medialib \
126 124 -I$(PLATFORM_SRC)/native/sun/awt/medialib \
127 125 -I$(PLATFORM_SRC)/native/sun/font \
128 126 -I$(SHARE_SRC)/native/sun/awt \
129 127 -I$(PLATFORM_SRC)/native/sun/awt
130 128
131 129 ifeq ($(PLATFORM), linux)
132 130 ifndef CROSS_COMPILE_ARCH
133 131 # Allows for builds on Debian GNU Linux, X11 is in a different place
134 132 # This should really be handled at a higher-level so we don't have to
135 133 # work-around this when cross-compiling
136 134 CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
137 135 -I/usr/include/X11/extensions \
138 136 -I$(OPENWIN_HOME)/include
139 137 else
140 138 CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
141 139 -I$(OPENWIN_HOME)/include
142 140 endif
143 141 endif
144 142
145 143 # We have some odd logic here because some Solaris 10 updates
146 144 # have a render.h file that suggests gradients are supported, but
147 145 # the Xrender.h doesn't have the corresponding type definitions.
148 146 # Earlier updates have neither. We'd like to know if there's a mismatch.
149 147 # Whilst in the C preprocessor we can tell if the render.h define's are set
150 148 # we can't tell anything about C declarations.
151 149 # A grep of Xrender.h is the only way to know this. If they are absent
152 150 # we will set a flag indicating this mismatch and the JDK source file
153 151 # will interpret it to resolve the problem.
154 152 ifeq ($(PLATFORM), solaris)
155 153 CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions
156 154 OS_VERSION := $(shell uname -r)
157 155 XRENDER_H := $(OPENWIN_HOME)/share/include/X11/extensions/Xrender.h
158 156 ifeq ($(OS_VERSION),5.10)
159 157 LINEARGRADIENT_CNT := $(shell $(EGREP) -c XLinearGradient $(XRENDER_H))
160 158 ifeq ($(LINEARGRADIENT_CNT),0)
161 159 CFLAGS+= -DSOLARIS10_NO_XRENDER_STRUCTS
162 160 endif
163 161 endif
164 162 endif
165 163
166 164 ifeq ($(MILESTONE), internal)
167 165 CPPFLAGS += -DINTERNAL_BUILD
168 166 endif
169 167
170 168 #
171 169 # Generation of wrappers
172 170 #
173 171 SIZER_DIR=$(GEN_DIR)/generator
174 172 SIZER = $(SIZER_DIR)/sizer
175 173 SIZER_32_C = $(SIZER).32.c
176 174 SIZER_64_C = $(SIZER).64.c
177 175 CFLAGS_32=$(CFLAGS)
178 176 CFLAGS_64=$(CFLAGS)
179 177
180 178 ifeq ($(PLATFORM), solaris)
181 179
182 180 isalist:=$(shell $(ISAINFO))
183 181
184 182 ifneq (,$(findstring sparcv9, $(isalist)))
185 183 # On sparcv9 we generate both 32 and 64-bit sizers in spite of ARCH_DATA_MODEL.
186 184 # On sparcv9 CFLAGS already contain $(XARCH_OPTION/64), so to generate 32-bit sizer we need to change this option.
187 185 CFLAGS_32=$(subst $(XARCH_OPTION/64),$(XARCH_OPTION/32),$(CFLAGS))
188 186 SIZERS = $(SIZER).32 $(SIZER).64
189 187 SIZERS_C = $(SIZER_32_C) $(SIZER_64_C)
190 188 SIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32 $(WRAPPER_GENERATOR_DIR)/sizes.64
191 189 CFLAGS_64=$(CFLAGS) $(XARCH_OPTION/64)
192 190 else
193 191 ifneq (,$(findstring amd64, $(isalist)))
194 192 # On amd64 we generate both 32 and 64-bit sizers in spite of ARCH_DATA_MODEL.
195 193 # On amd64 CFLAGS already contain $(XARCH_OPTION/64), so to generate 32-bit sizer we need to change this option.
196 194 CFLAGS_32=$(subst $(XARCH_OPTION/64),$(XARCH_OPTION/32),$(CFLAGS))
197 195 SIZERS = $(SIZER).32 $(SIZER).64
198 196 SIZERS_C = $(SIZER_32_C) $(SIZER_64_C)
199 197 SIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32 $(WRAPPER_GENERATOR_DIR)/sizes.64
200 198 CFLAGS_64=$(CFLAGS) $(XARCH_OPTION/64)
201 199 else # !sparcv9 : includes (32-bit) sparc, i586
202 200 SIZERS = $(SIZER).32
203 201 SIZERS_C = $(SIZER_32_C)
204 202 SIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32
205 203 endif # amd64
206 204 endif # sparcv9
207 205
208 206 else # !solaris
209 207
210 208 ifeq ($(ARCH_DATA_MODEL), 32)
211 209 SIZERS = $(SIZER).32
212 210 SIZERS_C = $(SIZER_32_C)
213 211 SIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32
214 212 else # !32
215 213 SIZERS = $(SIZER).64
216 214 SIZERS_C = $(SIZER_64_C)
217 215 SIZES = $(WRAPPER_GENERATOR_DIR)/sizes.64
218 216 endif # 32
219 217
220 218 endif # solaris
221 219
222 220 # XXX Hack for 6185483 - use hard-coded sizes.
223 221 # Add the 64-bit platforms that need to be included into 32-bit build
224 222 # and have sizes.64-$(PLATFORM)-$(LIBARCH) hardcoded in the workspace
225 223 ifeq ($(PLATFORM)-$(LIBARCH), solaris-i386)
226 224 # If you define DOHACK=true for some combination of $(PLATFORM)-$(LIBARCH),
227 225 # make sure you have sizes.64-$(PLATFORM)-$(LIBARCH) pre-generated in
228 226 # $(PLATFORM_SRC)/classes/sun/awt/X11/generator/
229 227 DOHACK=true
230 228 endif # Hack
231 229
232 230 ifeq ($(DOHACK), true)
233 231 PREDEFINED_SIZES_TMPL=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/sizes.64-$(PLATFORM)-$(LIBARCH)
234 232 PREDEFINED_SIZES=$(WRAPPER_GENERATOR_DIR)/sizes.64
235 233 SIZES += $(WRAPPER_GENERATOR_DIR)/sizes.64
236 234 endif
237 235
238 236 ifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64)
239 237 DOCOMPARE=true
240 238 endif
241 239 # 64 bit sizers are generated on platform-libarch (left) for use
242 240 # on platform-libarch (right) and stored under the latter name.
243 241 # Do compare manually stored and automatically generated pair(s)
244 242 # if DOCOMPARE=true, just after the generation.
245 243 STORED_SIZES_TMPL_solaris_amd64=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/sizes.64-solaris-i386
246 244
247 245 WRAPPER_GENERATOR_JAVA=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/WrapperGenerator.java
248 246 WRAPPER_GENERATOR_DIR=$(GENSRCDIR)/sun/awt/X11/generator
249 247 WRAPPER_GENERATOR_TEMPDIR=$(TEMPDIR)/sun/awt/X11/generator
250 248 WRAPPER_GENERATOR_CLASS=$(WRAPPER_GENERATOR_TEMPDIR)/WrapperGenerator.class
251 249 XLIBTYPES=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/xlibtypes.txt
252 250
253 251 $(SIZERS): $(SIZERS_C)
254 252 $(prep-target)
255 253 ifndef CROSS_COMPILE_ARCH
256 254 $(CC) $(CFLAGS_$(subst .,,$(suffix $@))) $(CPPFLAGS) -o $@ $(SIZER)$(suffix $@).c
257 255 else
258 256 $(HOST_CC) $(CPPFLAGS) -o $@ $(SIZER)$(suffix $@).c
259 257 endif
260 258
261 259 $(WRAPPER_GENERATOR_CLASS): $(WRAPPER_GENERATOR_JAVA)
262 260 $(prep-target)
263 261 $(BOOT_JAVAC_CMD) -d $(WRAPPER_GENERATOR_TEMPDIR) $(WRAPPER_GENERATOR_JAVA)
264 262
265 263 $(SIZERS_C): $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES)
266 264 $(prep-target)
267 265 $(MKDIR) -p $(WRAPPER_GENERATOR_TEMPDIR)
268 266 $(BOOT_JAVA_CMD) -cp $(WRAPPER_GENERATOR_TEMPDIR) WrapperGenerator \
269 267 $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@)))
270 268
271 269 $(SIZES): $(SIZERS)
272 270 @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
273 271 $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
274 272 $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
275 273 $(CHMOD) +w $@;\
276 274 else \
277 275 $(ECHO) GENERATING $@; \
278 276 $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
279 277 fi
280 278 @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
281 279 $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
282 280 $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
283 281 fi
284 282
285 283 $(TEMPDIR)/.gen.wrappers: $(SIZES) $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES)
286 284 $(BOOT_JAVA_CMD) -cp $(WRAPPER_GENERATOR_TEMPDIR) WrapperGenerator \
287 285 $(GEN_DIR) $(XLIBTYPES) "gen" $(WRAPPER_GENERATOR_DIR)/sizes
288 286
289 287 touch.wrappers: $(TEMPDIR)/.gen.wrappers
290 288 $(MKDIR) -p $(TEMPDIR)
291 289 $(TOUCH) $(TEMPDIR)/.gen.wrappers
292 290
293 291 generated.clean:
294 292 $(RM) -r $(WRAPPER_GENERATOR_TEMPDIR)
295 293 $(RM) -r $(WRAPPER_GENERATOR_DIR)
296 294 $(RM) -r $(GEN_DIR)/*.java
297 295 $(RM) -r $(TEMPDIR)/.gen_icons
298 296
299 297 ifdef OPENJDK
300 298 ICONS_PATH_PREFIX=$(PLATFORM_SRC)
301 299 else
302 300 ICONS_PATH_PREFIX=$(CLOSED_SRC)/solaris
303 301 endif
304 302
305 303 ICONS = \
306 304 $(ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon16.png \
307 305 $(ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon24.png \
308 306 $(ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon32.png \
309 307 $(ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon48.png
310 308
311 309
312 310 ICONPATH=$(PLATFORM_SRC)/classes/sun/awt/X11
313 311
314 312 ICONS += \
315 313 $(ICONPATH)/security-icon-bw16.png \
316 314 $(ICONPATH)/security-icon-interim16.png \
317 315 $(ICONPATH)/security-icon-yellow16.png \
318 316 $(ICONPATH)/security-icon-bw24.png \
319 317 $(ICONPATH)/security-icon-interim24.png \
320 318 $(ICONPATH)/security-icon-yellow24.png \
321 319 $(ICONPATH)/security-icon-bw32.png \
322 320 $(ICONPATH)/security-icon-interim32.png \
323 321 $(ICONPATH)/security-icon-yellow32.png \
324 322 $(ICONPATH)/security-icon-bw48.png \
325 323 $(ICONPATH)/security-icon-interim48.png \
326 324 $(ICONPATH)/security-icon-yellow48.png
327 325
328 326 TEMPDIR_CLASSES = $(TEMPDIR)/classes
329 327
330 328 $(TEMPDIR_CLASSES)/sun/awt/X11/ToBin.class: ToBin.java
331 329 @$(prep-target)
332 330 $(BOOT_JAVAC_CMD) -d $(TEMPDIR_CLASSES) $<
333 331
334 332 $(TEMPDIR)/.gen_icons: $(TEMPDIR_CLASSES)/sun/awt/X11/ToBin.class $(ICONS)
335 333 $(prep-target)
336 334 for i in $(ICONS); do \
337 335 filename=`basename $$i`; \
338 336 name=`$(ECHO) $$filename | $(TR) '\-.' '__'`; \
339 337 classname=$(GEN_DIR)/XAWTIcon32_$$name.java; \
340 338 $(RM) $$classname; \
341 339 $(ECHO) "package sun.awt.X11;" >> $$classname ; \
342 340 $(ECHO) "public class XAWTIcon32_$$name {" >> $$classname; \
343 341 $(ECHO) "public static int[] $$name = { " >> $$classname; \
344 342 $(CAT) $$i | \
345 343 $(BOOT_JAVA_CMD) -cp $(TEMPDIR_CLASSES) \
346 344 -Djava.awt.headless=true \
347 345 sun.awt.X11.ToBin >> $$classname; \
348 346 $(ECHO) "}; }" >> $$classname; \
349 347 classname=$(GEN_DIR)/XAWTIcon64_$$name.java; \
350 348 $(RM) $$classname; \
351 349 $(ECHO) "package sun.awt.X11;" >> $$classname ; \
352 350 $(ECHO) "public class XAWTIcon64_$$name {" >> $$classname; \
353 351 $(ECHO) "public static long[] $$name = { " >> $$classname; \
354 352 $(CAT) $$i | \
355 353 $(BOOT_JAVA_CMD) -cp $(TEMPDIR_CLASSES) \
356 354 -Djava.awt.headless=true \
357 355 sun.awt.X11.ToBin >> $$classname; \
358 356 $(ECHO) "}; }" >> $$classname; \
359 357 done
360 358 $(TOUCH) $@
361 359
362 360 clean clobber:: generated.clean
363 361
364 362 .PHONY: generated.clean robot_child
365 363
↓ open down ↓ |
325 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX