bison, flex and ./configure

Lists: pgsql-hackers
From: salah jubeh <s_jubeh(at)yahoo(dot)com>
To: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: bison, flex and ./configure
Date: 2014-01-28 14:14:08
Message-ID: 1390918448.22622.YahooMailNeo@web164804.mail.gq1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Hello,

Today, I have noticed that ./configure does not return an error when bison and flex are missing.  Is this intended ?

OS: Ubuntu 13.04

Regards


From: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
To: salah jubeh <s_jubeh(at)yahoo(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: bison, flex and ./configure
Date: 2014-01-28 14:18:03
Message-ID: 52E7BC1B.6060007@vmware.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On 01/28/2014 04:14 PM, salah jubeh wrote:
> Today, I have noticed that ./configure does not return an error when bison and flex are missing. Is this intended ?

Yes. Bison and flex are not required when building from a source
tarball, because the tarball includes the generated files. If you're
building from a git checkout, however, then you need bison and flex. You
will get an error at make, and IIRC a warning at ./configure.

- Heikki


From: salah jubeh <s_jubeh(at)yahoo(dot)com>
To: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: bison, flex and ./configure
Date: 2014-01-28 14:28:09
Message-ID: 1390919289.98578.YahooMailNeo@web164806.mail.gq1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

>Yes. Bison and flex are not required when building from a source
>tarball, because the tarball includes the generated files. If you're
>building from a git checkout, however, then you need bison and flex. You
>will get an error at make, and IIRC a warning at ./configure

Thanks for the quick reply. For curiosity reasons why the differentiation between tar and git.

Regards

On Tuesday, January 28, 2014 3:18 PM, Heikki Linnakangas <hlinnakangas(at)vmware(dot)com> wrote:

On 01/28/2014 04:14 PM, salah jubeh wrote:

> Today, I have noticed that ./configure does not return an error when bison and flex are missing.  Is this intended ?

Yes. Bison and flex are not required when building from a source
tarball, because the tarball includes the generated files. If you're
building from a git checkout, however, then you need bison and flex. You
will get an error at make, and IIRC a warning at ./configure.

- Heikki


From: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
To: salah jubeh <s_jubeh(at)yahoo(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: bison, flex and ./configure
Date: 2014-01-28 14:48:03
Message-ID: 52E7C323.4050003@vmware.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On 01/28/2014 04:28 PM, salah jubeh wrote:
>> Yes. Bison and flex are not required when building from a source
>> tarball, because the tarball includes the generated files. If you're
>> building from a git checkout, however, then you need bison and flex. You
>> will get an error at make, and IIRC a warning at ./configure
>
> Thanks for the quick reply. For curiosity reasons why the differentiation between tar and git.

We include the generated files in the tarballs for the convenience of
people who just want to download, compile, and install the software.
Fewer dependencies is good in that case. It also ensures that an
official version, ie. from a tarball, is always built using the same
version of bison/flex.

Whereas if you do a git checkout, you're probably a developer, and want
to modify the sources. It's not unreasonable to expect a developer to
have bison and flex installed. Also, including the generated files in
the git repository would cause unnecessary diffs when people have
different versions of bison/flex installed on their development boxes.

We've chosen a different approach with autoconf; the configure file is
generated from configure.in, but we include the configure file in the
git repository. It does add some extra effort to developers that need to
modify configure.in, but OTOH, if you don't modify it, you don't need to
have autoconf installed.
- Heikki


From: salah jubeh <s_jubeh(at)yahoo(dot)com>
To: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: bison, flex and ./configure
Date: 2014-01-28 14:58:36
Message-ID: 1390921116.256.YahooMailNeo@web164806.mail.gq1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Hello Heikki,

Thanks for sharing.

Reagrds

On Tuesday, January 28, 2014 3:48 PM, Heikki Linnakangas <hlinnakangas(at)vmware(dot)com> wrote:

On 01/28/2014 04:28 PM, salah jubeh wrote:
>> Yes. Bison and flex are not required when building from a source
>> tarball, because the tarball includes the generated files. If you're
>> building from a git checkout, however, then you need bison and flex. You
>> will get an error at make, and IIRC a warning at ./configure
>
> Thanks for the quick reply. For curiosity reasons why the differentiation between tar and git.

We include the generated files in the tarballs for the convenience of
people who just want to download, compile, and install the software.
Fewer dependencies is good in that case. It also ensures that an
official version, ie. from a tarball, is always built using the same
version of bison/flex.

Whereas if you do a git checkout, you're probably a developer, and want
to modify the sources. It's not unreasonable to expect a developer to
have bison and flex installed. Also, including the generated files in
the git repository would cause unnecessary diffs when people have
different versions of bison/flex installed on their development boxes.

We've chosen a different approach with autoconf; the configure file is
generated from configure.in, but we include the configure file in the
git repository. It does add some extra effort to developers that need to
modify configure.in, but OTOH, if you don't modify it, you don't need to
have autoconf installed.

- Heikki