fix clangd wrapper

* get libc-cflags and libcxx-cxxflags from the sibling clang
  derivation.

* fix the order of those for C++ (libc-cflags use -idirafter for a
  reason).
This commit is contained in:
Michael Livshin
2021-04-24 10:37:57 +03:00
parent cd0ffd3f5f
commit 782cb7aea0
2 changed files with 19 additions and 12 deletions
+13 -6
View File
@@ -1,20 +1,27 @@
#!/bin/sh
buildcpath() {
local path
local path after
while (( $# )); do
case $1 in
-isystem)
shift
path=$path${path:+':'}$1
;;
-idirafter)
shift
after=$after${after:+':'}$1
;;
esac
shift
done
echo $path
echo $path${after:+':'}$after
}
export CPATH=${CPATH}${CPATH:+':'}$(buildcpath ${NIX_CFLAGS_COMPILE})
export CPATH=${CPATH}${CPATH:+':'}@libc_includes@
export CPLUS_INCLUDE_PATH=${CPATH}${CPATH:+':'}@libcpp_includes@
export CPATH=${CPATH}${CPATH:+':'}$(buildcpath ${NIX_CFLAGS_COMPILE} \
$(<@clang@/nix-support/libc-cflags))
export CPLUS_INCLUDE_PATH=${CPLUS_INCLUDE_PATH}${CPLUS_INCLUDE_PATH:+':'}$(buildcpath ${NIX_CFLAGS_COMPILE} \
$(<@clang@/nix-support/libcxx-cxxflags) \
$(<@clang@/nix-support/libc-cflags))
exec -a "$0" @clang@/bin/$(basename $0) "$@"
exec -a "$0" @unwrapped@/bin/$(basename $0) "$@"