DBD-Unify

 view release on metacpan or  search on metacpan

Makefile.PL  view on Meta::CPAN

	    $answer =~ m/^\s*[NnFf]/ and $try_shared = 0;
	    }
	elsif (-w $UNIFY) {
	    my $answer = prompt (
		"Building for rev $rev on HP-UX would support Shared Libraries\n".
		" but I don't see them (yet) in your \$UNIFY.\n".
		"Shall I try to use Shared Objects? [Y/n] >", "Y");
	    $answer =~ m/^\s*[Qq]/ and exit;
	    if ($answer =~ m/^\s*[NnFf]/) {
		$try_shared = 0;
		}
	    else {
		chdir $UNIFY or die "Cannot chdir to $UNIFY: $!\n";
		foreach my $a (<*.a >) {
		    $a eq "ACLMAIN.a" || $a eq "libgcc.a" and next;
		    (my $sl = "lib$a") =~ s/\.a$/.$dlext/o;
		    $sl =~ s/^liblib/lib/;
		    -f $sl and next;	# Already done;
		    mkdir "_a_SL", 0775 or die "Cannot create temp dir for conversion: $!";
		    chdir "_a_SL", 0775 or die "Cannot chdir to temp dir: $!";
		    print STDERR "  Converting $a ...\n";
		    system "ar x ../$a";
		    system "ld -b +s -o ../$sl *.o";
		    unlink <*.o >;
		    chdir "..";
		    rmdir "_a_SL";
		    }
		chdir $cwd;
		}
	    }
	else {
	    $try_shared = 0;
	    }
	}

    <ulib/*.s[lo] > or $try_shared = 0;
    if ($try_shared) {
	s/\.a$// for @ulibs;
	s/^lib// for @ulibs;
	$ULIBS = join " -l" => "-L$UNIFY", @ulibs;
	}
    else {
	$ULIBS = join " ulib/" => "", @ulibs;
	}
    print "\n";

    # --- Check development environment

    sub Check {
	my $f = shift;
	-r "$UNITOP/$f" && -s _ && (-x _ || $f !~ m/^bin/) and return;
	die "I can't find $f\n".
	    "Is your Unify ($UNITOP) set up correctly??\n";
	} # Check
    Check ("bin/SQL");
    Check ("bin/EPP");
    if ($try_shared) {
	Check ("lib/lib${_}.$dlext") for @ulibs;
	}
    else {
	Check ($_) for split m/ u/ => $ULIBS;
	}

    splice @sqlv, -2, 2;
    print "System:           perl$] $^O\n",
	  "UNIFY:            $UNITOP\n",
	  @sqlv,
	  "\n";

    $UNITOP;
    } # CheckUnify

1;

package MY;

sub postamble {
    my @pc = -f ".perlcriticrc" ? ("\tperlcritic -1 Unify.pm") : ();
    join "\n" =>
	DBI::DBD::dbd_postamble (),
	'',
	'dbdimp.c:		dbdimp.ec Unify.h',
	'	$(EPP) $(EPPOPT) dbdimp.ec ',
	'',
	'dbdimp.ec:		dbdimp.ic',
	'	$(PERL) ic2ec dbdimp.ic > dbdimp.ec',
	'',
	'installu uinstall:	all',
	'	$(PERL) installu.pl',
	'',
	'cover test_cover:',
#	'	ccache -C',
	'	cover -test',
	'',
	'spellcheck:',
	'	pod-spell-check --aspell',
	'',
	'checkmeta:	spellcheck',
	'	perl sandbox/genPPPort_h.pl',
	'	perl sandbox/genMETA.pl -c',
	'',
	'fixmeta:	distmeta',
	'	perl sandbox/genMETA.pl',
	'	ls -l */META.yml',
	'',
	'tgzdist:	doc checkmeta fixmeta $(DISTVNAME).tar.gz distcheck',
	'	-@mv -f $(DISTVNAME).tar.gz $(DISTVNAME).tgz',
	'	-@cpants_lint.pl $(DISTVNAME).tgz',
	'	-@rm -f Debian_CPANTS.txt',
	'',
	'doc docs:		doc/DBD-Unify.md doc/DBD-Unify.html doc/DBD-Unify.man',
	'doc/DBD-Unify.md:		Unify.pm',
	'	perl doc/make-doc.pl',
	'',
	@pc,
	'',
	'linkext::',
	'	if [ -x $(SELINUXENABLED) ] && $(SELINUXENABLED); then chcon -t textrel_shlib_t $(INST_ARCHLIB)/auto/$(FULLEXT)/$(DLBASE).so; fi',
	'',
	'install::',
	'	if [ -x $(SELINUXENABLED) ] && $(SELINUXENABLED); then chcon -t textrel_shlib_t $(INSTALLSITEARCH)/auto/$(FULLEXT)/$(DLBASE).so; fi',



( run in 0.554 second using v1.01-cache-2.11-cpan-71847e10f99 )