Click here to get back home

Perl Module using XS

 HomeNewsGroups | Search | About
 comp.lang.perl.modules    Post an article   get this group's latest topics as an RSS feed add this group's latest topics to your My MSN content add this group's latest topics to your My Yahoo content
Subject Author Date
Perl Module using XS Rajan S 05-03-2008
Posted by Rajan S on May 3, 2008, 5:09 pm
Please log in for more thread options
Hello "XS Gurus":
I am trying to develop a perl extension using XS that would execute a DB2's
'.sqc' generated c executable.( equivalent of Oracle's pro*c generated
executable). The 'C' executable executes fine by itself. I am having a hard
time getting the perl module work.
I added in the '.xs' file the Xsubb for the function that is declared in the
'C' program.
In the Makefile.PL, I added the object files generated from the 'C' program
and also the path where the object file can be fouind.
Still, the make process does not succeed in building the 'C' function into
the Perl module.
Could anyone show pointers as to what i am missing
thanks
Rajan


use 5.008008;
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
NAME => 'RajanT',
VERSION_FROM => 'lib/RajanT.pm', # finds $VERSION
PREREQ_PM => {}, # e.g., Module::Name => 1.1
($] >= 5.005 ? ## Add these new keywords supported since 5.005
(ABSTRACT_FROM => 'lib/RajanT.pm', # retrieve abstract from module
LIBS => [''], # e.g., '-lm'
DEFINE => '', # e.g., '-DHAVE_SOMETHING'
INC => '-I. -I/home/db2inst2', # e.g.,
'-I. -I/usr/include/other'
MYEXTLIB => 'rlib/libmylib$(LIB_EXT)',
# Un-comment this if you add C files to link with later:
OBJECT => '$(example2.o)', # link all the C files
too
);
if (eval {require ExtUtils::Constant; 1}) {
# If you edit these definitions to change the constants used by this module,
# you will need to use the generated const-c.inc and const-xs.inc
# files to replace their "fallback" counterparts before distributing your
# changes.
my @names = (qw(TESTVAL));
ExtUtils::Constant::WriteConstants(
NAME => 'RajanT',
NAMES => \@names,
DEFAULT_TYPE => 'IV',
C_FILE => 'const-c.inc',
XS_FILE => 'const-xs.inc',
);
}
else {
use File::Copy;
use File::Spec;
foreach my $file ('const-c.inc', 'const-xs.inc') {
my $fallback = File::Spec->catfile('fallback', $file);
copy ($fallback, $file) or die "Can't copy $fallback to $file: $!";
}
}

sub MY::postamble {
'
$(MYEXTLIB): rlib/Makefile
cd rlib && $(MAKE) $(PASSTHRU)
';




Posted by Ilya Zakharevich on May 5, 2008, 8:31 pm
Please log in for more thread options
[A complimentary Cc of this posting was sent to
Rajan S
> Hello "XS Gurus":
> I am trying to develop a perl extension using XS that would execute a DB2's
> '.sqc' generated c executable.( equivalent of Oracle's pro*c generated
> executable). The 'C' executable executes fine by itself. I am having a hard
> time getting the perl module work.
> I added in the '.xs' file the Xsubb for the function that is declared in the
> 'C' program.
> In the Makefile.PL, I added the object files generated from the 'C' program
> and also the path where the object file can be fouind.
> Still, the make process does not succeed in building the 'C' function into
> the Perl module.
> Could anyone show pointers as to what i am missing

A way to ask meaningful (meaning sufficiently complete) questions?

Hope this helps,
Ilya

Similar ThreadsPosted
Perl module PDF::API2 July 11, 2004, 5:35 am
Perl GD::Graph module: bug? August 3, 2004, 8:42 pm
Installing DBI module for Perl 5.8.4 October 4, 2005, 6:26 am
Problem with Net::SSH::Perl module December 22, 2004, 12:38 pm
Perl module for R-trees March 29, 2005, 9:02 pm
Perl module installation April 11, 2005, 9:55 am
Access a c++ module from Perl October 24, 2005, 6:21 pm
Robot Perl module December 6, 2005, 7:26 am
Problem using C module in perl January 5, 2006, 5:03 am
Top Level Name for Perl Module June 29, 2006, 1:23 pm

Our other projects:

Art Dolls, Fairies and Mermaids - Sunnyfaces.net

Roy's Linux, Programming and Search Engines messages

1-Script XML SitemapXML Sitemap