summaryrefslogtreecommitdiff
path: root/libgjs.symbols
Commit message (Collapse)AuthorAgeFilesLines
* maint: Add copyright notices based on major file contributorsPhilip Chimento2020-11-301-0/+1
| | | | | | | | | | | | Based on looking at the git logs, add copyright notices to files which were missing them, assuming the copyright belongs to people who made major contributions to each file. Some assumptions were made as to who to assign the copyright to, such as, what copyright assignment did the contributor make in other files added in the same commit? What email address did they use to make the commit? What copyright assignment did they make in other commits using the same email address?
* maint: Add dual MIT/LGPL license to all GJS files that didn't have onePhilip Chimento2020-10-041-0/+2
| | | | | | This adds a SPDX-License-Identifier comment to all files that are part of GJS, part of its unit tests, or auxiliary tools. (Except for some files like the debugger scripts that don't support comments.)
* meson, autotools: Hide non-exported symbols by defaultMarco Trevisan (TreviƱo)2019-10-281-1/+0
| | | | | | | | | | | | | Move jsapi generic symbols to a private static library and hide all the symbols by default, except the ones marked with GJS_EXPORT that is now setting the default visibility. Use then this static library to link dependent tools with (using the libgjs_dep definition in meson, instead of manually set the link_with). In order not to get C++ symbols exported we still need to use a map file to whitelist the gjs_ prefixed symbols. Fixes https://gitlab.gnome.org/GNOME/gjs/issues/194
* build: Meson build systemPhilip Chimento2019-10-121-0/+8
This adds a Meson build system which should be functionally equivalent to the existing Autotools build system, but easier to deal with and faster. Equivalents: ./configure -> meson _build make -j5 -> ninja -C _build make install -> ninja -C _build install make check -> meson test -C _build It's also easy to run the tests under Valgrind or using the GC zeal variables, by adding e.g. --setup=valgrind to the meson test command. Dependencies (except SpiderMonkey) will be downloaded and built if not present (or not new enough), using Meson's wrap system. There were a small number of things the Autotools build did better. One is export-symbols-regex which doesn't exist in Meson; we must write two separate linker config files for GNU ld and macOS's linker, and I'm not sure what happens in this case on Windows. The other thing is merging the JS and C code coverage files automatically. Since this isn't possible using Meson's b_coverage option, we add a script, tools/run_coverage.sh, which generates a code coverage report from start to finish. This is actually kind of better than the old situation, since the script builds in a different build tree, so you cannot accidentally leave coverage-instrumented build artifacts sitting in your build tree.