I'm trying to connect perl to OpenAccess c++ library.
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]



Reply via email to