Ticket created by ~eschwartz on ~emersion/basu
In commit d4d185d29a266c349fdd6015829fdf3d6ff95418: Reset version number to 0.1.0
The use of local was removed as a side effect. The version script now lists some global symbols and that's all. But that's also the default. No symbols are actually hidden.
$ nm -D builddir/libbasu.so | grep ' T ' [...] 000000000005c69f T read_line 000000000006194c T safe_atod 0000000000061166 T safe_atoi 0000000000061812 T safe_atoi16 000000000006457a T strappend 0000000000064284 T strcmp_ptr 000000000006570a T strrep 0000000000065cbd T strv_clear 0000000000066237 T strv_consume 0000000000065d7b T strv_copy 000000000005f7f7 T undecchar 000000000005f838 T unhexchar 000000000005fa9f T unhexmem 000000000006778a T unichar_is_valid 0000000000068698 T unichar_iswide 00000000000678c6 T utf8_encoded_to_unichar 0000000000067ba7 T utf8_encoded_valid_unichar 0000000000067a32 T utf8_is_valid 0000000000068628 T utf8_prev_char 0000000000067d83 T version [...]
Comment by ~eschwartz on ~emersion/goguma
I'm using a phone with Play services installed and have the same issue FWIW.
Comment by ~eschwartz on ~lattis/muon
The string is newline terminated, not null terminated.
Meson's implementation language happens to ignore the trailing junk, here.
Comment by ~eschwartz on ~lattis/muon
As far as I can tell, $AR is supported by meson too, see https://github.com/mesonbuild/meson/blob/82d0d1755d5c88e0415a3deb4102d4cdcf0d7435/mesonbuild/envconfig.py#L118
So it makes sense to support it in muon for the same reason.
Comment by ~eschwartz on ~lattis/muon
Oh, I see what you mean. This is a bug. In
src/backend/common_args.c
the function relativize_paths tries to relativize paths written to build.ninja, relative to the build.ninja directory.This hands off to
src/platform/path.c
, given a build_root and the abspath of meson_options.txt, and path_relative_to() returns a broken value.* input: base="/path/to/build" * path="/path/to/src/asd.c" * output: "../src/asd.c"
This much is true, but when base (the build_root) has a ".." in it, because the argument to
muon setup
used relative paths of the form ../build_dir rather than absolute paths of the form$(realpath ../build_dir)
...... then path_relative_to fails.
Comment by ~eschwartz on ~lattis/muon
I'm not sure what this mean? samu doesn't know anything about the tree at all -- and it works the same with both meson and muon.
That is, samu must be run from the builddir or run with the -C argument.
The -C argument, where supported, has the following semantic:
It makes the program being run behave as though, before running the program, you had used the shell command
cd
to change directories.That's what it means with GNU make, that's what it means with samu, and that's what it means with muon.
Meson doesn't support a -C argument for
meson setup
.
Comment by ~eschwartz on ~lattis/muon
muon expects to be run inside the source directory, and accept the build directory as an argument. Meson supports that as well, but also supports specifying both as arguments.
with "meson" I generally create an out-of-tree build directory where "meson -C /path/to/build/directory setup" is run
This doesn't sound like meson's officially supported workflow?
Comment by ~eschwartz on ~lattis/muon
So in the broken environment it isn't chdir'ing as instructed to with the workdir argument from meson.build?
Comment by ~eschwartz on ~lattis/muon
There should not be anything wrong with the portability of meson.current_source_dir() and in comparison global_build_root definitely doesn't have a testbed subdirectory.
Specifically, it works fine for me with muon.