diff --git a/core/cxx_stl_setup.mk b/core/cxx_stl_setup.mk index f07659d4f..5171b8a9a 100644 --- a/core/cxx_stl_setup.mk +++ b/core/cxx_stl_setup.mk @@ -74,6 +74,16 @@ my_cxx_ldlibs := ifneq ($(filter $(my_cxx_stl),libc++ libc++_static),) my_cflags += -D_USING_LIBCXX + ifeq ($($(my_prefix)OS),darwin) + # libc++'s headers are annotated with availability macros that indicate + # which version of Mac OS was the first to ship with a libc++ feature + # available in its *system's* libc++.dylib. We do not use the system's + # library, but rather ship our own. As such, these availability + # attributes are meaningless for us but cause build breaks when we try + # to use code that would not be available in the system's dylib. + my_cppflags += -D_LIBCPP_DISABLE_AVAILABILITY + endif + # Note that the structure of this means that LOCAL_CXX_STL := libc++ will # use the static libc++ for static executables. ifeq ($(my_link_type),dynamic)