#!/usr/bin/env bash . "$(dirname $0)/util/logging.bash" read -d '' usage <&1 \ | sed -e '1,/^\s*#include\s\+<\.\.\.>\s\+search\s\+starts\s\+here:\s*/d' \ | sed -e '/^\s*End\s\+of\s\+search\s\+list.\s*$/,$d' \ | sed -e 's/^\s\+//g; s/\s\+$//g' } cc=${CC:-cc} cxx=${CXX:-cxx} [ -z "$1" ] && errcat "$usage" && exit 1 case "$1" in 'clang') ;& 'clang++') cc='clang' cxx='clang++' shift ;; 'gcc') ;& 'g++') cc='gcc' cxx='g++' shift ;; esac get-both() { get-incl $cc; get-incl $cxx; } while getopts 'cpP' opt; do case "${opt}" in c) get-incl $cc ;; p) get-incl $cxx ;; P) sort -u <<<$(get-both) ;; *) errcat "$usage" exit 1 ;; esac done shift $((OPTIND-1))