8201357: ALSA_CFLAGS is needed; was dropped in JDK-8071469
Reviewed-by: ihse, asmundak
1 #
2 # Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # This code is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License version 2 only, as
7 # published by the Free Software Foundation. Oracle designates this
8 # particular file as subject to the "Classpath" exception as provided
9 # by Oracle in the LICENSE file that accompanied this code.
10 #
11 # This code is distributed in the hope that it will be useful, but WITHOUT
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 # version 2 for more details (a copy is included in the LICENSE file that
15 # accompanied this code).
16 #
17 # You should have received a copy of the GNU General Public License version
18 # 2 along with this work; if not, write to the Free Software Foundation,
19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 #
21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 # or visit www.oracle.com if you need additional information or have any
23 # questions.
24 #
25
26 include LibCommon.gmk
27
28 # Hook to include the corresponding custom file, if present.
29 $(eval $(call IncludeCustomExtension, lib/Lib-java.desktop.gmk))
30
31 # Prepare the find cache.
32 LIB_java.desktop_SRC_DIRS += $(TOPDIR)/src/java.desktop/*/native
33
34 $(eval $(call FillCacheFind, $(wildcard $(LIB_java.desktop_SRC_DIRS))))
35
36 ################################################################################
37 # Create the AWT/2D libraries
38
39 include Awt2dLibraries.gmk
40
41 ################################################################################
42 # Create the libjsound library
43
44 ifneq ($(OPENJDK_TARGET_OS), aix)
45
46 LIBJSOUND_SRC_DIRS := $(wildcard \
47 $(TOPDIR)/src/java.desktop/share/native/libjsound \
48 $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/libjsound \
49 )
50
51 LIBJSOUND_CFLAGS := \
52 -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
53 $(ALSA_CFLAGS) \
54 $(LIBJAVA_HEADER_FLAGS) \
55 $(foreach dir, $(LIBJSOUND_SRC_DIRS), -I$(dir)) \
56 -DX_PLATFORM=X_$(OPENJDK_TARGET_OS_UPPERCASE) \
57 -DUSE_PORTS=TRUE \
58 -DUSE_DAUDIO=TRUE \
59 #
60
61 ifneq ($(OPENJDK_TARGET_OS), solaris)
62 LIBJSOUND_CFLAGS += \
63 -DUSE_PLATFORM_MIDI_OUT=TRUE \
64 -DUSE_PLATFORM_MIDI_IN=TRUE \
65 #
66 endif
67
68 ifeq ($(OPENJDK_TARGET_OS), macosx)
69 LIBJSOUND_TOOLCHAIN := TOOLCHAIN_LINK_CXX
70 endif
71
72 $(eval $(call SetupJdkLibrary, BUILD_LIBJSOUND, \
73 NAME := jsound, \
74 SRC := $(LIBJSOUND_SRC_DIRS), \
75 TOOLCHAIN := $(LIBJSOUND_TOOLCHAIN), \
76 OPTIMIZATION := LOW, \
77 CFLAGS := $(CFLAGS_JDKLIB) \
78 $(LIBJSOUND_CFLAGS), \
79 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
80 LDFLAGS := $(LDFLAGS_JDKLIB) \
81 $(call SET_SHARED_LIBRARY_ORIGIN), \
82 LIBS_unix := -ljava -ljvm, \
83 LIBS_linux := $(ALSA_LIBS), \
84 LIBS_macosx := -framework CoreAudio -framework CoreFoundation \
85 -framework CoreServices -framework AudioUnit \
86 -framework CoreMIDI -framework AudioToolbox $(LIBCXX), \
87 LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib dsound.lib winmm.lib user32.lib ole32.lib, \
88 ))
89
90 $(BUILD_LIBJSOUND): $(call FindLib, java.base, java)
91
92 TARGETS += $(BUILD_LIBJSOUND)
93
94 endif
95
96 ################################################################################
97 # Create the macosx specific osxapp and osx libraries
98
99 ifeq ($(OPENJDK_TARGET_OS), macosx)
100 LIBOSXAPP_SRC := $(TOPDIR)/src/java.desktop/macosx/native/libosxapp
101
102 $(eval $(call SetupJdkLibrary, BUILD_LIBOSXAPP, \
103 NAME := osxapp, \
104 SRC := $(LIBOSXAPP_SRC), \
105 OPTIMIZATION := LOW, \
106 CFLAGS := $(CFLAGS_JDKLIB) \
107 $(addprefix -I, $(LIBOSXAPP_SRC)) \
108 -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop, \
109 DISABLED_WARNINGS_clang := objc-method-access objc-root-class \
110 deprecated-declarations, \
111 LDFLAGS := $(LDFLAGS_JDKLIB) \
112 $(call SET_SHARED_LIBRARY_ORIGIN), \
113 LIBS := \
114 -framework Accelerate \
115 -framework ApplicationServices \
116 -framework AudioToolbox \
117 -framework Carbon \
118 -framework Cocoa \
119 -framework Security \
120 -framework ExceptionHandling \
121 -framework JavaNativeFoundation \
122 -framework JavaRuntimeSupport \
123 -framework OpenGL \
124 -framework IOSurface \
125 -framework QuartzCore, \
126 ))
127
128 TARGETS += $(BUILD_LIBOSXAPP)
129
130 ##############################################################################
131
132 LIBOSX_DIRS := $(TOPDIR)/src/java.desktop/macosx/native/libosx
133 LIBOSX_CFLAGS := -I$(LIBOSX_DIRS) \
134 -I$(TOPDIR)/src/java.desktop/macosx/native/libosxapp \
135 $(LIBJAVA_HEADER_FLAGS) \
136 -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
137 #
138
139 $(eval $(call SetupJdkLibrary, BUILD_LIBOSX, \
140 NAME := osx, \
141 SRC := $(LIBOSX_DIRS), \
142 OPTIMIZATION := LOW, \
143 CFLAGS := $(CFLAGS_JDKLIB) \
144 $(LIBOSX_CFLAGS), \
145 DISABLED_WARNINGS_clang := deprecated-declarations, \
146 LDFLAGS := $(LDFLAGS_JDKLIB) \
147 -L$(SUPPORT_OUTPUTDIR)/modules_libs/java.desktop \
148 $(call SET_SHARED_LIBRARY_ORIGIN), \
149 LIBS := \
150 -losxapp \
151 -framework Cocoa \
152 -framework ApplicationServices \
153 -framework JavaNativeFoundation \
154 -framework JavaRuntimeSupport \
155 -framework SystemConfiguration \
156 $(JDKLIB_LIBS), \
157 ))
158
159 TARGETS += $(BUILD_LIBOSX)
160
161 $(BUILD_LIBOSX): $(call FindLib, java.desktop, osxapp)
162
163 $(BUILD_LIBOSX): $(call FindLib, java.base, java)
164
165 endif
166
--- EOF ---