On 09/24/2009 03:19 PM, Joshua Brindle wrote: > Joshua Brindle wrote: >> Joshua Brindle wrote: >>> >>> >>> Daniel J Walsh wrote: >>>> On 09/16/2009 03:35 PM, Joshua Brindle wrote: >>>>> >>>>> Joshua Brindle wrote: >>>>>> >>>>>> Daniel J Walsh wrote: >>>>>>> What do you think of this one. Removed excess swig cruft, >>>>>>> >>>>>>> You need to run >>>>>>> >>>>>>> make swigify to generate those changes. >>>>>>> >>>>>> Ok, looking at this now. I don't completely get how it works. I'm >>>>>> trying >>>>>> to reproduce what you are doing by hand but nothing comes out of gcc: >>>>>> >>>>>> [root@localhost src]# echo '#include "../include/selinux/selinux.h"'> >>>>>> temp.c >>>>>> [root@localhost src]# gcc -c temp.c -aux-info temp.aux >>>>>> [root@localhost src]# ls temp.* >>>>>> temp.c temp.o >>>>>> >>>>>> >>> >>> I got this "sort of" working locally. It works when I call it directly >>> on the header but it leaves a .gch file sitting in the include >>> directory. >>> >>> Trying to use stdin I get: >>> >>> [root@localhost src]# gcc -x c-header -c - -aux-info temp.aux < >>> ../include/selinux/selinux.h >>> <stdin>:569: internal compiler error: Segmentation fault >>> Please submit a full bug report, >>> with preprocessed source if appropriate. >>> See <http://bugzilla.redhat.com/bugzilla> for instructions. >>> >>> >>> Other comments: >>> >>> The disconnect between swigify and clean targets remains: If make >>> swigify builds this, and it is checked in to the tree then make clean >>> shouldn't remove it, else it should be in the pywrap target and not >>> installed. >>> >>> I'm not sure what the header re-ordering in selinuxswig.i and the >>> copytree/install functions have to do with this patch. >>> >> >> >> Applied with this diff on top: >> >> diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile >> index 928a1df..74b1e6a 100644 >> --- a/libselinux/src/Makefile >> +++ b/libselinux/src/Makefile >> @@ -16,14 +16,14 @@ LIBVERSION = 1 >> >> LIBA=libselinux.a >> TARGET=libselinux.so >> -SWIGIF= selinuxswig_python.i >> +SWIGIF= selinuxswig_python.i selinuxswig_python_exception.i >> SWIGRUBYIF= selinuxswig_ruby.i >> SWIGCOUT= selinuxswig_wrap.c >> SWIGRUBYCOUT= selinuxswig_ruby_wrap.c >> SWIGLOBJ:= $(patsubst %.c,%.lo,$(SWIGCOUT)) >> SWIGRUBYLOBJ:= $(patsubst %.c,%.lo,$(SWIGRUBYCOUT)) >> SWIGSO=_selinux.so >> -SWIGFILES=$(SWIGSO) selinux.py >> +SWIGFILES=$(SWIGSO) selinux.py selinuxswig_python_exception.i >> SWIGRUBYSO=_rubyselinux.so >> LIBSO=$(TARGET).$(LIBVERSION) >> AUDIT2WHYSO=audit2why.so >> @@ -103,7 +103,7 @@ $(SWIGCOUT): $(SWIGIF) >> $(SWIGRUBYCOUT): $(SWIGRUBYIF) >> $(SWIGRUBY) $^ >> >> -swigify: $(SWIGIF) selinuxswig_python_exception.i >> +swigify: $(SWIGIF) >> $(SWIG) $< >> >> install: all >> @@ -127,7 +127,7 @@ relabel: >> /sbin/restorecon $(SHLIBDIR)/$(LIBSO) >> >> clean: >> - -rm -f $(OBJS) $(LOBJS) $(LIBA) $(LIBSO) $(SWIGLOBJ) $(SWIGSO) >> $(TARGET) $(AUDIT2WHYSO) *.o *.lo *~ selinuxswig_python_exception.i >> + -rm -f $(OBJS) $(LOBJS) $(LIBA) $(LIBSO) $(SWIGLOBJ) $(SWIGSO) >> $(TARGET) $(AUDIT2WHYSO) *.o *.lo *~ >> >> distclean: clean >> rm -f $(GENERATED) $(SWIGFILES) >> diff --git a/libselinux/src/exception.sh b/libselinux/src/exception.sh >> old mode 100644 >> new mode 100755 >> index b2a3799..c3e61a5 >> --- a/libselinux/src/exception.sh >> +++ b/libselinux/src/exception.sh >> @@ -15,7 +15,6 @@ echo " >> ;; >> esac >> } >> -echo '#include "../include/selinux/selinux.h"' > temp.c >> -gcc -c temp.c -aux-info temp.aux >> -for i in `awk '/..\/include\/selinux\/selinux.h.*extern int/ { print $6 >> }' temp.aux`; do except $i ; done >> -rm -f temp.c temp.aux temp.o >> +gcc -x c -c - -aux-info temp.aux < ../include/selinux/selinux.h >> +for i in `awk '/<stdin>.*extern int/ { print $6 }' temp.aux`; do except >> $i ; done >> +rm -f -- temp.aux -.o >> > > > Merged in libselinux-2.0.87 I have VERSION 2.0.86 in git? -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@xxxxxxxxxxxxx with the words "unsubscribe selinux" without quotes as the message.