use
5.010001;
use
Fatal
qw(open close mkdir chdir)
;
use
vars
qw($VERSION $STRING_VERSION)
;
$VERSION
=
'4.001_034'
;
$STRING_VERSION
=
$VERSION
;
$VERSION
=
eval
$VERSION
;
my
%perl_autoconf_os
=
map
{
$_
=> 1 }
qw( MSWin32 openbsd solaris sunos midnightbsd )
;
my
$use_perl_autoconf
=
$ENV
{MARPA_USE_PERL_AUTOCONF}
|| (
$perl_autoconf_os
{$^O} // 0 );
my
$define
=
q{}
;
$define
.=
' -DWIN32'
if
($^O eq
'MSWin32'
);
undef
&MY::post_initialize
;
*MY::post_initialize
=
sub
{
my
(
$self
) =
@_
;
my
@pieces
= (
".NOTPARALLEL:\n"
);
if
(
$use_perl_autoconf
) {
push
@pieces
,
'LIBMARPA_BUILD_DIR = perl_ac_build'
,
'LIBMARPA_IN_BUILD_DIR = $(LIBMARPA_BUILD_DIR)/libmarpa$(LIB_EXT)'
,
q{}
;
}
else
{
push
@pieces
,
'LIBMARPA_BUILD_DIR = gnu_ac_build'
,
'LIBMARPA_IN_BUILD_DIR = $(LIBMARPA_BUILD_DIR)/.libs/libmarpa$(LIB_EXT)'
,
q{}
;
}
return
join
"\n"
,
@pieces
;
};
undef
&MY::top_targets
;
*MY::top_targets
=
sub
{
my
$r
= '
all :: $(LIBMARPA_IN_BUILD_DIR)
$(NOECHO) $(NOOP)
$(ECHO) hello from engine/Makefile.PL all target
config ::
$(NOECHO) $(NOOP)
test ::
$(NOECHO) $(NOOP)
test_dynamic ::
$(NOECHO) $(NOOP)
';
return
$r
;
};
undef
&MY::postamble
;
*MY::postamble
=
sub
{
my
(
$self
) =
@_
;
my
@postamble_pieces
= ();
push
@postamble_pieces
,
sprintf
"LIBMARPA_INSTALL = %s\n"
,
$self
->oneliner(
'install([ from_to => {@ARGV}, skip => q{cf/INSTALL.SKIP}, dir_mode => "$(PERM_DIR)" ]);'
,
[
qw(-MExtUtils::Install)
]
);
push
@postamble_pieces
,
<<'END_OF_POSTAMBLE_PIECE';
gnu_ac_build/configure: read_only/stamp-h1
$(LIBMARPA_INSTALL) read_only gnu_ac_build
END_OF_POSTAMBLE_PIECE
push
@postamble_pieces
,
<<'END_OF_POSTAMBLE_PIECE';
perl_ac_build/Makefile.PL: read_only/stamp-h1 cf/perl_ac_makefile.PL
$(RM_RF) perl_ac_build
$(LIBMARPA_INSTALL) read_only perl_ac_build
$(CP) cf/perl_ac_makefile.PL perl_ac_build/Makefile.PL
END_OF_POSTAMBLE_PIECE
push
@postamble_pieces
,
sprintf
<<'END_OF_POSTAMBLE_PIECE',
gnu_ac_build/Makefile: gnu_ac_build/configure
%s
END_OF_POSTAMBLE_PIECE
$self
->cd( File::Spec->catdir(
qw(gnu_ac_build)
),
'$(SHELL) configure --with-pic --disable-shared --disable-maintainer-mode'
);
push
@postamble_pieces
,
<<'END_OF_POSTAMBLE_PIECE';
END_OF_POSTAMBLE_PIECE
push
@postamble_pieces
,
sprintf
<<'END_OF_POSTAMBLE_PIECE',
perl_ac_build/Makefile: perl_ac_build/Makefile.PL
%s
END_OF_POSTAMBLE_PIECE
$self
->cd(File::Spec->catdir(
qw(perl_ac_build)
),
'$(PERLRUN) Makefile.PL $(ARGV)'
);
push
@postamble_pieces
,
sprintf
<<'END_OF_POSTAMBLE_PIECE',
gnu_ac_build/.libs/libmarpa$(LIB_EXT): gnu_ac_build/Makefile
%s
$(ECHO) hello from Perl AC libmarpa.a target
END_OF_POSTAMBLE_PIECE
$self
->cd(File::Spec->catdir(
qw(gnu_ac_build)
),
'$(MAKE)'
);
push
@postamble_pieces
,
sprintf
<<'END_OF_POSTAMBLE_PIECE',
perl_ac_build/libmarpa$(LIB_EXT): perl_ac_build/Makefile
%s
$(ECHO) hello from Perl AC libmarpa.a target
END_OF_POSTAMBLE_PIECE
$self
->cd(File::Spec->catdir(
qw(perl_ac_build)
),
'$(MAKE)'
);
return
join
"\n"
,
@postamble_pieces
;
};
WriteMakefile(
INC
=>
'-I.'
,
NAME
=>
'Marpa::R3'
,
VERSION
=>
$STRING_VERSION
,
DEFINE
=>
$define
,
SKIP
=> [
qw(test test_dynamic dynamic dynamic_lib dlsyms)
],
);