summaryrefslogtreecommitdiff
path: root/meson.build
Commit message (Collapse)AuthorAgeFilesLines
* build: Pre-release version bumpPhilip Chimento2023-02-201-1/+1
|
* build: Use bool_yn for better summary formattingPhilip Chimento2023-02-191-2/+2
| | | | Thanks to Eli Schwartz for pointing this out.
* build: Remove redundant checks for absolute pathsPhilip Chimento2023-02-191-4/+3
| | | | | | | 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.
* build: Use dependency get_variable() methodPhilip Chimento2023-02-191-1/+1
| | | | get_pkgconfig_variable() will be deprecated in a future Meson release.
* build: Add check argument to Meson run_commandPhilip Chimento2023-02-191-1/+1
| | | | | The default for this argument is going to switch to true in future releases, so make it explicitly false here.
* meson: Depend on g-i 1.71 and enable newly supported testsMarco Trevisan (Treviño)2022-11-141-1/+1
| | | | | | 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.
* build: Disable dangling-pointer warning for nowPhilip Chimento2022-11-011-0/+1
| | | | | | | | | 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
* build: Define path for test libraries on macOSPhilip Chimento2022-11-011-0/+2
| | | | | Running the tests on macOS requires DYLD_FALLBACK_LIBRARY_PATH to be set instead of LD_LIBRARY_PATH.
* build: Post-branch version bumpPhilip Chimento2022-10-291-1/+1
|
* build: Version 1.73.90 skippedPhilip Chimento2022-09-201-1/+1
| | | | It completely passed me by.
* build: Require Visual Studio 2019 16.5.x or laterChun-wei Fan2022-08-091-0/+1
| | | | | 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.
* build: Post-release version bumpPhilip Chimento2022-08-071-1/+1
|
* build: Build with mozjs102Evan Welsh2022-08-071-1/+1
|
* build: disable sysprof agent for subproject fallbackChristian Hergert2022-07-221-0/+1
| | | | | | | | | | 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.
* build: Post-release version bumpPhilip Chimento2022-07-101-1/+1
|
* build: Do not use verbose GJS debug logging in tests by defaultMarco Trevisan (Treviño)2022-06-131-0/+3
| | | | | | 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.
* build: track changes to Sysprof meson optionsChristian Hergert2022-05-251-5/+5
| | | | | Sysprof recently cleaned up it's very ancient build options. This tracks those changes so that the subproject will continue to work.
* build: Print a nice Meson summaryPhilip Chimento2022-04-011-10/+51
| | | | Requires bumping the Meson version, no need to do it just for this
* build: Post-branch version bumpPhilip Chimento2022-03-051-1/+1
|
* build: Post-release version bumpPhilip Chimento2022-03-051-1/+1
|
* build: Post-release version bumpPhilip Chimento2022-02-131-1/+1
|
* Meson: Define SSIZE_MAX for Visual Studio-style buildsChun-wei Fan2022-01-161-0/+1
| | | | | Like ssize_t, the Microsoft Compiler/SDK headers does not define SSIZE_MAX, so we similarly define it to G_MAXSSIZE
* build: Remove workaround for Meson precompiled headers bugPhilip Chimento2022-01-161-12/+3
| | | | | | 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.
* doc: Update for SpiderMonkey 91Evan Welsh2022-01-161-1/+1
|
* meson: Update mozjs to mozjs-91Evan Welsh2022-01-161-1/+1
|
* build: Skip running minimal SpiderMonkey program on cross buildsPhilip Chimento2022-01-151-4/+14
| | | | | | | | 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.
* Add implicit main loop for dynamic importsEvan Welsh2022-01-131-0/+1
|
* Revert "build: disable gir install via list to pacify meson >= 0.60.2"Eli Schwartz2022-01-111-1/+1
| | | | | | | | | | | | | | | | | | | 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.
* build: disable gir install via list to pacify meson >= 0.60.2Jan Beich2021-11-271-1/+1
| | | | | | | | 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
* Implement custom GSource to handle promise queueingEvan Welsh2021-11-011-0/+1
| | | | | | (Cleanups and refactoring from Marco and Philip) Closes #1
* meson.build: Define __PRETTY_FUNCTION__ for MSVCChun-wei Fan2021-10-081-0/+1
| | | | Use the Microsoft-specific __FUNCSIG__ macro in its place.
* build: Link with libatomic if necessarySimon McVittie2021-10-081-1/+17
| | | | | | | | | | 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>
* build: Post-branch version bumpPhilip Chimento2021-09-191-1/+1
|
* build: Post-release version bumpPhilip Chimento2021-09-181-1/+1
|
* release: Prepare for 1.70.01.70.0Philip Chimento2021-09-181-1/+1
|
* release: Prepare for 1.69.901.69.90Philip Chimento2021-09-061-1/+1
|
* util: Add console handling utilityEvan Welsh2021-08-161-0/+1
|
* Merge branch 'july-maintenance' into 'master'Philip Chimento2021-08-101-2/+3
|\ | | | | | | | | July maintenance See merge request GNOME/gjs!649
| * build: Provide fallback location for GLib Valgrind suppressionsPhilip Chimento2021-08-011-2/+3
| | | | | | | | | | | | | | | | 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.
* | build: Post-release version bumpPhilip Chimento2021-08-051-1/+1
|/
* build: Fix PCH on Visual StudioChun-wei Fan2021-07-121-1/+0
| | | | | | | | | | 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.
* build: Define WIN32_LEAN_AND_MEAN on Windows buildsChun-wei Fan2021-07-121-1/+1
| | | | | | | | | 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.
* meson: fix version check for precompiled headersJordan Petridis2021-07-101-2/+2
| | | | | | | | | | | | | | | | | | 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. ```
* byteArray: Refactor functionality into EncodingEvan Welsh2021-07-011-0/+1
| | | | | Copies common functionality from byteArray into a Encoding native module. This refactor is the basis for the WHATWG Encoding work.
* jsapi-util-string: Handle BigInt in gjs_debug_value()Philip Chimento2021-06-081-1/+1
| | | | | We print out the value % INT64_MAX in this debug function because printing out the full value requires a JSContext and may be fallible.
* build: Disable glib assertions via G_DISABLE_ASSERT on release buildsMarco Trevisan (Treviño)2021-05-251-8/+10
|
* meson.build: Avoid putting two copies of libsysprof-capture-4.a in libgjsDaniel van Vugt2021-05-251-6/+7
| | | | | | | | | | | | | | | | | | | | | | | `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
* build: Use pch header for the internal libraryMarco Trevisan (Treviño)2021-05-191-0/+1
| | | | | 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.
* tests: Move internal API tests into a different test binaryMarco Trevisan (Treviño)2021-05-181-15/+28
|
* meson: Ignore precompiled headers option under g++ and earlier versions of mesonMarco Trevisan (Treviño)2021-05-141-3/+11
| | | | | | | | | 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