diff --git a/lib/meson.build b/lib/meson.build index a5a203c..aed99e3 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -17,7 +17,15 @@ elif build_machine.system() == 'freebsd' else # Linux and other systems version_script_flags = '-Wl,--version-script=' + meson.current_source_dir() + '/libjose.map' - if not cc.links(code, args: version_script_flags, name: '-Wl,--version-script=...') + if cc.get_id() != 'clang' and not cc.links( + code, + args: version_script_flags, + name: '-Wl,--version-script=...', + ) or not cc.links( + code, + args: version_script_flags + ',--undefined-version', + name: '-Wl,--version-script=...', + ) flags = [ '-export-symbols-regex=^jose_.*' ] else flags = [version_script_flags]