summaryrefslogtreecommitdiff
path: root/plugins/bntl_utils/cli
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2026-02-22 17:16:52 -0800
committerMason Reed <35282038+emesare@users.noreply.github.com>2026-02-23 00:09:44 -0800
commitf3e0bf4ab35d50b11b2dbde41a699ab7497208d1 (patch)
tree660c94b4dd609b28b77c5ba2daabfa893cecefa2 /plugins/bntl_utils/cli
parentb18bdad6c94a8e234108d531f0c480c7104abebe (diff)
[BNTL] Misc improvements
Diffstat (limited to 'plugins/bntl_utils/cli')
-rw-r--r--plugins/bntl_utils/cli/README.md4
-rw-r--r--plugins/bntl_utils/cli/src/create.rs6
2 files changed, 8 insertions, 2 deletions
diff --git a/plugins/bntl_utils/cli/README.md b/plugins/bntl_utils/cli/README.md
index 5c4ddcb7..0aa672fc 100644
--- a/plugins/bntl_utils/cli/README.md
+++ b/plugins/bntl_utils/cli/README.md
@@ -34,6 +34,8 @@ Examples:
- Downloads and processes all files in the project, placing potentially multiple `.bntl` files in the `output` directory.
- `./bntl_cli create sqlite3.dll "windows-x86_64" ./winmd/ ./output/`
- `winmd` files are also supported as input, they will be processed together. You also probably want to provide some apiset schema files as well.
+- `./bntl_cli create sqlite3.dll "windows-x86_64" ./headers/ ./output/ --include-directories ./system_headers/`
+ - You can also specify additional include directories to search for referenced headers.
#### Dump
@@ -45,7 +47,7 @@ Examples:
#### Diff
-Compare two type libraries and generate a .diff file containing a similarity ratio.
+Compare two type libraries and generate a .diff file.
Examples:
diff --git a/plugins/bntl_utils/cli/src/create.rs b/plugins/bntl_utils/cli/src/create.rs
index a56b1cdb..c83f4f8f 100644
--- a/plugins/bntl_utils/cli/src/create.rs
+++ b/plugins/bntl_utils/cli/src/create.rs
@@ -14,6 +14,9 @@ pub struct CreateArgs {
pub platform: String,
pub input: Input,
pub output_directory: Option<PathBuf>,
+ /// A list of directories to use for include paths when parsing C header files.
+ #[clap(long)]
+ pub include_directories: Vec<PathBuf>,
#[clap(long)]
pub dry_run: bool,
}
@@ -37,7 +40,8 @@ impl CreateArgs {
}
std::fs::create_dir_all(&output_path).expect("Failed to create output directory");
- let processor = TypeLibProcessor::new(&self.name, &self.platform);
+ let processor = TypeLibProcessor::new(&self.name, &self.platform)
+ .with_include_directories(self.include_directories.clone());
// TODO: Need progress indicator here, when downloading files.
let resolved_input = self.input.resolve().expect("Failed to resolve input");