diff options
author | Jeff Davis | 2023-04-18 20:20:11 +0000 |
---|---|---|
committer | Jeff Davis | 2023-04-18 20:25:44 +0000 |
commit | fcb21b3acdcb9a60313325618fd7080aa36f1626 (patch) | |
tree | 9dedccc920993bdd9e0b7c3c8ed99ab0e4d4eb4a | |
parent | 4ddee4d9de9ba90bfba5762f635fa21b6edfaf48 (diff) |
Build ICU support by default.
Discussion: https://postgr.es/m/82c4c816-06f6-d3e3-ba02-fca4a5cef065%40enterprisedb.com
Reviewed-by: Peter Eisentraut
-rw-r--r-- | .cirrus.yml | 1 | ||||
-rwxr-xr-x | configure | 36 | ||||
-rw-r--r-- | configure.ac | 8 | ||||
-rw-r--r-- | doc/src/sgml/installation.sgml | 76 |
4 files changed, 61 insertions, 60 deletions
diff --git a/.cirrus.yml b/.cirrus.yml index d3f88821a85..b47a8ae1009 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -776,6 +776,7 @@ task: time ./configure \ --host=x86_64-w64-mingw32 \ --enable-cassert \ + --without-icu \ CC="ccache x86_64-w64-mingw32-gcc" \ CXX="ccache x86_64-w64-mingw32-g++" make -s -j${BUILD_JOBS} clean diff --git a/configure b/configure index 82efa0d3f1f..e585b28bff6 100755 --- a/configure +++ b/configure @@ -1558,7 +1558,7 @@ Optional Packages: set WAL block size in kB [8] --with-CC=CMD set compiler (deprecated) --with-llvm build with LLVM based JIT support - --with-icu build with ICU support + --without-icu build without ICU support --with-tcl build Tcl modules (PL/Tcl) --with-tclconfig=DIR tclConfig.sh is in DIR --with-perl build Perl modules (PL/Perl) @@ -8401,7 +8401,9 @@ $as_echo "#define USE_ICU 1" >>confdefs.h esac else - with_icu=no + with_icu=yes + +$as_echo "#define USE_ICU 1" >>confdefs.h fi @@ -8470,31 +8472,17 @@ fi # Put the nasty error message in config.log where it belongs echo "$ICU_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (icu-uc icu-i18n) were not met: - -$ICU_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -Alternatively, you may set the environment variables ICU_CFLAGS -and ICU_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details." "$LINENO" 5 + as_fn_error $? "ICU library not found +If you have ICU already installed, see config.log for details on the +failure. It is possible the compiler isn't looking in the proper directory. +Use --without-icu to disable ICU support." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -Alternatively, you may set the environment variables ICU_CFLAGS -and ICU_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. - -To get pkg-config, see <http://pkg-config.freedesktop.org/>. -See \`config.log' for more details" "$LINENO" 5; } + as_fn_error $? "ICU library not found +If you have ICU already installed, see config.log for details on the +failure. It is possible the compiler isn't looking in the proper directory. +Use --without-icu to disable ICU support." "$LINENO" 5 else ICU_CFLAGS=$pkg_cv_ICU_CFLAGS ICU_LIBS=$pkg_cv_ICU_LIBS diff --git a/configure.ac b/configure.ac index 1362f57a27c..97f5be6c730 100644 --- a/configure.ac +++ b/configure.ac @@ -853,13 +853,17 @@ AC_SUBST(enable_thread_safety) # ICU # AC_MSG_CHECKING([whether to build with ICU support]) -PGAC_ARG_BOOL(with, icu, no, [build with ICU support], +PGAC_ARG_BOOL(with, icu, yes, [build without ICU support], [AC_DEFINE([USE_ICU], 1, [Define to build with ICU support. (--with-icu)])]) AC_MSG_RESULT([$with_icu]) AC_SUBST(with_icu) if test "$with_icu" = yes; then - PKG_CHECK_MODULES(ICU, icu-uc icu-i18n) + PKG_CHECK_MODULES(ICU, icu-uc icu-i18n, [], + [AC_MSG_ERROR([ICU library not found +If you have ICU already installed, see config.log for details on the +failure. It is possible the compiler isn't looking in the proper directory. +Use --without-icu to disable ICU support.])]) fi # diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index 3d839d665a7..75dc81a0a9e 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -146,6 +146,35 @@ documentation. See standalone-profile.xsl for details. <application>pg_restore</application>. </para> </listitem> + + <listitem> + <para> + The ICU locale provider (see <xref linkend="locale-providers"/>) is used by default. If you don't want to use it then you must specify the <option>--without-icu</option> option to <filename>configure</filename>. Using this option disables support for ICU collation features (see <xref linkend="collation"/>). + </para> + <para> + ICU support requires the <productname>ICU4C</productname> package to be + installed. The minimum required version of + <productname>ICU4C</productname> is currently 4.2. + </para> + + <para> + By default, + <productname>pkg-config</productname><indexterm><primary>pkg-config</primary></indexterm> + will be used to find the required compilation options. This is + supported for <productname>ICU4C</productname> version 4.6 and later. + For older versions, or if <productname>pkg-config</productname> is not + available, the variables <envar>ICU_CFLAGS</envar> and + <envar>ICU_LIBS</envar> can be specified to + <filename>configure</filename>, like in this example: +<programlisting> +./configure ... ICU_CFLAGS='-I/some/where/include' ICU_LIBS='-L/some/where/lib -licui18n -licuuc -licudata' +</programlisting> + (If <productname>ICU4C</productname> is in the default search path + for the compiler, then you still need to specify nonempty strings in + order to avoid use of <productname>pkg-config</productname>, for + example, <literal>ICU_CFLAGS=' '</literal>.) + </para> + </listitem> </itemizedlist> </para> @@ -926,40 +955,6 @@ build-postgresql: </listitem> </varlistentry> - <varlistentry id="configure-option-with-icu"> - <term><option>--with-icu</option></term> - <listitem> - <para> - Build with support for - the <productname>ICU</productname><indexterm><primary>ICU</primary></indexterm> - library, enabling use of ICU collation - features<phrase condition="standalone-ignore"> (see - <xref linkend="collation"/>)</phrase>. - This requires the <productname>ICU4C</productname> package - to be installed. The minimum required version - of <productname>ICU4C</productname> is currently 4.2. - </para> - - <para> - By default, - <productname>pkg-config</productname><indexterm><primary>pkg-config</primary></indexterm> - will be used to find the required compilation options. This is - supported for <productname>ICU4C</productname> version 4.6 and later. - For older versions, or if <productname>pkg-config</productname> is - not available, the variables <envar>ICU_CFLAGS</envar> - and <envar>ICU_LIBS</envar> can be specified - to <filename>configure</filename>, like in this example: -<programlisting> -./configure ... --with-icu ICU_CFLAGS='-I/some/where/include' ICU_LIBS='-L/some/where/lib -licui18n -licuuc -licudata' -</programlisting> - (If <productname>ICU4C</productname> is in the default search path - for the compiler, then you still need to specify nonempty strings in - order to avoid use of <productname>pkg-config</productname>, for - example, <literal>ICU_CFLAGS=' '</literal>.) - </para> - </listitem> - </varlistentry> - <varlistentry id="configure-with-llvm"> <term><option>--with-llvm</option></term> <listitem> @@ -1231,6 +1226,19 @@ build-postgresql: <variablelist> + <varlistentry id="configure-option-without-icu"> + <term><option>--without-icu</option></term> + <listitem> + <para> + Build without support for the + <productname>ICU</productname><indexterm><primary>ICU</primary></indexterm> + library, disabling the use of ICU collation features<phrase + condition="standalone-ignore"> (see <xref + linkend="collation"/>)</phrase>. + </para> + </listitem> + </varlistentry> + <varlistentry id="configure-option-without-readline"> <term><option>--without-readline</option></term> <listitem> |