Remove use of incoming branches (#423)

See https://github.com/emscripten-core/emscripten/issues/10067
This commit is contained in:
Sam Clegg
2020-01-14 13:59:15 -08:00
committed by GitHub
parent d30ba160ed
commit 3631f0aac3
3 changed files with 32 additions and 137 deletions

View File

@@ -131,7 +131,7 @@ categories.
To obtain and build latest upstream wasm SDK from source, run To obtain and build latest upstream wasm SDK from source, run
``` ```
emsdk install sdk-upstream-incoming-64bit emsdk install sdk-upstream-master-64bit
``` ```
You can use this target for example to bootstrap developing patches to LLVM, You can use this target for example to bootstrap developing patches to LLVM,
@@ -147,8 +147,8 @@ https://emscripten.org/docs/contributing/developers_guide.html?highlight=develop
### When working on git branches compiled from source, how do I update to a newer compiler version? ### When working on git branches compiled from source, how do I update to a newer compiler version?
Unlike tags and precompiled versions, a few of the SDK packages are based on Unlike tags and precompiled versions, a few of the SDK packages are based on
"moving" git branches and compiled from source (e.g. sdk-upstream-incoming, "moving" git branches and compiled from source (e.g. sdk-upstream-master,
sdk-incoming, emscripten-incoming, binaryen-master). Because of that, the sdk-master, emscripten-master, binaryen-master). Because of that, the
compiled versions will eventually go out of date as new commits are introduced compiled versions will eventually go out of date as new commits are introduced
to the development branches. To update an old compiled installation of one of to the development branches. To update an old compiled installation of one of
this branches, simply reissue the "emsdk install" command on that tool/SDK. This this branches, simply reissue the "emsdk install" command on that tool/SDK. This
@@ -190,14 +190,11 @@ where you directly interact with the github repositories. This allows you to
obtain new features and latest fixes immediately as they are pushed to the obtain new features and latest fixes immediately as they are pushed to the
github repository, without having to wait for release to be tagged. You do not github repository, without having to wait for release to be tagged. You do not
need a github account or a fork of Emscripten to do this. To switch to using the need a github account or a fork of Emscripten to do this. To switch to using the
latest upstream git development branch `incoming`, run the following: latest upstream git development branch `master`, run the following:
emsdk install git-1.9.4 # Install git. Skip if the system already has it. emsdk install git-1.9.4 # Install git. Skip if the system already has it.
emsdk install sdk-incoming-64bit # Clone+pull the latest kripken/emscripten/incoming. emsdk install sdk-upstream-master-64bit # Clone+pull the latest emscripten-core/emscripten/master.
emsdk activate sdk-incoming-64bit # Set the incoming SDK as the currently active one. emsdk activate sdk-upstream-master-64bit # Set the master SDK as the currently active one.
If you want to use the upstream stable branch `master`, then replace
`-incoming-` with `-master-` above.
### How do I use my own Emscripten github fork with the SDK? ### How do I use my own Emscripten github fork with the SDK?
@@ -207,16 +204,16 @@ acquainted with working on multiple remotes in a git clone, these steps should
be familiar to you. This is useful in the case when you want to make your own be familiar to you. This is useful in the case when you want to make your own
modifications to the Emscripten toolchain, but still keep using the SDK modifications to the Emscripten toolchain, but still keep using the SDK
environment and tools. To set up your own fork as the currently active environment and tools. To set up your own fork as the currently active
Emscripten toolchain, first install the `sdk-incoming` SDK like shown in the Emscripten toolchain, first install the `sdk-master` SDK like shown in the
previous section, and then run the following commands in the emsdk directory: previous section, and then run the following commands in the emsdk directory:
cd emscripten/incoming cd emscripten/master
# Add a git remote link to your own repository. # Add a git remote link to your own repository.
git remote add myremote https://github.com/mygituseraccount/emscripten.git git remote add myremote https://github.com/mygituseraccount/emscripten.git
# Obtain the changes in your link. # Obtain the changes in your link.
git fetch myremote git fetch myremote
# Switch the emscripten-incoming tool to use your fork. # Switch the emscripten-master tool to use your fork.
git checkout -b myincoming --track myremote/incoming git checkout -b mymaster --track myremote/master
In this way you can utilize the Emscripten SDK tools while using your own git In this way you can utilize the Emscripten SDK tools while using your own git
fork. You can switch back and forth between remotes via the `git checkout` fork. You can switch back and forth between remotes via the `git checkout`

View File

@@ -1711,7 +1711,7 @@ class Tool(object):
# directory where the compiler is built to, and installation_path is # directory where the compiler is built to, and installation_path is
# the directory where the source tree exists. To distinguish between # the directory where the source tree exists. To distinguish between
# multiple packages sharing the same source (clang-master-32bit, # multiple packages sharing the same source (clang-master-32bit,
# clang-master-64bit, clang-incoming-32bit and clang-incoming-64bit each # clang-master-64bit, clang-master-32bit and clang-master-64bit each
# share the same git repo), require that in addition to the installation # share the same git repo), require that in addition to the installation
# directory, each item in the activated PATH must exist. # directory, each item in the activated PATH must exist.
activated_path = self.expand_vars(self.activated_path).split(';') if hasattr(self, 'activated_path') else [self.installation_path()] activated_path = self.expand_vars(self.activated_path).split(';') if hasattr(self, 'activated_path') else [self.installation_path()]
@@ -2713,8 +2713,7 @@ def main():
--build=<type>: Controls what kind of build of LLVM to --build=<type>: Controls what kind of build of LLVM to
perform. Pass either 'Debug', 'Release', perform. Pass either 'Debug', 'Release',
'MinSizeRel' or 'RelWithDebInfo'. Default: 'MinSizeRel' or 'RelWithDebInfo'. Default:
'Release' for LLVM master branch, and 'RelWithDebInfo'.
'RelWithDebInfo' for LLVM incoming branch.
--generator=<type>: Specifies the CMake Generator to be used --generator=<type>: Specifies the CMake Generator to be used
during the build. Possible values are the during the build. Possible values are the
@@ -2725,15 +2724,15 @@ def main():
words, enclose with single or double quotes. words, enclose with single or double quotes.
--shallow: When installing tools from one of the git --shallow: When installing tools from one of the git
development branches 'master' or 'incoming', development branches, this parameter can be
this parameter can be passed to perform a passed to perform a shallow git clone instead
shallow git clone instead of a full one. of a full one. This reduces the amount of
This reduces the amount of network transfer network transfer that is needed. This option
that is needed. This option should only be should only be used when you are interested in
used when you are interested in downloading downloading one of the development branches,
one of the development branches, but are not but are not looking to develop Emscripten
looking to develop Emscripten yourself. yourself. Default: disabled, i.e. do a full
Default: disabled, i.e. do a full clone. clone.
--build-tests: If enabled, LLVM is built with internal tests --build-tests: If enabled, LLVM is built with internal tests
included. Pass this to enable running test included. Pass this to enable running test
@@ -2741,8 +2740,7 @@ def main():
suite. Default: disabled. suite. Default: disabled.
--enable-assertions: If specified, LLVM is built with assert() --enable-assertions: If specified, LLVM is built with assert()
checks enabled. Useful for development checks enabled. Useful for development
purposes. Default: Enabled for 'incoming' purposes. Default: Enabled
branch, disabled for 'master' branch.
--disable-assertions: Forces assertions off during the build. --disable-assertions: Forces assertions off during the build.
--vs2013/--vs2015/--vs2017: If building from source, overrides to build --vs2013/--vs2015/--vs2017: If building from source, overrides to build
@@ -2800,9 +2798,8 @@ def main():
MinSizeRel or RelWithDebInfo. Note: When overriding a custom build type, MinSizeRel or RelWithDebInfo. Note: When overriding a custom build type,
be sure to match the same --build= option to both 'install' and be sure to match the same --build= option to both 'install' and
'activate' commands and the invocation of 'emsdk_env', or otherwise 'activate' commands and the invocation of 'emsdk_env', or otherwise
these commands will default to operating on the default build types, these commands will default to operating on the default build type
which are Release for the 'master' SDK, and RelWithDebInfo for the which in and RelWithDebInfo.''')
'incoming' SDK.''')
return 1 return 1
# Extracts a boolean command line argument from sys.argv and returns True if it was present # Extracts a boolean command line argument from sys.argv and returns True if it was present
@@ -2859,28 +2856,18 @@ def main():
releases_info = load_releases_info()['releases'] releases_info = load_releases_info()['releases']
def report_upstream_by_default():
print('''\
** NOTICE **: The default SDK changed from `fastcomp` to `upstream`.
If you have problems, or wish to revert back to fastcomp for some other reason
you can add `-fastcomp` to explicitly install that fastcomp-based
SDK, .e.g ./emsdk install latest-fastcomp.
''', file=sys.stderr)
# Replace meta-packages with the real package names. # Replace meta-packages with the real package names.
if cmd in ('update', 'install', 'activate'): if cmd in ('update', 'install', 'activate'):
for i in range(2, len(sys.argv)): for i in range(2, len(sys.argv)):
arg = sys.argv[i] arg = sys.argv[i]
if arg in ('latest', 'sdk-latest', 'latest-64bit', 'sdk-latest-64bit'): if arg in ('latest', 'sdk-latest', 'latest-64bit', 'sdk-latest-64bit'):
# This is effectly the default SDK # This is effectly the default SDK
report_upstream_by_default()
sys.argv[i] = str(find_latest_releases_sdk('upstream')) sys.argv[i] = str(find_latest_releases_sdk('upstream'))
elif arg in ('latest-fastcomp', 'latest-releases-fastcomp'): elif arg in ('latest-fastcomp', 'latest-releases-fastcomp'):
sys.argv[i] = str(find_latest_releases_sdk('fastcomp')) sys.argv[i] = str(find_latest_releases_sdk('fastcomp'))
elif arg in ('latest-upstream', 'latest-clang-upstream', 'latest-releases-upstream'): elif arg in ('latest-upstream', 'latest-clang-upstream', 'latest-releases-upstream'):
sys.argv[i] = str(find_latest_releases_sdk('upstream')) sys.argv[i] = str(find_latest_releases_sdk('upstream'))
elif arg in ('tot', 'sdk-tot'): elif arg in ('tot', 'sdk-tot'):
report_upstream_by_default()
sys.argv[i] = str(find_tot_sdk('upstream')) sys.argv[i] = str(find_tot_sdk('upstream'))
elif arg == 'tot-upstream': elif arg == 'tot-upstream':
sys.argv[i] = str(find_tot_sdk('upstream')) sys.argv[i] = str(find_tot_sdk('upstream'))
@@ -2904,7 +2891,6 @@ SDK, .e.g ./emsdk install latest-fastcomp.
if release_hash: if release_hash:
if backend is None: if backend is None:
if version_key(arg) >= (1, 39, 0): if version_key(arg) >= (1, 39, 0):
report_upstream_by_default()
backend = 'upstream' backend = 'upstream'
else: else:
backend = 'fastcomp' backend = 'fastcomp'

View File

@@ -72,34 +72,6 @@
"activated_cfg": "LLVM_ROOT='%installation_dir%'", "activated_cfg": "LLVM_ROOT='%installation_dir%'",
"activated_env": "LLVM_ROOT=%installation_dir%;EMCC_WASM_BACKEND=0" "activated_env": "LLVM_ROOT=%installation_dir%;EMCC_WASM_BACKEND=0"
}, },
{
"id": "fastcomp-clang",
"version": "incoming",
"bitness": 32,
"install_path": "clang/fastcomp",
"url": "https://github.com/kripken/emscripten-fastcomp.git",
"clang_url": "https://github.com/kripken/emscripten-fastcomp-clang.git",
"git_branch": "incoming",
"custom_install_script": "build_fastcomp",
"activated_path": "%installation_dir%/%fastcomp_build_bin_dir%",
"activated_cfg": "LLVM_ROOT='%installation_dir%/%fastcomp_build_bin_dir%'",
"activated_env": "LLVM_ROOT=%installation_dir%/%fastcomp_build_bin_dir%;EMCC_WASM_BACKEND=0",
"cmake_build_type": "Release"
},
{
"id": "fastcomp-clang",
"version": "incoming",
"bitness": 64,
"install_path": "clang/fastcomp",
"git_branch": "incoming",
"url": "https://github.com/kripken/emscripten-fastcomp.git",
"clang_url": "https://github.com/kripken/emscripten-fastcomp-clang.git",
"custom_install_script": "build_fastcomp",
"activated_path": "%installation_dir%/%fastcomp_build_bin_dir%",
"activated_cfg": "LLVM_ROOT='%installation_dir%/%fastcomp_build_bin_dir%'",
"activated_env": "LLVM_ROOT=%installation_dir%/%fastcomp_build_bin_dir%;EMCC_WASM_BACKEND=0",
"cmake_build_type": "Release"
},
{ {
"id": "fastcomp-clang", "id": "fastcomp-clang",
"version": "master", "version": "master",
@@ -453,27 +425,12 @@
"activated_path": "%installation_dir%", "activated_path": "%installation_dir%",
"activated_env": "EMSCRIPTEN=%installation_dir%" "activated_env": "EMSCRIPTEN=%installation_dir%"
}, },
{
"id": "emscripten",
"version": "incoming",
"bitness": 32,
"append_bitness": false,
"url": "https://github.com/kripken/emscripten.git",
"git_branch": "incoming",
"activated_cfg": "EMSCRIPTEN_ROOT='%installation_dir%';EMSCRIPTEN_NATIVE_OPTIMIZER='%installation_dir%%generator_prefix%_32bit_optimizer/%cmake_build_type_on_win%optimizer%.exe%'",
"activated_path": "%installation_dir%",
"activated_env": "EMSCRIPTEN=%installation_dir%;EMSCRIPTEN_NATIVE_OPTIMIZER=%installation_dir%%generator_prefix%_32bit_optimizer/%cmake_build_type_on_win%optimizer%.exe%",
"cmake_build_type": "Release",
"custom_install_script": "emscripten_post_install",
"custom_is_installed_script": "is_optimizer_installed",
"custom_uninstall_script": "uninstall_optimizer"
},
{ {
"id": "emscripten", "id": "emscripten",
"version": "master", "version": "master",
"bitness": 32, "bitness": 32,
"append_bitness": false, "append_bitness": false,
"url": "https://github.com/kripken/emscripten.git", "url": "https://github.com/emscripten-core/emscripten.git",
"git_branch": "master", "git_branch": "master",
"activated_cfg": "EMSCRIPTEN_ROOT='%installation_dir%';EMSCRIPTEN_NATIVE_OPTIMIZER='%installation_dir%%generator_prefix%_32bit_optimizer/%cmake_build_type_on_win%optimizer%.exe%'", "activated_cfg": "EMSCRIPTEN_ROOT='%installation_dir%';EMSCRIPTEN_NATIVE_OPTIMIZER='%installation_dir%%generator_prefix%_32bit_optimizer/%cmake_build_type_on_win%optimizer%.exe%'",
"activated_path": "%installation_dir%", "activated_path": "%installation_dir%",
@@ -483,27 +440,12 @@
"custom_is_installed_script": "is_optimizer_installed", "custom_is_installed_script": "is_optimizer_installed",
"custom_uninstall_script": "uninstall_optimizer" "custom_uninstall_script": "uninstall_optimizer"
}, },
{
"id": "emscripten",
"version": "incoming",
"bitness": 64,
"append_bitness": false,
"url": "https://github.com/kripken/emscripten.git",
"git_branch": "incoming",
"activated_cfg": "EMSCRIPTEN_ROOT='%installation_dir%';EMSCRIPTEN_NATIVE_OPTIMIZER='%installation_dir%%generator_prefix%_64bit_optimizer/%cmake_build_type_on_win%optimizer%.exe%'",
"activated_path": "%installation_dir%",
"activated_env": "EMSCRIPTEN=%installation_dir%;EMSCRIPTEN_NATIVE_OPTIMIZER=%installation_dir%%generator_prefix%_64bit_optimizer/%cmake_build_type_on_win%optimizer%.exe%",
"cmake_build_type": "Release",
"custom_install_script": "emscripten_post_install",
"custom_is_installed_script": "is_optimizer_installed",
"custom_uninstall_script": "uninstall_optimizer"
},
{ {
"id": "emscripten", "id": "emscripten",
"version": "master", "version": "master",
"bitness": 64, "bitness": 64,
"append_bitness": false, "append_bitness": false,
"url": "https://github.com/kripken/emscripten.git", "url": "https://github.com/emscripten-core/emscripten.git",
"git_branch": "master", "git_branch": "master",
"activated_cfg": "EMSCRIPTEN_ROOT='%installation_dir%';EMSCRIPTEN_NATIVE_OPTIMIZER='%installation_dir%%generator_prefix%_64bit_optimizer/%cmake_build_type_on_win%optimizer%.exe%'", "activated_cfg": "EMSCRIPTEN_ROOT='%installation_dir%';EMSCRIPTEN_NATIVE_OPTIMIZER='%installation_dir%%generator_prefix%_64bit_optimizer/%cmake_build_type_on_win%optimizer%.exe%'",
"activated_path": "%installation_dir%", "activated_path": "%installation_dir%",
@@ -570,51 +512,21 @@
"sdks": [ "sdks": [
{ {
"version": "upstream-incoming", "version": "upstream-master",
"bitness": 64, "bitness": 64,
"uses": ["llvm-git-master-64bit", "node-12.9.1-64bit", "python-2.7.13.1-64bit", "emscripten-incoming-64bit"], "uses": ["llvm-git-master-64bit", "node-12.9.1-64bit", "python-2.7.13.1-64bit", "emscripten-master-64bit"],
"os": "win" "os": "win"
}, },
{ {
"version": "upstream-incoming", "version": "upstream-master",
"bitness": 64, "bitness": 64,
"uses": ["llvm-git-master-64bit", "node-12.9.1-64bit", "emscripten-incoming-64bit"], "uses": ["llvm-git-master-64bit", "node-12.9.1-64bit", "emscripten-master-64bit"],
"os": "osx" "os": "osx"
}, },
{ {
"version": "upstream-incoming", "version": "upstream-master",
"bitness": 64, "bitness": 64,
"uses": ["llvm-git-master-64bit", "node-12.9.1-64bit", "emscripten-incoming-64bit"], "uses": ["llvm-git-master-64bit", "node-12.9.1-64bit", "emscripten-master-64bit"],
"os": "linux"
},
{
"version": "fastcomp-incoming",
"bitness": 32,
"uses": ["fastcomp-clang-incoming-32bit", "node-12.9.1-32bit", "python-2.7.13.1-32bit", "java-8.152-32bit", "emscripten-incoming-32bit", "binaryen-master-32bit"],
"os": "win"
},
{
"version": "fastcomp-incoming",
"bitness": 64,
"uses": ["fastcomp-clang-incoming-64bit", "node-12.9.1-64bit", "python-2.7.13.1-64bit", "java-8.152-64bit", "emscripten-incoming-64bit", "binaryen-master-64bit"],
"os": "win"
},
{
"version": "fastcomp-incoming",
"bitness": 64,
"uses": ["fastcomp-clang-incoming-64bit", "node-12.9.1-64bit", "emscripten-incoming-64bit", "binaryen-master-64bit"],
"os": "osx"
},
{
"version": "fastcomp-incoming",
"bitness": 32,
"uses": ["fastcomp-clang-incoming-32bit", "node-12.9.1-32bit", "emscripten-incoming-32bit", "binaryen-master-32bit"],
"os": "linux"
},
{
"version": "fastcomp-incoming",
"bitness": 64,
"uses": ["fastcomp-clang-incoming-64bit", "node-12.9.1-64bit", "emscripten-incoming-64bit", "binaryen-master-64bit"],
"os": "linux" "os": "linux"
}, },
{ {