From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS198093 171.25.193.0/24 X-Spam-Status: No, score=-2.4 required=3.0 tests=AWL,BAYES_00,RCVD_IN_XBL, URIBL_BLOCKED shortcircuit=no autolearn=no version=3.3.2 X-Original-To: meta@public-inbox.org Received: from 80x24.org (tor-exit3-readme.dfri.se [171.25.193.235]) by dcvr.yhbt.net (Postfix) with ESMTP id 01C701FAE4 for ; Tue, 25 Aug 2015 02:03:23 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH] Makefile.PL: add "syntax" target to check syntax Date: Tue, 25 Aug 2015 02:03:15 +0000 Message-Id: <1440468196-12885-2-git-send-email-e@80x24.org> List-Id: This is necessary since Xapian may not be installed and we may hide a lot of errors this way. --- Makefile.PL | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/Makefile.PL b/Makefile.PL index a9b15ca..ccf4bbb 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -3,14 +3,16 @@ # License: AGPLv3 or later (https://www.gnu.org/licenses/agpl-3.0.txt) use strict; use ExtUtils::MakeMaker; +my @EXE_FILES = split("\n", `git ls-files 'public-inbox*' 2>/dev/null`); +my $PM_FILES = `git ls-files lib '*.pm' 2>/dev/null`; +$PM_FILES =~ tr/\n/ /; + WriteMakefile( NAME => 'public-inbox', VERSION => '0.0.0', AUTHOR => 'Eric Wong ', ABSTRACT => 'public-inbox server infrastructure', - EXE_FILES => [qw/public-inbox-mda public-inbox.cgi - public-inbox-learn public-inbox-init - public-inbox-index/], + EXE_FILES => \@EXE_FILES, PREREQ_PM => { # note: we use ssoma(1) and spamc(1), NOT the Perl modules # We also depend on git through ssoma. @@ -32,11 +34,19 @@ WriteMakefile( ); sub MY::postamble { - <<'EOF'; + </dev/null || echo 2) + 1))) +my_syntax := \$(addsuffix .syntax, $PM_FILES \$(EXE_FILES)) + +N := \$(shell echo \$\$(( \$\$(nproc 2>/dev/null || echo 2) + 1))) + +%.syntax :: + @\$(PERL) -I lib -c \$(subst .syntax,,\$@) + +syntax:: \$(my_syntax) + check:: pure_all - prove -lv -j$(N) + prove -lv -j\$(N) EOF } -- EW