[Camelbones-devel] compiled Camelbones 0.2 on Panther
Brought to you by:
shermpendley
From: Thilo P. <thi...@us...> - 2003-11-08 11:59:25
|
Hi all, I managed to compile CB 0.2 on Panther. I am not 100% sure if it completely works, but it seems okay at first glance (and I can use PerlPad again !). Here are the adjustments I had to make to the source to get it to compile: 1) Adjust paths headers and libraries > $(SYSTEM_LIBRARY_DIR)/Perl/5.8.1/darwin-thread-multi-2level/CORE/ linker > -seg1addr 0x10000000 -lperl -lm -lc > ${SYSTEM_LIBRARY_DIR}/Perl/5.8.1/darwin-thread-multi-2level/auto/ > DynaLoader/DynaLoader.a xs stuff > my $xsubpp = "perl /System/Library/Perl/5.8.1/ExtUtils/xsubpp -typemap > /System/Library/Perl/5.8.1/ExtUtils/typemap"; 2) fix "my_perl undefined" I have no idea what this is doing, but after checking Google, I found that I need to add XSUB.h to CBPerlGuts.h. This is somehow related to threaded Perl. > // Import Perl stuff first > #include <EXTERN.h> > #include <perl.h> > #include <XSUB.h> > #include "perlxsi.h" Can anyone explain what this does (except allowing compilation) 3) rewrite a macro call There is a macro call in CBPerlGuts.m which looks okay, but the compiler somehow stumbled over the number of arguments. I had to rewrite it a little: > const char *tmpCString; > tmpCString = [[NSString stringWithFormat: > @"%@::OBJC_METHOD_SIGNATURES", className] cString]; > > // Try to get %OBJC_METHOD_SIGNATURES out of the appropriate > package > methodSignaturesHash = get_hv( > tmpCString, > NO); If above seems to be working for all, can someone please make an official binary to put on the Camelbones homepage? Regards, Thilo |