Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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

+1
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

+12-24
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

+6-2
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

+42-34
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)