name: Detect ifdef/defined (mis)use on: [push, pull_request] jobs: find-misuse: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - run: | printf '(^#ifn?def[[:space:]]+|defined[[:space:]]*[(][[:space:]]*)((%s)([^_A-Za-z0-9]|$))\0' \ "$(printf '%s' "$(awk '/#mesondefine/ { print $2 }' mlibc-config.h.in)" | tr '\n' '|')" \ | { ! xargs -0I '{}' grep --color=always -PR '{}' \ || { echo 'found misuse'; exit 1; }; } # vim: set sw=2 :