Module::Build::XSUtil(3pm) | User Contributed Perl Documentation | Module::Build::XSUtil(3pm) |
NAME¶
Module::Build::XSUtil - A Module::Build class for building XS modules
SYNOPSIS¶
Use in your Build.PL
use strict; use warnings; use Module::Build::XSUtil; my $builder = Module::Build::XSUtil->new( dist_name => 'Your-XS-Module', license => 'perl', dist_author => 'Your Name <yourname@example.com>', dist_version_from => 'lib/Your/XS/Module', generate_ppport_h => 'lib/Your/XS/ppport.h', generate_xshelper_h => 'lib/Your/XS/xshelper.h', needs_compiler_c99 => 1, ); $builder->create_build_script();
Use in custom builder module.
package builder::MyBuilder; use strict; use warnings; use base 'Module::Build::XSUtil'; sub new { my ($class, %args) = @_; my $self = $class->SUPER::new( %args, generate_ppport_h => 'lib/Your/XS/ppport.h', generate_xshelper_h => 'lib/Your/XS/xshelper.h', needs_compiler_c99 => 1, ); return $self; } 1;
DESCRIPTION¶
Module::Build::XSUtil is subclass of Module::Build for support building XS modules.
This is a list of a new parameters in the Module::Build::new method:
- needs_compiler_c99
- This option checks C99 compiler's availability. If it's not available, Build.PL exits by 0.
- needs_compiler_cpp
- This option checks C++ compiler's availability. If it's not available,
Build.PL exits by 0.
In addition, append 'extra_compiler_flags' and 'extra_linker_flags' for C++.
- generate_ppport_h
- Generate ppport.h by Devel::PPPort.
- generate_xshelper_h
- Generate xshelper.h which is a helper header file to include EXTERN.h,
perl.h, XSUB.h and ppport.h, and defines some portability stuff which are
not supported by ppport.h.
It is porting from Module::Install::XSUtil.
- cc_warnings
- Enable compiler warnings flag. It is enable by default.
- -g options
- If invoke Build.PL with '-g' option, It will build with debug options.
SEE ALSO¶
Module::Install::XSUtil
LICENSE¶
Copyright (C) Hideaki Ohno.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR¶
Hideaki Ohno <hide.o.j55 {at} gmail.com>
2022-12-12 | perl v5.36.0 |