Skip to content

Commit 07ffe40

Browse files
Merge branch 'openjdk:lworld' into jdk_8352750
2 parents 90e48f0 + ab99743 commit 07ffe40

File tree

2,457 files changed

+59108
-41771
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,457 files changed

+59108
-41771
lines changed

.github/actions/get-gtest/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,6 @@ runs:
4949
- name: 'Export path to where GTest is installed'
5050
id: path-name
5151
run: |
52-
# Export the path
53-
echo 'path=gtest' >> $GITHUB_OUTPUT
52+
# Export the absolute path
53+
echo "path=`pwd`/gtest" >> $GITHUB_OUTPUT
5454
shell: bash

.github/actions/get-jtreg/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,6 @@ runs:
4949
- name: 'Export path to where JTReg is installed'
5050
id: path-name
5151
run: |
52-
# Export the path
53-
echo 'path=jtreg/installed' >> $GITHUB_OUTPUT
52+
# Export the absolute path
53+
echo "path=`pwd`/jtreg/installed" >> $GITHUB_OUTPUT
5454
shell: bash

.github/actions/upload-bundles/action.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ inputs:
3232
debug-suffix:
3333
description: 'File name suffix denoting debug level, possibly empty'
3434
required: false
35+
bundle-suffix:
36+
description: 'Bundle name suffix, possibly empty'
37+
required: false
3538

3639
runs:
3740
using: composite
@@ -75,7 +78,7 @@ runs:
7578
- name: 'Upload bundles artifact'
7679
uses: actions/upload-artifact@v4
7780
with:
78-
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
81+
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}${{ inputs.bundle-suffix }}
7982
path: bundles
8083
retention-days: 1
8184
if: steps.bundles.outputs.bundles-found == 'true'

.github/workflows/build-linux.yml

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ on:
6161
make-arguments:
6262
required: false
6363
type: string
64+
bundle-suffix:
65+
required: false
66+
type: string
6467

6568
jobs:
6669
build-linux:
@@ -71,10 +74,6 @@ jobs:
7174
fail-fast: false
7275
matrix:
7376
debug-level: ${{ fromJSON(inputs.debug-levels) }}
74-
include:
75-
- debug-level: debug
76-
flags: --with-debug-level=fastdebug
77-
suffix: -debug
7877

7978
steps:
8079
- name: 'Checkout the JDK source'
@@ -118,7 +117,7 @@ jobs:
118117
run: >
119118
bash configure
120119
--with-conf-name=${{ inputs.platform }}
121-
${{ matrix.flags }}
120+
${{ matrix.debug-level == 'debug' && '--with-debug-level=fastdebug' || '' }}
122121
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
123122
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
124123
--with-jtreg=${{ steps.jtreg.outputs.path }}
@@ -133,17 +132,14 @@ jobs:
133132
- name: 'Build'
134133
id: build
135134
uses: ./.github/actions/do-build
136-
env:
137-
# Only build static-libs-bundles for release builds.
138-
# For debug builds, building static-libs often exceeds disk space.
139-
STATIC_LIBS: ${{ matrix.debug-level == 'release' && 'static-libs-bundles' }}
140135
with:
141-
make-target: '${{ inputs.make-target }} ${STATIC_LIBS} ${{ inputs.make-arguments }}'
136+
make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
142137
platform: ${{ inputs.platform }}
143-
debug-suffix: '${{ matrix.suffix }}'
138+
debug-suffix: "${{ matrix.debug-level == 'debug' && '-debug' || '' }}"
144139

145140
- name: 'Upload bundles'
146141
uses: ./.github/actions/upload-bundles
147142
with:
148143
platform: ${{ inputs.platform }}
149-
debug-suffix: '${{ matrix.suffix }}'
144+
debug-suffix: "${{ matrix.debug-level == 'debug' && '-debug' || '' }}"
145+
bundle-suffix: ${{ inputs.bundle-suffix }}

.github/workflows/main.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,43 @@ jobs:
225225
make-arguments: ${{ github.event.inputs.make-arguments }}
226226
if: needs.prepare.outputs.linux-x64-variants == 'true'
227227

228+
build-linux-x64-static:
229+
name: linux-x64-static
230+
needs: prepare
231+
uses: ./.github/workflows/build-linux.yml
232+
with:
233+
platform: linux-x64
234+
make-target: 'static-jdk-image'
235+
# There are issues with fastdebug static build in GHA due to space limit.
236+
# Only do release build for now.
237+
debug-levels: '[ "release" ]'
238+
gcc-major-version: '10'
239+
configure-arguments: ${{ github.event.inputs.configure-arguments }}
240+
make-arguments: ${{ github.event.inputs.make-arguments }}
241+
# It currently doesn't produce any bundles, but probably will do in
242+
# the future.
243+
bundle-suffix: "-static"
244+
if: needs.prepare.outputs.linux-x64 == 'true'
245+
246+
build-linux-x64-static-libs:
247+
name: linux-x64-static-libs
248+
needs: prepare
249+
uses: ./.github/workflows/build-linux.yml
250+
with:
251+
platform: linux-x64
252+
make-target: 'static-libs-bundles'
253+
# Only build static-libs-bundles for release builds.
254+
# For debug builds, building static-libs often exceeds disk space.
255+
debug-levels: '[ "release" ]'
256+
gcc-major-version: '10'
257+
configure-arguments: ${{ github.event.inputs.configure-arguments }}
258+
make-arguments: ${{ github.event.inputs.make-arguments }}
259+
# Upload static libs bundles separately to avoid interference with normal linux-x64 bundle.
260+
# This bundle is not used by testing jobs, but downstreams use it to check that
261+
# dependent projects, e.g. libgraal, builds fine.
262+
bundle-suffix: "-static-libs"
263+
if: needs.prepare.outputs.linux-x64-variants == 'true'
264+
228265
build-linux-cross-compile:
229266
name: linux-cross-compile
230267
needs: prepare

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ NashornProfile.txt
2222
/.cache
2323
/.gdbinit
2424
/.lldbinit
25+
**/core.[0-9]*

.jcheck/conf

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,11 @@ ignore-tabs=.*\.gmk|Makefile
1717

1818
[checks "committer"]
1919
role=committer
20+
21+
[checks "problemlists"]
22+
dirs=test/jdk|test/langtools|test/lib-test|test/hotspot/jtreg|test/jaxp
23+
24+
[checks "copyright"]
25+
files=^(?!LICENSE|license\.txt|.*\.bin|.*\.gif|.*\.jpg|.*\.png|.*\.icon|.*\.tiff|.*\.dat|.*\.patch|.*\.wav|.*\.class|.*-header|.*\.jar).*
26+
oracle_locator=.*Copyright \(c\)(.*)Oracle and/or its affiliates\. All rights reserved\.
27+
oracle_validator=.*Copyright \(c\) (\d{4})(?:, (\d{4}))?, Oracle and/or its affiliates\. All rights reserved\.

Makefile

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -24,8 +24,9 @@
2424
#
2525

2626
###
27-
### This file is just a very small wrapper needed to run the real make/Init.gmk.
28-
### It also performs some sanity checks on make.
27+
### This file is just a very small wrapper which will include make/PreInit.gmk,
28+
### where the real work is done. This wrapper also performs some sanity checks
29+
### on make that must be done before we can include another file.
2930
###
3031

3132
# The shell code below will be executed on /usr/bin/make on Solaris, but not in GNU Make.
@@ -58,7 +59,7 @@ ifeq ($(filter /%, $(lastword $(MAKEFILE_LIST))),)
5859
else
5960
makefile_path := $(lastword $(MAKEFILE_LIST))
6061
endif
61-
topdir := $(strip $(patsubst %/, %, $(dir $(makefile_path))))
62+
TOPDIR := $(strip $(patsubst %/, %, $(dir $(makefile_path))))
6263

63-
# ... and then we can include the real makefile
64-
include $(topdir)/make/Init.gmk
64+
# ... and then we can include the real makefile to bootstrap the build
65+
include $(TOPDIR)/make/PreInit.gmk

make/Bundles.gmk

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -23,10 +23,9 @@
2323
# questions.
2424
#
2525

26-
default: all
26+
include MakeFileStart.gmk
2727

28-
include $(SPEC)
29-
include MakeBase.gmk
28+
################################################################################
3029

3130
include CopyFiles.gmk
3231
include MakeIO.gmk
@@ -43,8 +42,6 @@ ifeq ($(call isBuildOs, windows), true)
4342
TAR_IGNORE_EXIT_VALUE := || test "$$$$?" = "1"
4443
endif
4544

46-
# Hook to include the corresponding custom file, if present.
47-
$(eval $(call IncludeCustomExtension, Bundles-pre.gmk))
4845
################################################################################
4946
# BUNDLE : Name of bundle to create
5047
# FILES : Files in BASE_DIRS to add to bundle
@@ -502,11 +499,6 @@ endif
502499

503500
################################################################################
504501

505-
# Hook to include the corresponding custom file, if present.
506-
$(eval $(call IncludeCustomExtension, Bundles.gmk))
507-
508-
################################################################################
509-
510502
product-bundles: $(PRODUCT_TARGETS)
511503
legacy-bundles: $(LEGACY_TARGETS)
512504
test-bundles: $(TEST_TARGETS)
@@ -517,6 +509,10 @@ static-libs-bundles: $(STATIC_LIBS_TARGETS)
517509
static-libs-graal-bundles: $(STATIC_LIBS_GRAAL_TARGETS)
518510
jcov-bundles: $(JCOV_TARGETS)
519511

520-
.PHONY: all default product-bundles test-bundles \
512+
.PHONY: product-bundles test-bundles \
521513
docs-jdk-bundles docs-javase-bundles docs-reference-bundles \
522514
static-libs-bundles static-libs-graal-bundles jcov-bundles
515+
516+
################################################################################
517+
518+
include MakeFileEnd.gmk

make/CompileCommands.gmk

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -23,10 +23,9 @@
2323
# questions.
2424
#
2525

26-
default: all
26+
include MakeFileStart.gmk
2727

28-
include $(SPEC)
29-
include MakeBase.gmk
28+
################################################################################
3029

3130
# When FIXPATH is set, let it process the file to make sure all paths are usable
3231
# by system native tools. The FIXPATH tool assumes arguments preceded by an @
@@ -50,6 +49,6 @@ $(OUTPUTDIR)/compile_commands.json: $(wildcard $(MAKESUPPORT_OUTPUTDIR)/compile-
5049

5150
TARGETS += $(OUTPUTDIR)/compile_commands.json
5251

53-
all: $(TARGETS)
52+
################################################################################
5453

55-
.PHONY: all
54+
include MakeFileEnd.gmk

make/CompileDemos.gmk

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,17 @@
2323
# questions.
2424
#
2525

26+
include MakeFileStart.gmk
27+
2628
################################################################################
2729
# Build demos for the JDK into $(SUPPORT_OUTPUTDIR)/demos/image.
2830
################################################################################
2931

30-
default: all
31-
32-
include $(SPEC)
33-
include MakeBase.gmk
34-
3532
include CopyFiles.gmk
3633
include JavaCompilation.gmk
3734
include TextFileProcessing.gmk
3835
include ZipArchive.gmk
3936

40-
# Hook to include the corresponding custom file, if present.
41-
$(eval $(call IncludeCustomExtension, CompileDemos-pre.gmk))
42-
4337
# Prepare the find cache.
4438
DEMO_SRC_DIRS += $(TOPDIR)/src/demo
4539

@@ -264,11 +258,8 @@ ifneq ($(filter images, $(MAKECMDGOALS)), )
264258
IMAGES_TARGETS := $(COPY_TO_TEST_IMAGE)
265259
endif
266260

267-
################################################################################
268-
# Hook to include the corresponding custom file, if present.
269-
$(eval $(call IncludeCustomExtension, CompileDemos-post.gmk))
270-
271-
all: $(TARGETS)
272261
images: $(IMAGES_TARGETS)
273262

274-
.PHONY: all
263+
################################################################################
264+
265+
include MakeFileEnd.gmk

make/CompileInterimLangtools.gmk

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2014, 2024, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2014, 2025, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -23,11 +23,9 @@
2323
# questions.
2424
#
2525

26-
# This must be the first rule
27-
default: all
26+
include MakeFileStart.gmk
2827

29-
include $(SPEC)
30-
include MakeBase.gmk
28+
################################################################################
3129

3230
include CopyFiles.gmk
3331
include JavaCompilation.gmk
@@ -148,5 +146,4 @@ TARGETS += $(BUILD_JAVAC_SERVER)
148146

149147
################################################################################
150148

151-
152-
all: $(TARGETS)
149+
include MakeFileEnd.gmk

make/CompileJavaModules.gmk

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2014, 2024, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2014, 2025, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -23,13 +23,12 @@
2323
# questions.
2424
#
2525

26-
# This must be the first rule
27-
default: all
26+
include MakeFileStart.gmk
27+
28+
################################################################################
2829

29-
include $(SPEC)
30-
include MakeBase.gmk
31-
include Modules.gmk
3230
include JavaCompilation.gmk
31+
include Modules.gmk
3332

3433
include CopyFiles.gmk
3534

@@ -88,7 +87,15 @@ CreateHkTargets = \
8887
################################################################################
8988
# Include module specific build settings
9089

91-
-include Java.gmk
90+
THIS_SNIPPET := modules/$(MODULE)/Java.gmk
91+
92+
ifneq ($(wildcard $(THIS_SNIPPET)), )
93+
include MakeSnippetStart.gmk
94+
95+
include $(THIS_SNIPPET)
96+
97+
include MakeSnippetEnd.gmk
98+
endif
9299

93100
################################################################################
94101
# Setup the main compilation
@@ -194,6 +201,4 @@ endif
194201

195202
################################################################################
196203

197-
all: $(TARGETS)
198-
199-
.PHONY: all
204+
include MakeFileEnd.gmk

0 commit comments

Comments
 (0)