Unclarity of configure options

Started by Nikolay Samokhvalovover 18 years ago16 messages
#1Nikolay Samokhvalov
samokhvalov@gmail.com

The current (CVS version) configure script has the following options
(among many others):

--enable-dtrace build with DTrace support
--with-ossp-uuid build with OSSP UUID library for UUID generation
--with-libxml build with XML support
--with-libxslt build with XSLT support

One could think that adding any of this option to ./configure before
building Postgres from sources, he will have corresponding support
after installation and initdb process. But what we have now is the
huge difference between "--with-libxml" and "--with-libxslt": while
the first one adds XML support to the core, the second one doesn't
provide anything automatically, it allows only using contirb/xml2
(what is unclear because the help message is the same as for
--with-libxml -- "build with ... support").

Also, comparing --enable-dtrace and --with-libxml I cannot see any
difference in its semantics: --enable-dtrace also depends on external
library and configure process fails if the system doesn't have it. So
why "--enable-" is used in the first case and "--with-" in the second
one?

--
Best regards,
Nikolay

#2Bruce Momjian
bruce@momjian.us
In reply to: Nikolay Samokhvalov (#1)
1 attachment(s)
Re: [HACKERS] Unclarity of configure options

Nikolay Samokhvalov wrote:

The current (CVS version) configure script has the following options
(among many others):

--enable-dtrace build with DTrace support
--with-ossp-uuid build with OSSP UUID library for UUID generation
--with-libxml build with XML support
--with-libxslt build with XSLT support

One could think that adding any of this option to ./configure before
building Postgres from sources, he will have corresponding support
after installation and initdb process. But what we have now is the
huge difference between "--with-libxml" and "--with-libxslt": while
the first one adds XML support to the core, the second one doesn't
provide anything automatically, it allows only using contirb/xml2
(what is unclear because the help message is the same as for
--with-libxml -- "build with ... support").

I have modified the configure message to be:

--with-libxslt build /contrib/xml2 with XSLT support

Patch attached.

Also, comparing --enable-dtrace and --with-libxml I cannot see any
difference in its semantics: --enable-dtrace also depends on external
library and configure process fails if the system doesn't have it. So
why "--enable-" is used in the first case and "--with-" in the second
one?

I think the reason for this is because XML is seen as something added to
the backend (new capability) while dtrace is embedded in the backend.

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://postgres.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

Attachments:

/rtmp/difftext/x-diffDownload
Index: configure
===================================================================
RCS file: /cvsroot/pgsql/configure,v
retrieving revision 1.566
diff -c -c -r1.566 configure
*** configure	29 Oct 2007 11:25:42 -0000	1.566
--- configure	4 Nov 2007 17:52:55 -0000
***************
*** 898,904 ****
    --with-libedit-preferred  prefer BSD Libedit over GNU Readline
    --with-ossp-uuid        build with OSSP UUID library for UUID generation
    --with-libxml           build with XML support
!   --with-libxslt          build with XSLT support
    --with-system-tzdata=DIR  use system time zone data in DIR
    --without-zlib          do not use Zlib
    --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
--- 898,904 ----
    --with-libedit-preferred  prefer BSD Libedit over GNU Readline
    --with-ossp-uuid        build with OSSP UUID library for UUID generation
    --with-libxml           build with XML support
!   --with-libxslt          build /contrib/xml2 with XSLT support
    --with-system-tzdata=DIR  use system time zone data in DIR
    --without-zlib          do not use Zlib
    --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
Index: configure.in
===================================================================
RCS file: /cvsroot/pgsql/configure.in,v
retrieving revision 1.532
diff -c -c -r1.532 configure.in
*** configure.in	29 Oct 2007 11:25:42 -0000	1.532
--- configure.in	4 Nov 2007 17:52:55 -0000
***************
*** 600,607 ****
  #
  # XSLT
  #
! PGAC_ARG_BOOL(with, libxslt, no, [  --with-libxslt          build with XSLT support],
!               [AC_DEFINE([USE_LIBXSLT], 1, [Define to 1 to build with XSLT support. (--with-libxslt)])])
  
  
  AC_SUBST(with_libxslt)
--- 600,607 ----
  #
  # XSLT
  #
! PGAC_ARG_BOOL(with, libxslt, no, [  --with-libxslt          build /contrib/xml2 with XSLT support],
!               [AC_DEFINE([USE_LIBXSLT], 1, [Define to 1 to build /contrib/xml2 with XSLT support. (--with-libxslt)])])
  
  
  AC_SUBST(with_libxslt)
Index: doc/src/sgml/installation.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v
retrieving revision 1.294
diff -c -c -r1.294 installation.sgml
*** doc/src/sgml/installation.sgml	6 Oct 2007 15:50:43 -0000	1.294
--- doc/src/sgml/installation.sgml	4 Nov 2007 17:52:56 -0000
***************
*** 973,981 ****
         <term><option>--with-libxslt</option></term>
         <listitem>
          <para>
!          Build with libxslt. The <filename>contrib/xml2</> module 
!          relies on this library to perform Stylesheet transformations of
!          XML. 
          </para>
         </listitem>
        </varlistentry>
--- 973,981 ----
         <term><option>--with-libxslt</option></term>
         <listitem>
          <para>
!          Build <filename>/contrib/xml2</> with libxslt.
!          <filename>/contrib/xml2</> relies on this library to perform
!          Stylesheet transformations of XML.
          </para>
         </listitem>
        </varlistentry>
#3Joshua D. Drake
jd@commandprompt.com
In reply to: Bruce Momjian (#2)
Re: [HACKERS] Unclarity of configure options

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sun, 4 Nov 2007 13:11:00 -0500 (EST)
Bruce Momjian <bruce@momjian.us> wrote:

Nikolay Samokhvalov wrote:

The current (CVS version) configure script has the following options
(among many others):

--enable-dtrace build with DTrace support
--with-ossp-uuid build with OSSP UUID library for UUID
generation --with-libxml build with XML support
--with-libxslt build with XSLT support

One could think that adding any of this option to ./configure before
building Postgres from sources, he will have corresponding support
after installation and initdb process. But what we have now is the
huge difference between "--with-libxml" and "--with-libxslt": while
the first one adds XML support to the core, the second one doesn't
provide anything automatically, it allows only using contirb/xml2
(what is unclear because the help message is the same as for
--with-libxml -- "build with ... support").

I have modified the configure message to be:

--with-libxslt build /contrib/xml2 with XSLT support

Patch attached.

Shouldn't --with-libxml be noted as deprecated?

Joshua D. Drake

- --

=== The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 24x7/Emergency: +1.800.492.2240
PostgreSQL solutions since 1997 http://www.commandprompt.com/
UNIQUE NOT NULL
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHLgwBATb/zqfZUUQRAsLYAJ9xIrfHnidg0BPW6durNvl61VVT8wCfdY4i
kKSUyVxwaFazYlcY7SCkiCY=
=A8DO
-----END PGP SIGNATURE-----

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Joshua D. Drake (#3)
Re: [HACKERS] Unclarity of configure options

"Joshua D. Drake" <jd@commandprompt.com> writes:

Shouldn't --with-libxml be noted as deprecated?

Huh?

regards, tom lane

#5Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#2)
Re: [HACKERS] Unclarity of configure options

Bruce Momjian <bruce@momjian.us> writes:

I have modified the configure message to be:
--with-libxslt build /contrib/xml2 with XSLT support

This turns the message from something merely a tad unclear into an
outright lie. "--with-libxslt" does not cause contrib/xml2 (or any
other part of contrib) to get built. Better would be

--with-libxslt build with XSLT (affects only contrib/xml2)

regards, tom lane

#6Bruce Momjian
bruce@momjian.us
In reply to: Tom Lane (#5)
Re: [HACKERS] Unclarity of configure options

Tom Lane wrote:

Bruce Momjian <bruce@momjian.us> writes:

I have modified the configure message to be:
--with-libxslt build /contrib/xml2 with XSLT support

This turns the message from something merely a tad unclear into an
outright lie. "--with-libxslt" does not cause contrib/xml2 (or any
other part of contrib) to get built. Better would be

--with-libxslt build with XSLT (affects only contrib/xml2)

Updated wording:

--with-libxslt use XSLT support when building /contrib/xml2

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://postgres.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

#7Joshua D. Drake
jd@commandprompt.com
In reply to: Tom Lane (#4)
Re: [HACKERS] Unclarity of configure options

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sun, 04 Nov 2007 13:24:54 -0500
Tom Lane <tgl@sss.pgh.pa.us> wrote:

"Joshua D. Drake" <jd@commandprompt.com> writes:

Shouldn't --with-libxml be noted as deprecated?

Huh?

Because in 8.3 it is in core or am I misunderstanding the difference?

Joshua D. Drake

regards, tom lane

---------------------------(end of
broadcast)--------------------------- TIP 1: if posting/reading
through Usenet, please send an appropriate subscribe-nomail command
to majordomo@postgresql.org so that your message can get through to
the mailing list cleanly

- --

=== The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 24x7/Emergency: +1.800.492.2240
PostgreSQL solutions since 1997 http://www.commandprompt.com/
UNIQUE NOT NULL
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHLhmXATb/zqfZUUQRAuBJAJ9jFV8DaxWzWJKhjIPTkeXZ1OWRVQCfTaiV
5ytxcL5Q+Xc3tEAxoj7bbPY=
=tLkt
-----END PGP SIGNATURE-----

#8Stefan Kaltenbrunner
stefan@kaltenbrunner.cc
In reply to: Joshua D. Drake (#7)
Re: [HACKERS] Unclarity of configure options

Joshua D. Drake wrote:

On Sun, 04 Nov 2007 13:24:54 -0500
Tom Lane <tgl@sss.pgh.pa.us> wrote:

"Joshua D. Drake" <jd@commandprompt.com> writes:

Shouldn't --with-libxml be noted as deprecated?

Huh?

Because in 8.3 it is in core or am I misunderstanding the difference?

you missunderstand - the XML support in 8.3 requires libxml and is only
compiled in if that configure switch is selected ...

Stefan

#9Bruce Momjian
bruce@momjian.us
In reply to: Joshua D. Drake (#7)
Re: [HACKERS] Unclarity of configure options

Joshua D. Drake wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sun, 04 Nov 2007 13:24:54 -0500
Tom Lane <tgl@sss.pgh.pa.us> wrote:

"Joshua D. Drake" <jd@commandprompt.com> writes:

Shouldn't --with-libxml be noted as deprecated?

Huh?

Because in 8.3 it is in core or am I misunderstanding the difference?

The functionality is in 8.3 and we areC keeping the /contrib/xml2 API
around for those who need it. The release notes have:

* "contrib/xml2" is deprecated and planned for removal in 8.4 (Peter)
The new XML support in core Postgres supersedes this module.

Do we need more than that? I don't think so.

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://postgres.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

#10Bruce Momjian
bruce@momjian.us
In reply to: Stefan Kaltenbrunner (#8)
Re: [HACKERS] Unclarity of configure options

Stefan Kaltenbrunner wrote:

Joshua D. Drake wrote:

On Sun, 04 Nov 2007 13:24:54 -0500
Tom Lane <tgl@sss.pgh.pa.us> wrote:

"Joshua D. Drake" <jd@commandprompt.com> writes:

Shouldn't --with-libxml be noted as deprecated?

Huh?

Because in 8.3 it is in core or am I misunderstanding the difference?

you missunderstand - the XML support in 8.3 requires libxml and is only
compiled in if that configure switch is selected ...

Right, that too.

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://postgres.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

#11Joshua D. Drake
jd@commandprompt.com
In reply to: Bruce Momjian (#9)
Re: [HACKERS] Unclarity of configure options

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sun, 4 Nov 2007 14:17:48 -0500 (EST)
Bruce Momjian <bruce@momjian.us> wrote:

The functionality is in 8.3 and we areC keeping the /contrib/xml2 API
around for those who need it. The release notes have:

* "contrib/xml2" is deprecated and planned for removal in 8.4
(Peter) The new XML support in core Postgres supersedes this module.

Do we need more than that? I don't think so.

Well that was exactly my point, contrib/xml2 is deprecated as of 8.3 so
it may make sense to make sure the configure says exactly that.

If not, it isn't that big of a deal. I was just making a suggestion to
try and help stop confusion in the future.

Sincerely,

Joshua D. Drake

- --

=== The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 24x7/Emergency: +1.800.492.2240
PostgreSQL solutions since 1997 http://www.commandprompt.com/
UNIQUE NOT NULL
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHLhz1ATb/zqfZUUQRAmBcAJ9ToftpalD9kH5x+Vwy+SVHn6qB8ACbBB4d
D+lV9utI9iNhlK7F0qjhFMk=
=uovh
-----END PGP SIGNATURE-----

#12Joshua D. Drake
jd@commandprompt.com
In reply to: Bruce Momjian (#10)
Re: [HACKERS] Unclarity of configure options

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sun, 4 Nov 2007 14:18:23 -0500 (EST)
Bruce Momjian <bruce@momjian.us> wrote:

Stefan Kaltenbrunner wrote:

Joshua D. Drake wrote:

On Sun, 04 Nov 2007 13:24:54 -0500
Tom Lane <tgl@sss.pgh.pa.us> wrote:

"Joshua D. Drake" <jd@commandprompt.com> writes:

Shouldn't --with-libxml be noted as deprecated?

Huh?

Because in 8.3 it is in core or am I misunderstanding the
difference?

you missunderstand - the XML support in 8.3 requires libxml and is
only compiled in if that configure switch is selected ...

Right, that too.

Aha! O.k. that is what I missed. Suggestion withdrawn.

Sincerely,

Joshua D. Drake

- --

=== The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 24x7/Emergency: +1.800.492.2240
PostgreSQL solutions since 1997 http://www.commandprompt.com/
UNIQUE NOT NULL
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHLh0oATb/zqfZUUQRAhVEAJ4nW8AS+gR7EOKl4UY4e7NCc/hFHACgmtpU
brAYEQ+UhIMBWL9wxQFM+CA=
=B7xe
-----END PGP SIGNATURE-----

#13Andrew Dunstan
andrew@dunslane.net
In reply to: Tom Lane (#5)
Re: [HACKERS] Unclarity of configure options

Tom Lane wrote:

Bruce Momjian <bruce@momjian.us> writes:

I have modified the configure message to be:
--with-libxslt build /contrib/xml2 with XSLT support

This turns the message from something merely a tad unclear into an
outright lie. "--with-libxslt" does not cause contrib/xml2 (or any
other part of contrib) to get built. Better would be

--with-libxslt build with XSLT (affects only contrib/xml2)

What is more, if we're going to do this we should mark *all* the options
that only affect contrib, which is why I objected to doing this on its
own in the first place.

cheers

andrew

#14Bruce Momjian
bruce@momjian.us
In reply to: Andrew Dunstan (#13)
Re: [HACKERS] Unclarity of configure options

Andrew Dunstan wrote:

Tom Lane wrote:

Bruce Momjian <bruce@momjian.us> writes:

I have modified the configure message to be:
--with-libxslt build /contrib/xml2 with XSLT support

This turns the message from something merely a tad unclear into an
outright lie. "--with-libxslt" does not cause contrib/xml2 (or any
other part of contrib) to get built. Better would be

--with-libxslt build with XSLT (affects only contrib/xml2)

What is more, if we're going to do this we should mark *all* the options
that only affect contrib, which is why I objected to doing this on its
own in the first place.

Uh, what other configure options to we have that only affect /contrib?

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://postgres.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

#15Andrew Dunstan
andrew@dunslane.net
In reply to: Bruce Momjian (#14)
Re: [HACKERS] Unclarity of configure options

Bruce Momjian wrote:

Andrew Dunstan wrote:

Tom Lane wrote:

Bruce Momjian <bruce@momjian.us> writes:

I have modified the configure message to be:
--with-libxslt build /contrib/xml2 with XSLT support

This turns the message from something merely a tad unclear into an
outright lie. "--with-libxslt" does not cause contrib/xml2 (or any
other part of contrib) to get built. Better would be

--with-libxslt build with XSLT (affects only contrib/xml2)

What is more, if we're going to do this we should mark *all* the options
that only affect contrib, which is why I objected to doing this on its
own in the first place.

Uh, what other configure options to we have that only affect /contrib?

--with-ossp-uuid at least, IIRC

This was discussed previously, BTW. Maybe you haven't read all the mail.

Note that

cheers

andrew

#16Bruce Momjian
bruce@momjian.us
In reply to: Andrew Dunstan (#15)
1 attachment(s)
Re: [HACKERS] Unclarity of configure options

Andrew Dunstan wrote:

Bruce Momjian wrote:

Andrew Dunstan wrote:

Tom Lane wrote:

Bruce Momjian <bruce@momjian.us> writes:

I have modified the configure message to be:
--with-libxslt build /contrib/xml2 with XSLT support

This turns the message from something merely a tad unclear into an
outright lie. "--with-libxslt" does not cause contrib/xml2 (or any
other part of contrib) to get built. Better would be

--with-libxslt build with XSLT (affects only contrib/xml2)

What is more, if we're going to do this we should mark *all* the options
that only affect contrib, which is why I objected to doing this on its
own in the first place.

Uh, what other configure options to we have that only affect /contrib?

--with-ossp-uuid at least, IIRC

This was discussed previously, BTW. Maybe you haven't read all the mail.

Sorry, no I missed that. Patch attached and applied.

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://postgres.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

Attachments:

/rtmp/difftext/x-diffDownload
Index: configure
===================================================================
RCS file: /cvsroot/pgsql/configure,v
retrieving revision 1.568
diff -c -c -r1.568 configure
*** configure	4 Nov 2007 18:53:39 -0000	1.568
--- configure	5 Nov 2007 17:42:10 -0000
***************
*** 896,902 ****
    --with-openssl          build with OpenSSL support
    --without-readline      do not use GNU Readline nor BSD Libedit for editing
    --with-libedit-preferred  prefer BSD Libedit over GNU Readline
!   --with-ossp-uuid        build with OSSP UUID library for UUID generation
    --with-libxml           build with XML support
    --with-libxslt          use XSLT support when building /contrib/xml2
    --with-system-tzdata=DIR  use system time zone data in DIR
--- 896,902 ----
    --with-openssl          build with OpenSSL support
    --without-readline      do not use GNU Readline nor BSD Libedit for editing
    --with-libedit-preferred  prefer BSD Libedit over GNU Readline
!   --with-ossp-uuid        use OSSP UUID library when building /contrib/uuid-ossp
    --with-libxml           build with XML support
    --with-libxslt          use XSLT support when building /contrib/xml2
    --with-system-tzdata=DIR  use system time zone data in DIR
Index: configure.in
===================================================================
RCS file: /cvsroot/pgsql/configure.in,v
retrieving revision 1.534
diff -c -c -r1.534 configure.in
*** configure.in	4 Nov 2007 18:53:39 -0000	1.534
--- configure.in	5 Nov 2007 17:42:11 -0000
***************
*** 569,575 ****
  #
  # OSSP UUID library
  #
! PGAC_ARG_BOOL(with, ossp-uuid, no, [  --with-ossp-uuid        build with OSSP UUID library for UUID generation])
  AC_SUBST(with_ossp_uuid)
  
  
--- 569,575 ----
  #
  # OSSP UUID library
  #
! PGAC_ARG_BOOL(with, ossp-uuid, no, [  --with-ossp-uuid        use OSSP UUID library when building /contrib/uuid-ossp ])
  AC_SUBST(with_ossp_uuid)
  
  
Index: doc/src/sgml/installation.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v
retrieving revision 1.296
diff -c -c -r1.296 installation.sgml
*** doc/src/sgml/installation.sgml	4 Nov 2007 18:53:39 -0000	1.296
--- doc/src/sgml/installation.sgml	5 Nov 2007 17:42:11 -0000
***************
*** 937,947 ****
         <term><option>--with-ossp-uuid</option></term>
         <listitem>
          <para>
!          Build with the <ulink
!          url="http://www.ossp.org/pkg/lib/uuid/">OSSP UUID
!          library</ulink>.  This is necessary for the contrib module
!          <literal>uuid-ossp</literal> which provides functions to
!          generate UUIDs.<indexterm><primary>UUID</primary></indexterm>
          </para>
         </listitem>
        </varlistentry>
--- 937,946 ----
         <term><option>--with-ossp-uuid</option></term>
         <listitem>
          <para>
!          Use the <ulink url="http://www.ossp.org/pkg/lib/uuid/">OSSP UUID
!          library</ulink> when building <filename>/contrib/uuid-ossp</>.
!          The library provides functions to generate
!          UUIDs.<indexterm><primary>UUID</primary></indexterm>
          </para>
         </listitem>
        </varlistentry>
Index: src/include/pg_config.h.in
===================================================================
RCS file: /cvsroot/pgsql/src/include/pg_config.h.in,v
retrieving revision 1.125
diff -c -c -r1.125 pg_config.h.in
*** src/include/pg_config.h.in	29 Oct 2007 11:25:42 -0000	1.125
--- src/include/pg_config.h.in	5 Nov 2007 17:42:12 -0000
***************
*** 672,678 ****
  /* Define to 1 to build with XML support. (--with-libxml) */
  #undef USE_LIBXML
  
! /* Define to 1 to build with XSLT support. (--with-libxslt) */
  #undef USE_LIBXSLT
  
  /* Define to select named POSIX semaphores. */
--- 672,679 ----
  /* Define to 1 to build with XML support. (--with-libxml) */
  #undef USE_LIBXML
  
! /* Define to 1 to use XSLT support when building /contrib/xml2.
!    (--with-libxslt) */
  #undef USE_LIBXSLT
  
  /* Define to select named POSIX semaphores. */