xref: /aosp_15_r20/external/selinux/libsemanage/src/exception.sh (revision 2d543d20722ada2425b5bdab9d0d1d29470e7bba)
1*2d543d20SAndroid Build Coastguard Workerfunction except() {
2*2d543d20SAndroid Build Coastguard Workerecho "
3*2d543d20SAndroid Build Coastguard Worker%exception $1 {
4*2d543d20SAndroid Build Coastguard Worker  \$action
5*2d543d20SAndroid Build Coastguard Worker  if (result < 0) {
6*2d543d20SAndroid Build Coastguard Worker     PyErr_SetFromErrno(PyExc_OSError);
7*2d543d20SAndroid Build Coastguard Worker     SWIG_fail;
8*2d543d20SAndroid Build Coastguard Worker  }
9*2d543d20SAndroid Build Coastguard Worker}"
10*2d543d20SAndroid Build Coastguard Worker}
11*2d543d20SAndroid Build Coastguard Workerif ! ${CC:-gcc} -x c -c -I../include -o temp.o - -aux-info temp.aux < ../include/semanage/semanage.h
12*2d543d20SAndroid Build Coastguard Workerthen
13*2d543d20SAndroid Build Coastguard Worker    # clang does not support -aux-info so fall back to gcc
14*2d543d20SAndroid Build Coastguard Worker    gcc -x c -c -I../include -o temp.o - -aux-info temp.aux < ../include/semanage/semanage.h
15*2d543d20SAndroid Build Coastguard Workerfi
16*2d543d20SAndroid Build Coastguard Workerfor i in `awk '/extern int/ { print $6 }' temp.aux`; do except $i ; done
17*2d543d20SAndroid Build Coastguard Workerrm -f -- temp.aux temp.o
18