Print this page
rev 5615 : 6336885: RFE: Locale Data Deployment Enhancements
4609153: Provide locale data for Indic locales
5104387: Support for gl_ES locale (galician language)
6337471: desktop/system locale preferences support
7056139: (cal) SPI support for locale-dependent Calendar parameters
7058206: Provide CalendarData SPI for week params and display field value names
7073852: Support multiple scripts for digits and decimal symbols per locale
7079560: [Fmt-Da] Context dependent month names support in SimpleDateFormat
7171324: getAvailableLocales() of locale sensitive services should return the actual availability of locales
7151414: (cal) Support calendar type identification
7168528: LocaleServiceProvider needs to be aware of Locale extensions
7171372: (cal) locale's default Calendar should be created if unknown calendar is specified
Summary: JEP 127: Improve Locale Data Packaging and Adopt Unicode CLDR Data (part 1 w/o Jigsaw. by Naoto Sato and Masayoshi Okutsu)
Split |
Close |
Expand all |
Collapse all |
--- old/make/java/java/Makefile
+++ new/make/java/java/Makefile
1 1 #
2 2 # Copyright (c) 1997, 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
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 #
27 27 # Makefile for core Java libraries
28 28 # (java.lang, java.lang.ref, java.lang.reflect, java.io, java.util)
29 29 #
30 30
31 31 BUILDDIR = ../..
32 32 PACKAGE = java.lang
33 33 LIBRARY = java
34 34 PRODUCT = java
35 35 SUBDIRS_MAKEFLAGS += JAVAC_MAX_WARNINGS=true
36 36 SUBDIRS_MAKEFLAGS += JAVAC_WARNINGS_FATAL=true
37 37 JAVAC_MAX_WARNINGS=true
38 38 include $(BUILDDIR)/common/Defs.gmk
39 39
40 40 # windows compiler flags
41 41 ifeq ($(PLATFORM),windows)
42 42 OTHER_CFLAGS =
43 43 # build directly into BINDIR...
44 44 LIB_LOCATION = $(BINDIR)
45 45 # Exported functions
46 46 OTHER_LCF = -export:winFileHandleOpen -export:handleLseek
47 47 endif
48 48
49 49 OTHER_CFLAGS += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
50 50 -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
51 51 -DJDK_MICRO_VERSION='"$(JDK_MICRO_VERSION)"' \
52 52 -DJDK_BUILD_NUMBER='"$(JDK_BUILD_NUMBER)"'
53 53
54 54 ifdef JDK_UPDATE_VERSION
55 55 OTHER_CFLAGS += -DJDK_UPDATE_VERSION='"$(JDK_UPDATE_VERSION)"'
56 56 endif
57 57
58 58
59 59 #
60 60 # Files to compile.
61 61 #
62 62 include FILES_c.gmk
63 63 include FILES_java.gmk
64 64 include Exportedfiles.gmk
65 65
66 66 ifeq ($(PLATFORM),windows)
67 67 FILES_java += java/io/Win32FileSystem.java \
68 68 java/io/WinNTFileSystem.java \
69 69 java/util/prefs/WindowsPreferences.java \
70 70 java/util/prefs/WindowsPreferencesFactory.java
71 71
72 72 FILES_c += ProcessImpl_md.c \
73 73 Win32FileSystem_md.c \
74 74 WinNTFileSystem_md.c \
75 75 canonicalize_md.c \
76 76 dirent_md.c \
77 77 TimeZone.c \
78 78 TimeZone_md.c \
79 79 WindowsPreferences.c \
80 80 sun/security/provider/WinCAPISeedGenerator.c \
81 81 sun/io/Win32ErrorMode.c
82 82
83 83 else # PLATFORM
84 84 FILES_java += java/lang/UNIXProcess.java \
85 85 java/io/UnixFileSystem.java \
86 86 java/util/prefs/FileSystemPreferences.java \
87 87 java/util/prefs/FileSystemPreferencesFactory.java \
88 88
89 89 FILES_c += UNIXProcess_md.c \
90 90 UnixFileSystem_md.c \
91 91 canonicalize_md.c \
92 92 TimeZone.c \
93 93 TimeZone_md.c \
94 94 FileSystemPreferences.c
95 95
96 96 INIT += $(GENSRCDIR)/java/lang/UNIXProcess.java
97 97
98 98 endif # PLATFORM
99 99
100 100 ifeq ($(PLATFORM), macosx)
101 101 FILES_c += java_props_macosx.c
102 102 FILES_java += java/util/prefs/MacOSXPreferences.java \
103 103 java/util/prefs/MacOSXPreferencesFile.java \
104 104 java/util/prefs/MacOSXPreferencesFactory.java
105 105
106 106 CFLAGS_$(VARIANT)/java_props_md.o = -Os -x objective-c
107 107 endif
108 108
109 109 #
110 110 # Make sure first rule does 'all'
111 111 #
112 112 default_rule: all
113 113
114 114 #
115 115 # Source files to generate before we try to compile anything
116 116 #
117 117
118 118 #
119 119 # genlocales.gmk define rules to generate LocaleDataMetaInfo.java
120 120 # which contains locale string list for sun.text.resources and
121 121 # sun.util.resources.
122 122 #
123 123 include genlocales.gmk
124 124
125 125 CLASSES_INIT = gencharsrc niosrc rbcontrolsrc genlocales
126 126
127 127 niosrc: ; ($(CD) ../nio; $(MAKE) sources)
128 128
129 129 gencharsrc: $(GENSRCDIR)/java/lang/CharacterData00.java \
130 130 $(GENSRCDIR)/java/lang/CharacterData01.java \
131 131 $(GENSRCDIR)/java/lang/CharacterData02.java \
132 132 $(GENSRCDIR)/java/lang/CharacterData0E.java \
133 133 $(GENSRCDIR)/java/lang/CharacterDataLatin1.java \
134 134 $(GENSRCDIR)/java/lang/CharacterDataUndefined.java \
135 135 $(GENSRCDIR)/java/lang/CharacterDataPrivateUse.java
136 136
137 137 rbcontrolsrc: $(GENSRCDIR)/sun/util/CoreResourceBundleControl.java
138 138
139 139 #
140 140 # Add to the default C file search paths
141 141 #
142 142 vpath %.c $(PLATFORM_SRC)/native/java/lang:$(SHARE_SRC)/native/java/lang
143 143 vpath %.c $(SHARE_SRC)/native/java/lang/ref
144 144 vpath %.c $(SHARE_SRC)/native/java/lang/reflect
145 145 vpath %.c $(SHARE_SRC)/native/java/io
146 146 vpath %.c $(PLATFORM_SRC)/native/java/io
147 147 vpath %.c $(SHARE_SRC)/native/java/nio
148 148 vpath %.c $(SHARE_SRC)/native/java/security
↓ open down ↓ |
148 lines elided |
↑ open up ↑ |
149 149 vpath %.c $(SHARE_SRC)/native/common
150 150 vpath %.c $(SHARE_SRC)/native/sun/misc
151 151 vpath %.c $(SHARE_SRC)/native/sun/reflect
152 152 vpath %.c $(SHARE_SRC)/native/java/sql
153 153 vpath %.c $(SHARE_SRC)/native/java/util
154 154 vpath %.c $(SHARE_SRC)/native/java/util/concurrent/atomic
155 155 vpath %.c $(PLATFORM_SRC)/native/common
156 156 vpath %.c $(PLATFORM_SRC)/native/java/util
157 157 vpath %.c $(PLATFORM_SRC)/native/sun/security/provider
158 158 vpath %.c $(PLATFORM_SRC)/native/sun/io
159 +ifeq ($(PLATFORM),macosx)
160 +vpath %.c $(PLATFORM_SRC_MACOS)/native/sun/util/locale/provider
161 +else # PLATFORM
162 +vpath %.c $(PLATFORM_SRC)/native/sun/util/locale/provider
163 +endif # PLATFORM
159 164
160 165 #
161 166 # Includes the fdlibm header file.
162 167 #
163 168 OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/lang/fdlibm/include
164 169
165 170 #
166 171 # Also include the io_util.h header file.
167 172 #
168 173 OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/io
169 174 OTHER_INCLUDES += -I$(PLATFORM_SRC)/native/java/io
170 175
171 176 #
172 177 # Also include the TimeZone_md.h header file.
173 178 #
174 179 OTHER_INCLUDES += -I$(PLATFORM_SRC)/native/java/util
175 180
176 181 #
177 182 # Is the altzone extern documented in ctime(3C) available?
178 183 #
179 184 ifneq ($(PLATFORM), windows)
180 185 ifneq ($(PLATFORM), macosx)
181 186 HAVE_ALTZONE=true
182 187 endif
183 188 endif
184 189
185 190 ifeq ($(HAVE_ALTZONE),true)
186 191 OTHER_CPPFLAGS += -DHAVE_ALTZONE
187 192 endif
188 193
189 194 #
190 195 # System.c needs RELEASE.
191 196 # java_props_md.c needs ARCH on non-Solaris platforms.
192 197 #
193 198 OTHER_CPPFLAGS += $(VERSION_DEFINES)
194 199
195 200 #
196 201 # Include name of LIBARCH
197 202 #
198 203 OTHER_CPPFLAGS += -DARCHPROPNAME='"$(ARCHPROP)"'
199 204
200 205 #
201 206 # Is the key in the call nl_langinfo(CODESET) called something other than
202 207 # CODESET?
203 208 #
204 209 ifdef ALT_CODESET_KEY
205 210 OTHER_CPPFLAGS += -DALT_CODESET_KEY=$(ALT_CODESET_KEY)
206 211 endif
207 212
208 213 #
209 214 # Install .lib file.
210 215 #
211 216 INSTALL_DOT_LIB = true
212 217
213 218 #
214 219 # What to link?
215 220 # On Windows, shell32 is not normally required and so it is delay loaded.
216 221 #
217 222 ifeq ($(PLATFORM),windows)
218 223 OTHER_LDLIBS += $(JVMLIB) -libpath:$(OBJDIR)/../../../fdlibm/$(OBJDIRNAME) fdlibm.lib \
219 224 -libpath:$(OBJDIR)/../../../verify/$(OBJDIRNAME) verify.lib \
220 225 shell32.lib delayimp.lib /DELAYLOAD:shell32.dll
221 226 else
222 227 OTHER_LDLIBS += $(JVMLIB) -lverify $(LIBSOCKET) $(LIBNSL) $(LIBSCF) $(LIBDL) \
223 228 -L$(OBJDIR)/../../../fdlibm/$(OBJDIRNAME) -lfdlibm.$(ARCH)
224 229 ifeq ($(PLATFORM), macosx)
225 230 OTHER_LDLIBS += \
226 231 -framework CoreFoundation \
227 232 -framework Security \
228 233 -framework SystemConfiguration
229 234 endif
230 235 endif
231 236
232 237 #
233 238 # Rules.
234 239 #
235 240 ifeq ($(PLATFORM), solaris)
236 241 ifneq ($(ARCH), amd64)
237 242 FILES_reorder += reorder-$(ARCH)
238 243 endif
239 244 endif
240 245
241 246 SUBDIRS = reflect
242 247 include $(BUILDDIR)/common/Subdirs.gmk
243 248
244 249 all build:
245 250 $(SUBDIRS-loop)
246 251 clean clobber::
247 252 $(SUBDIRS-loop)
248 253
249 254 include $(BUILDDIR)/common/Mapfile-vers.gmk
250 255 include $(BUILDDIR)/common/Library.gmk
251 256
252 257 ifeq ($(PLATFORM), solaris)
253 258 ifeq ($(CC_VER), 5.8)
254 259 ifndef REMOVE_ALL_WORKAROUNDS
255 260 CFLAGS_OPT/ObjectInputStream.o = -xO3 \
256 261 $(warning "WARNING: Using workaround for SS11 bug 6346242, on $@")
257 262 endif
258 263 endif
259 264 endif
260 265
261 266 ifneq ($(PLATFORM),windows)
262 267
263 268 # UNIXProcess.java is different for solaris and linux. We need to copy
264 269 # the correct UNIXProcess.java over to $(GENSRCDIR)/java/lang/.
265 270
266 271 ifeq ($(PLATFORM), macosx)
267 272 PLATFORM_UNIX_PROCESS = \
268 273 $(PLATFORM_SRC)/classes/java/lang/UNIXProcess.java.bsd
269 274 else
270 275 PLATFORM_UNIX_PROCESS = \
271 276 $(PLATFORM_SRC)/classes/java/lang/UNIXProcess.java.$(PLATFORM)
272 277 endif
273 278
274 279 $(GENSRCDIR)/java/lang/UNIXProcess.java: $(PLATFORM_UNIX_PROCESS)
275 280 $(install-file)
276 281
277 282 clean::
278 283 $(RM) $(GENSRCDIR)/java/lang/UNIXProcess.java
279 284
280 285 endif
281 286
282 287
283 288 #
284 289 # Because we can't link against ourselves!
285 290 #
286 291 JAVALIB =
287 292
288 293 #
289 294 # Special rules.
290 295 #
291 296 clean::
292 297 $(RM) -r $(CLASSHDRDIR)
293 298
294 299 clobber::
295 300 $(RM) -r $(CLASSBINDIR)/java/io $(CLASSBINDIR)/java/lang \
296 301 $(CLASSBINDIR)/java/security $(CLASSBINDIR)/java/util \
297 302 $(CLASSBINDIR)/sun/misc
298 303
299 304 #
300 305 # Additional rule from sun/net/GNUmakefile to copy content-type.properties
301 306 # file so that the MimeTable class won't complain while bootstrapping...
302 307 #
303 308 PROPS = content-types.properties
304 309
305 310 #
306 311 # Rule to copy calendars.properties file.
307 312 #
308 313 CAL_PROPS = calendars.properties
309 314
310 315 #
311 316 # Rule to copy tzmappings file on Windows
312 317 #
313 318 ifeq ($(PLATFORM), windows)
314 319 TZMAP = $(LIBDIR)/tzmappings
315 320 TZMAPFILE = $(PLATFORM_SRC)/lib/tzmappings
316 321
317 322 $(TZMAP): $(TZMAPFILE)
318 323 $(install-file)
319 324 $(call chmod-file, 444)
320 325 endif
321 326
322 327 build: $(LIBDIR)/$(PROPS) $(LIBDIR)/$(CAL_PROPS) $(TZMAP)
323 328
324 329 $(LIBDIR)/$(PROPS): $(PLATFORM_SRC)/lib/$(PROPS)
325 330 $(install-file)
326 331
327 332 $(LIBDIR)/$(CAL_PROPS): $(SHARE_SRC)/lib/$(CAL_PROPS)
328 333 $(install-file)
329 334
330 335 clean::
331 336 $(RM) -r $(LIBDIR)/$(PROPS) $(TZMAP)
332 337
333 338 #
334 339 # Rules to create lib/currency.data
335 340 #
336 341
337 342 CURDATA = $(LIBDIR)/currency.data
338 343 GENERATECURRENCYDATA_JARFILE = $(BUILDTOOLJARDIR)/generatecurrencydata.jar
339 344
340 345 build: $(CURDATA)
341 346
342 347 $(CURDATA): \
343 348 $(GENERATECURRENCYDATA_JARFILE) \
344 349 $(SHARE_SRC)/classes/java/util/CurrencyData.properties
345 350 $(RM) $(CURDATA)
346 351 $(BOOT_JAVA_CMD) -jar $(GENERATECURRENCYDATA_JARFILE) -o $@.temp \
347 352 < $(SHARE_SRC)/classes/java/util/CurrencyData.properties
348 353 $(MV) $@.temp $@
349 354 $(call chmod-file, 444)
350 355
351 356 clean::
352 357 $(RM) $(CURDATA)
353 358
354 359
355 360 #
356 361 # Rules to create $(GENSRCDIR)/sun/lang/CharacterData*.java
357 362 #
358 363 CHARACTERDATA = $(BUILDDIR)/tools/GenerateCharacter
359 364 UNICODEDATA = $(BUILDDIR)/tools/UnicodeData
360 365
361 366 GENERATECHARACTER_JARFILE = $(BUILDTOOLJARDIR)/generatecharacter.jar
362 367
363 368 $(GENSRCDIR)/java/lang/CharacterDataLatin1.java \
364 369 $(GENSRCDIR)/java/lang/CharacterData00.java \
365 370 $(GENSRCDIR)/java/lang/CharacterData01.java \
366 371 $(GENSRCDIR)/java/lang/CharacterData02.java \
367 372 $(GENSRCDIR)/java/lang/CharacterData0E.java: \
368 373 $(wildcard $(CHARACTERDATA)/*) \
369 374 $(GENERATECHARACTER_JARFILE)
370 375 @$(prep-target)
371 376 $(BOOT_JAVA_CMD) -jar $(GENERATECHARACTER_JARFILE) \
372 377 -template $(CHARACTERDATA)/CharacterDataLatin1.java.template \
373 378 -spec $(UNICODEDATA)/UnicodeData.txt \
374 379 -specialcasing $(UNICODEDATA)/SpecialCasing.txt \
375 380 -proplist $(UNICODEDATA)/PropList.txt \
376 381 -o $(GENSRCDIR)/java/lang/CharacterDataLatin1.java -string \
377 382 -usecharforbyte -latin1 8
378 383 $(BOOT_JAVA_CMD) -jar $(GENERATECHARACTER_JARFILE) -plane 0 \
379 384 -template $(CHARACTERDATA)/CharacterData00.java.template \
380 385 -spec $(UNICODEDATA)/UnicodeData.txt \
381 386 -specialcasing $(UNICODEDATA)/SpecialCasing.txt \
382 387 -proplist $(UNICODEDATA)/PropList.txt \
383 388 -o $(GENSRCDIR)/java/lang/CharacterData00.java -string \
384 389 -usecharforbyte 11 4 1
385 390 $(BOOT_JAVA_CMD) -jar $(GENERATECHARACTER_JARFILE) -plane 1 \
386 391 -template $(CHARACTERDATA)/CharacterData01.java.template \
387 392 -spec $(UNICODEDATA)/UnicodeData.txt \
388 393 -specialcasing $(UNICODEDATA)/SpecialCasing.txt \
389 394 -proplist $(UNICODEDATA)/PropList.txt \
390 395 -o $(GENSRCDIR)/java/lang/CharacterData01.java -string \
391 396 -usecharforbyte 11 4 1
392 397 $(BOOT_JAVA_CMD) -jar $(GENERATECHARACTER_JARFILE) -plane 2 \
393 398 -template $(CHARACTERDATA)/CharacterData02.java.template \
394 399 -spec $(UNICODEDATA)/UnicodeData.txt \
395 400 -specialcasing $(UNICODEDATA)/SpecialCasing.txt \
396 401 -proplist $(UNICODEDATA)/PropList.txt \
397 402 -o $(GENSRCDIR)/java/lang/CharacterData02.java -string \
398 403 -usecharforbyte 11 4 1
399 404 $(BOOT_JAVA_CMD) -jar $(GENERATECHARACTER_JARFILE) -plane 14 \
400 405 -template $(CHARACTERDATA)/CharacterData0E.java.template \
401 406 -spec $(UNICODEDATA)/UnicodeData.txt \
402 407 -specialcasing $(UNICODEDATA)/SpecialCasing.txt \
403 408 -proplist $(UNICODEDATA)/PropList.txt \
404 409 -o $(GENSRCDIR)/java/lang/CharacterData0E.java -string \
405 410 -usecharforbyte 11 4 1
406 411
407 412 $(GENSRCDIR)/java/lang/%.java : $(CHARACTERDATA)/%.java.template
408 413 $(install-file)
409 414
410 415 clean::
411 416 $(RM) $(GENSRCDIR)/java/lang/CharacterDataLatin1.java
412 417 $(RM) $(GENSRCDIR)/java/lang/CharacterData00.java
413 418 $(RM) $(GENSRCDIR)/java/lang/CharacterData01.java
414 419 $(RM) $(GENSRCDIR)/java/lang/CharacterData02.java
415 420 $(RM) $(GENSRCDIR)/java/lang/CharacterData0E.java
416 421 $(RM) $(GENSRCDIR)/java/lang/CharacterDataUndefined.java
417 422 $(RM) $(GENSRCDIR)/java/lang/CharacterDataPrivateUse.java
418 423
419 424 #
420 425 # Rules to generate classes/java/lang/uniName.dat
421 426 #
422 427
423 428
424 429
425 430 UNINAME = $(CLASSBINDIR)/java/lang/uniName.dat
426 431 GENERATEUNINAME_JARFILE = $(BUILDTOOLJARDIR)/generatecharacter.jar
427 432
428 433 build: $(UNINAME)
429 434
430 435 $(UNINAME): $(UNICODEDATA)/UnicodeData.txt \
431 436 $(GENERATECHARACTER_JARFILE)
432 437 @$(prep-target)
433 438 $(BOOT_JAVA_CMD) -classpath $(GENERATECHARACTER_JARFILE) \
434 439 build.tools.generatecharacter.CharacterName \
435 440 $(UNICODEDATA)/UnicodeData.txt $(UNINAME)
436 441
437 442 clean::
438 443 $(RM) $(UNINAME)
439 444
440 445 #
441 446 # End of rules to create $(GENSRCDIR)/java/lang/CharacterDataXX.java
442 447 #
443 448
444 449 #
445 450 # Rule to precompile CoreResourceBundleControl.java
446 451 #
447 452 LOCALES_GEN_SH = localelist.sh
448 453
449 454 $(GENSRCDIR)/sun/util/CoreResourceBundleControl.java: \
450 455 $(SHARE_SRC)/classes/sun/util/CoreResourceBundleControl-XLocales.java.template $(LOCALES_GEN_SH)
451 456 @$(prep-target)
452 457 NAWK="$(NAWK)" SED="$(SED)" $(SH) $(LOCALES_GEN_SH) "$(JRE_NONEXIST_LOCALES)" \
453 458 $< $@
454 459 clean::
455 460 $(RM) $(GENSRCDIR)/sun/util/CoreResourceBundleControl.java
456 461
↓ open down ↓ |
288 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX