Repository navigation
Commit dfa62df
committed
deps: merve: Don't include the vendored simdutf with --shared-simdutf
Different versions of simdutf may provide different implementations for
the same name, for example, the vendored version provides a symbol for
simdutf::find(),
simdutf_warn_unused const char *find(const char *start, const char *end,
char character) noexcept;
while upstream simdutf 9.3.3 inlines it,
simdutf_warn_unused simdutf_really_inline simdutf_constexpr23 const char *
find(const char *start, const char *end, char character) noexcept {
/* An inline function */
...
}
However, the vendored simdutf's headers are currently unconditionally
included for merve, regardless whether the shared simdutf is linked
against or not, leading to missing symbols at linking time like
mold: error: undefined symbol: simdutf::find(char const*, char const*, char)
>>> referenced by merve.cpp
>>> obj/deps/merve/libmerve.a(obj/deps/merve/merve.merve.o):(lexer::CJSLexer::addReexport(std::__1::basic_string_view<char, std::__1::char_traits<char>>, unsigned int))
>>> referenced by merve.cpp
>>> obj/deps/merve/libmerve.a(obj/deps/merve/merve.merve.o):(lexer::CJSLexer::addExport(std::__1::basic_string_view<char, std::__1::char_traits<char>>, unsigned int))
Do not include the vendored simdutf when compiling merve if shared
simdutf is used to ensure the headers match the linked library.
Signed-off-by: Yao Zi <me@ziyao.cc>1 parent 2929073 commit dfa62df
1 file changed
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | 11 | | |
13 | 12 | | |
14 | 13 | | |
| |||
29 | 28 | | |
30 | 29 | | |
31 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
32 | 36 | | |
33 | 37 | | |
34 | 38 | | |
| |||
0 commit comments