Fix OS X build failure with Command Line Tools and without full Xcode installation
authorKuba Brecka <kuba.brecka@gmail.com>
Sat, 28 Feb 2015 12:25:10 +0000 (12:25 +0000)
committerKuba Brecka <kuba.brecka@gmail.com>
Sat, 28 Feb 2015 12:25:10 +0000 (12:25 +0000)
On OS X, if you don't have a full Xcode installation, but just the Command Line Tools package, xcrun and xcodebuild don't return a valid SDK root path. In these cases, let's use "/" as the SDK root (which is where the headers and libraries are installed).

Reviewed at http://reviews.llvm.org/D7641

llvm-svn: 230847

compiler-rt/CMakeLists.txt
compiler-rt/make/platform/clang_darwin.mk

index f348585..94ebfd0 100644 (file)
@@ -302,15 +302,20 @@ if(APPLE)
   set(SANITIZER_MIN_OSX_VERSION 10.7)
   set(CMAKE_OSX_DEPLOYMENT_TARGET "") # We're setting the flag manually below.
   set(DARWIN_osx_CFLAGS -mmacosx-version-min=${SANITIZER_MIN_OSX_VERSION}
-    -isysroot ${OSX_SDK_DIR} -stdlib=libc++)
+    -stdlib=libc++)
   set(DARWIN_iossim_CFLAGS
     -mios-simulator-version-min=7.0 -isysroot ${IOSSIM_SDK_DIR})
   set(DARWIN_osx_LINKFLAGS -mmacosx-version-min=${SANITIZER_MIN_OSX_VERSION}
-    -isysroot ${OSX_SDK_DIR} -stdlib=libc++)
+     -stdlib=libc++)
   set(DARWIN_iossim_LINKFLAGS
     -Wl,-ios_simulator_version_min,7.0.0
     -mios-simulator-version-min=7.0
     -isysroot ${IOSSIM_SDK_DIR})
+
+  if(OSX_SDK_DIR)
+    list(APPEND DARWIN_osx_CFLAGS -isysroot ${OSX_SDK_DIR})
+    list(APPEND DARWIN_osx_LINKFLAGS -isysroot ${OSX_SDK_DIR})
+  endif()
 endif()
 
 add_subdirectory(include)
index 4f71c0b..58314e4 100644 (file)
@@ -175,7 +175,6 @@ CFLAGS.10.4         := $(CFLAGS) $(OSX_DEPLOYMENT_ARGS)
 CFLAGS.asan_osx_dynamic := \
        $(CFLAGS) -mmacosx-version-min=10.7 \
        -stdlib=libc++ \
-       -isysroot $(OSX_SDK) \
        -fno-builtin \
        -gline-tables-only \
        -DMAC_INTERPOSE_FUNCTIONS=1 \
@@ -190,7 +189,6 @@ CFLAGS.asan_iossim_dynamic := \
        -DASAN_DYNAMIC=1
 
 CFLAGS.ubsan_osx := $(CFLAGS) -mmacosx-version-min=10.6 \
-       -isysroot $(OSX_SDK) \
        -fno-builtin
 
 CFLAGS.ios.i386                := $(CFLAGS) $(IOSSIM_DEPLOYMENT_ARGS)
@@ -225,8 +223,7 @@ CFLAGS.profile_ios.arm64  := $(CFLAGS) $(IOS6_DEPLOYMENT_ARGS)
 # Configure the asan_osx_dynamic library to be built shared.
 SHARED_LIBRARY.asan_osx_dynamic := 1
 LDFLAGS.asan_osx_dynamic := -lc++ -undefined dynamic_lookup -install_name @rpath/libclang_rt.asan_osx_dynamic.dylib \
-  -mmacosx-version-min=10.7 \
-  -isysroot $(OSX_SDK)
+  -mmacosx-version-min=10.7
 
 # Configure the asan_iossim_dynamic library to be built shared.
 SHARED_LIBRARY.asan_iossim_dynamic := 1
@@ -236,6 +233,13 @@ LDFLAGS.asan_iossim_dynamic := -undefined dynamic_lookup -install_name @rpath/li
   -Wl,-ios_simulator_version_min,7.0.0 \
   -mios-simulator-version-min=7.0 -isysroot $(IOSSIM_SDK)
 
+ifneq ($(OSX_SDK),)
+CFLAGS.asan_osx_dynamic += -isysroot $(OSX_SDK)
+LDFLAGS.asan_osx_dynamic += -isysroot $(OSX_SDK)
+CFLAGS.ubsan_osx += -isysroot $(OSX_SDK)
+LDFLAGS.ubsan_osx += -isysroot $(OSX_SDK)
+endif
+
 FUNCTIONS.eprintf := eprintf
 FUNCTIONS.10.4 := eprintf floatundidf floatundisf floatundixf