Re: [Zope-Perl] PATCH - FreeBSD, Perl 5.8.6

2005-04-20 Thread Jeff Bachtel
Replying to myself - I also improved the error reporting if the
perl.so/perl2.so dl hack is used - that was annoying to track down.

On Wed, Apr 20, 2005 at 06:43:32PM -0500, Jeff Bachtel wrote:
> I also define PERL_EXT  at one point to avoid a cxio error.
___
Zope-perl maillist  -  Zope-perl@zope.org
http://mail.zope.org/mailman/listinfo/zope-perl


[Zope-Perl] PATCH - FreeBSD, Perl 5.8.6

2005-04-20 Thread Jeff Bachtel
The attached patch allows pyperl to build and test on FreeBSD. At
least, it did in its initial state (I haven't tested the generation
from try_perlapi.pl, rather I had been modifying the generated .c
file).

Basically, the short names used by pyperl for internal Perl functions
had been phased out, and it was less effort to patch the few calls
than to reexpose everything.

I also define PERL_EXT  at one point to avoid a cxio error.

jeff

-- 
Jeff Bachtel  ([EMAIL PROTECTED],TAMU)http://www.cepheid.org/~jeff
"For centuries, man had watched  [finger [EMAIL PROTECTED] for PGP key]
the clouds; now, they were watching him." -  S. Sachs
diff -ru pyperl-1.0.1-orig/dlhack.c pyperl-1.0.1-mod2/dlhack.c
--- pyperl-1.0.1-orig/dlhack.c  Tue Mar  6 13:36:16 2001
+++ pyperl-1.0.1-mod2/dlhack.c  Wed Apr 20 18:30:18 2005
@@ -46,5 +46,5 @@
return;
}
 }
-PyErr_SetString(PyExc_ImportError, "perl2.so not found");
+PyErr_SetString(PyExc_ImportError, dlerror());
 }
Only in pyperl-1.0.1-mod2/: dlhack.c.orig
diff -ru pyperl-1.0.1-orig/setup.py pyperl-1.0.1-mod2/setup.py
--- pyperl-1.0.1-orig/setup.py  Tue Mar  6 13:36:16 2001
+++ pyperl-1.0.1-mod2/setup.py  Wed Apr 20 18:30:58 2005
@@ -94,7 +94,6 @@
 cc_extra.append("-DDL_HACK")
 extra_ext.append(Extension(name = "perl",
sources = ["dlhack.c"],
-   libraries = ["dl"],
))
 
 
Only in pyperl-1.0.1-mod2/: setup.py.orig
diff -ru pyperl-1.0.1-orig/svrv_object.c pyperl-1.0.1-mod2/svrv_object.c
--- pyperl-1.0.1-orig/svrv_object.c Tue Mar  6 13:36:16 2001
+++ pyperl-1.0.1-mod2/svrv_object.c Wed Apr 20 18:32:04 2005
@@ -492,7 +492,7 @@
 
 diff = newlen - len;
 if (newlen && !AvREAL(av) && AvREIFY(av))
-   av_reify(av);
+   Perl_av_reify(aTHX_ av);
 
 #ifdef SPLICE_DEBUG
 printf("splice(offset=%d, len=%d, diff=%d, after=%d, fill=%d, max=%d, 
pre=%d)\n",
Only in pyperl-1.0.1-mod2/: svrv_object.c.orig
diff -ru pyperl-1.0.1-orig/try_perlapi.pl pyperl-1.0.1-mod2/try_perlapi.pl
--- pyperl-1.0.1-orig/try_perlapi.plTue Mar  6 13:36:16 2001
+++ pyperl-1.0.1-mod2/try_perlapi.plWed Apr 20 18:35:29 2005
@@ -17,6 +17,7 @@
 print C <
+#define PERL_EXT 1
 #include 
 #include 
 
@@ -50,7 +51,7 @@
 ENTER;
 SAVETMPS;
 
-push_return(Nullop);
+Perl_push_return(aTHX_ Nullop);
 PUSHBLOCK(cx, (CXt_EVAL|CXp_TRYBLOCK), PL_stack_sp);
 PUSHEVAL(cx, 0, 0);
 PL_eval_root = PL_op;
@@ -71,7 +72,7 @@
 
 POPBLOCK(cx,newpm);
 POPEVAL(cx);
-pop_return();
+Perl_pop_return(aTHX);
 PL_curpm = newpm;
 }
 
Only in pyperl-1.0.1-mod2/: try_perlapi.pl.orig
___
Zope-perl maillist  -  Zope-perl@zope.org
http://mail.zope.org/mailman/listinfo/zope-perl