Dev(3pm) | User Contributed Perl Documentation | Dev(3pm) |
PDL::Core::Dev - PDL development module
This module encapsulates most of the stuff useful for PDL development and is often used from within Makefile.PL's.
use PDL::Core::Dev;
Is the machine big or little endian?
print "Your machins is big endian.\n" if isbigendian();
returns 1 if the machine is big endian, 0 if little endian, or dies if neither. It uses the "byteorder" element of perl's %Config array.
my $retval = isbigendian();
a perl configure clone
if (trylink 'libGL', '', 'char glBegin(); glBegin();', '-lGL') { $libs = '-lGLU -lGL'; $have_GL = 1; } else { $have_GL = 0; } $maybe = trylink 'libwhatever', $inc, $body, $libs, $cflags, {MakeMaker=>1, Hide=>0, Clean=>1};
Try to link some C-code making up the body of a function with a given set of library specifiers
return 1 if successful, 0 otherwise
trylink $infomsg, $include, $progbody, $libs [,$cflags,{OPTIONS}];
Takes 4 + 2 optional arguments.
prints on "STDOUT" XS text with core flags, for Core.xs.
PDL::Core::Dev::got_complex_version($func_name, $num_params)
For a given function appearing in C99's "complex.h", will return a boolean of whether the system being compiled on has the complex version of that. E.g. for "sin", will test whether "csinl" exists (before 2.069, would only check for "csin", causing build failures on non-C99 compliant "libc" which mandates long-double versions).
2023-04-27 | perl v5.36.0 |