Files
nixpkgs/pkgs/development/tools/rust/bindgen/wrapper.sh
T
Alyssa Ross 0af7df6bd3 rust-bindgen: link directly with libclang
There's not really any reason for bindgen to dlopen libclang at all in
Nixpkgs.  Moving this out of the wrapper means that it will still work
even when we don't want all the standard Nixpkgs cflags behavior, like
in the Linux kernel build.
2025-08-08 11:11:42 +02:00

35 lines
922 B
Bash
Executable File

#!@bash@/bin/bash
sep='--' # whether to add -- before new options
cxx=0 # whether cxx was explicitly requested
lastWasx=0 # whether the last argument passed was -x
for e in "$@"; do
if [[ "$e" == "--" ]]; then
sep=
fi;
if [[ "$sep" == "" ]]; then
# we look for -x c++ after -- only
if [[ "$e" == "-x" ]]; then
lastWasx=1
fi;
if [[ $lastWasx -eq 1 && "$e" == "c++" ]]; then
lastWasx=0
cxx=1
fi;
if [[ "$e" == "-xc++" || "$e" == -std=c++* ]]; then
cxx=1
fi;
fi;
done;
cxxflags=
if [[ $cxx -eq 1 ]]; then
cxxflags="@cxxincludes@"
fi;
if [[ -n "$NIX_DEBUG" ]]; then
set -x;
fi;
# shellcheck disable=SC2086
# cxxflags and NIX_CFLAGS_COMPILE should be word-split
exec -a "$0" @unwrapped@/bin/bindgen "$@" $sep $cxxflags @cincludes@ $NIX_CFLAGS_COMPILE
# note that we add the flags after $@ which is incorrect. This is only for the sake
# of simplicity.