--- old/make/lib/SoundLibraries.gmk 2018-03-15 02:00:34.702586602 +0100 +++ new/make/lib/SoundLibraries.gmk 2018-03-15 02:00:34.486586603 +0100 @@ -23,60 +23,55 @@ # questions. # -LIBJSOUND_SRC_DIRS := \ +LIBJSOUND_SRC_DIRS := $(wildcard \ $(TOPDIR)/src/java.desktop/share/native/libjsound \ - $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libjsound \ - # + $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/libjsound \ + $(TOPDIR)/src/java.desktop/share/native/common/sound \ + $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/common/sound \ + ) + +ifeq ($(OPENJDK_TARGET_OS), windows) + LIBJSOUND_SRC_DIRS += \ + $(TOPDIR)/src/java.desktop/share/native/common/midi_port \ + # +endif # OPENJDK_TARGET_OS windows + +ifeq ($(OPENJDK_TARGET_OS), macosx) + LIBJSOUND_SRC_DIRS += \ + $(TOPDIR)/src/java.desktop/share/native/common/midi_port \ + $(TOPDIR)/src/java.desktop/share/native/common/directaudio \ + # +endif # OPENJDK_TARGET_OS macosx + +ifeq ($(OPENJDK_TARGET_OS), solaris) + LIBJSOUND_SRC_DIRS += \ + $(TOPDIR)/src/java.desktop/share/native/common/midi_port \ + $(TOPDIR)/src/java.desktop/share/native/common/directaudio \ + # +endif # OPENJDK_TARGET_OS solaris + LIBJSOUND_CFLAGS := \ -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \ $(LIBJAVA_HEADER_FLAGS) \ $(foreach dir, $(LIBJSOUND_SRC_DIRS), -I$(dir)) \ # -LIBJSOUND_SRC_FILES := Utilities.c Platform.c - -EXTRA_SOUND_JNI_LIBS := - -LIBJSOUND_MIDIFILES := \ - MidiInDevice.c \ - MidiInDeviceProvider.c \ - MidiOutDevice.c \ - MidiOutDeviceProvider.c \ - PlatformMidi.c - -# files needed for ports -LIBJSOUND_PORTFILES := \ - PortMixerProvider.c \ - PortMixer.c - -# files needed for direct audio -LIBJSOUND_DAUDIOFILES := \ - DirectAudioDeviceProvider.c \ - DirectAudioDevice.c - ifeq ($(OPENJDK_TARGET_OS), windows) - EXTRA_SOUND_JNI_LIBS += jsoundds LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \ -DUSE_PLATFORM_MIDI_OUT=TRUE \ -DUSE_PLATFORM_MIDI_IN=TRUE \ - -DUSE_PORTS=TRUE - LIBJSOUND_SRC_FILES += \ - PLATFORM_API_WinOS_Charset_Util.cpp \ - PLATFORM_API_WinOS_MidiIn.cpp \ - PLATFORM_API_WinOS_MidiOut.c \ - PLATFORM_API_WinOS_Util.c \ - PLATFORM_API_WinOS_Ports.c - LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES) - LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES) + -DUSE_PORTS=TRUE \ + -DEXTRA_SOUND_JNI_LIBS='"jsoundds"' endif # OPENJDK_TARGET_OS windows ifeq ($(OPENJDK_TARGET_OS), linux) - EXTRA_SOUND_JNI_LIBS += jsoundalsa - LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX + LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX \ + -DEXTRA_SOUND_JNI_LIBS='"jsoundalsa"' endif # OPENJDK_TARGET_OS linux ifeq ($(OPENJDK_TARGET_OS), aix) - LIBJSOUND_CFLAGS += -DX_PLATFORM=X_AIX + LIBJSOUND_CFLAGS += -DX_PLATFORM=X_AIX \ + -DEXTRA_SOUND_JNI_LIBS='""' endif # OPENJDK_TARGET_OS aix ifeq ($(OPENJDK_TARGET_OS), macosx) @@ -85,39 +80,20 @@ -DUSE_PORTS=TRUE \ -DUSE_DAUDIO=TRUE \ -DUSE_PLATFORM_MIDI_OUT=TRUE \ - -DUSE_PLATFORM_MIDI_IN=TRUE - LIBJSOUND_SRC_DIRS += $(TOPDIR)/src/java.desktop/macosx/native/libjsound - LIBJSOUND_SRC_FILES += \ - PLATFORM_API_MacOSX_Utils.cpp \ - PLATFORM_API_MacOSX_PCM.cpp \ - PLATFORM_API_MacOSX_Ports.cpp \ - PLATFORM_API_MacOSX_MidiIn.c \ - PLATFORM_API_MacOSX_MidiOut.c \ - PLATFORM_API_MacOSX_MidiUtils.c - LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES) - LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES) - LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES) + -DUSE_PLATFORM_MIDI_IN=TRUE \ + -DEXTRA_SOUND_JNI_LIBS='""' endif # OPENJDK_TARGET_OS macosx ifeq ($(OPENJDK_TARGET_OS), solaris) LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \ -DUSE_PORTS=TRUE \ - -DUSE_DAUDIO=TRUE - LIBJSOUND_SRC_FILES += \ - PLATFORM_API_SolarisOS_Utils.c \ - PLATFORM_API_SolarisOS_Ports.c \ - PLATFORM_API_SolarisOS_PCM.c - LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES) - LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES) - LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES) + -DUSE_DAUDIO=TRUE \ + -DEXTRA_SOUND_JNI_LIBS='""' endif # OPENJDK_TARGET_OS solaris -LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"' - $(eval $(call SetupJdkLibrary, BUILD_LIBJSOUND, \ NAME := jsound, \ SRC := $(LIBJSOUND_SRC_DIRS), \ - INCLUDE_FILES := $(LIBJSOUND_SRC_FILES), \ TOOLCHAIN := $(LIBJSOUND_TOOLCHAIN), \ OPTIMIZATION := LOW, \ CFLAGS := $(CFLAGS_JDKLIB) \ @@ -128,8 +104,8 @@ $(call SET_SHARED_LIBRARY_ORIGIN), \ LIBS_unix := -ljava -ljvm, \ LIBS_macosx := -framework CoreAudio -framework CoreFoundation \ - -framework CoreServices -framework AudioUnit $(LIBCXX) \ - -framework CoreMIDI -framework AudioToolbox, \ + -framework CoreServices -framework AudioUnit \ + -framework CoreMIDI -framework AudioToolbox $(LIBCXX), \ LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib winmm.lib, \ )) @@ -139,23 +115,30 @@ ########################################################################################## -ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)), ) +ifeq ($(OPENJDK_TARGET_OS), linux) + + BUILD_LIBJSOUNDALSA_SRC_DIRS := \ + $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/libjsoundalsa \ + $(TOPDIR)/src/java.desktop/share/native/common/midi_port \ + $(TOPDIR)/src/java.desktop/share/native/common/directaudio \ + $(TOPDIR)/src/java.desktop/share/native/common/sound \ + # + + LIBJSOUNDALSA_INCLUDES := \ + -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \ + $(LIBJAVA_HEADER_FLAGS) \ + $(foreach dir, $(BUILD_LIBJSOUNDALSA_SRC_DIRS), -I$(dir)) \ + # + + LIBJSOUNDALSA_CFLAGS += -DX_PLATFORM=X_LINUX \ + -DEXTRA_SOUND_JNI_LIBS='"jsoundalsa"' $(eval $(call SetupJdkLibrary, BUILD_LIBJSOUNDALSA, \ NAME := jsoundalsa, \ - SRC := $(LIBJSOUND_SRC_DIRS), \ - INCLUDE_FILES := Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \ - $(LIBJSOUND_DAUDIOFILES) \ - PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \ - PLATFORM_API_LinuxOS_ALSA_PCM.c \ - PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \ - PLATFORM_API_LinuxOS_ALSA_MidiIn.c \ - PLATFORM_API_LinuxOS_ALSA_MidiOut.c \ - PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \ - PLATFORM_API_LinuxOS_ALSA_Ports.c, \ + SRC := $(BUILD_LIBJSOUNDALSA_SRC_DIRS), \ OPTIMIZATION := LOW, \ CFLAGS := $(CFLAGS_JDKLIB) $(ALSA_CFLAGS) \ - $(LIBJSOUND_CFLAGS) \ + $(LIBJSOUNDALSA_INCLUDES) $(LIBJSOUNDALSA_CFLAGS) \ -DUSE_DAUDIO=TRUE \ -DUSE_PORTS=TRUE \ -DUSE_PLATFORM_MIDI_OUT=TRUE \ @@ -174,17 +157,33 @@ ########################################################################################## -ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)), ) +ifeq ($(OPENJDK_TARGET_OS), windows) + + BUILD_LIBJSOUNDDS_SRC_DIRS := \ + $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/libjsoundds \ + $(TOPDIR)/src/java.desktop/share/native/common/directaudio \ + $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/common/sound \ + $(TOPDIR)/src/java.desktop/share/native/common/sound \ + # + + LIBJSOUNDDS_INCLUDES := \ + -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \ + $(LIBJAVA_HEADER_FLAGS) \ + $(foreach dir, $(BUILD_LIBJSOUNDDS_SRC_DIRS), -I$(dir)) \ + # + + LIBJSOUNDDS_CFLAGS += -DX_PLATFORM=X_WINDOWS \ + -DUSE_PLATFORM_MIDI_OUT=TRUE \ + -DUSE_PLATFORM_MIDI_IN=TRUE \ + -DUSE_PORTS=TRUE \ + -DEXTRA_SOUND_JNI_LIBS='"jsoundds"' $(eval $(call SetupJdkLibrary, BUILD_LIBJSOUNDDS, \ NAME := jsoundds, \ - SRC := $(LIBJSOUND_SRC_DIRS), \ - INCLUDE_FILES := Utilities.c $(LIBJSOUND_DAUDIOFILES) \ - PLATFORM_API_WinOS_Charset_Util.cpp \ - PLATFORM_API_WinOS_DirectSound.cpp, \ + SRC := $(BUILD_LIBJSOUNDDS_SRC_DIRS), \ OPTIMIZATION := LOW, \ CFLAGS := $(CFLAGS_JDKLIB) \ - $(LIBJSOUND_CFLAGS) \ + $(LIBJSOUNDDS_INCLUDES) $(LIBJSOUNDDS_CFLAGS) \ -DUSE_DAUDIO=TRUE, \ LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ $(call SET_SHARED_LIBRARY_ORIGIN), \