@@ -28,9 +28,17 @@ include LibCommon.gmk
28
28
################################################################################
29
29
30
30
31
- JPACKAGE_APPLAUNCHER_SRC := \
32
- $(call FindSrcDirsForComponent, jdk.jpackage, applauncher) \
33
- $(call FindSrcDirsForComponent, jdk.jpackage, common)
31
+ ifeq ($(call isTargetOs, linux), true)
32
+ JPACKAGE_APPLAUNCHER_SRC := \
33
+ $(call FindSrcDirsForComponent, jdk.jpackage, applauncher)
34
+ JPACKAGE_APPLAUNCHER_TOOLCHAIN := TOOLCHAIN_DEFAULT
35
+ JPACKAGE_APPLAUNCHER_INCLUDE_FILES := %.c
36
+ else
37
+ JPACKAGE_APPLAUNCHER_SRC := \
38
+ $(call FindSrcDirsForComponent, jdk.jpackage, applauncher) \
39
+ $(call FindSrcDirsForComponent, jdk.jpackage, common)
40
+ JPACKAGE_APPLAUNCHER_TOOLCHAIN := TOOLCHAIN_LINK_CXX
41
+ endif
34
42
35
43
36
44
ifeq ($(call isTargetOs, windows), true)
@@ -44,27 +52,63 @@ endif
44
52
45
53
JPACKAGE_OUTPUT_DIR := $(JDK_OUTPUTDIR)/modules/$(MODULE)/jdk/jpackage/internal/resources
46
54
JPACKAGE_CXXFLAGS_windows := -EHsc -DUNICODE -D_UNICODE
55
+ JPACKAGE_CFLAGS_windows := -DUNICODE -D_UNICODE
56
+ JPACKAGE_APPLAUNCHER_INCLUDES := $(addprefix -I, $(JPACKAGE_APPLAUNCHER_SRC))
47
57
48
58
# Output app launcher executable in resources dir, and symbols in the object dir
49
59
$(eval $(call SetupJdkExecutable, BUILD_JPACKAGE_APPLAUNCHEREXE, \
50
60
NAME := jpackageapplauncher, \
51
61
OUTPUT_DIR := $(JPACKAGE_OUTPUT_DIR), \
52
62
SYMBOLS_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/jpackageapplauncher, \
53
63
SRC := $(JPACKAGE_APPLAUNCHER_SRC), \
54
- TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
64
+ INCLUDE_FILES := $(JPACKAGE_APPLAUNCHER_INCLUDE_FILES), \
65
+ TOOLCHAIN := $(JPACKAGE_APPLAUNCHER_TOOLCHAIN), \
55
66
OPTIMIZATION := LOW, \
56
67
CXXFLAGS := $(call JpackageWithStaticCrt, $(CXXFLAGS_JDKEXE)) \
57
- $(addprefix -I, $(JPACKAGE_APPLAUNCHER_SRC)), \
68
+ $(JPACKAGE_APPLAUNCHER_INCLUDES), \
69
+ CFLAGS := $(call JpackageWithStaticCrt, $(CFLAGS_JDKEXE)) \
70
+ $(JPACKAGE_APPLAUNCHER_INCLUDES), \
71
+ CFLAGS_macosx := -Wno-format-nonliteral, \
58
72
CXXFLAGS_windows := $(JPACKAGE_CXXFLAGS_windows), \
73
+ CFLAGS_windows := $(JPACKAGE_CFLAGS_windows), \
59
74
LDFLAGS := $(LDFLAGS_JDKEXE), \
60
- LIBS_macosx := -framework Cocoa, \
61
- LIBS := $(LIBCXX), \
62
- LIBS_linux := -ldl, \
75
+ LIBS_macosx := $(LIBCXX) -framework Cocoa, \
76
+ LIBS_windows := $(LIBCXX), \
77
+ LIBS_linux := -nodefaultlibs -lc - ldl, \
63
78
))
64
79
65
- $(BUILD_JPACKAGE_APPLAUNCHEREXE): $(call FindLib, java.base, java)
80
+ JPACKAGE_TARGETS += $(BUILD_JPACKAGE_APPLAUNCHEREXE)
81
+
82
+
83
+ ################################################################################
84
+
85
+ ifeq ($(call isTargetOs, linux), true)
86
+
87
+ JPACKAGE_LIBAPPLAUNCHER_SRC := \
88
+ $(call FindSrcDirsForComponent, jdk.jpackage, applauncher) \
89
+ $(call FindSrcDirsForComponent, jdk.jpackage, libapplauncher) \
90
+ $(call FindSrcDirsForComponent, jdk.jpackage, common)
91
+
92
+ JPACKAGE_LIBAPPLAUNCHER_INCLUDES := $(addprefix -I, $(JPACKAGE_LIBAPPLAUNCHER_SRC))
93
+
94
+ $(eval $(call SetupJdkLibrary, BUILD_JPACKAGE_LIBAPPLAUNCHER, \
95
+ NAME := jpackageapplauncher, \
96
+ OUTPUT_DIR := $(JPACKAGE_OUTPUT_DIR), \
97
+ SYMBOLS_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjpackageapplauncher, \
98
+ SRC := $(JPACKAGE_LIBAPPLAUNCHER_SRC), \
99
+ EXCLUDE_FILES := LinuxLauncher.c LinuxPackage.c, \
100
+ TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
101
+ OPTIMIZATION := LOW, \
102
+ CXXFLAGS := $(CXXFLAGS_JDKLIB) $(JPACKAGE_LIBAPPLAUNCHER_INCLUDES), \
103
+ CFLAGS := $(CFLAGS_JDKLIB) $(JPACKAGE_LIBAPPLAUNCHER_INCLUDES), \
104
+ LDFLAGS := $(LDFLAGS_JDKLIB), \
105
+ LIBS := $(LIBCXX) -ldl, \
106
+ ))
107
+
108
+ JPACKAGE_TARGETS += $(BUILD_JPACKAGE_LIBAPPLAUNCHER)
109
+
110
+ endif
66
111
67
- TARGETS += $(BUILD_JPACKAGE_APPLAUNCHEREXE)
68
112
69
113
################################################################################
70
114
@@ -80,7 +124,7 @@ ifeq ($(call isTargetOs, windows), true)
80
124
LIBS := $(LIBCXX), \
81
125
))
82
126
83
- TARGETS += $(BUILD_LIB_JPACKAGE)
127
+ JPACKAGE_TARGETS += $(BUILD_LIB_JPACKAGE)
84
128
85
129
# Build Wix custom action helper
86
130
# Output library in resources dir, and symbols in the object dir
@@ -96,7 +140,7 @@ ifeq ($(call isTargetOs, windows), true)
96
140
LIBS_windows := msi.lib Shlwapi.lib User32.lib, \
97
141
))
98
142
99
- TARGETS += $(BUILD_LIB_WIXHELPER)
143
+ JPACKAGE_TARGETS += $(BUILD_LIB_WIXHELPER)
100
144
101
145
JPACKAGE_MSIWRAPPER_SRC := \
102
146
$(call FindSrcDirsForComponent, jdk.jpackage, msiwrapper) \
@@ -114,22 +158,30 @@ ifeq ($(call isTargetOs, windows), true)
114
158
LIBS := $(LIBCXX), \
115
159
))
116
160
117
- TARGETS += $(BUILD_JPACKAGE_MSIWRAPPER)
161
+ JPACKAGE_TARGETS += $(BUILD_JPACKAGE_MSIWRAPPER)
118
162
119
163
# Build non-console version of launcher
120
164
$(eval $(call SetupJdkExecutable, BUILD_JPACKAGE_APPLAUNCHERWEXE, \
121
- NAME := jpackageapplauncherw, \
122
- OUTPUT_DIR := $(JPACKAGE_OUTPUT_DIR), \
123
- SYMBOLS_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/jpackageapplauncherw, \
124
- SRC := $(BUILD_JPACKAGE_APPLAUNCHEREXE_SRC), \
125
- TOOLCHAIN := $(BUILD_JPACKAGE_APPLAUNCHEREXE_TOOLCHAIN), \
126
- OPTIMIZATION := $(BUILD_JPACKAGE_APPLAUNCHEREXE_OPTIMIZATION), \
127
- CXXFLAGS := $(BUILD_JPACKAGE_APPLAUNCHEREXE_CXXFLAGS), \
128
- CXXFLAGS_windows := $(BUILD_JPACKAGE_APPLAUNCHEREXE_CXXFLAGS_windows) -DJP_LAUNCHERW, \
129
- LDFLAGS := $(BUILD_JPACKAGE_APPLAUNCHEREXE_LDFLAGS), \
130
- LIBS := $(BUILD_JPACKAGE_APPLAUNCHEREXE_LIBS), \
131
- ))
165
+ NAME := jpackageapplauncherw, \
166
+ OUTPUT_DIR := $(JPACKAGE_OUTPUT_DIR), \
167
+ SYMBOLS_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/jpackageapplauncherw, \
168
+ SRC := $(BUILD_JPACKAGE_APPLAUNCHEREXE_SRC), \
169
+ TOOLCHAIN := $(BUILD_JPACKAGE_APPLAUNCHEREXE_TOOLCHAIN), \
170
+ OPTIMIZATION := $(BUILD_JPACKAGE_APPLAUNCHEREXE_OPTIMIZATION), \
171
+ CXXFLAGS := $(BUILD_JPACKAGE_APPLAUNCHEREXE_CXXFLAGS), \
172
+ CXXFLAGS_windows := $(BUILD_JPACKAGE_APPLAUNCHEREXE_CXXFLAGS_windows) -DJP_LAUNCHERW, \
173
+ CFLAGS := $(BUILD_JPACKAGE_APPLAUNCHEREXE_CFLAGS), \
174
+ CFLAGS_windows := $(BUILD_JPACKAGE_APPLAUNCHEREXE_CFLAGS_windows) -DJP_LAUNCHERW, \
175
+ LDFLAGS := $(BUILD_JPACKAGE_APPLAUNCHEREXE_LDFLAGS), \
176
+ LIBS := $(BUILD_JPACKAGE_APPLAUNCHEREXE_LIBS), \
177
+ LIBS_windows := $(BUILD_JPACKAGE_APPLAUNCHEREXE_LIBS_windows), \
178
+ ))
132
179
133
- TARGETS += $(BUILD_JPACKAGE_APPLAUNCHERWEXE)
180
+ JPACKAGE_TARGETS += $(BUILD_JPACKAGE_APPLAUNCHERWEXE)
134
181
135
182
endif
183
+
184
+
185
+ TARGETS += $(JPACKAGE_TARGETS)
186
+
187
+ $(JPACKAGE_TARGETS): $(call FindLib, java.base, java)
0 commit comments