Pass -DHAVE_FUTIMENS=0 when building with old macOS < 10.13 SDK to avoid LLVM build system issue
This commit is contained in:
13
emsdk
13
emsdk
@@ -782,6 +782,12 @@ def cmake_configure(generator, build_root, src_root, build_type, extra_cmake_arg
|
|||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def xcode_sdk_version():
|
||||||
|
try:
|
||||||
|
return subprocess.check_output(['xcrun', '--show-sdk-version']).strip().split('.')
|
||||||
|
except:
|
||||||
|
return subprocess.checkplatform.mac_ver()[0].split('.')
|
||||||
|
|
||||||
def build_fastcomp_tool(tool):
|
def build_fastcomp_tool(tool):
|
||||||
if VERBOSE: print('build_fastcomp_tool(' + str(tool) + ')')
|
if VERBOSE: print('build_fastcomp_tool(' + str(tool) + ')')
|
||||||
fastcomp_root = tool.installation_path()
|
fastcomp_root = tool.installation_path()
|
||||||
@@ -820,6 +826,13 @@ def build_fastcomp_tool(tool):
|
|||||||
extra_args = os.environ['LLVM_CMAKE_ARGS'].split(',')
|
extra_args = os.environ['LLVM_CMAKE_ARGS'].split(',')
|
||||||
print('Passing the following extra arguments to LLVM CMake configuration: ' + str(extra_args))
|
print('Passing the following extra arguments to LLVM CMake configuration: ' + str(extra_args))
|
||||||
args += extra_args
|
args += extra_args
|
||||||
|
|
||||||
|
# MacOS < 10.13 workaround for LLVM build bug https://github.com/kripken/emscripten/issues/5418:
|
||||||
|
# specify HAVE_FUTIMENS=0 in the build if building with target SDK that is older than 10.13.
|
||||||
|
if OSX and (not os.environ.get('LLVM_CMAKE_ARGS') or not 'HAVE_FUTIMENS' in os.environ.get('LLVM_CMAKE_ARGS')) and xcode_sdk_version() < [10,13]:
|
||||||
|
print('Passing -DHAVE_FUTIMENS=0 to LLVM CMake configure to workaround https://github.com/kripken/emscripten/issues/5418. Please update to macOS 10.13 or newer')
|
||||||
|
args += ['-DHAVE_FUTIMENS=0']
|
||||||
|
|
||||||
success = cmake_configure(cmake_generator, build_root, fastcomp_src_root, build_type, args)
|
success = cmake_configure(cmake_generator, build_root, fastcomp_src_root, build_type, args)
|
||||||
if not success: return False
|
if not success: return False
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user