make/common/Modules.gmk
author hb
Fri, 19 Jan 2018 13:46:27 +0530
branchjmx-rest-api
changeset 56026 bd531f08d7c7
parent 56003 4f7f76f6be2f
permissions -rw-r--r--
1. Removed all changes to Java SE APIs 2. Changed module name to jdk.management.rest 3. Rest Adapter invoked via Module service provider 4. changed package name to jdk.internal.management.remote.rest 5. rest module and httpserver module part of platform modules
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26116
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
     1
#
43176
1da1ffe0c6fd 8172527: Rename jdk.crypto.token to jdk.crypto.cryptoki
ascarpino
parents: 42534
diff changeset
     2
# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
26116
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
     4
#
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
     7
# published by the Free Software Foundation.  Oracle designates this
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
     8
# particular file as subject to the "Classpath" exception as provided
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
     9
# by Oracle in the LICENSE file that accompanied this code.
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    10
#
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    11
# This code is distributed in the hope that it will be useful, but WITHOUT
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    13
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    14
# version 2 for more details (a copy is included in the LICENSE file that
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    15
# accompanied this code).
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    16
#
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    17
# You should have received a copy of the GNU General Public License version
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    18
# 2 along with this work; if not, write to the Free Software Foundation,
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    20
#
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    22
# or visit www.oracle.com if you need additional information or have any
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    23
# questions.
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    24
#
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    25
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    26
ifndef _MODULES_GMK
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    27
_MODULES_GMK := 1
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
    28
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    29
################################################################################
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    30
#
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    31
# BOOT_MODULES are modules defined by the boot loader
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    32
# PLATFORM_MODULES are modules defined by the platform loader
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    33
# JRE_TOOL_MODULES are tools included in JRE and defined by the application loader
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    34
#
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    35
# All other modules not declared below are defined by the application loader
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    36
# and are not included in JRE.
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    37
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    38
BOOT_MODULES :=
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    39
PLATFORM_MODULES :=
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    40
JRE_TOOL_MODULES :=
37764
63e0379dd186 8154956: Module system implementation refresh (4/2016)
alanb
parents: 37030
diff changeset
    41
UPGRADEABLE_MODULES :=
63e0379dd186 8154956: Module system implementation refresh (4/2016)
alanb
parents: 37030
diff changeset
    42
AGGREGATOR_MODULES :=
44725
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
    43
DOCS_MODULES :=
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    44
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
    45
# Hook to include the corresponding custom file, if present.
47314
743814386712 8188814: Simplify IncludeCustomExtension
ihse
parents: 47267
diff changeset
    46
$(eval $(call IncludeCustomExtension, common/Modules.gmk))
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
    47
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    48
BOOT_MODULES += \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    49
    java.base \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    50
    java.datatransfer \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    51
    java.desktop \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    52
    java.instrument \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    53
    java.logging \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    54
    java.management \
43384
0a0861e1db57 8173607: JMX RMI connector should be in its own module
dfuchs
parents: 43382
diff changeset
    55
    java.management.rmi \
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    56
    java.naming \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    57
    java.prefs \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    58
    java.rmi \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    59
    java.security.sasl \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    60
    java.xml \
44725
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
    61
    jdk.internal.vm.ci \
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    62
    jdk.management \
43382
8e0c4b44e4c0 8173608: Separate JDK management agent from java.management module
mchung
parents: 43287
diff changeset
    63
    jdk.management.agent \
37650
ef6c24163cb2 8044773: Refactor jdk.net API so that it can be moved out of the base module
chegar
parents: 37030
diff changeset
    64
    jdk.net \
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    65
    jdk.sctp \
36793
8b116f192318 8153737: Unsupported Module
chegar
parents: 36790
diff changeset
    66
    jdk.unsupported \
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    67
    #
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    68
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    69
# to be deprivileged
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    70
BOOT_MODULES += \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    71
    jdk.naming.rmi \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    72
    #
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    73
45612
3368f6d8b082 8182032: Make java.compiler upgradeable
mchung
parents: 45509
diff changeset
    74
# Modules that directly or indirectly requiring upgradeable modules
3368f6d8b082 8182032: Make java.compiler upgradeable
mchung
parents: 45509
diff changeset
    75
# should carefully be considered if it should be upgradeable or not.
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    76
UPGRADEABLE_MODULES += \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    77
    java.activation \
45612
3368f6d8b082 8182032: Make java.compiler upgradeable
mchung
parents: 45509
diff changeset
    78
    java.compiler \
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    79
    java.corba \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    80
    java.transaction \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    81
    java.xml.bind \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    82
    java.xml.ws \
43398
3cecfaef55fe 8173604: Rename module 8173604 java.annotations.common to java.xml.ws.annoations
lancea
parents: 43384
diff changeset
    83
    java.xml.ws.annotation \
44830
65c7a535e272 8177845: Need a mechanism to load Graal
dnsimon
parents: 44733
diff changeset
    84
    jdk.internal.vm.compiler \
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    85
    #
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    86
45612
3368f6d8b082 8182032: Make java.compiler upgradeable
mchung
parents: 45509
diff changeset
    87
UPGRADEABLE_TOOL_MODULES += \
3368f6d8b082 8182032: Make java.compiler upgradeable
mchung
parents: 45509
diff changeset
    88
    jdk.xml.bind \
3368f6d8b082 8182032: Make java.compiler upgradeable
mchung
parents: 45509
diff changeset
    89
    jdk.xml.ws \
44830
65c7a535e272 8177845: Need a mechanism to load Graal
dnsimon
parents: 44733
diff changeset
    90
    #
37975
551c5d86de79 8155786: Determine modules depending on upgradeable modules directly and indirectly
erikj
parents: 37973
diff changeset
    91
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    92
AGGREGATOR_MODULES += \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    93
    java.se \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    94
    java.se.ee \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    95
    #
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    96
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    97
PLATFORM_MODULES += \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    98
    $(UPGRADEABLE_MODULES) \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
    99
    $(AGGREGATOR_MODULES)
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   100
    #
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   101
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   102
PLATFORM_MODULES += \
37973
922326ad0c94 8154192: Deprivilege java.scripting module
sundar
parents: 37770
diff changeset
   103
    java.scripting \
39820
428c076d7ddf 8159528: Deprivilege java.security.jgss, jdk.security.jgss and jdk.security.auth
weijun
parents: 39817
diff changeset
   104
    java.security.jgss \
39612
00cf8f38916f 8161171: Missed the make/common/Modules.gmk file when integrating JDK-8154191
valeriep
parents: 38626
diff changeset
   105
    java.smartcardio \
56026
bd531f08d7c7 1. Removed all changes to Java SE APIs
hb
parents: 56003
diff changeset
   106
    jdk.management.rest \
38626
68d286c03952 8154189: Deprivilege java.sql and java.sql.rowset module
lancea
parents: 37975
diff changeset
   107
    java.sql \
68d286c03952 8154189: Deprivilege java.sql and java.sql.rowset module
lancea
parents: 37975
diff changeset
   108
    java.sql.rowset \
39817
2689bb7db9fc 8159488: Deprivilege java.xml.crypto
valeriep
parents: 39612
diff changeset
   109
    java.xml.crypto \
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   110
    jdk.accessibility \
37769
96f9a38fb70e 8155513: Deprivilege jdk.charsets
mchung
parents: 37768
diff changeset
   111
    jdk.charsets \
44725
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   112
    jdk.crypto.cryptoki \
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   113
    jdk.crypto.ec \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   114
    jdk.dynalink \
47267
b3a91921bafc 8159526: Deprivilege jdk.httpserver
vtewari
parents: 47224
diff changeset
   115
    jdk.httpserver \
44725
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   116
    jdk.incubator.httpclient \
47557
8b2054b7d02c 8182701: Modify JVMCI to allow Graal Compiler to expose platform MBean
jtulach
parents: 47224
diff changeset
   117
    jdk.internal.vm.compiler.management \
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   118
    jdk.jsobject \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   119
    jdk.localedata \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   120
    jdk.naming.dns \
56026
bd531f08d7c7 1. Removed all changes to Java SE APIs
hb
parents: 56003
diff changeset
   121
    jdk.httpserver \
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   122
    jdk.scripting.nashorn \
39820
428c076d7ddf 8159528: Deprivilege java.security.jgss, jdk.security.jgss and jdk.security.auth
weijun
parents: 39817
diff changeset
   123
    jdk.security.auth \
428c076d7ddf 8159528: Deprivilege java.security.jgss, jdk.security.jgss and jdk.security.auth
weijun
parents: 39817
diff changeset
   124
    jdk.security.jgss \
428c076d7ddf 8159528: Deprivilege java.security.jgss, jdk.security.jgss and jdk.security.auth
weijun
parents: 39817
diff changeset
   125
    jdk.xml.dom \
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   126
    jdk.zipfs \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   127
    #
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   128
44725
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   129
ifeq ($(OPENJDK_TARGET_OS), windows)
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   130
  PLATFORM_MODULES += jdk.crypto.mscapi
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   131
endif
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   132
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   133
ifeq ($(OPENJDK_TARGET_OS), solaris)
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   134
  PLATFORM_MODULES += jdk.crypto.ucrypto
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   135
endif
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   136
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   137
JRE_TOOL_MODULES += \
36790
7191e0b1537e 8153660: jwdp.so/dll missing from JRE image
erikj
parents: 36725
diff changeset
   138
    jdk.jdwp.agent \
42514
d5c5e07498ef 8171201: Drop java.compact$N aggregator modules
mchung
parents: 42505
diff changeset
   139
    jdk.pack \
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   140
    jdk.scripting.nashorn.shell \
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   141
    #
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   142
44725
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   143
################################################################################
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   144
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   145
# DOCS_MODULES defines the root modules for javadoc generation.
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   146
# All of their `require transitive` modules directly and indirectly will be included.
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   147
DOCS_MODULES += \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   148
    java.se.ee \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   149
    java.smartcardio \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   150
    jdk.accessibility \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   151
    jdk.attach \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   152
    jdk.charsets \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   153
    jdk.compiler \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   154
    jdk.crypto.cryptoki \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   155
    jdk.crypto.ec \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   156
    jdk.dynalink \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   157
    jdk.editpad \
45232
1e2ad0809162 8175845: Provide javadoc descriptions for jdk.hotspot.agent module
uvangapally
parents: 45098
diff changeset
   158
    jdk.hotspot.agent \
44725
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   159
    jdk.httpserver \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   160
    jdk.incubator.httpclient \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   161
    jdk.jartool \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   162
    jdk.javadoc \
44730
6b9ded7dc4ab 8179035: Include tool modules in unified docs
mchung
parents: 44726
diff changeset
   163
    jdk.jcmd \
44725
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   164
    jdk.jconsole \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   165
    jdk.jdeps \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   166
    jdk.jdi \
44730
6b9ded7dc4ab 8179035: Include tool modules in unified docs
mchung
parents: 44726
diff changeset
   167
    jdk.jdwp.agent \
44725
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   168
    jdk.jlink \
44730
6b9ded7dc4ab 8179035: Include tool modules in unified docs
mchung
parents: 44726
diff changeset
   169
    jdk.jsobject \
44725
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   170
    jdk.jshell \
44730
6b9ded7dc4ab 8179035: Include tool modules in unified docs
mchung
parents: 44726
diff changeset
   171
    jdk.jstatd \
44725
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   172
    jdk.localedata \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   173
    jdk.management \
44730
6b9ded7dc4ab 8179035: Include tool modules in unified docs
mchung
parents: 44726
diff changeset
   174
    jdk.management.agent \
44725
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   175
    jdk.naming.dns \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   176
    jdk.naming.rmi \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   177
    jdk.net \
44730
6b9ded7dc4ab 8179035: Include tool modules in unified docs
mchung
parents: 44726
diff changeset
   178
    jdk.pack \
6b9ded7dc4ab 8179035: Include tool modules in unified docs
mchung
parents: 44726
diff changeset
   179
    jdk.rmic \
44725
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   180
    jdk.scripting.nashorn \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   181
    jdk.sctp \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   182
    jdk.security.auth \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   183
    jdk.security.jgss \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   184
    jdk.xml.dom \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   185
    jdk.zipfs \
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 43925
diff changeset
   186
    #
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   187
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37769
diff changeset
   188
# These modules are included in the interim image which is used to run profiling
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37769
diff changeset
   189
# before building the real images.
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37769
diff changeset
   190
INTERIM_IMAGE_MODULES := java.base java.logging
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37769
diff changeset
   191
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   192
LANGTOOLS_MODULES := \
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   193
    java.compiler \
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   194
    jdk.compiler \
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   195
    jdk.javadoc \
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   196
    jdk.jdeps \
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   197
    jdk.jshell \
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   198
    #
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   199
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   200
CORBA_MODULES := java.corba
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   201
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   202
HOTSPOT_MODULES := \
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   203
    jdk.aot \
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   204
    jdk.hotspot.agent \
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   205
    jdk.internal.vm.ci \
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   206
    jdk.internal.vm.compiler \
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   207
    #
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   208
26116
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
   209
################################################################################
34116
b746e382da18 8142336: Convert the SA agent build to modular build-infra makefiles
erikj
parents: 33045
diff changeset
   210
# Some platforms don't have the serviceability agent
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   211
34116
b746e382da18 8142336: Convert the SA agent build to modular build-infra makefiles
erikj
parents: 33045
diff changeset
   212
ifeq ($(INCLUDE_SA), false)
b746e382da18 8142336: Convert the SA agent build to modular build-infra makefiles
erikj
parents: 33045
diff changeset
   213
  MODULES_FILTER += jdk.hotspot.agent
b746e382da18 8142336: Convert the SA agent build to modular build-infra makefiles
erikj
parents: 33045
diff changeset
   214
endif
b746e382da18 8142336: Convert the SA agent build to modular build-infra makefiles
erikj
parents: 33045
diff changeset
   215
b746e382da18 8142336: Convert the SA agent build to modular build-infra makefiles
erikj
parents: 33045
diff changeset
   216
################################################################################
42532
4780f4130eb0 8171008: Integrate AOT compiler into JDK
kvn
parents: 42531
diff changeset
   217
# Filter out Graal specific modules if Graal build is disabled
42531
37ee95196b17 8166417: Integrate Graal-core into JDK for AOT compiler
kvn
parents: 42289
diff changeset
   218
37ee95196b17 8166417: Integrate Graal-core into JDK for AOT compiler
kvn
parents: 42289
diff changeset
   219
ifeq ($(INCLUDE_GRAAL), false)
43925
3c0049f39b20 8174879: Rename jdk.vm.ci to jdk.internal.vm.ci
kvn
parents: 43663
diff changeset
   220
  MODULES_FILTER += jdk.internal.vm.compiler
47557
8b2054b7d02c 8182701: Modify JVMCI to allow Graal Compiler to expose platform MBean
jtulach
parents: 47224
diff changeset
   221
  MODULES_FILTER += jdk.internal.vm.compiler.management
42531
37ee95196b17 8166417: Integrate Graal-core into JDK for AOT compiler
kvn
parents: 42289
diff changeset
   222
endif
37ee95196b17 8166417: Integrate Graal-core into JDK for AOT compiler
kvn
parents: 42289
diff changeset
   223
37ee95196b17 8166417: Integrate Graal-core into JDK for AOT compiler
kvn
parents: 42289
diff changeset
   224
################################################################################
42532
4780f4130eb0 8171008: Integrate AOT compiler into JDK
kvn
parents: 42531
diff changeset
   225
# Filter out aot specific modules if aot is disabled
4780f4130eb0 8171008: Integrate AOT compiler into JDK
kvn
parents: 42531
diff changeset
   226
4780f4130eb0 8171008: Integrate AOT compiler into JDK
kvn
parents: 42531
diff changeset
   227
ifeq ($(ENABLE_AOT), false)
4780f4130eb0 8171008: Integrate AOT compiler into JDK
kvn
parents: 42531
diff changeset
   228
  MODULES_FILTER += jdk.aot
4780f4130eb0 8171008: Integrate AOT compiler into JDK
kvn
parents: 42531
diff changeset
   229
endif
4780f4130eb0 8171008: Integrate AOT compiler into JDK
kvn
parents: 42531
diff changeset
   230
4780f4130eb0 8171008: Integrate AOT compiler into JDK
kvn
parents: 42531
diff changeset
   231
################################################################################
26116
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
   232
# Module list macros
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
   233
37030
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   234
# Use append so that the custom extension may add to these variables
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   235
37030
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   236
GENERATED_SRC_DIRS += \
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   237
    $(SUPPORT_OUTPUTDIR)/gensrc \
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   238
    #
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   239
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   240
TOP_SRC_DIRS += \
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45612
diff changeset
   241
    $(TOPDIR)/src \
26116
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
   242
    #
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
   243
37030
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   244
SRC_SUBDIRS += $(OPENJDK_TARGET_OS)/classes
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   245
ifneq ($(OPENJDK_TARGET_OS), $(OPENJDK_TARGET_OS_TYPE))
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   246
  SRC_SUBDIRS += $(OPENJDK_TARGET_OS_TYPE)/classes
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   247
endif
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   248
SRC_SUBDIRS += share/classes
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   249
44733
6505f00be6f2 8178038: Copy jdwp-protocol.html to proper location
ihse
parents: 44730
diff changeset
   250
SPEC_SUBDIRS += share/specs
6505f00be6f2 8178038: Copy jdwp-protocol.html to proper location
ihse
parents: 44730
diff changeset
   251
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   252
# Find all module-info.java files for the current build target platform and
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   253
# configuration.
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   254
# Param 1 - Module to find for, set to * for finding all
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   255
FindAllModuleInfos = \
47455
4c294a196030 8189376: Unsorted $(wildcard) causes instable module-deps.gmk
ihse
parents: 47314
diff changeset
   256
    $(sort $(wildcard \
37030
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   257
        $(foreach sub, $(SRC_SUBDIRS), \
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   258
          $(patsubst %,%/$(strip $1)/$(sub)/module-info.java, $(TOP_SRC_DIRS))) \
47455
4c294a196030 8189376: Unsorted $(wildcard) causes instable module-deps.gmk
ihse
parents: 47314
diff changeset
   259
        $(patsubst %,%/$(strip $1)/module-info.java, $(IMPORT_MODULES_SRC))))
26116
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
   260
41658
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   261
# Find module-info.java files in the specific source dir
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   262
# Param 1 - Src dir to find module-info.java files in
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   263
FindModuleInfosForSrcDir = \
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   264
    $(wildcard \
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   265
        $(foreach sub, $(SRC_SUBDIRS), \
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   266
          $(patsubst %,%/*/$(sub)/module-info.java, $(strip $1)) \
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   267
        ) \
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   268
        $(patsubst %,%/*/module-info.java, $(strip $1)) \
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   269
    )
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   270
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   271
# Extract the module names from the paths of module-info.java files. The
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   272
# position of the module directory differs depending on if this is an imported
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   273
# src dir or not.
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   274
GetModuleNameFromModuleInfo = \
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   275
    $(strip $(foreach mi, $1, \
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   276
      $(if $(filter $(addsuffix %, $(IMPORT_MODULES_SRC)), $(mi)), \
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   277
        $(notdir $(patsubst %/,%, $(dir $(mi)))), \
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   278
        $(notdir $(patsubst %/,%, $(dir $(patsubst %/,%, $(dir $(patsubst %/,%, $(dir $(mi)))))))))))
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   279
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   280
# Find all modules by looking for module-info.java files and looking at parent
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   281
# directories.
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   282
FindAllModules = \
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   283
    $(sort $(filter-out $(MODULES_FILTER), \
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   284
    $(call GetModuleNameFromModuleInfo, $(MODULE_INFOS))))
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   285
41658
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   286
# Find all modules in a specific src dir
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   287
# Param 1 - Src dir to find modules in
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   288
FindModulesForSrcDir = \
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   289
    $(sort $(filter-out $(MODULES_FILTER), \
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   290
        $(call GetModuleNameFromModuleInfo, $(call FindModuleInfosForSrcDir, $1)) \
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   291
    ))
14de1ab85d25 8062810: Examine src.zip in JDK image and decide if source classes should be organized by module
erikj
parents: 41653
diff changeset
   292
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   293
FindImportedModules = \
37652
67e98335455c 8155629: MODULES_FILTER should apply to imported modules
erikj
parents: 37650
diff changeset
   294
    $(filter-out $(MODULES_FILTER), \
67e98335455c 8155629: MODULES_FILTER should apply to imported modules
erikj
parents: 37650
diff changeset
   295
    $(if $(IMPORT_MODULES_CLASSES), $(notdir $(wildcard $(IMPORT_MODULES_CLASSES)/*))))
26548
3b002da2aee1 8058118: Generate modules.list during the build
erikj
parents: 26116
diff changeset
   296
37030
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   297
# Find all source dirs for a particular module
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   298
# $1 - Module to find source dirs for
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   299
FindModuleSrcDirs = \
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   300
    $(strip $(wildcard \
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   301
        $(addsuffix /$(strip $1), $(GENERATED_SRC_DIRS) $(IMPORT_MODULES_SRC)) \
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   302
        $(foreach sub, $(SRC_SUBDIRS), $(addsuffix /$(strip $1)/$(sub), $(TOP_SRC_DIRS)))))
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   303
44733
6505f00be6f2 8178038: Copy jdwp-protocol.html to proper location
ihse
parents: 44730
diff changeset
   304
# Find all specs dirs for a particular module
6505f00be6f2 8178038: Copy jdwp-protocol.html to proper location
ihse
parents: 44730
diff changeset
   305
# $1 - Module to find specs dirs for
6505f00be6f2 8178038: Copy jdwp-protocol.html to proper location
ihse
parents: 44730
diff changeset
   306
FindModuleSpecsDirs = \
6505f00be6f2 8178038: Copy jdwp-protocol.html to proper location
ihse
parents: 44730
diff changeset
   307
    $(strip $(wildcard \
6505f00be6f2 8178038: Copy jdwp-protocol.html to proper location
ihse
parents: 44730
diff changeset
   308
        $(foreach sub, $(SPEC_SUBDIRS), $(addsuffix /$(strip $1)/$(sub), $(TOP_SRC_DIRS)))))
6505f00be6f2 8178038: Copy jdwp-protocol.html to proper location
ihse
parents: 44730
diff changeset
   309
37030
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   310
# Construct the complete module source path
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   311
GetModuleSrcPath = \
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   312
    $(call PathList, \
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   313
        $(addsuffix /*, $(GENERATED_SRC_DIRS) $(IMPORT_MODULES_SRC)) \
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   314
        $(foreach sub, $(SRC_SUBDIRS), $(addsuffix /*/$(sub), $(TOP_SRC_DIRS))))
e047c2f3f510 8153969: Clean up module src dir logic
erikj
parents: 36793
diff changeset
   315
26548
3b002da2aee1 8058118: Generate modules.list during the build
erikj
parents: 26116
diff changeset
   316
################################################################################
45233
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   317
# Extract module dependencies from module-info.java files, both normal
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   318
# dependencies ("requires"), and indirect exports ("requires transitive").
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   319
26548
3b002da2aee1 8058118: Generate modules.list during the build
erikj
parents: 26116
diff changeset
   320
MODULE_DEPS_MAKEFILE := $(MAKESUPPORT_OUTPUTDIR)/module-deps.gmk
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   321
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   322
MODULE_INFOS := $(call FindAllModuleInfos, *)
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   323
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   324
$(MODULE_DEPS_MAKEFILE): $(MODULE_INFOS) \
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   325
    $(call DependOnVariable, MODULE_INFOS, $(MAKESUPPORT_OUTPUTDIR)/MODULE_INFOS.vardeps)
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   326
	$(MKDIR) -p $(@D)
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   327
	$(RM) $@
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   328
	$(foreach m, $(MODULE_INFOS), \
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   329
	    ( $(PRINTF) "DEPS_$(call GetModuleNameFromModuleInfo, $m) :=" && \
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   330
	      $(NAWK) -v MODULE=$(call GetModuleNameFromModuleInfo, $m) '\
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   331
	          BEGIN      { if (MODULE != "java.base") printf(" java.base"); } \
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   332
	          /^ *requires/ { sub(/;/, ""); \
47853
3e345eba9255 8191420: Changing "requires" to "requires static" in an application module results in build failure
erikj
parents: 47735
diff changeset
   333
	                          sub(/requires /, " "); \
3e345eba9255 8191420: Changing "requires" to "requires static" in an application module results in build failure
erikj
parents: 47735
diff changeset
   334
	                          sub(/ static /, " "); \
3e345eba9255 8191420: Changing "requires" to "requires static" in an application module results in build failure
erikj
parents: 47735
diff changeset
   335
	                          sub(/ transitive /, " "); \
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   336
	                          sub(/\/\/.*/, ""); \
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   337
	                          sub(/\/\*.*\*\//, ""); \
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   338
	                          gsub(/^ +\*.*/, ""); \
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   339
	                          gsub(/ /, ""); \
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   340
	                          printf(" %s", $$0) } \
45233
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   341
	          END           { printf("\n") }' $m && \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   342
	      $(PRINTF) "TRANSITIVE_MODULES_$(call GetModuleNameFromModuleInfo, $m) :=" && \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   343
	      $(NAWK) -v MODULE=$(call GetModuleNameFromModuleInfo, $m) '\
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   344
	          BEGIN      { if (MODULE != "java.base") printf(" java.base"); } \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   345
	          /^ *requires  *transitive/ { \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   346
	                          sub(/;/, ""); \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   347
	                          sub(/requires/, ""); \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   348
	                          sub(/transitive/, ""); \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   349
	                          sub(/\/\/.*/, ""); \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   350
	                          sub(/\/\*.*\*\//, ""); \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   351
	                          gsub(/^ +\*.*/, ""); \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   352
	                          gsub(/ /, ""); \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   353
	                          printf(" %s", $$0) } \
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   354
	          END           { printf("\n") }' $m \
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   355
	    ) >> $@ $(NEWLINE))
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   356
26116
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
   357
-include $(MODULE_DEPS_MAKEFILE)
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
   358
45233
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   359
# Find dependencies ("requires") for a given module.
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   360
# Param 1: Module to find dependencies for.
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   361
FindDepsForModule = \
26116
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
   362
  $(DEPS_$(strip $1))
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   363
45233
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   364
# Find dependencies ("requires") transitively in 3 levels for a given module.
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   365
# Param 1: Module to find dependencies for.
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   366
FindTransitiveDepsForModule = \
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   367
    $(sort $(call FindDepsForModule, $1) \
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   368
        $(foreach m, $(call FindDepsForModule, $1), \
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   369
            $(call FindDepsForModule, $m) \
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   370
            $(foreach n, $(call FindDepsForModule, $m), \
17612cee3530 8142968: Module System implementation
alanb
parents: 35030
diff changeset
   371
                 $(call FindDepsForModule, $n))))
26116
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
   372
45233
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   373
# Find dependencies ("requires") transitively in 3 levels for a set of modules.
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   374
# Param 1: List of modules to find dependencies for.
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   375
FindTransitiveDepsForModules = \
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   376
    $(sort $(foreach m, $1, $(call FindTransitiveDepsForModule, $m)))
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   377
45233
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   378
# Find indirect exported modules ("requires transitive") for a given module .
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   379
# Param 1: Module to find indirect exported modules for.
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   380
FindIndirectExportsForModule = \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   381
  $(TRANSITIVE_MODULES_$(strip $1))
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   382
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   383
# Finds indirect exported modules transitively in 3 levels for a given module.
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   384
# Param 1: Module to find indirect exported modules for.
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   385
FindTransitiveIndirectDepsForModule = \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   386
    $(sort $(call FindIndirectExportsForModule, $1) \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   387
        $(foreach m, $(call FindIndirectExportsForModule, $1), \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   388
            $(call FindIndirectExportsForModule, $m) \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   389
            $(foreach n, $(call FindIndirectExportsForModule, $m), \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   390
                 $(call FindIndirectExportsForModule, $n))))
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   391
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   392
# Finds indirect exported modules transitively in 3 levels for a set of modules.
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   393
# Param 1: List of modules to find indirect exported modules for.
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   394
FindTransitiveIndirectDepsForModules = \
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   395
    $(sort $(foreach m, $1, $(call FindTransitiveIndirectDepsForModule, $m)))
538af025db97 8180480: Use "requires transitive" relationship when determining modules for javadoc
ihse
parents: 45232
diff changeset
   396
37975
551c5d86de79 8155786: Determine modules depending on upgradeable modules directly and indirectly
erikj
parents: 37973
diff changeset
   397
# Upgradeable modules are those that are either defined as upgradeable or that
551c5d86de79 8155786: Determine modules depending on upgradeable modules directly and indirectly
erikj
parents: 37973
diff changeset
   398
# require an upradeable module.
551c5d86de79 8155786: Determine modules depending on upgradeable modules directly and indirectly
erikj
parents: 37973
diff changeset
   399
FindAllUpgradeableModules = \
45612
3368f6d8b082 8182032: Make java.compiler upgradeable
mchung
parents: 45509
diff changeset
   400
    $(sort $(filter-out $(MODULES_FILTER), $(UPGRADEABLE_MODULES) $(UPGRADEABLE_TOOL_MODULES)))
3368f6d8b082 8182032: Make java.compiler upgradeable
mchung
parents: 45509
diff changeset
   401
37975
551c5d86de79 8155786: Determine modules depending on upgradeable modules directly and indirectly
erikj
parents: 37973
diff changeset
   402
26116
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
   403
################################################################################
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
   404
42505
11439b0c0792 8169925: Organize licenses by module in source, JMOD file, and run-time image
mchung
parents: 42427
diff changeset
   405
LEGAL_SUBDIRS += $(OPENJDK_TARGET_OS)/legal
11439b0c0792 8169925: Organize licenses by module in source, JMOD file, and run-time image
mchung
parents: 42427
diff changeset
   406
ifneq ($(OPENJDK_TARGET_OS), $(OPENJDK_TARGET_OS_TYPE))
11439b0c0792 8169925: Organize licenses by module in source, JMOD file, and run-time image
mchung
parents: 42427
diff changeset
   407
  LEGAL_SUBDIRS += $(OPENJDK_TARGET_OS_TYPE)/legal
11439b0c0792 8169925: Organize licenses by module in source, JMOD file, and run-time image
mchung
parents: 42427
diff changeset
   408
endif
11439b0c0792 8169925: Organize licenses by module in source, JMOD file, and run-time image
mchung
parents: 42427
diff changeset
   409
LEGAL_SUBDIRS += share/legal
11439b0c0792 8169925: Organize licenses by module in source, JMOD file, and run-time image
mchung
parents: 42427
diff changeset
   410
11439b0c0792 8169925: Organize licenses by module in source, JMOD file, and run-time image
mchung
parents: 42427
diff changeset
   411
# Find all legal dirs for a particular module
11439b0c0792 8169925: Organize licenses by module in source, JMOD file, and run-time image
mchung
parents: 42427
diff changeset
   412
# $1 - Module to find legal dirs for
11439b0c0792 8169925: Organize licenses by module in source, JMOD file, and run-time image
mchung
parents: 42427
diff changeset
   413
FindModuleLegalDirs = \
11439b0c0792 8169925: Organize licenses by module in source, JMOD file, and run-time image
mchung
parents: 42427
diff changeset
   414
    $(strip $(wildcard \
47735
45af799ceb6a 8190725: Freetype license file provided with configure not included in images
erikj
parents: 47701
diff changeset
   415
        $(addsuffix /$(strip $1), $(SUPPORT_OUTPUTDIR)/modules_legal \
45af799ceb6a 8190725: Freetype license file provided with configure not included in images
erikj
parents: 47701
diff changeset
   416
            $(IMPORT_MODULES_LEGAL)) \
45af799ceb6a 8190725: Freetype license file provided with configure not included in images
erikj
parents: 47701
diff changeset
   417
        $(foreach sub, $(LEGAL_SUBDIRS), $(addsuffix /$(strip $1)/$(sub), $(TOP_SRC_DIRS))) \
45af799ceb6a 8190725: Freetype license file provided with configure not included in images
erikj
parents: 47701
diff changeset
   418
    ))
42505
11439b0c0792 8169925: Organize licenses by module in source, JMOD file, and run-time image
mchung
parents: 42427
diff changeset
   419
11439b0c0792 8169925: Organize licenses by module in source, JMOD file, and run-time image
mchung
parents: 42427
diff changeset
   420
################################################################################
11439b0c0792 8169925: Organize licenses by module in source, JMOD file, and run-time image
mchung
parents: 42427
diff changeset
   421
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   422
# Param 1 - Name of module
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   423
define ReadSingleImportMetaData
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   424
    ifneq ($$(wildcard $(IMPORT_MODULES_MAKE)/$$(strip $1)/build.properties), )
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   425
      classloader :=
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   426
      include_in_jre :=
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   427
      include_in_jdk :=
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   428
      include $(IMPORT_MODULES_MAKE)/$$(strip $1)/build.properties
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   429
      ifeq ($$(include_in_jre), true)
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   430
        JRE_MODULES += $1
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   431
      endif
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   432
      ifeq ($$(include_in_jdk), true)
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   433
        JDK_MODULES += $1
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   434
      endif
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   435
      ifeq ($$(classloader), boot)
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   436
        BOOT_MODULES += $1
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   437
      else ifeq ($$(classloader), ext)
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   438
        PLATFORM_MODULES += $1
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   439
      endif
45098
4f30865c93b0 8179105: Respect "include_in_docs" property from imported modules.
ihse
parents: 44830
diff changeset
   440
      ifneq ($$(include_in_docs), false)
4f30865c93b0 8179105: Respect "include_in_docs" property from imported modules.
ihse
parents: 44830
diff changeset
   441
        # defaults to true if unspecified
4f30865c93b0 8179105: Respect "include_in_docs" property from imported modules.
ihse
parents: 44830
diff changeset
   442
        DOCS_MODULES += $1
4f30865c93b0 8179105: Respect "include_in_docs" property from imported modules.
ihse
parents: 44830
diff changeset
   443
      endif
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   444
    else
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   445
      # Default to include in all
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   446
      JRE_MODULES += $1
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   447
      JDK_MODULES += $1
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   448
    endif
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   449
endef
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   450
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   451
# Reading the imported modules metadata has a cost, so to make it available,
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   452
# a makefile needs to eval-call this macro first. After calling this, the
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   453
# following variables are populated with data from the imported modules:
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   454
# * JRE_MODULES
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   455
# * JDK_MODULES
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   456
# * BOOT_MODULES
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   457
# * PLATFORM_MODULES
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   458
# * JRE_TOOL_MODULES
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   459
define ReadImportMetaData
36725
f458544b0d76 8153261: Clean up fix for JDK-8153217
erikj
parents: 36723
diff changeset
   460
    IMPORTED_MODULES := $$(call FindImportedModules)
f458544b0d76 8153261: Clean up fix for JDK-8153217
erikj
parents: 36723
diff changeset
   461
    $$(foreach m, $$(IMPORTED_MODULES), \
f458544b0d76 8153261: Clean up fix for JDK-8153217
erikj
parents: 36723
diff changeset
   462
      $$(eval $$(call ReadSingleImportMetaData, $$m)))
36543
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   463
endef
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   464
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   465
################################################################################
a8ce27ddc757 8152197: Single place to specify module-specific information for images build
mchung
parents: 36506
diff changeset
   466
26116
f051bd253364 8055095: Improve "do nothing" incremental build performance after modularized source code integration
erikj
parents:
diff changeset
   467
endif # _MODULES_GMK