From 86e1184794e26af08a7971c990004cd573fc43b1 Mon Sep 17 00:00:00 2001 From: Alix ANNERAUD Date: Fri, 25 Jul 2025 21:32:52 +0200 Subject: [PATCH] Add LITTLEFS_CONFIG support and adjust bindings for wasm32 target --- build.rs | 18 ++++++++++++++++-- string.c | 2 +- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/build.rs b/build.rs index 2c2105d..b6253a8 100644 --- a/build.rs +++ b/build.rs @@ -46,6 +46,12 @@ fn main() -> Result<(), Box> { #[cfg(not(feature = "malloc"))] builder.flag("-DLFS_NO_MALLOC"); + if let Ok(lfs_config) = env::var("LITTLEFS_CONFIG") { + builder.define("LFS_CONFIG", Some(lfs_config.as_str())); + println!("cargo::rerun-if-env-changed=LITTLEFS_CONFIG"); + println!("cargo::rerun-if-changed={}", lfs_config); + } + #[cfg(feature = "multiversion")] let builder = builder.flag("-DLFS_MULTIVERSION"); @@ -61,11 +67,19 @@ fn main() -> Result<(), Box> { #[cfg(feature = "multiversion")] let bindgen = bindgen.clang_arg("-DLFS_MULTIVERSION"); - let bindings = bindgen + let mut bindings_builder = bindgen .derive_default(true) .use_core() .allowlist_item("lfs_.*") - .allowlist_item("LFS_.*") + .allowlist_item("LFS_.*"); + + if let Ok(target) = env::var("TARGET") { + if target == "wasm32-unknown-unknown" { + bindings_builder = bindings_builder.clang_arg("-fvisibility=default"); + } + } + + let bindings = bindings_builder .generate() .expect("Unable to generate bindings"); diff --git a/string.c b/string.c index a2ab96c..3fdefb4 100644 --- a/string.c +++ b/string.c @@ -5,7 +5,7 @@ * Copyright (C) 1991, 1992 Linus Torvalds */ -#include +#include size_t strspn(const char *s, const char *accept) {