about summary refs log tree commit homepage
path: root/Makefile.PL
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.PL')
-rw-r--r--Makefile.PL139
1 files changed, 0 insertions, 139 deletions
diff --git a/Makefile.PL b/Makefile.PL
deleted file mode 100644
index dadf80b..0000000
--- a/Makefile.PL
+++ /dev/null
@@ -1,139 +0,0 @@
-# Copyright (C) all contributors <mwrap-perl@80x24.org>
-# License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt>
-use v5.12;
-use ExtUtils::MakeMaker;
-use Config;
-my $pkg_config = $ENV{PKG_CONFIG} // 'pkg-config';
-my $LIBS = `$pkg_config --libs liburcu-cds liburcu-bp`;
-if ($?) {
-        print STDERR <<END;
-`$pkg_config --libs liburcu-cds` failed (\$?=$?)
-
-You need to install pkg-config and liburcu <https://liburcu.org/>
-before you can build Devel::Mwrap.
-
-On Debian:
-
-        apt-get install pkg-config liburcu-dev
-END
-        # tell CPAN testing to indicate missing deps
-        exit 0;
-}
-
-chomp($LIBS);
-if ($Config{usemymalloc} eq 'y') {
-        print STDERR <<END;
-Devel::Mwrap requires `usemymalloc=n'.  malloc and related functions
-must be dynamically-linked for Devel::Mwrap to work.
-END
-        exit 0;
-}
-
-# may be empty
-chomp(my $INC = `$pkg_config --cflags liburcu-cds liburcu-bp`);
-my @writemakefile_args = ();
-my $ccflags = '';
-
-print '# checking libxxhash... ';
-chomp(my $xxhash_inc = `$pkg_config --cflags libxxhash`);
-if ($? == 0) {
-        $INC .= " $xxhash_inc";
-        $ccflags .= ' -DHAVE_XXHASH';
-        say 'yes';
-} else {
-        say 'no';
-}
-
-use IO::Handle;
-STDOUT->autoflush(1);
-require ExtUtils::CBuilder;
-require File::Temp;
-my $cb = ExtUtils::CBuilder->new(quiet => $ENV{V} ? 0 : 1);
-my $d = File::Temp->newdir('mwrap-perl-build-XXXX');
-my $olderr;
-print '# checking for -lexecinfo... ';
-{
-        use autodie;
-        open my $fh, '>', "$d/execinfo.c";
-        print $fh <<EOM;
-#include <execinfo.h>
-int main(void) { return backtrace_symbols_fmt ? 1 : 0; }
-EOM
-        close $fh;
-        open $olderr, '+>&', *STDERR{IO};
-        open STDERR, '>', "$d/err.log";
-}
-eval {
-        my $obj = $cb->compile(source => "$d/execinfo.c");
-        $cb->link(objects => $obj, extra_linker_flags => '-lexecinfo');
-        $LIBS .= ' -lexecinfo';
-        say " yes on $^O";
-};
-say " no on $^O" if $@;
-{
-        use autodie;
-        open STDERR, '+>&', $olderr or die "dup stderr: $!";
-}
-
-# See lib/ExtUtils/MakeMaker.pm for details of how to influence
-# the contents of the Makefile that is written.
-push @writemakefile_args, (
-        NAME => 'Devel::Mwrap',
-        VERSION_FROM => 'lib/Devel/Mwrap.pm',
-        CCFLAGS => "$Config{ccflags} $ccflags",
-        PREREQ_PM => {},
-        ABSTRACT_FROM => 'lib/Devel/Mwrap.pm',
-        EXE_FILES => [qw(script/mwrap-perl script/mwrap-rproxy)],
-        AUTHOR => 'mwrap hackers <mwrap-perl@80x24.org>',
-        LIBS => $LIBS, # e.g. -lurcu-cds
-        LICENSE => 'gpl_2', # GPL-3.0+, CPAN::Meta::Spec limitation
-        MIN_PERL_VERSION => '5.12.0',
-        BUILD_REQUIRES => {},
-        INC => $INC,
-        depend => {
-                Makefile => 'lib/Devel/Mwrap.pm',
-        },
-        META_MERGE => {
-                resources => {
-                        repository => 'https://80x24.org/mwrap-perl.git',
-                        homepage => 'https://80x24.org/mwrap-perl.git/about',
-                        bugtracker => 'https://80x24.org/mwrap-public/',
-                },
-        },
-);
-
-WriteMakefile(@writemakefile_args);
-
-my $tflags = $ccflags;
-$tflags .= ' -DHAS_SOCKADDR_SA_LEN ' if $Config{d_sockaddr_sa_len};
-sub MY::postamble {
-        <<EOF;
-N = \$\$(( \$\$(nproc 2>/dev/null || gnproc 2>/dev/null || echo 2) + 1 ))
--include config.mak
-
-check-manifest :: MANIFEST
-        if git ls-files >\$?.gen 2>&1; then diff -u \$? \$?.gen; fi
-
-build.env :: Makefile
-        echo >\$\@+ extra_linker_flags=$LIBS -lpthread
-        echo >>\$\@+ extra_compiler_flags=-I. $INC $Config{ccflags} $tflags
-        mv \$\@+ \$\@
-
-pure_all :: build.env
-
-check:: all check-manifest
-        prove -bvw -j\$(N)
-
-# Install symlinks to ~/bin (which is hopefuly in PATH) which point to
-# this source tree.
-# prefix + bindir matches git.git Makefile:
-prefix = \$(HOME)
-bindir = \$(prefix)/bin
-symlink-install : all
-        mkdir -p \$(bindir)
-        exe=\$\$(realpath exe.sh) && cd \$(bindir) && \\
-        for x in \$(EXE_FILES); do \\
-                ln -sf "\$\$exe" \$\$(basename "\$\$x"); \\
-        done
-EOF
-}