From 3631f0aac338f38eb11d4396f7f307fb0148d2d4 Mon Sep 17 00:00:00 2001 From: Sam Clegg Date: Tue, 14 Jan 2020 13:59:15 -0800 Subject: [PATCH] Remove use of incoming branches (#423) See https://github.com/emscripten-core/emscripten/issues/10067 --- README.md | 23 +++++----- emsdk.py | 42 ++++++------------ emsdk_manifest.json | 104 ++++---------------------------------------- 3 files changed, 32 insertions(+), 137 deletions(-) diff --git a/README.md b/README.md index 2fc1044..91dec7a 100644 --- a/README.md +++ b/README.md @@ -131,7 +131,7 @@ categories. 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, @@ -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? 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, -sdk-incoming, emscripten-incoming, binaryen-master). Because of that, the +"moving" git branches and compiled from source (e.g. sdk-upstream-master, +sdk-master, emscripten-master, binaryen-master). Because of that, the 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 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 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 -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 sdk-incoming-64bit # Clone+pull the latest kripken/emscripten/incoming. - emsdk activate sdk-incoming-64bit # Set the incoming SDK as the currently active one. - -If you want to use the upstream stable branch `master`, then replace -`-incoming-` with `-master-` above. + emsdk install sdk-upstream-master-64bit # Clone+pull the latest emscripten-core/emscripten/master. + emsdk activate sdk-upstream-master-64bit # Set the master SDK as the currently active one. ### 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 modifications to the Emscripten toolchain, but still keep using the SDK 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: - cd emscripten/incoming + cd emscripten/master # Add a git remote link to your own repository. git remote add myremote https://github.com/mygituseraccount/emscripten.git # Obtain the changes in your link. git fetch myremote - # Switch the emscripten-incoming tool to use your fork. - git checkout -b myincoming --track myremote/incoming + # Switch the emscripten-master tool to use your fork. + git checkout -b mymaster --track myremote/master 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` diff --git a/emsdk.py b/emsdk.py index 9892d74..a6ad35d 100755 --- a/emsdk.py +++ b/emsdk.py @@ -1711,7 +1711,7 @@ class Tool(object): # directory where the compiler is built to, and installation_path is # the directory where the source tree exists. To distinguish between # 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 # 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()] @@ -2713,8 +2713,7 @@ def main(): --build=: 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. + 'RelWithDebInfo'. --generator=: Specifies the CMake Generator to be used during the build. Possible values are the @@ -2725,15 +2724,15 @@ def main(): words, enclose with single or double quotes. --shallow: When installing tools from one of the git - development branches 'master' or 'incoming', - 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. + development branches, 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 @@ -2741,8 +2740,7 @@ def main(): suite. Default: disabled. --enable-assertions: If specified, LLVM is built with assert() checks enabled. Useful for development - purposes. Default: Enabled for 'incoming' - branch, disabled for 'master' branch. + purposes. Default: Enabled --disable-assertions: Forces assertions off during the 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, be sure to match the same --build= option to both 'install' and 'activate' commands and the invocation of 'emsdk_env', or otherwise - these commands will default to operating on the default build types, - which are Release for the 'master' SDK, and RelWithDebInfo for the - 'incoming' SDK.''') + these commands will default to operating on the default build type + which in and RelWithDebInfo.''') return 1 # 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'] - 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. if cmd in ('update', 'install', 'activate'): for i in range(2, len(sys.argv)): arg = sys.argv[i] if arg in ('latest', 'sdk-latest', 'latest-64bit', 'sdk-latest-64bit'): # This is effectly the default SDK - report_upstream_by_default() sys.argv[i] = str(find_latest_releases_sdk('upstream')) elif arg in ('latest-fastcomp', 'latest-releases-fastcomp'): sys.argv[i] = str(find_latest_releases_sdk('fastcomp')) elif arg in ('latest-upstream', 'latest-clang-upstream', 'latest-releases-upstream'): sys.argv[i] = str(find_latest_releases_sdk('upstream')) elif arg in ('tot', 'sdk-tot'): - report_upstream_by_default() sys.argv[i] = str(find_tot_sdk('upstream')) elif arg == 'tot-upstream': sys.argv[i] = str(find_tot_sdk('upstream')) @@ -2904,7 +2891,6 @@ SDK, .e.g ./emsdk install latest-fastcomp. if release_hash: if backend is None: if version_key(arg) >= (1, 39, 0): - report_upstream_by_default() backend = 'upstream' else: backend = 'fastcomp' diff --git a/emsdk_manifest.json b/emsdk_manifest.json index 07af4e4..a80c57f 100644 --- a/emsdk_manifest.json +++ b/emsdk_manifest.json @@ -72,34 +72,6 @@ "activated_cfg": "LLVM_ROOT='%installation_dir%'", "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", "version": "master", @@ -453,27 +425,12 @@ "activated_path": "%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", "version": "master", "bitness": 32, "append_bitness": false, - "url": "https://github.com/kripken/emscripten.git", + "url": "https://github.com/emscripten-core/emscripten.git", "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_path": "%installation_dir%", @@ -483,27 +440,12 @@ "custom_is_installed_script": "is_optimizer_installed", "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", "version": "master", "bitness": 64, "append_bitness": false, - "url": "https://github.com/kripken/emscripten.git", + "url": "https://github.com/emscripten-core/emscripten.git", "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_path": "%installation_dir%", @@ -570,51 +512,21 @@ "sdks": [ { - "version": "upstream-incoming", + "version": "upstream-master", "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" }, { - "version": "upstream-incoming", + "version": "upstream-master", "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" }, { - "version": "upstream-incoming", + "version": "upstream-master", "bitness": 64, - "uses": ["llvm-git-master-64bit", "node-12.9.1-64bit", "emscripten-incoming-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"], + "uses": ["llvm-git-master-64bit", "node-12.9.1-64bit", "emscripten-master-64bit"], "os": "linux" }, {