Help language development. Donate to The Perl Foundation

Base64::Native cpan:WARRINGD last updated on 2021-01-12

#! /usr/bin/env perl6
#Note `zef build .` will run this script
use v6;

class Build {
    need LibraryMake;
    # adapted from deprecated Native::Resources

    #| Sets up a C<Makefile> and runs C<make>.  C<$folder> should be
    #| C<"$folder/resources/libraries"> and C<$libname> should be the name of the library
    #| without any prefixes or extensions.
    sub make(Str $folder, Str $destfolder, IO() :$libname!) {
        my %vars = LibraryMake::get-vars($destfolder);
        %vars<LIB_NAME> = ~ $*VM.platform-library-name($libname);
        %vars<MAKE> = 'make' if Rakudo::Internals.IS-WIN; #issue #1
        LibraryMake::process-makefile($folder, %vars);

    method build($workdir) {
        my $destdir = 'resources/libraries';
        mkdir 'resources';
        mkdir $destdir;
        make($workdir, $destdir, :libname<base64>);

# can also be run standalone
sub MAIN(Str $working-directory = '.' ) {$working-directory);