build(grammar): remove `-fPIC` flag from windows build (#13169)

Even though there is a check for `is_like_msvc`, when setting `CXX` to
`clang++` this will miss that check and try to use `-fPIC`, which is an
invlaid flag for the target.
pull/13174/head
RoloEdits 2025-03-23 07:32:56 -07:00 committed by GitHub
parent 6bedca8064
commit 8ad6e53b1f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 7 additions and 2 deletions

View File

@ -496,9 +496,11 @@ fn build_tree_sitter_library(
.arg("/link") .arg("/link")
.arg(format!("/out:{}", library_path.to_str().unwrap())); .arg(format!("/out:{}", library_path.to_str().unwrap()));
} else { } else {
#[cfg(not(windows))]
command.arg("-fPIC");
command command
.arg("-shared") .arg("-shared")
.arg("-fPIC")
.arg("-fno-exceptions") .arg("-fno-exceptions")
.arg("-I") .arg("-I")
.arg(header_path) .arg(header_path)
@ -517,8 +519,11 @@ fn build_tree_sitter_library(
cpp_command.args(compiler.args()); cpp_command.args(compiler.args());
let object_file = let object_file =
library_path.with_file_name(format!("{}_scanner.o", &grammar.grammar_id)); library_path.with_file_name(format!("{}_scanner.o", &grammar.grammar_id));
#[cfg(not(windows))]
cpp_command.arg("-fPIC");
cpp_command cpp_command
.arg("-fPIC")
.arg("-fno-exceptions") .arg("-fno-exceptions")
.arg("-I") .arg("-I")
.arg(header_path) .arg(header_path)