Add --build-tests command line option.
This commit is contained in:
54
emsdk
54
emsdk
@@ -48,8 +48,12 @@ CPU_CORES = max(multiprocessing.cpu_count()-1, 1) # Don't saturate all cores to
|
||||
|
||||
CMAKE_BUILD_TYPE_OVERRIDE = None
|
||||
|
||||
# If true, perform a --shallow clone of git.
|
||||
GIT_CLONE_SHALLOW = False
|
||||
|
||||
# If true, LLVM backend is built with tests enabled.
|
||||
BUILD_LLVM_TESTS = False
|
||||
|
||||
emscripten_config_directory = os.path.expanduser("~/")
|
||||
|
||||
EMSDK_SET_ENV = 'emsdk_set_env.bat' if WINDOWS else 'emsdk_set_env.sh'
|
||||
@@ -607,8 +611,10 @@ def build_fastcomp_tool(tool):
|
||||
build_type = decide_cmake_build_type(tool)
|
||||
|
||||
# Configure
|
||||
success = cmake_configure(cmake_generator, build_root, fastcomp_src_root, build_type, ['-DLLVM_TARGETS_TO_BUILD=X86;JSBackend',
|
||||
'-DLLVM_INCLUDE_EXAMPLES=OFF', '-DLLVM_INCLUDE_TESTS=OFF', '-DCLANG_INCLUDE_EXAMPLES=OFF', '-DCLANG_INCLUDE_TESTS=OFF'])
|
||||
global BUILD_LLVM_TESTS
|
||||
tests_arg = 'ON' if BUILD_LLVM_TESTS else 'OFF'
|
||||
args = ['-DLLVM_TARGETS_TO_BUILD=X86;JSBackend', '-DLLVM_INCLUDE_EXAMPLES=OFF', '-DCLANG_INCLUDE_EXAMPLES=OFF', '-DLLVM_INCLUDE_TESTS=' + tests_arg, '-DCLANG_INCLUDE_TESTS=' + tests_arg]
|
||||
success = cmake_configure(cmake_generator, build_root, fastcomp_src_root, build_type, args)
|
||||
if not success: return False
|
||||
|
||||
# Make
|
||||
@@ -1452,23 +1458,35 @@ def main():
|
||||
emsdk update - Fetches a list of updates from the net (but
|
||||
does not install them)
|
||||
|
||||
emsdk install [-j<num>] [--build=type] [--shallow] <tool 1> <tool 2> ...
|
||||
emsdk install [options] <tool 1> <tool 2> <tool 3> ...
|
||||
- Downloads and installs given tools or SDKs.
|
||||
An optional -j<num> specifier can be used to
|
||||
specify the number of cores to use when
|
||||
building the tool. (default: use one less
|
||||
than the # of detected cores)
|
||||
Options can contain:
|
||||
|
||||
When installing tools from one of the git
|
||||
-j<num>: Specifies the number of cores to use when
|
||||
building the tool. Default: use one less
|
||||
than the # of detected cores.
|
||||
|
||||
--build=<type>: Controls what kind of build of LLVM to
|
||||
perform. Pass either 'Debug', 'Release',
|
||||
'MinSizeRel' or 'RelWithDebInfo'. Default:
|
||||
'Release' for LLVM master branch, and
|
||||
'RelWithDebInfo' for LLVM incoming branch.
|
||||
|
||||
--shallow: When installing tools from one of the git
|
||||
development branches 'master' or 'incoming',
|
||||
you can specify the --shallow parameter
|
||||
to perform a shallow git clone instead of a
|
||||
full one. This reduces the amount of network
|
||||
transfer that is needed. This option should
|
||||
only be used when you are interested in
|
||||
downloading one of the development branches,
|
||||
but are not looking to develop Emscripten
|
||||
yourself.
|
||||
this parameter can be passed to perform a
|
||||
shallow git clone instead of a full one.
|
||||
This reduces the amount of network transfer
|
||||
that is needed. This option should only be
|
||||
used when you are interested in downloading
|
||||
one of the development branches, but are not
|
||||
looking to develop Emscripten yourself.
|
||||
Default: disabled, i.e. do a full clone.
|
||||
|
||||
--build-tests: If enabled, LLVM is built with internal tests
|
||||
included. Pass this to enable running test
|
||||
other.test_llvm_lit in the Emscripten test
|
||||
suite. Default: disabled.
|
||||
|
||||
emsdk uninstall <tool/sdk> - Removes the given tool or SDK from disk.''')
|
||||
|
||||
@@ -1683,6 +1701,10 @@ def main():
|
||||
global GIT_CLONE_SHALLOW
|
||||
GIT_CLONE_SHALLOW = True
|
||||
sys.argv[i] = ''
|
||||
elif sys.argv[i] == '--build-tests':
|
||||
global BUILD_LLVM_TESTS
|
||||
BUILD_LLVM_TESTS = True
|
||||
sys.argv[i] = ''
|
||||
sys.argv = [x for x in sys.argv if not len(x) == 0]
|
||||
if len(sys.argv) <= 2:
|
||||
print("Missing parameter. Type 'emsdk install <tool name>' to install a tool or an SDK. Type 'emsdk list' to obtain a list of available tools. Type 'emsdk install latest' to automatically install the newest version of the SDK.")
|
||||
|
||||
Reference in New Issue
Block a user