1 #
   2 # Copyright (c) 2012, 2014, 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 # These lists define where a file belongs if it exists. It is perfectly fine
  27 # if a file does not exist on some platforms - we do not have to produce exact
  28 # per-platform lists. However, for clarity, platform-unique files are handled
  29 # in platform-specific conditionals.
  30 
  31 # Debug info files are tricky to deal with due to all the different platform variants
  32 # and because they can be zipped.
  33 
  34 ifeq ($(ZIP_DEBUGINFO_FILES), true)
  35     # Common case and 'just works' on all platforms
  36     DEBUG_SUFFIX := .diz
  37 else
  38     # It gets complicated ...
  39     ifeq ($(OPENJDK_TARGET_OS), macosx)
  40         # This is a directory, not a simple file, so
  41         # it needs expanding explicitly later on
  42         DEBUG_SUFFIX := $(SHARED_LIBRARY_SUFFIX).dSYM
  43     else
  44         ifeq ($(OPENJDK_TARGET_OS), windows)
  45             DEBUG_SUFFIX := .map .pdb
  46         else
  47             DEBUG_SUFFIX := .debuginfo
  48         endif
  49     endif
  50 endif
  51 
  52 # Common executable files
  53 PROFILE_1_JRE_BIN_FILES := \
  54     java$(EXE_SUFFIX) \
  55     keytool$(EXE_SUFFIX)
  56 
  57 ifeq ($(OPENJDK_TARGET_OS), windows)
  58     PROFILE_1_JRE_BIN_FILES += javaw$(EXE_SUFFIX)
  59 endif
  60 
  61 PROFILE_1_LIBRARIES := \
  62     j2pkcs11 \
  63     java  \
  64     jsig \
  65     net \
  66     nio \
  67     sunec \
  68     verify \
  69     zip
  70 
  71 ifeq ($(OPENJDK_TARGET_OS), windows)
  72     PROFILE_1_LIBRARIES += msvcrt100
  73 endif
  74 
  75 PROFILE_1_LIBRARIES := $(addprefix $(LIBRARY_PREFIX), $(PROFILE_1_LIBRARIES))
  76 PROFILE_1_DEBUG_FILES := $(foreach i, $(DEBUG_SUFFIX), $(addsuffix $i, $(PROFILE_1_LIBRARIES)))
  77 PROFILE_1_LIBRARIES := $(addsuffix $(SHARED_LIBRARY_SUFFIX), $(PROFILE_1_LIBRARIES))
  78 
  79 ifneq ($(ZIP_DEBUGINFO_FILES), true)
  80     ifeq ($(OPENJDK_TARGET_OS), macosx)
  81         # Need to expand the contents of the .dSYM directories
  82         EXPANDED_DEBUG_FILES := $(foreach i, $(PROFILE_1_DEBUG_FILES), $(addsuffix /Contents/Info.plist, $i))
  83         EXPANDED_DEBUG_FILES += $(foreach i, $(PROFILE_1_LIBRARIES), $(addsuffix /Contents/Resources/DWARF/$i, $(filter $i.%, $(PROFILE_1_DEBUG_FILES))))
  84         PROFILE_1_DEBUG_FILES := $(EXPANDED_DEBUG_FILES)
  85     endif
  86 endif
  87 
  88 PROFILE_1_LIBRARIES += $(PROFILE_1_DEBUG_FILES)
  89 
  90 # Note: libjsig exists as both the real file and a symlink in the VM directory
  91 VM_LIBRARIES := \
  92     jsig \
  93     jvm 
  94 
  95 ifeq ($(OPENJDK_TARGET_OS), solaris)
  96     VM_LIBRARIES += jvm_db jvm_dtrace
  97 endif
  98 
  99 VM_LIBRARIES := $(addprefix $(LIBRARY_PREFIX), $(VM_LIBRARIES))
 100 VM_DEBUG_FILES := $(foreach i, $(DEBUG_SUFFIX), $(addsuffix $i, $(VM_LIBRARIES)))
 101 VM_LIBRARIES := $(addsuffix $(SHARED_LIBRARY_SUFFIX), $(VM_LIBRARIES))
 102 
 103 ifneq ($(ZIP_DEBUGINFO_FILES), true)
 104     ifeq ($(OPENJDK_TARGET_OS), macosx)
 105         # Need to expand the contents of the .dSYM directories, except for jsig because
 106         # that is a symlink
 107         EXPANDED_DEBUG_FILES := $(foreach i, $(filter-out %jsig$(DEBUG_SUFFIX), $(VM_DEBUG_FILES)), $(addsuffix /Contents/Info.plist, $i))
 108         EXPANDED_DEBUG_FILES += $(foreach i, $(filter-out jsig, $(VM_LIBRARIES)), $(addsuffix /Contents/Resources/DWARF/$i, $(filter $i.%, $(VM_DEBUG_FILES))))
 109         # But now we have to add jsig back
 110         EXPANDED_DEBUG_FILES += $(filter %jsig$(DEBUG_SUFFIX), $(VM_DEBUG_FILES))
 111         VM_DEBUG_FILES := $(EXPANDED_DEBUG_FILES)
 112     endif
 113 endif
 114 
 115 VM_FILES := \
 116     Xusage.txt
 117 
 118 VM_DIRS := client server minimal
 119 
 120 VM_FILES := $(foreach i, $(VM_DIRS), $(addprefix $i/, $(VM_LIBRARIES) $(VM_FILES) $(VM_DEBUG_FILES)))
 121 
 122 JLI_LIBRARIES := \
 123     jli
 124 
 125 ifneq ($(OPENJDK_TARGET_OS), windows)
 126     JLI_SUBDIR := jli/
 127 else
 128     JLI_SUBDIR :=
 129 endif
 130 
 131 JLI_LIBRARIES := $(addprefix $(JLI_SUBDIR)$(LIBRARY_PREFIX), $(JLI_LIBRARIES))
 132 JLI_DEBUG_FILES := $(foreach i, $(DEBUG_SUFFIX), $(addsuffix $i, $(JLI_LIBRARIES)))
 133 JLI_LIBRARIES := $(addsuffix $(SHARED_LIBRARY_SUFFIX), $(JLI_LIBRARIES))
 134 
 135 ifneq ($(ZIP_DEBUGINFO_FILES), true)
 136     ifeq ($(OPENJDK_TARGET_OS), macosx)
 137         # Need to expand the contents of the .dSYM directories
 138         EXPANDED_DEBUG_FILES := $(foreach i, $(JLI_DEBUG_FILES), $(addsuffix /Contents/Info.plist, $i))
 139         EXPANDED_DEBUG_FILES += $(foreach i, $(JLI_LIBRARIES), $(addsuffix /Contents/Resources/DWARF/$i, $(filter $i.%, $(JLI_DEBUG_FILES))))
 140         JLI_DEBUG_FILES := $(EXPANDED_DEBUG_FILES)
 141     endif
 142 endif
 143 
 144 JLI_LIBRARIES += $(JLI_DEBUG_FILES)
 145 
 146 ifeq (, $(findstring $(OPENJDK_TARGET_OS), windows macosx))
 147     # On non-windows/OSX libraries go into jre/lib/<arch>
 148     PROFILE_1_JRE_LIB_FILES := \
 149         $(addprefix $(OPENJDK_TARGET_CPU_LEGACY_LIB)/, $(PROFILE_1_LIBRARIES) $(VM_FILES) $(JLI_LIBRARIES))
 150 else
 151     ifeq ($(OPENJDK_TARGET_OS), macosx)
 152         # On OSX libraries go into jre/lib
 153         PROFILE_1_JRE_LIB_FILES := $(PROFILE_1_LIBRARIES) $(VM_FILES) $(JLI_LIBRARIES)
 154     else
 155         # On windows libraries go into jre/bin
 156         PROFILE_1_JRE_BIN_FILES += $(PROFILE_1_LIBRARIES) $(VM_FILES) $(JLI_LIBRARIES)
 157     endif
 158 endif
 159 
 160 # Remaining jre/lib contents
 161 # OSX doesn't use <arch> directory
 162 #
 163 ifeq ($(OPENJDK_TARGET_OS), macosx)
 164     PROFILE_1_JRE_LIB_FILES += \
 165         jvm.cfg \
 166         jspawnhelper
 167 else
 168     PROFILE_1_JRE_LIB_FILES += \
 169         $(OPENJDK_TARGET_CPU_LEGACY_LIB)/jvm.cfg \
 170         $(OPENJDK_TARGET_CPU_LEGACY_LIB)/jspawnhelper
 171 endif
 172 
 173 PROFILE_1_JRE_LIB_FILES += \
 174     calendars.properties \
 175     classlist \
 176     content-types.properties \
 177     currency.data \
 178     ext/localedata.jar \
 179     ext/meta-index \
 180     ext/sunec.jar \
 181     ext/sunjce_provider.jar \
 182     ext/sunpkcs11.jar \
 183     hijrah-config-umalqura.properties \
 184     jce.jar \
 185     jsse.jar \
 186     logging.properties \
 187     meta-index \
 188     net.properties \
 189     resources.jar \
 190     rt.jar \
 191     security/US_export_policy.jar \
 192     security/blacklist \
 193     security/blacklisted.certs \
 194     security/cacerts \
 195     security/java.policy \
 196     security/java.security \
 197     security/local_policy.jar \
 198     security/trusted.libraries \
 199     tzdb.dat
 200 
 201 ifeq ($(OPENJDK_TARGET_OS), windows)
 202     PROFILE_1_JRE_LIB_FILES += tzmappings
 203 else
 204     ifeq ($(OPENJDK_TARGET_OS), solaris)
 205         PROFILE_1_JRE_LIB_FILES += sdp/sdp.conf
 206     endif
 207 endif
 208 
 209 PROFILE_1_JRE_OTHER_FILES := \
 210     COPYRIGHT \
 211     LICENSE \
 212     README \
 213     THIRDPARTYLICENSEREADME.txt \
 214     Welcome.html \
 215     release
 216 
 217 PROFILE_1_JRE_JAR_FILES := \
 218     ext/localedata.jar \
 219     ext/sunec.jar \
 220     ext/sunjce_provider.jar \
 221     ext/sunpkcs11.jar \
 222     jce.jar \
 223     jsse.jar \
 224     resources.jar \
 225     rt.jar \
 226     security/US_export_policy.jar \
 227     security/local_policy.jar
 228 
 229 
 230 PROFILE_2_JRE_BIN_FILES := \
 231     rmid$(EXE_SUFFIX) \
 232     rmiregistry$(EXE_SUFFIX)
 233 
 234 ifeq ($(OPENJDK_TARGET_OS), windows)
 235     PROFILE_2_JRE_BIN_FILES += java-rmi$(EXE_SUFFIX)
 236 endif
 237 
 238 # If you add libraries here, make sure you use the same techniques
 239 # as used for the other profile's libraries regarding debug files etc
 240 PROFILE_2_JRE_LIB_FILES :=
 241 
 242 PROFILE_2_JRE_OTHER_FILES :=
 243 
 244 PROFILE_2_JRE_JAR_FILES :=
 245 
 246 ifeq ($(OPENJDK_TARGET_OS), windows)
 247     PROFILE_3_JRE_BIN_FILES := \
 248         kinit$(EXE_SUFFIX) \
 249         klist$(EXE_SUFFIX) \
 250         ktab$(EXE_SUFFIX)
 251 else
 252     PROFILE_3_JRE_BIN_FILES :=
 253 endif
 254 
 255 PROFILE_3_LIBRARIES := \
 256     hprof \
 257     instrument \
 258     j2gss \
 259     j2pcsc \
 260     jaas_unix \
 261     jaas_nt \
 262     java_crw_demo \
 263     jsdt \
 264     management \
 265     npt \
 266     sctp
 267 
 268 ifeq ($(OPENJDK_TARGET_OS), windows)
 269     PROFILE_3_LIBRARIES += w2k_lsa_auth
 270 else
 271     ifeq ($(OPENJDK_TARGET_OS), macosx)
 272         PROFILE_3_LIBRARIES += osxkrb5
 273     endif
 274 endif
 275 
 276 PROFILE_3_LIBRARIES := $(addprefix $(LIBRARY_PREFIX), $(PROFILE_3_LIBRARIES))
 277 PROFILE_3_DEBUG_FILES := $(foreach i, $(DEBUG_SUFFIX), $(addsuffix $i, $(PROFILE_3_LIBRARIES)))
 278 PROFILE_3_LIBRARIES := $(addsuffix $(SHARED_LIBRARY_SUFFIX), $(PROFILE_3_LIBRARIES))
 279 
 280 ifneq ($(ZIP_DEBUGINFO_FILES), true)
 281     ifeq ($(OPENJDK_TARGET_OS), macosx)
 282         # Need to expand the contents of the .dSYM directories
 283         EXPANDED_DEBUG_FILES := $(foreach i, $(PROFILE_3_DEBUG_FILES), $(addsuffix /Contents/Info.plist, $i))
 284         EXPANDED_DEBUG_FILES += $(foreach i, $(PROFILE_3_LIBRARIES), $(addsuffix /Contents/Resources/DWARF/$i, $(filter $i.%, $(PROFILE_3_DEBUG_FILES))))
 285         PROFILE_3_DEBUG_FILES := $(EXPANDED_DEBUG_FILES)
 286     endif
 287 endif
 288 
 289 PROFILE_3_LIBRARIES += $(PROFILE_3_DEBUG_FILES)
 290 
 291 ifeq (, $(findstring $(OPENJDK_TARGET_OS), windows macosx))
 292     # On non-windows/OSX libraries go into jre/lib/<arch>
 293     PROFILE_3_JRE_LIB_FILES := \
 294         $(addprefix $(OPENJDK_TARGET_CPU_LEGACY_LIB)/, $(PROFILE_3_LIBRARIES))
 295 else
 296     ifeq ($(OPENJDK_TARGET_OS), macosx)
 297         # On OSX libraries go into jre/lib
 298         PROFILE_3_JRE_LIB_FILES := $(PROFILE_3_LIBRARIES)
 299     else
 300         # On windows libraries go into jre/bin
 301         PROFILE_3_JRE_BIN_FILES += $(PROFILE_3_LIBRARIES)
 302     endif
 303 endif
 304 
 305 PROFILE_3_JRE_LIB_FILES += \
 306     jvm.hprof.txt \
 307     management-agent.jar \
 308     management/jmxremote.access \
 309     management/jmxremote.password.template \
 310     management/management.properties \
 311     management/snmp.acl.template
 312 
 313 PROFILE_3_JRE_OTHER_FILES :=
 314 
 315 PROFILE_3_JRE_JAR_FILES := \
 316     management-agent.jar
 317 
 318 
 319 FULL_JRE_BIN_FILES := \
 320     orbd$(EXE_SUFFIX) \
 321     pack200$(EXE_SUFFIX) \
 322     policytool$(EXE_SUFFIX) \
 323     servertool$(EXE_SUFFIX) \
 324     tnameserv$(EXE_SUFFIX) \
 325     unpack200$(EXE_SUFFIX)
 326 
 327 JRE_LIBRARIES := \
 328     awt \
 329     awt_headless \
 330     awt_xawt \
 331     dcpr \
 332     dt_socket \
 333     fontmanager \
 334     jawt \
 335     jdwp \
 336     jfr \
 337     jpeg \
 338     jsound \
 339     jsoundalsa \
 340     kcms \
 341     mlib_image \
 342     splashscreen \
 343     t2k \
 344     unpack
 345 
 346 JRE_LIBRARIES := $(addprefix $(LIBRARY_PREFIX), $(JRE_LIBRARIES))
 347 JRE_DEBUG_FILES := $(foreach i, $(DEBUG_SUFFIX), $(addsuffix $i, $(JRE_LIBRARIES)))
 348 JRE_LIBRARIES := $(addsuffix $(SHARED_LIBRARY_SUFFIX), $(JRE_LIBRARIES))
 349 
 350 ifneq ($(ZIP_DEBUGINFO_FILES), true)
 351     ifeq ($(OPENJDK_TARGET_OS), macosx)
 352         # Need to expand the contents of the .dSYM directories
 353         EXPANDED_DEBUG_FILES := $(foreach i, $(JRE_DEBUG_FILES), $(addsuffix /Contents/Info.plist, $i))
 354         EXPANDED_DEBUG_FILES += $(foreach i, $(JRE_LIBRARIES), $(addsuffix /Contents/Resources/DWARF/$i, $(filter $i.%, $(JRE_DEBUG_FILES))))
 355         JRE_DEBUG_FILES := $(EXPANDED_DEBUG_FILES)
 356     endif
 357 endif
 358 
 359 JRE_LIBRARIES += $(JRE_DEBUG_FILES)
 360 
 361 ifeq (, $(findstring $(OPENJDK_TARGET_OS), windows macosx))
 362     # On non-windows/OSX libraries go into jre/lib/<arch>
 363     FULL_JRE_LIB_FILES := \
 364         $(addprefix $(OPENJDK_TARGET_CPU_LEGACY_LIB)/, $(JRE_LIBRARIES))
 365 else
 366     ifeq ($(OPENJDK_TARGET_OS), macosx)
 367         # On OSX libraries go into jre/lib
 368         FULL_JRE_LIB_FILES := $(JRE_LIBRARIES)
 369     else
 370         # On windows libraries go into jre/bin
 371         FULL_JRE_BIN_FILES += $(JRE_LIBRARIES)
 372     endif
 373 endif
 374 
 375 FULL_JRE_LIB_FILES += \
 376     charsets.jar \
 377     cmm/CIEXYZ.pf \
 378     cmm/GRAY.pf \
 379     cmm/LINEAR_RGB.pf \
 380     cmm/PYCC.pf \
 381     cmm/sRGB.pf \
 382     ext/cldrdata.jar \
 383     ext/dnsns.jar \
 384     ext/nashorn.jar \
 385     ext/zipfs.jar \
 386     flavormap.properties \
 387     fontconfig.RedHat.5.bfc \
 388     fontconfig.RedHat.5.properties.src \
 389     fontconfig.RedHat.6.bfc \
 390     fontconfig.RedHat.6.properties.src \
 391     fontconfig.SuSE.10.bfc \
 392     fontconfig.SuSE.10.properties.src \
 393     fontconfig.SuSE.11.bfc \
 394     fontconfig.SuSE.11.properties.src \
 395     fontconfig.Turbo.bfc \
 396     fontconfig.Turbo.properties.src \
 397     fontconfig.bfc \
 398     fontconfig.properties.src \
 399     fonts/LucidaBrightDemiBold.ttf \
 400     fonts/LucidaBrightDemiItalic.ttf \
 401     fonts/LucidaBrightItalic.ttf \
 402     fonts/LucidaBrightRegular.ttf \
 403     fonts/LucidaSansDemiBold.ttf \
 404     fonts/LucidaSansRegular.ttf \
 405     fonts/LucidaTypewriterBold.ttf \
 406     fonts/LucidaTypewriterRegular.ttf \
 407     fonts/fonts.dir \
 408     images/cursors/cursors.properties \
 409     images/cursors/invalid32x32.gif \
 410     images/cursors/motif_CopyDrop32x32.gif \
 411     images/cursors/motif_CopyNoDrop32x32.gif \
 412     images/cursors/motif_LinkDrop32x32.gif \
 413     images/cursors/motif_LinkNoDrop32x32.gif \
 414     images/cursors/motif_MoveDrop32x32.gif \
 415     images/cursors/motif_MoveNoDrop32x32.gif \
 416     jexec \
 417     jfr.jar \
 418     oblique-fonts/LucidaSansDemiOblique.ttf \
 419     oblique-fonts/LucidaSansOblique.ttf \
 420     oblique-fonts/LucidaTypewriterBoldOblique.ttf \
 421     oblique-fonts/LucidaTypewriterOblique.ttf \
 422     oblique-fonts/fonts.dir \
 423     psfont.properties.ja \
 424     psfontj2d.properties \
 425     sound.properties
 426 
 427 FULL_JRE_OTHER_FILES := \
 428     man/ja_JP.UTF-8/man1/java.1 \
 429     man/ja_JP.UTF-8/man1/javaws.1 \
 430     man/ja_JP.UTF-8/man1/keytool.1 \
 431     man/ja_JP.UTF-8/man1/orbd.1 \
 432     man/ja_JP.UTF-8/man1/pack200.1 \
 433     man/ja_JP.UTF-8/man1/policytool.1 \
 434     man/ja_JP.UTF-8/man1/rmid.1 \
 435     man/ja_JP.UTF-8/man1/rmiregistry.1 \
 436     man/ja_JP.UTF-8/man1/servertool.1 \
 437     man/ja_JP.UTF-8/man1/tnameserv.1 \
 438     man/ja_JP.UTF-8/man1/unpack200.1 \
 439     man/man1/java.1 \
 440     man/man1/javaws.1 \
 441     man/man1/keytool.1 \
 442     man/man1/orbd.1 \
 443     man/man1/pack200.1 \
 444     man/man1/policytool.1 \
 445     man/man1/rmid.1 \
 446     man/man1/rmiregistry.1 \
 447     man/man1/servertool.1 \
 448     man/man1/tnameserv.1 \
 449     man/man1/unpack200.1
 450 
 451 FULL_JRE_JAR_FILES := \
 452     charsets.jar \
 453     ext/cldrdata.jar \
 454     ext/dnsns.jar \
 455     ext/nashorn.jar \
 456     ext/zipfs.jar \
 457     jfr.jar
 458