meson.build: Allow undefined symbols on FreeBSD
The linker cannot find environ while linking libutil.
Fix build by allowing undefined symbols
Change-Id: Iba319126284d48454b50db40d3aadf37e0339668
This commit is contained in:
parent
4734ce7831
commit
e680b0913a
|
@ -167,6 +167,7 @@ message('canonical Nix system name:', host_system)
|
||||||
|
|
||||||
is_linux = host_machine.system() == 'linux'
|
is_linux = host_machine.system() == 'linux'
|
||||||
is_darwin = host_machine.system() == 'darwin'
|
is_darwin = host_machine.system() == 'darwin'
|
||||||
|
is_freebsd = host_machine.system() == 'freebsd'
|
||||||
is_x64 = host_machine.cpu_family() == 'x86_64'
|
is_x64 = host_machine.cpu_family() == 'x86_64'
|
||||||
|
|
||||||
# Per-platform arguments that you should probably pass to shared_module() invocations.
|
# Per-platform arguments that you should probably pass to shared_module() invocations.
|
||||||
|
@ -462,6 +463,12 @@ if cxx.get_linker_id() in ['ld.bfd', 'ld.gold']
|
||||||
add_project_link_arguments('-Wl,--no-copy-dt-needed-entries', language : 'cpp')
|
add_project_link_arguments('-Wl,--no-copy-dt-needed-entries', language : 'cpp')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if is_freebsd
|
||||||
|
# FreeBSD's `environ` is defined in `crt1.o`, not `libc.so`,
|
||||||
|
# so the linker thinks it's undefined
|
||||||
|
add_project_link_arguments('-Wl,-z,undefs', language: 'cpp')
|
||||||
|
endif
|
||||||
|
|
||||||
# Generate Chromium tracing files for each compiled file, which enables
|
# Generate Chromium tracing files for each compiled file, which enables
|
||||||
# maintainers/buildtime_report.sh BUILD-DIR to simply work in clang builds.
|
# maintainers/buildtime_report.sh BUILD-DIR to simply work in clang builds.
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in a new issue