Skip to content

Commit 6b2c5a7

Browse files
committed
Track platform-specific Rust build sources
1 parent 35ecf18 commit 6b2c5a7

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

bindings/rust/build.rs

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,58 @@ Please vendor the sources into bindings/rust/native/, or set CCAP_SOURCE_DIR to
420420
"cargo:rerun-if-changed={}/src/ccap_convert_c.cpp",
421421
ccap_root.display()
422422
);
423+
424+
// Platform-specific sources
425+
#[cfg(target_os = "macos")]
426+
{
427+
println!(
428+
"cargo:rerun-if-changed={}/src/ccap_imp_apple.mm",
429+
ccap_root.display()
430+
);
431+
println!(
432+
"cargo:rerun-if-changed={}/src/ccap_convert_apple.cpp",
433+
ccap_root.display()
434+
);
435+
println!(
436+
"cargo:rerun-if-changed={}/src/ccap_file_reader_apple.mm",
437+
ccap_root.display()
438+
);
439+
}
440+
441+
#[cfg(target_os = "linux")]
442+
{
443+
println!(
444+
"cargo:rerun-if-changed={}/src/ccap_imp_linux.cpp",
445+
ccap_root.display()
446+
);
447+
}
448+
449+
#[cfg(target_os = "windows")]
450+
{
451+
println!(
452+
"cargo:rerun-if-changed={}/src/ccap_imp_windows.cpp",
453+
ccap_root.display()
454+
);
455+
println!(
456+
"cargo:rerun-if-changed={}/src/ccap_file_reader_windows.cpp",
457+
ccap_root.display()
458+
);
459+
}
460+
461+
// SIMD-specific sources
462+
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
463+
{
464+
println!(
465+
"cargo:rerun-if-changed={}/src/ccap_convert_avx2.cpp",
466+
ccap_root.display()
467+
);
468+
}
469+
470+
// Always built in build-from-source mode to provide hasNEON() symbol.
471+
println!(
472+
"cargo:rerun-if-changed={}/src/ccap_convert_neon.cpp",
473+
ccap_root.display()
474+
);
423475
}
424476

425477
// Generate bindings

0 commit comments

Comments
 (0)