diff --git a/make/common/modules/LauncherCommon.gmk b/make/common/modules/LauncherCommon.gmk
index 5aa8bce79bb..0673870f593 100644
--- a/make/common/modules/LauncherCommon.gmk
+++ b/make/common/modules/LauncherCommon.gmk
@@ -103,12 +103,22 @@ define SetupBuildLauncherBody
ifeq ($(call isTargetOs, macosx), true)
ifeq ($$($1_MACOSX_PRIVILEGED), true)
- $1_PLIST_FILE := Info-privileged.plist
+ $1_PLIST_SRC_FILE := Info-privileged.plist
else
- $1_PLIST_FILE := Info-cmdline.plist
+ $1_PLIST_SRC_FILE := Info-cmdline.plist
endif
- $1_LDFLAGS += -sectcreate __TEXT __info_plist $(MACOSX_PLIST_DIR)/$$($1_PLIST_FILE)
+ $1_PLIST_FILE := $$(SUPPORT_OUTPUTDIR)/native/$$(MODULE)/$1/Info.plist
+
+ $$(eval $$(call SetupTextFileProcessing, BUILD_PLIST_$1, \
+ SOURCE_FILES := $$(TOPDIR)/src/java.base/macosx/native/launcher/$$($1_PLIST_SRC_FILE), \
+ OUTPUT_FILE := $$($1_PLIST_FILE), \
+ REPLACEMENTS := \
+ @@ID@@ => $(MACOSX_BUNDLE_ID_BASE).$(VERSION_SHORT).$1 ; \
+ @@VERSION@@ => $(VERSION_NUMBER) ; \
+ ))
+
+ $1_LDFLAGS += -sectcreate __TEXT __info_plist $$($1_PLIST_FILE)
ifeq ($(STATIC_BUILD), true)
$1_LDFLAGS += -exported_symbols_list \
@@ -168,6 +178,8 @@ define SetupBuildLauncherBody
$1 += $$(BUILD_LAUNCHER_$1)
TARGETS += $$($1)
+ $$(BUILD_LAUNCHER_$1): $$(BUILD_PLIST_$1)
+
ifeq ($(call isTargetOs, aix), true)
$$(BUILD_LAUNCHER_$1): $(call FindStaticLib, java.base, jli_static)
endif
diff --git a/make/data/bundle/JDK-Info.plist b/make/data/bundle/JDK-Info.plist
index d057e83c1db..e37b4928064 100644
--- a/make/data/bundle/JDK-Info.plist
+++ b/make/data/bundle/JDK-Info.plist
@@ -22,6 +22,8 @@
????
CFBundleVersion
@@VERSION@@
+ NSMicrophoneUsageDescription
+ The application is requesting access to the microphone.
JavaVM
JVMCapabilities
diff --git a/make/data/bundle/JRE-Info.plist b/make/data/bundle/JRE-Info.plist
index b9d045ebc59..0081b240b27 100644
--- a/make/data/bundle/JRE-Info.plist
+++ b/make/data/bundle/JRE-Info.plist
@@ -22,6 +22,8 @@
????
CFBundleVersion
@@VERSION@@
+ NSMicrophoneUsageDescription
+ The application is requesting access to the microphone.
JavaVM
JVMMinimumFrameworkVersion
diff --git a/src/java.base/macosx/native/launcher/Info-cmdline.plist b/src/java.base/macosx/native/launcher/Info-cmdline.plist
index 48ff371e71a..c3728c62f0d 100644
--- a/src/java.base/macosx/native/launcher/Info-cmdline.plist
+++ b/src/java.base/macosx/native/launcher/Info-cmdline.plist
@@ -3,12 +3,14 @@
CFBundleIdentifier
- net.java.openjdk.cmd
+ @@ID@@
CFBundleInfoDictionaryVersion
6.0
CFBundleShortVersionString
1.0
CFBundleVersion
- 1.0
+ @@VERSION@@
+ NSMicrophoneUsageDescription
+ The application is requesting access to the microphone.
diff --git a/src/java.base/macosx/native/launcher/Info-privileged.plist b/src/java.base/macosx/native/launcher/Info-privileged.plist
index 9b2fc0a32fc..569c509b853 100644
--- a/src/java.base/macosx/native/launcher/Info-privileged.plist
+++ b/src/java.base/macosx/native/launcher/Info-privileged.plist
@@ -3,7 +3,7 @@
CFBundleIdentifier
- net.java.openjdk.cmd
+ @@ID@@
CFBundleInfoDictionaryVersion
6.0
CFBundleName
@@ -11,7 +11,7 @@
CFBundleShortVersionString
1.0
CFBundleVersion
- 1.0
+ @@VERSION@@
SecTaskAccess
allowed