[gjs/mozjs102: 51/62] build: Build with mozjs102
- From: Philip Chimento <pchimento src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gjs/mozjs102: 51/62] build: Build with mozjs102
- Date: Sun, 7 Aug 2022 17:53:00 +0000 (UTC)
commit 69b9b611cdb910408b1615d3a5c59b3f0e899cdd
Author: Evan Welsh <contact evanwelsh com>
Date: Fri Jul 22 10:30:45 2022 -0700
build: Build with mozjs102
README.MSVC.md | 24 ++++++++++++------------
doc/Hacking.md | 14 +++++++-------
meson.build | 2 +-
tools/run_iwyu.sh | 2 +-
4 files changed, 21 insertions(+), 21 deletions(-)
---
diff --git a/README.MSVC.md b/README.MSVC.md
index 9cf51a876..b5f543495 100644
--- a/README.MSVC.md
+++ b/README.MSVC.md
@@ -7,13 +7,13 @@ recent-enough Windows SDK from Microsoft is still required if using
clang-cl, as we will still use items from the Windows SDK.
Recent official binary installers of CLang (which contains clang-cl)
-from the LLVM website are known to work to build SpiderMonkey 91 and
+from the LLVM website are known to work to build SpiderMonkey 102 and
GJS.
You will need the following items to build GJS using Visual Studio
or clang-cl (they can be built with Visual Studio 2015 or later,
unless otherwise noted):
--SpiderMonkey 91.x (mozjs-91). This must be built with clang-cl as
+-SpiderMonkey 102.x (mozjs-102). This must be built with clang-cl as
the Visual Studio compiler is no longer supported for building this.
Please see the below section carefully on this...
-GObject-Introspection (G-I) 1.61.2 or later
@@ -44,8 +44,8 @@ for the suitable release series of SpiderMonkey that corresponds to
the GJS version that is being built, as GJS depends on ESR (Extended
Service Release, a.k.a Long-term support) releases of SpiderMonkey.
-You may also be able to obtain the SpiderMonkey 91.x sources via the
-FireFox (ESR) or Thunderbird 91.x sources, in $(srcroot)/js.
+You may also be able to obtain the SpiderMonkey 102.x sources via the
+FireFox (ESR) or Thunderbird 102.x sources, in $(srcroot)/js.
Please do note that the build must be done carefully, in addition to the
official instructions that are posted on the Mozilla website:
@@ -53,7 +53,7 @@ official instructions that are posted on the Mozilla website:
https://firefox-source-docs.mozilla.org/js/build.html
You will need to create a .mozconfig file that will describe your build
-options for the build in the root directory of the Firefox/ThunderBird 91.x
+options for the build in the root directory of the Firefox/ThunderBird 102.x
sources. A sample content of the .mozconfig file can be added as follows:
```
@@ -66,7 +66,7 @@ ac_add_options --disable-tests
ac_add_options --enable-optimize
ac_add_options --disable-debug
ac_add_options --disable-jemalloc
-ac_add_options --prefix=c:/software.b/mozjs91.bin
+ac_add_options --prefix=c:/software.b/mozjs102.bin
```
An explanation of the lines above:
@@ -79,10 +79,10 @@ An explanation of the lines above:
* `ac_add_options --enable-optimize`: Use for release builds of SpiderMonkey. Use `--disable-optimize`
instead if building with `--enable-debug`
* `ac_add_options --enable-debug`: Include debugging functions, for debug builds. Use `--disable-debug`
instead if building with `--enable-optimize`
* `ac_add_options --disable-jemalloc`: This is absolutely needed, otherwise GJS will not build and run
correctly
-* `ac_add_options --prefix=c:/software.b/mozjs91.bin`: Some installation path, change as needed
+* `ac_add_options --prefix=c:/software.b/mozjs102.bin`: Some installation path, change as needed
If your GJS build crashes upon launch, use Dependency Walker to ensure that
-mozjs-91.dll does not depend on mozglue.dll! If it does, or if GJS fails to
+mozjs-102.dll does not depend on mozglue.dll! If it does, or if GJS fails to
link with missing arena_malloc() and friends symbols, you have built SpiderMoney
incorrectly and will need to rebuild SpiderMonkey (with the build options as
noted above) and retry the build.
@@ -119,17 +119,17 @@ $(buildroot)/dist/include. Note that for PDB files and .lib files,
you will need to search for them in $(buildroot),
where the PDB file names match the filenames for the DLLs/EXEs in
$(buildroot)/dist/bin, and you will need to look for the following .lib files:
--mozjs-91.lib
+-mozjs-102.lib
-js_static.lib (optional)
You may want to put the .lib's and DLLs/EXEs into $(PREFIX)\lib and
$(PREFIX)\bin respectively, and put the headers into
-$(PREFIX)\include\mozjs-91 for convenience.
+$(PREFIX)\include\mozjs-102 for convenience.
-You will need to place the generated mozjs-91.pc pkg-config file into
+You will need to place the generated mozjs-102.pc pkg-config file into
$(PREFIX)\lib\pkgconfig and ensure that pkg-config can find it by
setting PKG_CONFIG_PATH. Ensure that the 'includedir' and 'libdir'
-in there is correct so that the mozjs-91.pc can be used correctly in
+in there is correct so that the mozjs-102.pc can be used correctly in
Visual Studio/clang-cl builds, and replace the `-isystem` with `-I` if
building GJS with Visual Studio. You will also need to ensure that the
existing GObject-Introspection installation (if used) is on the same
diff --git a/doc/Hacking.md b/doc/Hacking.md
index 1c732f436..d58f93627 100644
--- a/doc/Hacking.md
+++ b/doc/Hacking.md
@@ -37,7 +37,7 @@ You can also skip this step if you are not writing any C++ code.)
## Dependencies
GJS requires five other libraries to be installed: GLib, libffi,
-gobject-introspection, SpiderMonkey (also called "mozjs91" on some
+gobject-introspection, SpiderMonkey (also called "mozjs102" on some
systems.) and the build tool Meson.
The readline library is not required, but strongly recommended.
We recommend installing your system's development packages for GLib,
@@ -70,15 +70,15 @@ example, Fedora 36 or Ubuntu 22.04 and later versions), then you don't
need to build it yourself.
Install SpiderMonkey using your system's package manager instead:
-<!--Ubuntu does not currently ship a build of libmozjs-91-->
+<!--Ubuntu does not currently ship a build of libmozjs-102-->
<!-- <details>
<summary>Ubuntu</summary>
- <code>sudo apt-get install libmozjs-91-dev</code>
+ <code>sudo apt-get install libmozjs-102-dev</code>
</details> -->
<details>
<summary>Fedora</summary>
- <code>sudo dnf install mozjs91-devel</code>
+ <code>sudo dnf install mozjs102-devel</code>
</details>
If you _are_ writing C++ code, then please build SpiderMonkey yourself
@@ -86,7 +86,7 @@ with the debugging features enabled.
This can save you time later when you submit your merge request, because
the code will be checked using the debugging features.
-To build SpiderMonkey, follow the instructions on [this
page](https://github.com/mozilla-spidermonkey/spidermonkey-embedding-examples/blob/esr91/docs/Building%20SpiderMonkey.md)
to download the source code and build the library.
+To build SpiderMonkey, follow the instructions on [this
page](https://github.com/mozilla-spidermonkey/spidermonkey-embedding-examples/blob/esr102/docs/Building%20SpiderMonkey.md)
to download the source code and build the library.
If you are using `-Dprefix` to build GJS into a different path, then
make sure to use the same build prefix for SpiderMonkey with `--prefix`.
@@ -152,7 +152,7 @@ more likely to show up.
To see which GC zeal options are available:
```sh
-JS_GC_ZEAL=-1 js91
+JS_GC_ZEAL=-1 js102
```
We include three test setups, `extra_gc`, `pre_verify`, and
@@ -216,7 +216,7 @@ This will build GJS into a separate build directory with code coverage
instrumentation enabled, run the test suite to collect the coverage
data, and open the generated HTML report.
-[embedder](https://github.com/spidermonkey-embedders/spidermonkey-embedding-examples/blob/esr91/docs/Building%20SpiderMonkey.md)
+[embedder](https://github.com/spidermonkey-embedders/spidermonkey-embedding-examples/blob/esr102/docs/Building%20SpiderMonkey.md)
## Troubleshooting
diff --git a/meson.build b/meson.build
index add390ec5..55356a9c0 100644
--- a/meson.build
+++ b/meson.build
@@ -127,7 +127,7 @@ gio = dependency('gio-2.0', version: glib_required_version,
ffi = dependency('libffi', fallback: ['libffi', 'ffi_dep'])
gi = dependency('gobject-introspection-1.0', version: '>= 1.66.0',
fallback: ['gobject-introspection', 'girepo_dep'])
-spidermonkey = dependency('mozjs-91', version: '>= 91.3.0')
+spidermonkey = dependency('mozjs-102')
# We might need to look for the headers and lib's for Cairo
# manually on MSVC/clang-cl builds...
diff --git a/tools/run_iwyu.sh b/tools/run_iwyu.sh
index 047281c03..2b7b87be4 100755
--- a/tools/run_iwyu.sh
+++ b/tools/run_iwyu.sh
@@ -47,7 +47,7 @@ IWYU="python3 $(which iwyu_tool || which iwyu-tool || which iwyu_tool.py) -p ."
IWYU_TOOL_ARGS="-I../gjs"
IWYU_ARGS="-Wno-pragma-once-outside-header"
IWYU_RAW="include-what-you-use -xc++ -std=c++17 -Xiwyu --keep=config.h $IWYU_ARGS"
-IWYU_RAW_INC="-I. -I.. $(pkg-config --cflags gobject-introspection-1.0 mozjs-91)"
+IWYU_RAW_INC="-I. -I.. $(pkg-config --cflags gobject-introspection-1.0 mozjs-102)"
PRIVATE_MAPPING="-Xiwyu --mapping_file=$SRCDIR/tools/gjs-private-iwyu.imp -Xiwyu --keep=config.h"
PUBLIC_MAPPING="-Xiwyu --mapping_file=$SRCDIR/tools/gjs-public-iwyu.imp"
POSTPROCESS="python3 $SRCDIR/tools/process_iwyu.py"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]