Author robert.kern
Recipients belopolsky, bretthoerner, chrismiles, danchr, jcea, laca, movement, rhettinger, robert.kern, ronaldoussoren, sirg3, skip.montanaro, twleung
Date 2009-04-22.06:12:36
SpamBayes Score 1.78479e-09
Marked as misclassified No
Message-id <1240380781.68.0.330245306978.issue4111@psf.upfronthosting.co.za>
In-reply-to
Content
Skip, it doesn't appear that the ustack helper is getting incorporated
into the OS X build anywhere. This rule is obviously wrong (compiling
the wrong input file with the wrong flags):

Include/phelper.h: $(srcdir)/Include/phelper.d
	dtrace -o $@ $(DFLAGS) -C -h -s $(srcdir)/Python/python.d

I *think* it should be something along these lines:

Include/phelper.h: $(srcdir)/Include/phelper.d
	dtrace -o $@ -DPHELPER $(DFLAGS) $(CPPFLAGS) -C -h -s
$(srcdir)/Include/phelper.d

There are some static functions in the standard system headers that get
pulled in that need to be avoided. The #define _SYS_STAT_H up at the top
avoids similar problems on Solaris. I'm working through the OS X headers
now, but I'm stuck on trying to avoid sys/_structs.h. Unfortunately, it
does not have the #ifndef _SYS__STRUCTS_H magic up at the top that would
allow me to do so, nor any convenient #ifdefs around the offending
declaration. <sigh>

Even if that would work, phelper.h is not #included anywhere. I'm not
really sure where it needs to go. On Solaris, the object file gets
linked in, but on OS X, you don't generate an object file; you just
#include the .h. Somewhere. I'm guessing where the pydtrace.h is
currently, but I don't really know. John, do you have any insights?

Also, s/DTRADEHDRS/DTRACEHDRS/
History
Date User Action Args
2009-04-22 06:13:04robert.kernsetrecipients: + robert.kern, skip.montanaro, rhettinger, jcea, ronaldoussoren, belopolsky, movement, bretthoerner, laca, twleung, sirg3, chrismiles, danchr
2009-04-22 06:13:01robert.kernsetmessageid: <1240380781.68.0.330245306978.issue4111@psf.upfronthosting.co.za>
2009-04-22 06:12:58robert.kernlinkissue4111 messages
2009-04-22 06:12:53robert.kerncreate