Skip to content

Commit fcb21b3

Browse files
committed
Build ICU support by default.
Discussion: https://postgr.es/m/82c4c816-06f6-d3e3-ba02-fca4a5cef065%40enterprisedb.com Reviewed-by: Peter Eisentraut
1 parent 4ddee4d commit fcb21b3

File tree

4 files changed

+61
-60
lines changed

4 files changed

+61
-60
lines changed

.cirrus.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -776,6 +776,7 @@ task:
776776
time ./configure \
777777
--host=x86_64-w64-mingw32 \
778778
--enable-cassert \
779+
--without-icu \
779780
CC="ccache x86_64-w64-mingw32-gcc" \
780781
CXX="ccache x86_64-w64-mingw32-g++"
781782
make -s -j${BUILD_JOBS} clean

configure

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1558,7 +1558,7 @@ Optional Packages:
15581558
set WAL block size in kB [8]
15591559
--with-CC=CMD set compiler (deprecated)
15601560
--with-llvm build with LLVM based JIT support
1561-
--with-icu build with ICU support
1561+
--without-icu build without ICU support
15621562
--with-tcl build Tcl modules (PL/Tcl)
15631563
--with-tclconfig=DIR tclConfig.sh is in DIR
15641564
--with-perl build Perl modules (PL/Perl)
@@ -8401,7 +8401,9 @@ $as_echo "#define USE_ICU 1" >>confdefs.h
84018401
esac
84028402

84038403
else
8404-
with_icu=no
8404+
with_icu=yes
8405+
8406+
$as_echo "#define USE_ICU 1" >>confdefs.h
84058407

84068408
fi
84078409

@@ -8470,31 +8472,17 @@ fi
84708472
# Put the nasty error message in config.log where it belongs
84718473
echo "$ICU_PKG_ERRORS" >&5
84728474

8473-
as_fn_error $? "Package requirements (icu-uc icu-i18n) were not met:
8474-
8475-
$ICU_PKG_ERRORS
8476-
8477-
Consider adjusting the PKG_CONFIG_PATH environment variable if you
8478-
installed software in a non-standard prefix.
8479-
8480-
Alternatively, you may set the environment variables ICU_CFLAGS
8481-
and ICU_LIBS to avoid the need to call pkg-config.
8482-
See the pkg-config man page for more details." "$LINENO" 5
8475+
as_fn_error $? "ICU library not found
8476+
If you have ICU already installed, see config.log for details on the
8477+
failure. It is possible the compiler isn't looking in the proper directory.
8478+
Use --without-icu to disable ICU support." "$LINENO" 5
84838479
elif test $pkg_failed = untried; then
84848480
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
84858481
$as_echo "no" >&6; }
8486-
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
8487-
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
8488-
as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
8489-
is in your PATH or set the PKG_CONFIG environment variable to the full
8490-
path to pkg-config.
8491-
8492-
Alternatively, you may set the environment variables ICU_CFLAGS
8493-
and ICU_LIBS to avoid the need to call pkg-config.
8494-
See the pkg-config man page for more details.
8495-
8496-
To get pkg-config, see <http://pkg-config.freedesktop.org/>.
8497-
See \`config.log' for more details" "$LINENO" 5; }
8482+
as_fn_error $? "ICU library not found
8483+
If you have ICU already installed, see config.log for details on the
8484+
failure. It is possible the compiler isn't looking in the proper directory.
8485+
Use --without-icu to disable ICU support." "$LINENO" 5
84988486
else
84998487
ICU_CFLAGS=$pkg_cv_ICU_CFLAGS
85008488
ICU_LIBS=$pkg_cv_ICU_LIBS

configure.ac

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -853,13 +853,17 @@ AC_SUBST(enable_thread_safety)
853853
# ICU
854854
#
855855
AC_MSG_CHECKING([whether to build with ICU support])
856-
PGAC_ARG_BOOL(with, icu, no, [build with ICU support],
856+
PGAC_ARG_BOOL(with, icu, yes, [build without ICU support],
857857
[AC_DEFINE([USE_ICU], 1, [Define to build with ICU support. (--with-icu)])])
858858
AC_MSG_RESULT([$with_icu])
859859
AC_SUBST(with_icu)
860860

861861
if test "$with_icu" = yes; then
862-
PKG_CHECK_MODULES(ICU, icu-uc icu-i18n)
862+
PKG_CHECK_MODULES(ICU, icu-uc icu-i18n, [],
863+
[AC_MSG_ERROR([ICU library not found
864+
If you have ICU already installed, see config.log for details on the
865+
failure. It is possible the compiler isn't looking in the proper directory.
866+
Use --without-icu to disable ICU support.])])
863867
fi
864868

865869
#

doc/src/sgml/installation.sgml

Lines changed: 42 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,35 @@ documentation. See standalone-profile.xsl for details.
146146
<application>pg_restore</application>.
147147
</para>
148148
</listitem>
149+
150+
<listitem>
151+
<para>
152+
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"/>).
153+
</para>
154+
<para>
155+
ICU support requires the <productname>ICU4C</productname> package to be
156+
installed. The minimum required version of
157+
<productname>ICU4C</productname> is currently 4.2.
158+
</para>
159+
160+
<para>
161+
By default,
162+
<productname>pkg-config</productname><indexterm><primary>pkg-config</primary></indexterm>
163+
will be used to find the required compilation options. This is
164+
supported for <productname>ICU4C</productname> version 4.6 and later.
165+
For older versions, or if <productname>pkg-config</productname> is not
166+
available, the variables <envar>ICU_CFLAGS</envar> and
167+
<envar>ICU_LIBS</envar> can be specified to
168+
<filename>configure</filename>, like in this example:
169+
<programlisting>
170+
./configure ... ICU_CFLAGS='-I/some/where/include' ICU_LIBS='-L/some/where/lib -licui18n -licuuc -licudata'
171+
</programlisting>
172+
(If <productname>ICU4C</productname> is in the default search path
173+
for the compiler, then you still need to specify nonempty strings in
174+
order to avoid use of <productname>pkg-config</productname>, for
175+
example, <literal>ICU_CFLAGS=' '</literal>.)
176+
</para>
177+
</listitem>
149178
</itemizedlist>
150179
</para>
151180

@@ -926,40 +955,6 @@ build-postgresql:
926955
</listitem>
927956
</varlistentry>
928957

929-
<varlistentry id="configure-option-with-icu">
930-
<term><option>--with-icu</option></term>
931-
<listitem>
932-
<para>
933-
Build with support for
934-
the <productname>ICU</productname><indexterm><primary>ICU</primary></indexterm>
935-
library, enabling use of ICU collation
936-
features<phrase condition="standalone-ignore"> (see
937-
<xref linkend="collation"/>)</phrase>.
938-
This requires the <productname>ICU4C</productname> package
939-
to be installed. The minimum required version
940-
of <productname>ICU4C</productname> is currently 4.2.
941-
</para>
942-
943-
<para>
944-
By default,
945-
<productname>pkg-config</productname><indexterm><primary>pkg-config</primary></indexterm>
946-
will be used to find the required compilation options. This is
947-
supported for <productname>ICU4C</productname> version 4.6 and later.
948-
For older versions, or if <productname>pkg-config</productname> is
949-
not available, the variables <envar>ICU_CFLAGS</envar>
950-
and <envar>ICU_LIBS</envar> can be specified
951-
to <filename>configure</filename>, like in this example:
952-
<programlisting>
953-
./configure ... --with-icu ICU_CFLAGS='-I/some/where/include' ICU_LIBS='-L/some/where/lib -licui18n -licuuc -licudata'
954-
</programlisting>
955-
(If <productname>ICU4C</productname> is in the default search path
956-
for the compiler, then you still need to specify nonempty strings in
957-
order to avoid use of <productname>pkg-config</productname>, for
958-
example, <literal>ICU_CFLAGS=' '</literal>.)
959-
</para>
960-
</listitem>
961-
</varlistentry>
962-
963958
<varlistentry id="configure-with-llvm">
964959
<term><option>--with-llvm</option></term>
965960
<listitem>
@@ -1231,6 +1226,19 @@ build-postgresql:
12311226

12321227
<variablelist>
12331228

1229+
<varlistentry id="configure-option-without-icu">
1230+
<term><option>--without-icu</option></term>
1231+
<listitem>
1232+
<para>
1233+
Build without support for the
1234+
<productname>ICU</productname><indexterm><primary>ICU</primary></indexterm>
1235+
library, disabling the use of ICU collation features<phrase
1236+
condition="standalone-ignore"> (see <xref
1237+
linkend="collation"/>)</phrase>.
1238+
</para>
1239+
</listitem>
1240+
</varlistentry>
1241+
12341242
<varlistentry id="configure-option-without-readline">
12351243
<term><option>--without-readline</option></term>
12361244
<listitem>

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy