| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Thanks to Eli Schwartz for pointing this out.
|
|
|
|
|
|
|
| |
Path concatenation with / already handles absolute paths correctly if
the right-hand side is an absolute path.
Thanks to Eli Schwartz for pointing this out.
|
|
|
|
| |
get_pkgconfig_variable() will be deprecated in a future Meson release.
|
|
|
|
|
| |
The default for this argument is going to switch to true in future
releases, so make it explicitly false here.
|
|
|
|
|
|
| |
With a newer g-i we can enable more tests that were not running so far,
so bump the dependency and enable the tests that were depending on MR's
that landed already.
|
|
|
|
|
|
|
|
|
| |
GCC 12's new -Wdangling-pointer warning seems to disagree with
JS::Rooted<T>'s storage of stack pointers in root lists. Unfortunately I
don't see another way around this than disabling the warning for now.
It's reported at the Debian bug tracker:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1012927
|
|
|
|
|
| |
Running the tests on macOS requires DYLD_FALLBACK_LIBRARY_PATH to be set
instead of LD_LIBRARY_PATH.
|
| |
|
|
|
|
| |
It completely passed me by.
|
|
|
|
|
| |
We need to use the newer preprocessor that has been made official in Visual
Studio 2019 16.5.x or later in order to consume the Spidermonkey 102 headers.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Currently disabled by default in Sysprof (but to be re-enabled soon) is
a new -Dagent=true build option. This is used to allow profiling within
containers and installed in the container. However, it requires compiling
more of Sysprof such as libsysprof and that is unecessary for various CI
usage of Sysprof.
This disables it as we don't need it in GJS.
|
| |
|
|
|
|
|
|
| |
Avoid showing all the GJS debug topics information in logs when running
meson test, while include them when using the 'verbose' setup that is
now used by default in CI tests.
|
|
|
|
|
| |
Sysprof recently cleaned up it's very ancient build options. This tracks
those changes so that the subproject will continue to work.
|
|
|
|
| |
Requires bumping the Meson version, no need to do it just for this
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Like ssize_t, the Microsoft Compiler/SDK headers does not define SSIZE_MAX,
so we similarly define it to G_MAXSSIZE
|
|
|
|
|
|
| |
This bug was triggered by the "-include js/RequiredDefines.h" compiler
flag that SpiderMonkey specified in its pkg-config file. This header no
longer exists, so we should not have this bug anymore.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
We still try to build the program and get as far as we can even on cross
builds, to eliminate problems with the way paths are set up, for example.
For a cross build, we print a warning that builders should check that GJS
works before shipping it, since we are not performing that check now.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 59bbb5e4795d2b6e41ce27ae3b18257e75b71a19.
This commit was wrong, because it tried to work around a bug in a single
version of meson by using something that isn't, wasn't, and won't be a
valid value.
The fixed version of meson 0.60.x has been out for a while now, which
once again accepts `false`, and 0.61.0 also accepts `false` but was
known at the time of this workaround to not work in meson-git master
(now meson 0.61.0).
Using `false` is acceptable and the failure to accept it has been
qualified as a meson regression. Using `[false]` is just... trying to
fuzz meson with random objects until you get something that slips its
way through the argument checker and produces desired effects on the
python implementation level.
|
|
|
|
|
|
|
|
| |
meson.build:580:0: ERROR: "install_dir" must be specified when installing a target
installed-tests/js/meson.build:73:0: ERROR: "install_dir" must be specified when installing a target
installed-tests/js/meson.build:91:4: ERROR: "install_dir" must be specified when installing a target
installed-tests/js/meson.build:104:0: ERROR: "install_dir" must be specified when installing a target
installed-tests/js/libgjstesttools/meson.build:13:0: ERROR: "install_dir" must be specified when installing a target
|
|
|
|
|
|
| |
(Cleanups and refactoring from Marco and Philip)
Closes #1
|
|
|
|
| |
Use the Microsoft-specific __FUNCSIG__ macro in its place.
|
|
|
|
|
|
|
|
|
|
| |
The implementation of atomic operations in gcc uses atomic opcodes if
supported, but falls back to a library implementation if necessary.
Link that library on architectures where 64-bit atomic operations need it,
such as Debian armel (ARMv5 EABI softfloat), mipsel and powerpc.
Resolves: https://gitlab.gnome.org/GNOME/gjs/-/issues/442
Signed-off-by: Simon McVittie <smcv@debian.org>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
July maintenance
See merge request GNOME/gjs!649
|
| |
| |
| |
| |
| |
| |
| |
| | |
If building GLib as a subproject, it won't have a pkgconfig file to tell
where its install prefix is. It's most likely being built as a subproject
because the host system has an outdated version, not because it has no
version. Also, the user is most likely not running Valgrind. Given that,
it's probably OK to just fall back to the suppressions file in /usr.
|
|/ |
|
|
|
|
|
|
|
|
|
|
| |
In Meson's sources (scripts), it seems that when using GCC for PCH, no
extra object files are involved, but for Visual Studio like, extra object
files are involved, and there seems to be no clear-cut way in Meson to
find out whether we are building source files with or without PCH enabled,
so I think it would be best to just drop cpp_pch:... from the libgjs
target, and leaving cpp_pch:... for the libgjs-jsapi and libgjs-internal
targets intact.
|
|
|
|
|
|
|
|
|
| |
This will fix the build by avoiding collisions with the Windows headers
when we use 'interface' in mem-private.h, as that is typically used in
COM programming on Windows.
Clean up the sources a bit by removing the #define WIN32_LEAN_AND_MEAN
as they are no longer needed in the sources as a result.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The dependent PR [1] for meson was/has not been back ported
to the 0.58 branch and didn't make the 0.58.1 release,
causing the build to fail.
https://github.com/mesonbuild/meson/pull/8740
followup from !620
```
[42/120] Compiling C++ object libgjs-internal.a.p/gi_boxed.cpp.o
FAILED: libgjs-internal.a.p/gi_boxed.cpp.o
g++ -Ilibgjs-internal.a.p -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gobject-introspection-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/libxml2 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++17 -fno-rtti -g -fno-strict-aliasing -Wno-variadic-macros -Wno-missing-field-initializers -fno-semantic-interposition -fPIC -isystem/usr/include/sysprof-4 -pthread -include /usr/include/mozjs-78/js/RequiredDefines.h -isystem /usr/include/mozjs-78 -DGJS_COMPILATION '-DGJS_JS_DIR="/usr/local/share/gjs-1.0"' '-DPKGLIBDIR="/usr/local/lib64/gjs"' '-DG_LOG_DOMAIN="Gjs"' -fpch-preprocess -include gjs_pch.hh -MD -MQ libgjs-internal.a.p/gi_boxed.cpp.o -MF libgjs-internal.a.p/gi_boxed.cpp.o.d -o libgjs-internal.a.p/gi_boxed.cpp.o -c ../gi/boxed.cpp
<command-line>: fatal error: gjs_pch.hh: No such file or directory
compilation terminated.
```
|
|
|
|
|
| |
Copies common functionality from byteArray into a Encoding native
module. This refactor is the basis for the WHATWG Encoding work.
|
|
|
|
|
| |
We print out the value % INT64_MAX in this debug function because printing
out the full value requires a JSContext and may be fallible.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`libgjs` was getting two copies of `libsysprof-capture-4.a` from:
```
link_whole: libgjs_internal,
dependencies: base_build_dep,
```
With regular dependencies this wouldn't happen (it would remain a list
of unique dependencies), but the `link_whole` introduced in ed6370b9061
has now forced it in a way that Meson can't deduplicate it. So linking of
`libgjs` was failing as the linker found two separate copies (with
separate addresses) of each symbol from `libsysprof-capture-4.a`.
To resolve this we now ensure that `profiler_deps` is only requested by
`libgjs_internal`, which itself is `link_whole`'d into `libgjs`. So
`libgjs` still gets `profiler_deps` but now only one copy.
What's special about this case is that it's a static library included in
a static library, so if that happens again then the same approach will be
needed.
Closes: https://gitlab.gnome.org/GNOME/gjs/-/issues/414
|
|
|
|
|
| |
This was supposed to happen since the start, but got lost in a previous
rebase, so use precompiled headers to compile the main internal library.
|
| |
|
|
|
|
|
|
|
|
|
| |
This is not supported because g++ will only pick a pch if it's the first
included source, but mozjs will provide us an `-include` cflag that
meson will use it too early.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100462
https://github.com/mesonbuild/meson/pull/8740
|