summary refs log tree commit diff
path: root/pkgs/os-specific/darwin/print-reexports/setup-hook.sh
blob: 9efb00aeb4dc4531c507cc0d265c92a8a4721ce3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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)
}