Re: buildenv.pl/buildenv.bat

From: "Magnus Hagander" <magnus(at)hagander(dot)net>
To: "Andrew Dunstan" <andrew(at)dunslane(dot)net>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: buildenv.pl/buildenv.bat
Date: 2007-12-08 11:29:04
Message-ID: 200712081229050000@2309628813
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> >> OK, I'm thinking that the best way might be to do away with buildenv.bat
> >> altogether and replace the remaining references to it in .bat files with
> >> something like this fragment:
> >>
> >> if not exist src\tools\msvc\buildenv.pl goto nobuildenv
> >> perl -e "require 'src/tools/msvc/buildenv.pl'; while(($k,$v) = each
> >> %ENV) { print qq[\(at)SET $k=$v\n]; }" > tmp.bat
> >> call tmp.bat
> >> del tmp.bat
> >> :nobuildenv
> >>
> >> and adjust the docs accordingly.
> >>
> >> Thoughts?
> >>
> >
> > Urgh.
> >
> > I thought you specifically changed the earlier scripts to *avoid* having
> > them create a temporary file and then execute it. Which I agreed with :-)
> >
> > I think I'd prefer we just get rid of the .bat's completely then.
> >
> > I wonder if we are daring enough to do it so late in the cycle, though..
> >
> >
> >
>
> I did specifically do that, but I can't see a small workaround here that
> doesn't use this mechanism, since there's no eval function in the
> Windows shell.

Right.

> I agree with getting rid of the remaining .bat files, or at least making
> them one line wrappers for perl scripts, but I think it's too late in
> the cycle for that now. As I explained, the reason I didn't make more
> changes before was because I thought it was too late then. I did just
> enough to make running the whole thing with the buildfarm client work
> reliably.

Probably, yeah. Maybe we're better off just documenting that you need both files in some cases, rather than putting in something we don't like.

> I think we could reasonably get away with this for one cycle and clean
> it up more thoroughly in 8.4. There are exactly four places that use
> buildenv.bat: install.bat, builddoc.bat, pgbison,bat and pgflex.bat. Of
> these, the only one that really matters, I suspect, is builddoc.bat, but
> if we fix it we should do so consistently.

install should just use the perl version,no? That should be a simple enough fix to get into 8.3.

builddoc is, as you say, fairly important.

bison/flex is not really needed (well, the buildenv part) for commandline build, but they're required for builds from inside the gui.

/Magnus

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Josh Berkus 2007-12-08 11:33:39 Re: pg_controldata doesn't report 64/32bit?
Previous Message Guillaume Smet 2007-12-08 10:56:04 Re: Release Note Changes