On Mon, Nov 7, 2016 at 2:07 PM, Nicolas Iooss <nicolas.iooss@xxxxxxx> wrote: > On 07/11/16 22:19, William Roberts wrote: >> On Nov 7, 2016 13:03, "Stephen Smalley" <sds@xxxxxxxxxxxxx >> <mailto:sds@xxxxxxxxxxxxx>> wrote: >>> >>> On 11/05/2016 05:24 PM, Nicolas Iooss wrote: >>> > When compiling libselinux with CC=clang, "make pywrap" reports the >>> > following message: >>> > >>> > bash exception.sh > selinuxswig_python_exception.i >>> > clang-3.9: error: no such file or directory: 'temp.aux' >>> > awk: fatal: cannot open file `temp.aux' for reading (No such file or >>> > directory) >>> > >>> > This does not make the build fail as exception.sh returns an "OK" >>> > status. Use "bash -e" with this script to make it return an error value. >>> > >>> > In order not to keep an empty selinuxswig_python_exception.i file after >>> > a build fails (which would make a second run of "make pywrap" >> incorrectly >>> > succeed), remove the file when exception.sh fails. >>> > >>> > As libsemanage uses the same code to build >>> > semanageswig_python_exception.i, modify its Makefile too. >>> > >>> > By the way, on Linux clang does not seem to currently support -aux-info >>> > so it cannot be used to craft selinuxswig_python_exception.i. >>> >>> Thanks, applied all three. Maybe we need to just always set CC to gcc >>> in exception.sh? >>> >> >> What if you don't have GCC? We should support CC consistently and not >> set it under the hood IMHO. > > There are also valid scenarios where exception.sh works without CC being > gcc, for example when cross-compiling with CC=arm-....-gcc, or building > with wrappers like CC=musl-gcc, etc. > What about using gcc as a fallback if $CC did not work? i.e. something > like this in exception.sh: > > if ! ${CC:-gcc} -x c -c -I../include - -aux-info .... ; then > # clang does not support -aux-info so fall back to gcc > gcc -x c -c -I../include - -aux-info .... > fi > > Nicolas Looking at exception.sh it appears that it takes in selinux.h and produces custom exception handlers for the swig interface. We could potentially do this without -aux-info and just write the swig interface by hand. _______________________________________________ Selinux mailing list Selinux@xxxxxxxxxxxxx To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx. To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.