The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Module::Build::FFI::Rust - Build Perl extensions in Rust with FFI

DESCRIPTION

Module::Build::FFI variant for writing Perl extensions in Rust wiht FFI (sans XS).

BASE CLASS

All methods, properties and actions are inherited from:

Module::Build::FFI

PROPERTIES

Currently the Rust compile and link is done in one command so these are both provided to that one step.

ffi_rust_extra_compiler_flags

Extra compiler flags to be passed to rustc.

Must be a array reference.

ffi_rust_extra_linker_flags

Extra linker flags to be passed to rustc.

Must be a array reference.

BASE CLASS

Module::Build::FFI

METHODS

ffi_have_compiler

 my $has_compiler = $mb->ffi_have_compiler;

Returns true if a rust compiler (rustc) is available.

ffi_build_dynamic_lib

 my $dll_path = $mb->ffi_build_dynamic_lib($src_dir, $name, $target_dir);
 my $dll_path = $mb->ffi_build_dynamic_lib($src_dir, $name);

Compiles the Rust source in the $src_dir and link it into a dynamic library with base name of $name.$Config{dlexe}. If $target_dir is specified then the dynamic library will be delivered into that directory.

EXAMPLES

For a complete example working example, see this module which calculates fibonacci numbers using Rust.

https://github.com/plicease/Fibonacci-FFI

SUPPORT

If something does not work as advertised, or the way that you think it should, or if you have a feature request, please open an issue on this project's GitHub issue tracker:

https://github.com/plicease/FFI-Platypus-Lang-Rust/issues

CONTRIBUTING

If you have implemented a new feature or fixed a bug then you may make a pull reequest on this project's GitHub repository:

https://github.com/plicease/FFI-Platypus-Lang-Rust/issues

Caution: if you do this too frequently I may nominate you as the new maintainer. Extreme caution: if you like that sort of thing.

SEE ALSO

FFI::Platypus

The Core Platypus documentation.

Module::Build::FFI

General MB class for FFI / Platypus.

AUTHOR

Graham Ollis <plicease@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2015 by Graham Ollis.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.