# HG changeset patch # User kcr # Date 1512693550 28800 # Thu Dec 07 16:39:10 2017 -0800 # Node ID e3bddc8a47fb878ea03201307fdd2b74b5b5385e # Parent 7d67249a6d2c5cd0ac77d6667601c1ab3764e31c 8145604: Change minimum version of OS X SDK to 10.9 Reviewed-by: almatvee diff --git a/buildSrc/mac.gradle b/buildSrc/mac.gradle --- a/buildSrc/mac.gradle +++ b/buildSrc/mac.gradle @@ -51,7 +51,7 @@ // Set the minimum API version that we require (developers do not need to override this) // Note that this is not necessarily the same as the preferred SDK version -defineProperty("MACOSX_MIN_VERSION", "10.7"); +defineProperty("MACOSX_MIN_VERSION", "10.9"); // Create $buildDir/mac_tools.properties file and load props from it setupTools("mac_tools", @@ -99,9 +99,11 @@ throw new GradleException("FAIL: Cannot find $MACOSX_SDK_PATH") } +// NOTE: There is no space between -iframework and the specified path def commonParams = [ "-mmacosx-version-min=$MACOSX_MIN_VERSION", "-isysroot", "$MACOSX_SDK_PATH", + "-iframework$MACOSX_SDK_PATH/System/Library/Frameworks", "-arch", "x86_64"] def ccBaseFlags = [ @@ -126,8 +128,8 @@ "-dynamiclib", "-lobjc"].flatten(); -def compiler = IS_COMPILE_PARFAIT ? "parfait-gcc" : "gcc"; -def linker = IS_COMPILE_PARFAIT ? "parfait-g++" : "g++"; +def compiler = IS_COMPILE_PARFAIT ? "parfait-clang" : "clang"; +def linker = IS_COMPILE_PARFAIT ? "parfait-clang++" : "clang++"; MAC.glass = [:] MAC.glass.javahInclude = [ @@ -182,10 +184,7 @@ "-c", ccBaseFlags, IS_DEBUG_NATIVE ? ["-DDEBUG", "-O0"] : ["-O3", "-DNDEBUG"]].flatten() -// 10.7 doesn't have libstdc++ as an option for stdlib, so filter it out -if (!(MACOSX_MIN_VERSION in ['10.7', '10.8'])) { MAC.launcherlibrary.ccFlags += "-stdlib=libstdc++" -} MAC.launcherlibrary.linker = linker MAC.launcherlibrary.linkFlags = ["-ldl", "-dynamiclib", "-framework", "Cocoa", @@ -239,6 +238,8 @@ MAC.fontT2K.lib = "javafx_font_t2k" MAC.media = [:] -MAC.media.compiler = compiler -MAC.media.linker = linker +MAC.media.compiler = "${compiler} ${ccBaseFlags.join(" ")}" +//MAC.media.ccFlags = ccBaseFlags +MAC.media.linker = "${linker} ${commonParams.join(" ")}" +//MAC.media.linkFlags = commonParams MAC.media.lib = "libtool" diff --git a/modules/media/src/main/native/gstreamer/projects/mac/fxplugins/Makefile b/modules/media/src/main/native/gstreamer/projects/mac/fxplugins/Makefile --- a/modules/media/src/main/native/gstreamer/projects/mac/fxplugins/Makefile +++ b/modules/media/src/main/native/gstreamer/projects/mac/fxplugins/Makefile @@ -22,9 +22,8 @@ TARGET_NAME = lib$(BASE_NAME).dylib TARGET = $(BUILD_DIR)/$(TARGET_NAME) -CFLAGS = -arch x86_64 \ - -fPIC \ - -Werror=implicit-function-declaration \ +CFLAGS += -fPIC \ + -Werror=implicit-function-declaration \ -DENABLE_SOURCE_SEEKING=1 \ -DENABLE_PULL_MODE=1 \ -DGST_DISABLE_GST_DEBUG \ @@ -32,8 +31,7 @@ -DHAVE_STDINT_H \ -DGSTREAMER_LITE \ -DOSX \ - -msse2 \ - -mmacosx-version-min=10.7 + -msse2 ifeq ($(BUILD_TYPE), Release) CFLAGS += -Os @@ -42,18 +40,23 @@ endif INCLUDES = $(addprefix -I$(SRCBASE_DIR)/,$(DIRLIST)) \ - -I$(SRCBASE_DIR) \ - -I$(BASE_DIR)/gstreamer-lite/gstreamer \ - -I$(BASE_DIR)/gstreamer-lite/gstreamer/libs \ + -I$(SRCBASE_DIR) \ + -I$(BASE_DIR)/gstreamer-lite/gstreamer \ + -I$(BASE_DIR)/gstreamer-lite/gstreamer/libs \ -I$(GLIB_DIR) \ -I$(GLIB_DIR)/glib \ -I$(GLIB_DIR)/gmodule \ -I$(GLIB_DIR)/build/osx -LDFLAGS = -mmacosx-version-min=10.7 -arch x86_64 \ - -L$(BUILD_DIR) -Wl,-install_name,@rpath/$(TARGET_NAME) \ - -lgstreamer-lite -lglib-lite -framework ApplicationServices \ - -framework QuartzCore -framework VideoDecodeAcceleration -framework AudioToolbox -framework CoreFoundation +LDFLAGS += -L$(BUILD_DIR) \ + -Wl,-install_name,@rpath/$(TARGET_NAME) \ + -lgstreamer-lite \ + -lglib-lite \ + -framework ApplicationServices \ + -framework QuartzCore \ + -framework VideoDecodeAcceleration \ + -framework AudioToolbox \ + -framework CoreFoundation C_SOURCES = fxplugins.c \ audioconverter/audioconverter.c \ diff --git a/modules/media/src/main/native/gstreamer/projects/mac/glib-lite/Makefile b/modules/media/src/main/native/gstreamer/projects/mac/glib-lite/Makefile --- a/modules/media/src/main/native/gstreamer/projects/mac/glib-lite/Makefile +++ b/modules/media/src/main/native/gstreamer/projects/mac/glib-lite/Makefile @@ -18,18 +18,16 @@ TARGET_NAME = lib$(BASE_NAME).dylib TARGET = $(BUILD_DIR)/$(TARGET_NAME) -CFLAGS = -arch x86_64 \ - -fPIC \ - -Werror=implicit-function-declaration \ - -DG_DISABLE_CAST_CHECKS \ - -DGLIB_COMPILATION \ +CFLAGS += -fPIC \ + -Werror=implicit-function-declaration \ + -DG_DISABLE_CAST_CHECKS \ + -DGLIB_COMPILATION \ -DGOBJECT_COMPILATION \ - -DLIBDIR=\"/irrelevant/lib\" \ + -DLIBDIR=\"/irrelevant/lib\" \ -DG_LOG_DOMAIN=\"GLib\" \ -DGSTREAMER_LITE \ -DG_DISABLE_DEPRECATED \ - -DG_DISABLE_ASSERT \ - -mmacosx-version-min=10.7 + -DG_DISABLE_ASSERT ifeq ($(BUILD_TYPE), Release) CFLAGS += -Os @@ -41,8 +39,10 @@ -I$(SRCBASE_DIR)/glib \ -I$(SRCBASE_DIR)/build/osx -LDFLAGS = -mmacosx-version-min=10.7 -arch x86_64 \ - -Wl,-install_name,@rpath/$(TARGET_NAME) -Wl,-framework -Wl,CoreServices -liconv +LDFLAGS += -Wl,-install_name,@rpath/$(TARGET_NAME) \ + -Wl,-framework \ + -Wl,CoreServices \ + -liconv C_SOURCES = glib/garray.c \ glib/gasyncqueue.c \ diff --git a/modules/media/src/main/native/gstreamer/projects/mac/gstreamer-lite/Makefile b/modules/media/src/main/native/gstreamer/projects/mac/gstreamer-lite/Makefile --- a/modules/media/src/main/native/gstreamer/projects/mac/gstreamer-lite/Makefile +++ b/modules/media/src/main/native/gstreamer/projects/mac/gstreamer-lite/Makefile @@ -41,8 +41,7 @@ TARGET_NAME = lib$(BASE_NAME).dylib TARGET = $(BUILD_DIR)/$(TARGET_NAME) -CFLAGS = -arch x86_64 \ - -fPIC \ +CFLAGS += -fPIC \ -Werror=implicit-function-declaration \ -D_GNU_SOURCE \ -DGST_REMOVE_DEPRECATED \ @@ -54,8 +53,7 @@ -DGSTREAMER_LITE \ -DGST_REMOVE_DISABLED \ -DOSX \ - -msse2 \ - -mmacosx-version-min=10.7 + -msse2 ifeq ($(BUILD_TYPE), Release) CFLAGS += -Os @@ -75,9 +73,12 @@ -I$(GLIB_DIR)/gmodule \ -I$(GLIB_DIR)/build/osx -LDFLAGS = -mmacosx-version-min=10.7 -arch x86_64 \ - -L$(BUILD_DIR) -Wl,-install_name,@rpath/$(TARGET_NAME) -lglib-lite \ - -framework CoreAudio -framework AudioUnit -framework CoreServices +LDFLAGS += -L$(BUILD_DIR) \ + -Wl,-install_name,@rpath/$(TARGET_NAME) \ + -lglib-lite \ + -framework CoreAudio \ + -framework AudioUnit \ + -framework CoreServices C_SOURCES = gstreamer/libs/gst/base/gstbytereader.c \ gstreamer/gst/gst.c \ diff --git a/modules/media/src/main/native/jfxmedia/projects/mac/Makefile b/modules/media/src/main/native/jfxmedia/projects/mac/Makefile --- a/modules/media/src/main/native/jfxmedia/projects/mac/Makefile +++ b/modules/media/src/main/native/jfxmedia/projects/mac/Makefile @@ -30,14 +30,12 @@ # ------------------------------------------------------------------ # Base compile/link flags -CFLAGS = -arch x86_64 \ - -pipe \ +CFLAGS += -pipe \ -fPIC \ -Werror=implicit-function-declaration \ -DTARGET_OS_MAC=1 \ -D_GNU_SOURCE \ - -msse2 \ - -mmacosx-version-min=10.7 + -msse2 ifeq ($(BUILD_TYPE), Release) CFLAGS += -Os @@ -52,9 +50,8 @@ -I$(GENERATED_HEADERS_DIR) # We need to ensure everything builds with libc++, so add it here -LDFLAGS = -stdlib=libc++ -mmacosx-version-min=10.7 \ - -arch x86_64 \ - -L$(BUILD_DIR) \ +LDFLAGS += -stdlib=libc++ \ + -L$(BUILD_DIR) \ -lobjc \ -framework Cocoa \ -framework CoreVideo @@ -184,36 +181,9 @@ # ------------------------------------------------------------------ # AVFoundation platform lib rules -ifeq ($(BUILD_TYPE), Release) - AVF_XCRUN_FLAGS = -else - # add a -v flag to show the build environment when xcrun is invoked - AVF_XCRUN_FLAGS = -v -endif - -# The AVFoundation code uses ARC which is only supported by the clang compiler, so we'll -# force the use of clang for this module. -ifeq ($(COMPILE_PARFAIT), true) - # call xcrun so we wrap the correct clang++ executable - CLANG_PATH := $(shell xcrun -find clang++) - AVF_CPP = parfait-clang++ --nativecxx "$(CLANG_PATH)" -else - AVF_CPP := $(shell xcrun -find $(AVF_XCRUN_FLAGS) clang++) -endif - AVF_OBJBASE = $(OBJBASE_DIR)/avf -# We need a full path to the right SDK -# We use --sdk macosx to force it to use the latest macosx SDK, which should be 10.8 or later -AVF_SYSROOT = $(shell xcodebuild -sdk macosx -version | grep '^Path: ' | sed 's/Path: //') - -# we have to remove -mmacosx-version-min=% from CFLAGS and LDFLAGS and set it to -# 10.8 since this module requires features only in 10.8 and later -AVF_LDFLAGS = $(filter-out -mmacosx-version-min=%, $(LDFLAGS)) \ - -std=c++11 -stdlib=libc++ \ - -isysroot "$(AVF_SYSROOT)" \ - -iframework"$(AVF_SYSROOT)/System/Library/Frameworks" \ - -mmacosx-version-min=10.8 \ +AVF_LDFLAGS = $(LDFLAGS) \ -Wl,-install_name,@rpath/$(AVF_NAME) \ -framework AVFoundation \ -framework CoreMedia \ @@ -221,11 +191,7 @@ -framework AudioUnit \ -framework MediaToolbox -AVF_CFLAGS = $(filter-out -mmacosx-version-min=%, $(CFLAGS)) \ - -std=c++11 -stdlib=libc++ \ - -isysroot "$(AVF_SYSROOT)" \ - -iframework"$(AVF_SYSROOT)/System/Library/Frameworks" \ - -mmacosx-version-min=10.8 \ +AVF_CFLAGS = $(CFLAGS) \ -DCA_AU_USE_FAST_DISPATCH=1 \ -DCA_BASIC_AU_FEATURES=1 \ -DCA_NO_AU_HOST_CALLBACKS=1 \ @@ -276,15 +242,15 @@ $(AVF_OBJBASE)/%.o: %.cpp @mkdir -p $(dir $@) - $(AVF_CPP) $(AVF_CFLAGS) $(AVF_INCLUDES) -MD -MF $(AVF_OBJBASE)/$*.d -x c++ -c $< -o $@ + $(CC) $(AVF_CFLAGS) $(AVF_INCLUDES) -MD -MF $(AVF_OBJBASE)/$*.d -x c++ -c $< -o $@ $(AVF_OBJBASE)/%.o: %.mm @mkdir -p $(dir $@) - $(AVF_CPP) $(AVF_CFLAGS) $(AVF_INCLUDES) -MD -MF $(AVF_OBJBASE)/$*.d -x objective-c++ -c $< -o $@ + $(CC) $(AVF_CFLAGS) $(AVF_INCLUDES) -MD -MF $(AVF_OBJBASE)/$*.d -x objective-c++ -c $< -o $@ $(AVF_LIB): $(TARGET) $(AVF_OBJECTS) @mkdir -p $(dir $@) - $(AVF_CPP) $(AVF_LDFLAGS) -dynamiclib $(AVF_OBJECTS) -l$(BASE_NAME) -o $@ + $(LINK) $(AVF_LDFLAGS) -dynamiclib $(AVF_OBJECTS) -l$(BASE_NAME) -o $@ # ------------------------------------------------------------------