I've managed to get Makefile.PL to work and make to compile and create a blib
Here's my nm on the .so
ink00.dal.design.ti.com 162 % nm blib/arch/auto/OAPerl/OAPerl.so 00002760 d DW.ref.__gxx_personality_v0 U Perl_Gthr_key_ptr U Perl_Isv_yes_ptr U Perl_Tmarkstack_ptr_ptr U Perl_Tstack_base_ptr U Perl_Tstack_sp_ptr U Perl_croak U Perl_form U Perl_get_sv U Perl_newXS U Perl_sv_2iv U Perl_sv_2pv_flags U Perl_sv_2pv_nolen 000027c4 A _DYNAMIC 000029e0 A _GLOBAL_OFFSET_TABLE_ w _Jv_RegisterClasses 00000d50 T _Z18XS_OAPerl_oaDBInitP11interpreterP2cv U _Z8oaDBInitPiPPcjj 000029d0 d __CTOR_END__ 000029cc d __CTOR_LIST__ 000029d8 d __DTOR_END__ 000029d4 d __DTOR_LIST__ 00002764 d __EH_FRAME_BEGIN__ 000027c0 d __FRAME_END__ 000029dc d __JCR_END__ 000029dc d __JCR_LIST__ 00002a40 A __bss_start w __cxa_finalize@@GLIBC_2.1.3 00001620 t __do_global_ctors_aux 00000c80 t __do_global_dtors_aux 00002758 d __dso_handle w __gmon_start__ U __gxx_personality_v0@@CXXABI_1.2 00002a40 A _edata 00002a44 A _end 00001664 T _fini 00000b28 T _init 00001150 T boot_OAPerl 00000c50 t call_gmon_start 00002a40 b completed.1 00000d00 t frame_dummy 0000275c d p.0 U pthread_getspecific
When I do the make test I get:
ink00.dal.design.ti.com 163 % make test
PERL_DL_NONLAZY=1 /data/cdmg/opt/perl/5.8.4/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/0000_oaDBInit....dubious
Test returned status 0 (wstat 6, 0x6) DIED. FAILED test 1 Failed 1/1 tests, 0.00% okay Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/0000_oaDBInit.t 0 6 1 2 200.00% 1 Failed 1/1 test scripts, 0.00% okay. 1/1 subtests failed, 0.00% okay. make: *** [test_dynamic] Error 2
Here's my .t file use Test::More tests => 1; use OAPerl; OAPerl::oaDBInit(0,[EMAIL PROTECTED]); ok('a' eq 'a');
Here's my .pm
package OAPerl; use strict; use Exporter; use vars qw($VERSION @ISA @EXPORT); require DynaLoader; @ISA = qw(Exporter DynaLoader); $VERSION = '0.01'; bootstrap OAPerl $VERSION; @EXPORT = qw( oaDBInit ); # Preloaded methods go here.
1;
my .xs #ifdef __cplusplus extern "C" { #endif #include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include "ppport.h" #ifdef __cplusplus } #endif
#include "oaDB.h"
MODULE = OAPerl PACKAGE = OAPerl PREFIX = OAPerl
PROTOTYPES: DISABLE
void oaDBInit(argc,argv,majrev = 1,minrev = 2) int argc char *argv int majrev int minrev PPCODE: { oaDBInit((oaInt4*)&argc,&argv,(oaInt4)majrev,(oaInt4)minrev); }
-- ___ _ ____ ___ __ __ / _ )(_) / /_ __ / _ \___ _/ /_/ /____ ___ / _ / / / / // / / ___/ _ `/ __/ __/ _ \/ _ \ /____/_/_/_/\_, / /_/ \_,_/\__/\__/\___/_//_/ /___/ Texas Instruments ASIC Circuit Design Methodlogy Group Dallas, Texas, 214-480-4455, [EMAIL PROTECTED]