diff options
Diffstat (limited to 'nixpkgs/pkgs/os-specific/darwin/print-reexports/setup-hook.sh')
-rw-r--r-- | nixpkgs/pkgs/os-specific/darwin/print-reexports/setup-hook.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/os-specific/darwin/print-reexports/setup-hook.sh b/nixpkgs/pkgs/os-specific/darwin/print-reexports/setup-hook.sh new file mode 100644 index 000000000000..9efb00aeb4dc --- /dev/null +++ b/nixpkgs/pkgs/os-specific/darwin/print-reexports/setup-hook.sh @@ -0,0 +1,19 @@ +fixupOutputHooks+=('checkTbdReexports') + +checkTbdReexports() { + local dir="$1" + + while IFS= read -r -d $'\0' tbd; do + echo "checkTbdRexports: checking re-exports in $tbd" + while read -r target; do + local expected="${target%.dylib}.tbd" + if ! [ -e "$expected" ]; then + echo -e "Re-export missing:\n\t'$target'\n\t(expected '$expected')" + echo -e "While processing\n\t'$tbd'" + exit 1 + else + echo "Re-exported target '$target' ok" + fi + done < <(print-reexports "$tbd") + done < <(find $prefix -type f -name '*.tbd' -print0) +} |