@@ -211,11 +211,11 @@ To update our libraries to a newer LLVM release:
211
211
cases to run [ ` push_llvm_changes.py ` ] [ push_llvm_changes_emscripten ] first to
212
212
ensure that no emscripten changes are lost in the process.
213
213
1 . Create a PR to merge new LLVM release tag in the upstream repo into our new
214
- library branch. For example, if we want to merge LLVM 16.0.6 release into our
215
- ` emscripten-libs-16 ` branch, you can do
214
+ library branch. For example, if we want to merge ` llvmorg- 16.0.6` tag into
215
+ our ` emscripten-libs-16 ` branch, you can do
216
216
```
217
217
git co emscripten-libs-16
218
- git remote add upstream https:// github.com/ llvm/llvm-project
218
+ git remote add upstream git@ github.com: llvm/llvm-project.git
219
219
git fetch --tags upstream
220
220
git merge llvmorg-16.0.6
221
221
```
@@ -234,6 +234,39 @@ To update our libraries to a newer LLVM release:
234
234
An example of such PR is emscripten-core/emscripten #19515 .
235
235
236
236
237
+ ## Updating musl
238
+
239
+ We maintain our musl in
240
+ https://github.com/emscripten-core/emscripten/tree/main/system/lib/libc/musl .
241
+ We maintain a fork of musl in https://github.com/emscripten-core/musl for
242
+ updates and periodically update it to a newer version.
243
+
244
+ The process for updating musl is similar to that of updating the LLVM libraries.
245
+ To update our libraries to a newer musl release:
246
+
247
+ 1 . If you are updating an existing branch the first step is to run
248
+ [ ` push_musl_changes.py ` ] [ push_musl_changes_emscripten ] to make sure the
249
+ current branch is up-to-date with the current emscripten codebase.
250
+
251
+ If you are creating a new branch, first make sure the previous/existing
252
+ branch is up-to-date using
253
+ [ ` push_musl_changes.py ` ] [ push_musl_changes_emscripten ] . Then
254
+ create the new branch and cherry-pick all the emscripten-specific changes
255
+ from the old branch, resolving any conflicts that might arise.
256
+ 1 . Create a PR to merge new mrelease tag in the upstream repo into our new
257
+ library branch. For example, if we want to merge musl's ` v1.2.4 ` tag into our
258
+ ` merge-v1.2.4 ` branch, you can do
259
+ ```
260
+ git co merge-v1.2.4
261
+ git remote add upstream git://git.musl-libc.org/musl
262
+ git fetch --tags upstream
263
+ git merge v1.2.4
264
+ ```
265
+ 1 . Now we have merged all the changes to our musl fork branch, pull those
266
+ changes with the new version back into the Emscripten repo. You can use
267
+ [ ` update_musl.py ` ] [ update_musl_emscripten ] for that.
268
+
269
+
237
270
[ site_repo ] : https://github.com/kripken/emscripten-site
238
271
[ releases_repo ] : https://chromium.googlesource.com/emscripten-releases
239
272
[ waterfall ] : https://ci.chromium.org/p/emscripten-releases/g/main/console
@@ -253,7 +286,9 @@ To update our libraries to a newer LLVM release:
253
286
[ llvm_repo ] : https://github.com/llvm/llvm-project
254
287
[ llvm_emscripten_fork ] : https://github.com/emscripten-core/llvm-project
255
288
[ push_llvm_changes_emscripten ] : https://github.com/emscripten-core/emscripten/blob/main/system/lib/push_llvm_changes.py
289
+ [ push_musl_changes_emscripten ] : https://github.com/emscripten-core/emscripten/blob/main/system/lib/push_musl_changes.py
256
290
[ update_compiler_rt_emscripten ] : https://github.com/emscripten-core/emscripten/blob/main/system/lib/update_compiler_rt.py
257
291
[ update_libcxx_emscripten ] : https://github.com/emscripten-core/emscripten/blob/main/system/lib/update_libcxx.py
258
292
[ update_libcxxabi_emscripten ] : https://github.com/emscripten-core/emscripten/blob/main/system/lib/update_libcxxabi.py
259
293
[ update_libunwind_emscripten ] : https://github.com/emscripten-core/emscripten/blob/main/system/lib/update_libunwind.py
294
+ [ update_musl_emscripten ] : https://github.com/emscripten-core/emscripten/blob/main/system/lib/update_musl.py
0 commit comments