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 $(eval $(call FillCacheFind, $(wildcard $(TOPDIR)/src/java.desktop/*/native))) 33 34 ################################################################################ 35 # Create the AWT/2D libraries 36 37 include Awt2dLibraries.gmk 38 39 ################################################################################ 40 # Create the libjsound library 41 42 ifneq ($(OPENJDK_TARGET_OS), aix) 43 44 LIBJSOUND_CFLAGS := \ 45 $(ALSA_CFLAGS) \ 46 -DX_PLATFORM=X_$(OPENJDK_TARGET_OS_UPPERCASE) \ 47 -DUSE_PORTS=TRUE \ 48 -DUSE_DAUDIO=TRUE \ 49 # 50 51 ifneq ($(OPENJDK_TARGET_OS), solaris) 52 LIBJSOUND_CFLAGS += \ 53 -DUSE_PLATFORM_MIDI_OUT=TRUE \ 54 -DUSE_PLATFORM_MIDI_IN=TRUE \ 55 # 56 endif 57 58 ifeq ($(OPENJDK_TARGET_OS), macosx) 59 LIBJSOUND_TOOLCHAIN := TOOLCHAIN_LINK_CXX 60 endif 61 62 $(eval $(call SetupJdkLibrary, BUILD_LIBJSOUND, \ 63 NAME := jsound, \ 64 TOOLCHAIN := $(LIBJSOUND_TOOLCHAIN), \ 65 OPTIMIZATION := LOW, \ 66 CFLAGS := $(CFLAGS_JDKLIB) \ 67 $(LIBJSOUND_CFLAGS), \ 68 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \ 69 DISABLED_WARNINGS_gcc := undef, \ 70 DISABLED_WARNINGS_clang := undef, \ 71 LDFLAGS := $(LDFLAGS_JDKLIB) \ 72 $(call SET_SHARED_LIBRARY_ORIGIN), \ 73 LIBS_unix := -ljava -ljvm, \ 74 LIBS_linux := $(ALSA_LIBS), \ 75 LIBS_macosx := -framework CoreAudio -framework CoreFoundation \ 76 -framework CoreServices -framework AudioUnit \ 77 -framework CoreMIDI -framework AudioToolbox $(LIBCXX), \ 78 LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib dsound.lib winmm.lib user32.lib ole32.lib, \ 79 )) 80 81 $(BUILD_LIBJSOUND): $(call FindLib, java.base, java) 82 83 TARGETS += $(BUILD_LIBJSOUND) 84 85 endif 86 87 ################################################################################ 88 # Create the macosx specific osxapp and osx libraries 89 90 ifeq ($(OPENJDK_TARGET_OS), macosx) 91 92 $(eval $(call SetupJdkLibrary, BUILD_LIBOSXAPP, \ 93 NAME := osxapp, \ 94 OPTIMIZATION := LOW, \ 95 CFLAGS := $(CFLAGS_JDKLIB), \ 96 DISABLED_WARNINGS_clang := objc-method-access objc-root-class \ 97 deprecated-declarations format-nonliteral, \ 98 LDFLAGS := $(LDFLAGS_JDKLIB) \ 99 $(call SET_SHARED_LIBRARY_ORIGIN), \ 100 LIBS := \ 101 -framework Accelerate \ 102 -framework ApplicationServices \ 103 -framework AudioToolbox \ 104 -framework Carbon \ 105 -framework Cocoa \ 106 -framework Security \ 107 -framework ExceptionHandling \ 108 -framework JavaNativeFoundation \ 109 -framework JavaRuntimeSupport \ 110 -framework OpenGL \ 111 -framework IOSurface \ 112 -framework QuartzCore, \ 113 )) 114 115 TARGETS += $(BUILD_LIBOSXAPP) 116 117 ############################################################################## 118 119 $(eval $(call SetupJdkLibrary, BUILD_LIBOSX, \ 120 NAME := osx, \ 121 OPTIMIZATION := LOW, \ 122 CFLAGS := $(CFLAGS_JDKLIB), \ 123 EXTRA_HEADER_DIRS := libosxapp, \ 124 DISABLED_WARNINGS_clang := deprecated-declarations, \ 125 LDFLAGS := $(LDFLAGS_JDKLIB) \ 126 -L$(SUPPORT_OUTPUTDIR)/modules_libs/java.desktop \ 127 $(call SET_SHARED_LIBRARY_ORIGIN), \ 128 LIBS := \ 129 -losxapp \ 130 -framework Cocoa \ 131 -framework ApplicationServices \ 132 -framework JavaNativeFoundation \ 133 -framework JavaRuntimeSupport \ 134 -framework SystemConfiguration \ 135 $(JDKLIB_LIBS), \ 136 )) 137 138 TARGETS += $(BUILD_LIBOSX) 139 140 $(BUILD_LIBOSX): $(call FindLib, java.desktop, osxapp) 141 142 $(BUILD_LIBOSX): $(call FindLib, java.base, java) 143 144 endif 145