[Reminder] LLVM 3.4 Release Branching

Good day!

This is just a reminder that branching for the 3.4 release will occur at this time:

Monday, November 18, 2013 at 7:00:00 PM PST / Tuesday, November 19, 2013 at 3:00:00 AM UTC

What this means for you!

Good day!

This is just a reminder that branching for the 3.4 release will occur at this time:

  Monday, November 18, 2013 at 7:00:00 PM PST / Tuesday, November 19, 2013 at 3:00:00 AM UTC

What this means for you!
------------------------

* Please keep the release notes up to date -- There has been very few commits to them. Please be proactive and update them with any significant feature that was put in.

* Keep the tree healthy -- Pay attention to buildbot failures and regressions and fix them as quickly as possible.

* Finish your features -- The 18th won't be the final day to submit code, but you should have a significant portion of the feature finished by then. I.e., a few minor changes, bug fixes, and clean ups. If you're going to be late with your feature, please let me know ahead of time and we can figure something out.

* Fix bugs -- Go through the bug database and find those PRs which you can fix easily. If a PR is a release blockers, then ask the code owner to bump up the priority.

This should be a wicked awesome release! :slight_smile:

Share and enjoy!
-bw

Current llvm/compiler-rt/clang svn is still broken on x86_64 darwin13 here for a build with...

cmake -DLLVM_BUILD_32_BITS:BOOL=OFF -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_INSTALL_PREFIX=/sw/opt/llvm-3.4 -DLLVM_ENABLE_ASSERTIONS=OFF -DCMAKE_BUILD_TYPE=Release ..

[ 54%] Building CXX object projects/compiler-rt/lib/asan/CMakeFiles/RTAsan.iossim.dir/asan_allocator2.cc.o
cd /sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build/projects/compiler-rt/lib/asan && /sw/var/lib/fink/path-prefix-clang/c++ -DASAN_FLEXIBLE_MAPPING_AND_OFFSET=1 -DASAN_HAS_EXCEPTIONS=1 -DASAN_NEEDS_SEGV=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -O3 -DNDEBUG -arch x86_64 -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -mmacosx-version-min=10.8 -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build/projects/compiler-rt/lib/asan -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/lib/asan -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build/include -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/include -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/include -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/lib/asan/.. -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fno-stack-protector -Wno-gnu -fvisibility=hidden -O3 -gline-tables-only -Wno-variadic-macros -Wno-c99-extensions -Wno-non-virtual-dtor -fno-rtti -mios-simulator-version-min=7.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk -o CMakeFiles/RTAsan.iossim.dir/asan_allocator2.cc.o -c /sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/lib/asan/asan_allocator2.cc
clang: error: invalid argument '-mmacosx-version-min=10.8' not allowed with '-mios-simulator-version-min=7.0'
clang: error: invalid argument '-mmacosx-version-min=10.8' not allowed with '-mios-simulator-version-min=7.0'
make[2]: *** [projects/compiler-rt/lib/asan/CMakeFiles/RTAsan.iossim.dir/asan_allocator2.cc.o] Error 1
make[1]: *** [projects/compiler-rt/lib/asan/CMakeFiles/RTAsan.iossim.dir/all] Error 2
make: *** [all] Error 2
### execution of /tmp/fink.lUrKE failed, exit code 2
### execution of /tmp/fink.kVn0V failed, exit code 2

> Good day!
>
> This is just a reminder that branching for the 3.4 release will occur at
this time:
>
> Monday, November 18, 2013 at 7:00:00 PM PST / Tuesday, November
19, 2013 at 3:00:00 AM UTC
>
> What this means for you!
> ------------------------
>
> * Please keep the release notes up to date -- There has been very few
commits to them. Please be proactive and update them with any significant
feature that was put in.
>
> * Keep the tree healthy -- Pay attention to buildbot failures and
regressions and fix them as quickly as possible.
>
> * Finish your features -- The 18th won't be the final day to submit
code, but you should have a significant portion of the feature finished by
then. I.e., a few minor changes, bug fixes, and clean ups. If you're going
to be late with your feature, please let me know ahead of time and we can
figure something out.
>
> * Fix bugs -- Go through the bug database and find those PRs which you
can fix easily. If a PR is a release blockers, then ask the code owner to
bump up the priority.
>
> This should be a wicked awesome release! :slight_smile:
>
> Share and enjoy!
> -bw

Current llvm/compiler-rt/clang svn is still broken on x86_64 darwin13 here
for a build with...

cmake -DLLVM_BUILD_32_BITS:BOOL=OFF -DLLVM_TARGETS_TO_BUILD=X86
-DCMAKE_INSTALL_PREFIX=/sw/opt/llvm-3.4 -DLLVM_ENABLE_ASSERTIONS=OFF
-DCMAKE_BUILD_TYPE=Release ..

[ 54%] Building CXX object
projects/compiler-rt/lib/asan/CMakeFiles/RTAsan.iossim.dir/asan_allocator2.cc.o
cd
/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build/projects/compiler-rt/lib/asan
&& /sw/var/lib/fink/path-prefix-clang/c++
-DASAN_FLEXIBLE_MAPPING_AND_OFFSET=1 -DASAN_HAS_EXCEPTIONS=1
-DASAN_NEEDS_SEGV=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
-D__STDC_LIMIT_MACROS -fPIC -fvisibility-inlines-hidden -Wall -W
-Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers
-pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -O3
-DNDEBUG -arch x86_64 -arch i386 -isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
-mmacosx-version-min=10.8
-I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build/projects/compiler-rt/lib/asan
-I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/lib/asan
-I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build/include
-I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/include
-I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/include
-I/sw/src/fink.build/llvm34-3.4!
-0/llvm-3.4/projects/compiler-rt/lib/asan/.. -fPIC -fno-builtin
-fno-exceptions -fomit-frame-pointer -funwind-tables -fno-stack-protector
-Wno-gnu -fvisibility=hidden -O3 -gline-tables-only -Wno-variadic-macros
-Wno-c99-extensions -Wno-non-virtual-dtor -fno-rtti
-mios-simulator-version-min=7.0 -isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk
-o CMakeFiles/RTAsan.iossim.dir/asan_allocator2.cc.o -c
/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/lib/asan/asan_allocator2.cc
clang: error: invalid argument '-mmacosx-version-min=10.8' not allowed
with '-mios-simulator-version-min=7.0'
clang: error: invalid argument '-mmacosx-version-min=10.8' not allowed
with '-mios-simulator-version-min=7.0'
make[2]: ***
[projects/compiler-rt/lib/asan/CMakeFiles/RTAsan.iossim.dir/asan_allocator2.cc.o]
Error 1
make[1]: ***
[projects/compiler-rt/lib/asan/CMakeFiles/RTAsan.iossim.dir/all] Error 2
make: *** [all] Error 2
### execution of /tmp/fink.lUrKE failed, exit code 2
### execution of /tmp/fink.kVn0V failed, exit code 2

+glider
Should we improve the value of -mios-simulator-version-min if user provides
its own mmacosx-version-min, as in this case?

Jack,

Where do the "-isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
-mmacosx-version-min=10.8" flags come from? I don't see them in your
CMake invocation - perhaps they're added via $CC or $CFLAGS? Is this
being done on purpose?

I can add a CMake step checking whether the current CFLAGS/LDFLAGS
allow to build an iossim binary, and skip building the iossim runtime
if that's impossible.
But in that case your compiler won't be able to build the iossim runtime at all.

Alex

Jack,

Where do the "-isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
-mmacosx-version-min=10.8" flags come from? I don't see them in your
CMake invocation - perhaps they're added via $CC or $CFLAGS? Is this
being done on purpose?

In the llvm-3.4 toplevel Makefile.rules file, I see...

ifeq ($(HOST_OS),Darwin)
ifdef MACOSX_DEPLOYMENT_TARGET
  DARWIN_VERSION := $(MACOSX_DEPLOYMENT_TARGET)
else
  DARWIN_VERSION := `sw_vers -productVersion`
endif
  # Strip a number like 10.4.7 to 10.4
  DARWIN_VERSION := $(shell echo $(DARWIN_VERSION)| sed -E 's/(10.[0-9]).*/\1/')
  # Get "4" out of 10.4 for later pieces in the makefile.
  DARWIN_MAJVERS := $(shell echo $(DARWIN_VERSION)| sed -E 's/10.([0-9]).*/\1/')

  LoadableModuleOptions := -Wl,-flat_namespace -Wl,-undefined,suppress
  SharedLinkOptions := -dynamiclib
  ifdef DEPLOYMENT_TARGET
    SharedLinkOptions += $(DEPLOYMENT_TARGET)
  else
    ifneq ($(ARCH),ARM)
      SharedLinkOptions += -mmacosx-version-min=$(DARWIN_VERSION)
    endif
  endif
else
  SharedLinkOptions=-shared
endif

ifeq ($(TARGET_OS),Darwin)
  ifdef DEPLOYMENT_TARGET
    TargetCommonOpts += $(DEPLOYMENT_TARGET)
  else
    ifneq ($(ARCH),ARM)
      TargetCommonOpts += -mmacosx-version-min=$(DARWIN_VERSION)
    endif
  endif
endif

This file is for configure+make build, not CMake, so I'm not sure why
it's being included into your build (these failures aren't
reproducible for me).
Can you please list the exact steps you're doing to build LLVM with
CMake and make sure you don't have additional CFLAGS (LDFLAGS etc)
defined?

This file is for configure+make build, not CMake, so I'm not sure why
it's being included into your build (these failures aren't
reproducible for me).
Can you please list the exact steps you're doing to build LLVM with
CMake and make sure you don't have additional CFLAGS (LDFLAGS etc)
defined?

Alexander,
     On fink, we having building llvm svn as follows for years without issue...

cd llvm-3.4
mv ../clang-3.4 tools/clang
mv ../compiler-rt-3.4 projects/compiler-rt
mv ../test-suite-3.4 projects/test-suite
mkdir build
pushd build
/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build /sw/src/fink.build/llvm34-3.4-0/llvm-3.4
  cmake $CMAKE_OPTIONS -DCMAKE_INSTALL_PREFIX=/sw/opt/llvm-3.4 -DLLVM_ENABLE_ASSERTIONS=OFF -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is Clang 5.0.0
-- The CXX compiler identification is Clang 5.0.0
-- Check for working C compiler: /sw/var/lib/fink/path-prefix-clang/cc
-- Check for working C compiler: /sw/var/lib/fink/path-prefix-clang/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /sw/var/lib/fink/path-prefix-clang/c++
-- Check for working CXX compiler: /sw/var/lib/fink/path-prefix-clang/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for C++ include cxxabi.h
-- Looking for C++ include cxxabi.h - found
-- Looking for dirent.h
-- Looking for dirent.h - found
-- Looking for dlfcn.h
-- Looking for dlfcn.h - found
-- Looking for errno.h
-- Looking for errno.h - found
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Looking for fcntl.h
-- Looking for fcntl.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for limits.h
-- Looking for limits.h - found
-- Looking for malloc.h
-- Looking for malloc.h - not found
-- Looking for malloc/malloc.h
-- Looking for malloc/malloc.h - found
-- Looking for ndir.h
-- Looking for ndir.h - not found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for sanitizer/msan_interface.h
-- Looking for sanitizer/msan_interface.h - not found
-- Looking for signal.h
-- Looking for signal.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for sys/dir.h
-- Looking for sys/dir.h - found
-- Looking for sys/ioctl.h
-- Looking for sys/ioctl.h - found
-- Looking for sys/mman.h
-- Looking for sys/mman.h - found
-- Looking for sys/ndir.h
-- Looking for sys/ndir.h - not found
-- Looking for sys/param.h
-- Looking for sys/param.h - found
-- Looking for sys/resource.h
-- Looking for sys/resource.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for sys/uio.h
-- Looking for sys/uio.h - found
-- Looking for sys/wait.h
-- Looking for sys/wait.h - found
-- Looking for termios.h
-- Looking for termios.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for utime.h
-- Looking for utime.h - found
-- Looking for valgrind/valgrind.h
-- Looking for valgrind/valgrind.h - not found
-- Looking for zlib.h
-- Looking for zlib.h - found
-- Looking for fenv.h
-- Looking for fenv.h - found
-- Looking for FE_ALL_EXCEPT
-- Looking for FE_ALL_EXCEPT - found
-- Looking for FE_INEXACT
-- Looking for FE_INEXACT - found
-- Looking for mach/mach.h
-- Looking for mach/mach.h - found
-- Looking for mach-o/dyld.h
-- Looking for mach-o/dyld.h - found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Looking for pthread_getspecific in pthread
-- Looking for pthread_getspecific in pthread - found
-- Looking for pthread_rwlock_init in pthread
-- Looking for pthread_rwlock_init in pthread - found
-- Looking for pthread_mutex_lock in pthread
-- Looking for pthread_mutex_lock in pthread - found
-- Looking for dlopen in dl
-- Looking for dlopen in dl - found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - not found
-- Looking for compress2 in z
-- Looking for compress2 in z - found
-- Looking for setupterm in tinfo
-- Looking for setupterm in tinfo - not found
-- Looking for setupterm in terminfo
-- Looking for setupterm in terminfo - not found
-- Looking for setupterm in curses
-- Looking for setupterm in curses - found
-- Looking for arc4random
-- Looking for arc4random - found
-- Looking for backtrace
-- Looking for backtrace - found
-- Looking for getpagesize
-- Looking for getpagesize - found
-- Looking for getrusage
-- Looking for getrusage - found
-- Looking for setrlimit
-- Looking for setrlimit - found
-- Looking for isatty
-- Looking for isatty - found
-- Looking for isinf
-- Looking for isinf - not found
-- Looking for isinf
-- Looking for isinf - found
-- Looking for finite
-- Looking for finite - not found
-- Looking for isnan
-- Looking for isnan - not found
-- Looking for isnan
-- Looking for isnan - found
-- Looking for ceilf
-- Looking for ceilf - found
-- Looking for floorf
-- Looking for floorf - found
-- Looking for fmodf
-- Looking for fmodf - found
-- Looking for log
-- Looking for log - found
-- Looking for log2
-- Looking for log2 - found
-- Looking for log10
-- Looking for log10 - found
-- Looking for exp
-- Looking for exp - found
-- Looking for exp2
-- Looking for exp2 - found
-- Looking for exp10
-- Looking for exp10 - not found
-- Looking for futimens
-- Looking for futimens - not found
-- Looking for futimes
-- Looking for futimes - found
-- Looking for writev
-- Looking for writev - found
-- Looking for nearbyintf
-- Looking for nearbyintf - found
-- Looking for mallinfo
-- Looking for mallinfo - not found
-- Looking for malloc_zone_statistics
-- Looking for malloc_zone_statistics - found
-- Looking for mkdtemp
-- Looking for mkdtemp - found
-- Looking for mkstemp
-- Looking for mkstemp - found
-- Looking for mktemp
-- Looking for mktemp - found
-- Looking for closedir
-- Looking for closedir - found
-- Looking for opendir
-- Looking for opendir - found
-- Looking for readdir
-- Looking for readdir - found
-- Looking for getcwd
-- Looking for getcwd - found
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for getrlimit
-- Looking for getrlimit - found
-- Looking for posix_spawn
-- Looking for posix_spawn - found
-- Looking for pread
-- Looking for pread - found
-- Looking for realpath
-- Looking for realpath - found
-- Looking for sbrk
-- Looking for sbrk - found
-- Looking for srand48
-- Looking for srand48 - found
-- Looking for lrand48
-- Looking for lrand48 - found
-- Looking for drand48
-- Looking for drand48 - found
-- Looking for strtoll
-- Looking for strtoll - found
-- Looking for strtoq
-- Looking for strtoq - found
-- Looking for strerror
-- Looking for strerror - found
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Looking for strerror_s
-- Looking for strerror_s - not found
-- Looking for setenv
-- Looking for setenv - found
-- Looking for dlerror
-- Looking for dlerror - found
-- Looking for dlopen
-- Looking for dlopen - found
-- Looking for __GLIBC__
-- Looking for __GLIBC__ - not found
-- Performing Test HAVE_INT64_T
-- Performing Test HAVE_INT64_T - Success
-- Performing Test HAVE_UINT64_T
-- Performing Test HAVE_UINT64_T - Success
-- Performing Test HAVE_U_INT64_T
-- Performing Test HAVE_U_INT64_T - Success
-- Performing Test LLVM_HAS_ATOMICS
-- Performing Test LLVM_HAS_ATOMICS - Success
-- Found LibXml2: /sw/lib/libxml2.dylib (found version "2.9.1")
-- Performing Test SUPPORTS_NO_VARIADIC_MACROS_FLAG
-- Performing Test SUPPORTS_NO_VARIADIC_MACROS_FLAG - Success
-- Target triple: x86_64-apple-darwin12.5.0
-- Native target architecture is X86
-- Threads enabled.
-- Doxygen disabled.
-- Performing Test C_SUPPORTS_FLAG
-- Performing Test C_SUPPORTS_FLAG - Success
-- Performing Test CXX_SUPPORTS_FLAG
-- Performing Test CXX_SUPPORTS_FLAG - Success
-- Building with -fPIC
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success
-- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG
-- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG - Success
-- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
-- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Success
-- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
-- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Success
-- Performing Test CXX_SUPPORTS_NON_VIRTUAL_DTOR_FLAG
-- Performing Test CXX_SUPPORTS_NON_VIRTUAL_DTOR_FLAG - Success
-- Found PythonInterp: /usr/bin/python (found version "2.7.2")
-- Constructing LLVMBuild project information
-- Targeting X86
-- Performing Test SUPPORTS_GLINE_TABLES_ONLY_FLAG
-- Performing Test SUPPORTS_GLINE_TABLES_ONLY_FLAG - Success
-- Performing Test SUPPORTS_NO_C99_EXTENSIONS_FLAG
-- Performing Test SUPPORTS_NO_C99_EXTENSIONS_FLAG - Success
-- Performing Test SUPPORTS_NO_NON_VIRTUAL_DTOR_FLAG
-- Performing Test SUPPORTS_NO_NON_VIRTUAL_DTOR_FLAG - Success
-- Performing Test SUPPORTS_GLOBAL_CONSTRUCTORS_FLAG
-- Performing Test SUPPORTS_GLOBAL_CONSTRUCTORS_FLAG - Success
-- Clang version: 3.4
-- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG
-- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG - Success
-- Found Subversion: /usr/bin/svn (found version "1.7.10")
-- Configuring done
-- Generating done
-- Build files have been written to: /sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build
make -j1 VERBOSE=1

The fink build system doesn't set CFLAGS or CXXFLAGS but does set CPPFLAGS to "-I/sw/include"
and LDFLAGS to "-L/sw/lib". MACOSX_DEPLOYMENT_TARGET is set to "10.8" during the build on
darwin12.
   If I use...

cmake -DLLVM_BUILD_32_BITS:BOOL=OFF -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_INSTALL_PREFIX=%p/opt/llvm-%v -DLLVM_ENABLE_ASSERTIONS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT:STRING=/ -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING="" ..

...the build completes but setting -DCMAKE_OSX_DEPLOYMENT_TARGET to a null string hasn't been required in the past. What happens to your
cmake build if you set the MACOSX_DEPLOYMENT_TARGET target environmental? You should see the failure...

[ 54%] Building CXX object projects/compiler-rt/lib/asan/CMakeFiles/RTAsan.iossim.dir/asan_allocator2.cc.o
cd /sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build/projects/compiler-rt/lib/asan && /sw/var/lib/fink/path-prefix-clang/c++ -DASAN_FLEXIBLE_MAPPING_AND_OFFSET=1 -DASAN_HAS_EXCEPTIONS=1 -DASAN_NEEDS_SEGV=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -O3 -DNDEBUG -arch x86_64 -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -mmacosx-version-min=10.8 -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build/projects/compiler-rt/lib/asan -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/lib/asan -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build/include -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/include -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/include -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/lib/asan/.. -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fno-stack-protector -Wno-gnu -fvisibility=hidden -O3 -gline-tables-only -Wno-variadic-macros -Wno-c99-extensions -Wno-non-virtual-dtor -fno-rtti -mios-simulator-version-min=7.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk -o CMakeFiles/RTAsan.iossim.dir/asan_allocator2.cc.o -c /sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/lib/asan/asan_allocator2.cc
clang: error: invalid argument '-mmacosx-version-min=10.8' not allowed with '-mios-simulator-version-min=7.0'
clang: error: invalid argument '-mmacosx-version-min=10.8' not allowed with '-mios-simulator-version-min=7.0'
make[2]: *** [projects/compiler-rt/lib/asan/CMakeFiles/RTAsan.iossim.dir/asan_allocator2.cc.o] Error 1
make[1]: *** [projects/compiler-rt/lib/asan/CMakeFiles/RTAsan.iossim.dir/all] Error 2
make: *** [all] Error 2
### execution of /tmp/fink.ltKmc failed, exit code 2
### execution of /tmp/fink.kDaoC failed, exit code 2

        Jack
ps This is using the current release of cmake which is cmake 2.8.12.

> This file is for configure+make build, not CMake, so I'm not sure why
> it's being included into your build (these failures aren't
> reproducible for me).
> Can you please list the exact steps you're doing to build LLVM with
> CMake and make sure you don't have additional CFLAGS (LDFLAGS etc)
> defined?

Alexander,
     On fink, we having building llvm svn as follows for years without issue...

cd llvm-3.4
mv ../clang-3.4 tools/clang
mv ../compiler-rt-3.4 projects/compiler-rt
mv ../test-suite-3.4 projects/test-suite
mkdir build
pushd build
/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build /sw/src/fink.build/llvm34-3.4-0/llvm-3.4
  cmake $CMAKE_OPTIONS -DCMAKE_INSTALL_PREFIX=/sw/opt/llvm-3.4 -DLLVM_ENABLE_ASSERTIONS=OFF -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is Clang 5.0.0
-- The CXX compiler identification is Clang 5.0.0
-- Check for working C compiler: /sw/var/lib/fink/path-prefix-clang/cc
-- Check for working C compiler: /sw/var/lib/fink/path-prefix-clang/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /sw/var/lib/fink/path-prefix-clang/c++
-- Check for working CXX compiler: /sw/var/lib/fink/path-prefix-clang/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for C++ include cxxabi.h
-- Looking for C++ include cxxabi.h - found
-- Looking for dirent.h
-- Looking for dirent.h - found
-- Looking for dlfcn.h
-- Looking for dlfcn.h - found
-- Looking for errno.h
-- Looking for errno.h - found
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Looking for fcntl.h
-- Looking for fcntl.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for limits.h
-- Looking for limits.h - found
-- Looking for malloc.h
-- Looking for malloc.h - not found
-- Looking for malloc/malloc.h
-- Looking for malloc/malloc.h - found
-- Looking for ndir.h
-- Looking for ndir.h - not found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for sanitizer/msan_interface.h
-- Looking for sanitizer/msan_interface.h - not found
-- Looking for signal.h
-- Looking for signal.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for sys/dir.h
-- Looking for sys/dir.h - found
-- Looking for sys/ioctl.h
-- Looking for sys/ioctl.h - found
-- Looking for sys/mman.h
-- Looking for sys/mman.h - found
-- Looking for sys/ndir.h
-- Looking for sys/ndir.h - not found
-- Looking for sys/param.h
-- Looking for sys/param.h - found
-- Looking for sys/resource.h
-- Looking for sys/resource.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for sys/uio.h
-- Looking for sys/uio.h - found
-- Looking for sys/wait.h
-- Looking for sys/wait.h - found
-- Looking for termios.h
-- Looking for termios.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for utime.h
-- Looking for utime.h - found
-- Looking for valgrind/valgrind.h
-- Looking for valgrind/valgrind.h - not found
-- Looking for zlib.h
-- Looking for zlib.h - found
-- Looking for fenv.h
-- Looking for fenv.h - found
-- Looking for FE_ALL_EXCEPT
-- Looking for FE_ALL_EXCEPT - found
-- Looking for FE_INEXACT
-- Looking for FE_INEXACT - found
-- Looking for mach/mach.h
-- Looking for mach/mach.h - found
-- Looking for mach-o/dyld.h
-- Looking for mach-o/dyld.h - found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Looking for pthread_getspecific in pthread
-- Looking for pthread_getspecific in pthread - found
-- Looking for pthread_rwlock_init in pthread
-- Looking for pthread_rwlock_init in pthread - found
-- Looking for pthread_mutex_lock in pthread
-- Looking for pthread_mutex_lock in pthread - found
-- Looking for dlopen in dl
-- Looking for dlopen in dl - found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - not found
-- Looking for compress2 in z
-- Looking for compress2 in z - found
-- Looking for setupterm in tinfo
-- Looking for setupterm in tinfo - not found
-- Looking for setupterm in terminfo
-- Looking for setupterm in terminfo - not found
-- Looking for setupterm in curses
-- Looking for setupterm in curses - found
-- Looking for arc4random
-- Looking for arc4random - found
-- Looking for backtrace
-- Looking for backtrace - found
-- Looking for getpagesize
-- Looking for getpagesize - found
-- Looking for getrusage
-- Looking for getrusage - found
-- Looking for setrlimit
-- Looking for setrlimit - found
-- Looking for isatty
-- Looking for isatty - found
-- Looking for isinf
-- Looking for isinf - not found
-- Looking for isinf
-- Looking for isinf - found
-- Looking for finite
-- Looking for finite - not found
-- Looking for isnan
-- Looking for isnan - not found
-- Looking for isnan
-- Looking for isnan - found
-- Looking for ceilf
-- Looking for ceilf - found
-- Looking for floorf
-- Looking for floorf - found
-- Looking for fmodf
-- Looking for fmodf - found
-- Looking for log
-- Looking for log - found
-- Looking for log2
-- Looking for log2 - found
-- Looking for log10
-- Looking for log10 - found
-- Looking for exp
-- Looking for exp - found
-- Looking for exp2
-- Looking for exp2 - found
-- Looking for exp10
-- Looking for exp10 - not found
-- Looking for futimens
-- Looking for futimens - not found
-- Looking for futimes
-- Looking for futimes - found
-- Looking for writev
-- Looking for writev - found
-- Looking for nearbyintf
-- Looking for nearbyintf - found
-- Looking for mallinfo
-- Looking for mallinfo - not found
-- Looking for malloc_zone_statistics
-- Looking for malloc_zone_statistics - found
-- Looking for mkdtemp
-- Looking for mkdtemp - found
-- Looking for mkstemp
-- Looking for mkstemp - found
-- Looking for mktemp
-- Looking for mktemp - found
-- Looking for closedir
-- Looking for closedir - found
-- Looking for opendir
-- Looking for opendir - found
-- Looking for readdir
-- Looking for readdir - found
-- Looking for getcwd
-- Looking for getcwd - found
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for getrlimit
-- Looking for getrlimit - found
-- Looking for posix_spawn
-- Looking for posix_spawn - found
-- Looking for pread
-- Looking for pread - found
-- Looking for realpath
-- Looking for realpath - found
-- Looking for sbrk
-- Looking for sbrk - found
-- Looking for srand48
-- Looking for srand48 - found
-- Looking for lrand48
-- Looking for lrand48 - found
-- Looking for drand48
-- Looking for drand48 - found
-- Looking for strtoll
-- Looking for strtoll - found
-- Looking for strtoq
-- Looking for strtoq - found
-- Looking for strerror
-- Looking for strerror - found
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Looking for strerror_s
-- Looking for strerror_s - not found
-- Looking for setenv
-- Looking for setenv - found
-- Looking for dlerror
-- Looking for dlerror - found
-- Looking for dlopen
-- Looking for dlopen - found
-- Looking for __GLIBC__
-- Looking for __GLIBC__ - not found
-- Performing Test HAVE_INT64_T
-- Performing Test HAVE_INT64_T - Success
-- Performing Test HAVE_UINT64_T
-- Performing Test HAVE_UINT64_T - Success
-- Performing Test HAVE_U_INT64_T
-- Performing Test HAVE_U_INT64_T - Success
-- Performing Test LLVM_HAS_ATOMICS
-- Performing Test LLVM_HAS_ATOMICS - Success
-- Found LibXml2: /sw/lib/libxml2.dylib (found version "2.9.1")
-- Performing Test SUPPORTS_NO_VARIADIC_MACROS_FLAG
-- Performing Test SUPPORTS_NO_VARIADIC_MACROS_FLAG - Success
-- Target triple: x86_64-apple-darwin12.5.0
-- Native target architecture is X86
-- Threads enabled.
-- Doxygen disabled.
-- Performing Test C_SUPPORTS_FLAG
-- Performing Test C_SUPPORTS_FLAG - Success
-- Performing Test CXX_SUPPORTS_FLAG
-- Performing Test CXX_SUPPORTS_FLAG - Success
-- Building with -fPIC
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success
-- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG
-- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG - Success
-- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
-- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Success
-- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
-- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Success
-- Performing Test CXX_SUPPORTS_NON_VIRTUAL_DTOR_FLAG
-- Performing Test CXX_SUPPORTS_NON_VIRTUAL_DTOR_FLAG - Success
-- Found PythonInterp: /usr/bin/python (found version "2.7.2")
-- Constructing LLVMBuild project information
-- Targeting X86
-- Performing Test SUPPORTS_GLINE_TABLES_ONLY_FLAG
-- Performing Test SUPPORTS_GLINE_TABLES_ONLY_FLAG - Success
-- Performing Test SUPPORTS_NO_C99_EXTENSIONS_FLAG
-- Performing Test SUPPORTS_NO_C99_EXTENSIONS_FLAG - Success
-- Performing Test SUPPORTS_NO_NON_VIRTUAL_DTOR_FLAG
-- Performing Test SUPPORTS_NO_NON_VIRTUAL_DTOR_FLAG - Success
-- Performing Test SUPPORTS_GLOBAL_CONSTRUCTORS_FLAG
-- Performing Test SUPPORTS_GLOBAL_CONSTRUCTORS_FLAG - Success
-- Clang version: 3.4
-- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG
-- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG - Success
-- Found Subversion: /usr/bin/svn (found version "1.7.10")
-- Configuring done
-- Generating done
-- Build files have been written to: /sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build
make -j1 VERBOSE=1

The fink build system doesn't set CFLAGS or CXXFLAGS but does set CPPFLAGS to "-I/sw/include"
and LDFLAGS to "-L/sw/lib". MACOSX_DEPLOYMENT_TARGET is set to "10.8" during the build on
darwin12.
   If I use...

cmake -DLLVM_BUILD_32_BITS:BOOL=OFF -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_INSTALL_PREFIX=%p/opt/llvm-%v -DLLVM_ENABLE_ASSERTIONS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT:STRING=/ -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING="" ..

Just to clarify, on darwin with cmake builds...

-DCMAKE_OSX_SYSROOT:STRING=/ -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=""

...is usually only used in packaging scripts to handle the case where the Command Line Tools is installed but the
matching Xcode.app isn't present in /Applications. This is because cmake builds often can't find the headers if
MACOSX_DEPLOYMENT_TARGET is set but the matching SDK isn't present in...

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs

This issue hasn't arisen in the past in the llvm builds.

+Bob Wilson

I don’t know if this is a recent Apple regression, or if it’s now catching something which had always been invalid.

-bw

I’ve added the code building the iossim runtime recently. We can disable that part when -mmacosx is enforced. But it’s harder to make the buildsystem ignore -mmacosx when building for iossim.