I'm using it like this, for now.
File
pgbison.pl:
system("c:\\bin\\bison $headerflag $input -o $output");
File
pgflex.pl:
system("c:\\bin\\flex $flexflags -o$output $input");
system("c:\\perl\\bin\\perl src\\tools\\
fix-old-flex-code.pl $output");
File Solution.pm:
system(
system('perl
generate-lwlocknames.pl lwlocknames.txt');
system(
system(
system(
system(
system(
system(
system("perl
create_help.pl ../../../doc/src/sgml/ref sql_help");
system(
system(
system(
system(
system(
system('perl
parse.pl < ../../../backend/parser/gram.y > preproc.y');
system(
C:\dll\postgres\src\tools\msvc>\bin\grep bison *pm
File MSBuildProject.pm:
<Message Condition="'\$(Configuration)|\$(Platform)'=='Debug|$self->{platform}'">Running bison on $grammarFile</Message>
<Command Condition="'\$(Configuration)|\$(Platform)'=='Debug|$self->{platform}'">c:\\perl\\bin\\perl "src\\tools\\msvc\\
pgbison.pl" "$grammarFile"</Command>
<Message Condition="'\$(Configuration)|\$(Platform)'=='Release|$self->{platform}'">Running bison on $grammarFile</Message>
<Command Condition="'\$(Configuration)|\$(Platform)'=='Release|$self->{platform}'">c:\\perl\\bin\\perl "src\\tools\\msvc\\
pgbison.pl" "$grammarFile"</Command>
C:\dll\postgres\src\tools\msvc>\bin\grep flex *pm
File MSBuildProject.pm:
<Message Condition="'\$(Configuration)|\$(Platform)'=='Debug|$self->{platform}'">Running flex on $grammarFile</Message>
<Command Condition="'\$(Configuration)|\$(Platform)'=='Debug|$self->{platform}'">c:\\perl\\bin\\perl "src\\tools\\msvc\\
pgflex.pl" "$grammarFile"</Command>
<Message Condition="'\$(Configuration)|\$(Platform)'=='Release|$self->{platform}'">Running flex on $grammarFile</Message>
<Command Condition="'\$(Configuration)|\$(Platform)'=='Release|$self->{platform}'">c:\\perl\\bin\\perl "src\\tools\\msvc\\
pgflex.pl" "$grammarFile"</Command>