Go to file
Ulrich Drepper 601d294296 Update.
2001-06-04  Bruno Haible  <haible@clisp.cons.org>

	* iconv/loop.c (UNICODE_TAG_HANDLER): New macro.
	* iconv/gconv_simple.c (__gconv_transform_internal_ascii): Invoke
	UNICODE_TAG_HANDLER.
	(__gconv_transform_internal_ucs2): Likewise.
	(__gconv_transform_internal_ucs2reverse): Likewise.
	* iconvdata/8bit-gap.c (BODY for TO_LOOP): Invoke UNICODE_TAG_HANDLER.
	* iconvdata/8bit-generic.c (BODY for TO_LOOP): Likewise.
	* iconvdata/ansi_x3.110.c (BODY for TO_LOOP): Likewise.
	* iconvdata/big5.c (BODY for TO_LOOP): Likewise.
	* iconvdata/big5hkscs.c (BODY for TO_LOOP): Likewise.
	* iconvdata/cp1255.c (BODY for TO_LOOP): Likewise.
	* iconvdata/cp1258.c (BODY for TO_LOOP): Likewise.
	* iconvdata/euc-cn.c (BODY for TO_LOOP): Likewise.
	* iconvdata/euc-jp.c (BODY for TO_LOOP): Likewise.
	* iconvdata/euc-kr.c (BODY for TO_LOOP): Likewise.
	* iconvdata/euc-tw.c (BODY for TO_LOOP): Likewise.
	* iconvdata/gbk.c (BODY for TO_LOOP): Likewise.
	* iconvdata/ibm930.c (BODY for TO_LOOP): Likewise.
	* iconvdata/ibm932.c (BODY for TO_LOOP): Likewise.
	* iconvdata/ibm933.c (BODY for TO_LOOP): Likewise.
	* iconvdata/ibm935.c (BODY for TO_LOOP): Likewise.
	* iconvdata/ibm937.c (BODY for TO_LOOP): Likewise.
	* iconvdata/ibm939.c (BODY for TO_LOOP): Likewise.
	* iconvdata/ibm943.c (BODY for TO_LOOP): Likewise.
	* iconvdata/iso646.c (BODY for TO_LOOP): Likewise.
	* iconvdata/iso8859-1.c (BODY for TO_LOOP): Likewise.
	* iconvdata/iso_6937.c (BODY for TO_LOOP): Likewise.
	* iconvdata/iso_6937-2.c (BODY for TO_LOOP): Likewise.
	* iconvdata/iso-2022-cn.c (BODY for TO_LOOP): Likewise.
	* iconvdata/iso-2022-cn-ext.c (BODY for TO_LOOP): Likewise.
	* iconvdata/iso-2022-kr.c (BODY for TO_LOOP): Likewise.
	* iconvdata/johab.c (BODY for TO_LOOP): Likewise.
	* iconvdata/sjis.c (BODY for TO_LOOP): Likewise.
	* iconvdata/t.61.c (BODY for TO_LOOP): Likewise.
	* iconvdata/uhc.c (BODY for TO_LOOP): Likewise.
	* iconvdata/unicode.c (BODY for TO_LOOP): Likewise.
	* iconvdata/iso-2022-jp.c (TAG_none, TAG_language, TAG_language_j,
	TAG_language_ja, TAG_language_k, TAG_language_ko, TAG_language_z,
	TAG_language_zh, CURRENT_TAG_MASK): New enum values.
	(EMIT_SHIFT_TO_INIT): Don't emit an escape sequence if ASCII_set
	is already selected but set2 or tag are set.
	(conversion): New enum type.
	(cvlist_t): New type.
	(CVLIST, CVLIST_FIRST, CVLIST_REST): New macros.
	(conversion_lists): New array.
	(BODY for TO_LOOP): Keep track of Unicode 3.1 language tag. If "ja",
	prefer conversion to Japanese character sets. If "zh", prefer
	conversion to GB2312. If "ko", prefer conversion to KSC5601. Small
	optimizations.
	(INIT_PARAMS): Add tag.
	(UPDATE_PARAMS): Add tag.

2001-06-04  Bruno Haible  <haible@clisp.cons.org>

	* locale/programs/locfile.c (write_locale_data): Before creat(),
	unlink the file, to avoid crashing the processes that mmap it.  Change
	a double slash to a single slash.  Free fname in case of error return.

2001-06-02  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/fpu/s_frexpl.S (__frexpl): Mostly revert 2000-12-03
	changes, do the special handling for denormal numbers, not for
	normalized numbers (patch by <trevin@xmission.com>).

	* math/test-misc.c (main): Test frexpl with denormal arguments.

2001-06-04  Jakub Jelinek  <jakub@redhat.com>

	* math/libm-test.inc (llround_test): Add two new llround tests.
	* sysdeps/ieee754/ldbl-96/s_llroundl.c (__llroundl): Don't allow
	overflow when rounding away from zero.

2001-06-04  Jakub Jelinek  <jakub@redhat.com>

	* math/Makefile (libm-calls): Add e_log2, w_log2, remove s_log2.
	* math/math_private.h (__ieee754_log2, __ieee754_log2f,
	__ieee754_log2l): New prototypes.
	* sysdeps/generic/w_log2.c: New file.
	* sysdeps/generic/w_log2f.c: New file.
	* sysdeps/generic/w_log2l.c: New file.
	* sysdeps/generic/s_log2l.c: Move...
	* sysdeps/generic/e_log2l.c: ...to here. Rename to __ieee754_log2l.
	* sysdeps/ieee754/k_standard.c (__kernel_standard): Handle log2(0)
	and log2(x < 0).
	* sysdeps/i386/fpu/s_log2.S: Move...
	* sysdeps/i386/fpu/e_log2.S: ...to here. Rename to __ieee754_log2.
	* sysdeps/i386/fpu/s_log2f.S: Move...
	* sysdeps/i386/fpu/e_log2f.S: ...to here. Rename to __ieee754_log2f.
	* sysdeps/i386/fpu/s_log2l.S: Move...
	* sysdeps/i386/fpu/e_log2l.S: ...to here. Rename to __ieee754_log2l.
	* sysdeps/m68k/fpu/s_log2.S: Move...
	* sysdeps/m68k/fpu/e_log2.S: ...to here. Rename to __ieee754_log2.
	* sysdeps/m68k/fpu/s_log2f.S: Move...
	* sysdeps/m68k/fpu/e_log2f.S: ...to here. Rename to __ieee754_log2f.
	* sysdeps/m68k/fpu/s_log2l.S: Move...
	* sysdeps/m68k/fpu/e_log2l.S: ...to here. Rename to __ieee754_log2l.
	* sysdeps/ieee754/dbl-64/s_log2.c: Move...
	* sysdeps/ieee754/dbl-64/e_log2.c: ...to here. Rename to
	__ieee754_log2.
	* sysdeps/ieee754/flt-32/s_log2f.c: Move...
	* sysdeps/ieee754/flt-32/e_log2f.c: ...to here. Rename to
	__ieee754_log2f.

2001-06-04  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/w_exp2.c (u_threshold): Lower threshold so that
	even arguments which result in denormalized exp2 are accepted.
	(__exp2): Arguments equal to u_threshold already result into
	underflow.
	* sysdeps/generic/w_exp2f.c (u_threshold, __exp2f): Likewise.
	* sysdeps/generic/w_exp2l.c (u_threshold, __exp2l): Likewise.
	* sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Lomark was too
	low, with corrected lowmark use greaterequal, not greater.
	* sysdeps/ieee754/flt-32/e_exp2f.c (__ieee754_exp2f): Likewise.

2001-06-04  Jakub Jelinek  <jakub@redhat.com>

	* math/libm-test.inc (ilogb_test): Test that ilogb(+-Inf) == INT_MAX.
	* sysdeps/i386/fpu/s_ilogb.S (__ilogb): Return INT_MAX for +-Inf.
	* sysdeps/i386/fpu/s_ilogbf.S (__ilogbf): Likewise.
	* sysdeps/i386/fpu/s_ilogbl.S (__ilogbl): Likewise.
	* sysdeps/ieee754/dbl-64/s_ilogb.c (__ilogb): Likewise.
	* sysdeps/ieee754/flt-32/s_ilogbf.c (__ilogbf): Likewise.
	* sysdeps/ieee754/ldbl-128/s_ilogbl.c (__ilogbl): Likewise.
	* sysdeps/ieee754/ldbl-96/s_ilogbl.c (__ilogbl): Likewise.

2001-06-04  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/w_coshl.c (__coshl): Test if finite argument
	gave non-finite result instead of using constant in generic
	version.
	* sysdeps/generic/w_coshf.c (__coshf): Likewise.
	* sysdeps/generic/w_cosh.c (__cosh): Likewise.
	* sysdeps/generic/w_exp10.c (o_threshold, u_threshold): Remove.
	(__exp10): Test if finite argument gave non-finite result.
	* sysdeps/generic/w_exp10f.c (o_threshold, u_threshold, __exp10f):
	Likewise.
	* sysdeps/generic/w_exp10l.c (o_threshold, u_threshold, __exp10l):
	Likewise.
2001-06-04  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ieee754/ldbl-96/e_coshl.c (__ieee754_coshl): Fix
	overflow threshold constant (log(LDBL_MAX)+M_LN2l).

2001-05-29  Bruno Haible  <haible@clisp.cons.org>

	* locale/programs/ld-ctype.c (idx_table): New struct type.
	(idx_table_init, idx_table_get, idx_table_add): New functions.
	(MAX_CHARNAMES_IDX): Remove macro.
	(locale_ctype_t): Change type of charnames_idx field.
	(ctype_startup): Change initialization of charnames_idx field.
	(find_idx): Use idx_table_get and idx_table_add for speed.

	* locale/programs/charmap.c (charmap_new_char): Fix ucs4 value
	computation of characters in a range.

2001-05-29  Bruno Haible  <haible@clisp.cons.org>

	* iconvdata/gb18030.c (__fourbyte_to_ucs1): Add mappings for <U03F4>,
	<U03F5>.
	(__ucs_to_gb18030_tab1): Likewise.
	(BODY for FROM_LOOP): Add mapping for <U00010000>..<U0010FFFF>.
	(BODY for TO_LOOP): Likewise.
	* iconvdata/tst-table-charmap.sh: Update for charmaps containing
	<U00xxxxxx> syntax.
	* iconvdata/tst-table-from.c (bmp_only): New variable.
	(utf8_decode): If bmp_only, don't return characters outside Unicode
	plane 0.
	(main): When testing UTF-8 or GB18030, set bmp_only to 1. Don't print
	a conversion line if utf8_decode returns NULL.
	* iconvdata/tst-table-to.c (main): When testing encodings other than
	UTF-8 and GB18030, loop upto U+30000 instead of U+10000. Use UTF-8
	instead of UCS-2 as input.
	* iconvdata/tst-table.sh: For GB18030, use only the part < 0x10000
	of the charmap.

2001-05-29  Bruno Haible  <haible@clisp.cons.org>

	* iconvdata/cns11643l1.c: Update to Unicode 3.1.
	(__cns11643l1_to_ucs4_tab): Regenerated.
	(__cns11643l1_from_ucs4_tab12): Regenerated.
	* iconvdata/cns11643.c: Update to Unicode 3.1.
	(__cns11643l14_to_ucs4_tab): Remove array.
	(__cns11643l3_to_ucs4_tab, __cns11643l4_to_ucs4_tab,
	__cns11643l5_to_ucs4_tab, __cns11643l6_to_ucs4_tab,
	__cns11643l7_to_ucs4_tab, __cns11643l15_to_ucs4_tab): New arrays.
	(__cns11643_from_ucs4p0_tab): Renamed from __cns11643_from_ucs4_tab.
	(__cns11643_from_ucs4p2_tab): New array.
	* iconvdata/cns11643.h (__cns11643l14_to_ucs4_tab): Remove declaration.
	(__cns11643l3_to_ucs4_tab, __cns11643l4_to_ucs4_tab,
	__cns11643l5_to_ucs4_tab, __cns11643l6_to_ucs4_tab,
	__cns11643l7_to_ucs4_tab, __cns11643l15_to_ucs4_tab): New declarations.
	(cns11643_to_ucs4): Treat planes 3, 4, 5, 6, 7, 15 instead of 14.
	(__cns11643_from_ucs4_tab): Remove declaration.
	(__cns11643_from_ucs4p0_tab, __cns11643_from_ucs4p2_tab): New
	declarations.
	(ucs4_to_cns11643): Update for new arrays. Treat U+3400..U+4DFF and
	U+20000..U+2A6D6.
	* iconvdata/cns11643l2.h (__cns11643_from_ucs4_tab): Remove
	declaration.
	(__cns11643_from_ucs4p0_tab): New declaration.
	(ucs4_to_cns11643l2): Update for new arrays.
	* iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): Handle planes
	3 to 7.
	(BODY for TO_LOOP): Handle planes 3 to 7, instead of plane 14.
	* iconvdata/EUC-TW.irreversible: New file.
	* iconvdata/tst-table.sh: Use it.
	* iconvdata/Makefile (distribute): Add CP1255.irreversible,
	CP1258.irreversible, EUC-TW.irreversible.

2001-05-29  Bruno Haible  <haible@clisp.cons.org>

	* locale/C-translit.h.in: Add transliterations for new Unicode 3.1
	mathematical symbols.
2001-06-06 12:55:46 +00:00
aout
argp Update. 2000-10-28 00:45:40 +00:00
assert Use static_cast instead of C-style cast for C++. 2001-01-13 00:04:45 +00:00
bare
bits Update. 2001-05-07 11:17:27 +00:00
catgets Update. 2001-03-10 07:18:40 +00:00
conf
conform Update. 2001-03-18 21:34:58 +00:00
crypt Update. 2001-03-18 21:34:58 +00:00
csu * csu/Makefile ($(objpfx)g$(start-installed-name)): Turn this into a 2001-05-14 23:32:39 +00:00
ctype Update. 2001-05-07 08:43:11 +00:00
debug Update. 2001-05-07 08:39:40 +00:00
dirent * malloc/memusagestat.c (main): Use return instead of exit to 2000-12-31 10:52:32 +00:00
dlfcn Update. 2001-04-06 15:23:41 +00:00
elf Update. 2001-05-23 23:56:31 +00:00
gmon Update. 2001-03-27 06:01:17 +00:00
gnulib Update. 2000-08-02 00:09:25 +00:00
grp * grp/initgroups.c (initgroups) [NGROUPS_MAX != 0]: Always use sysconf 2001-04-17 03:34:20 +00:00
hesiod Update. 2001-03-18 21:34:58 +00:00
hurd 2001-05-19 Roland McGrath <roland@frob.com> 2001-05-20 02:27:44 +00:00
iconv Update. 2001-06-06 12:55:46 +00:00
iconvdata Update. 2001-06-06 12:55:46 +00:00
include Update. 2001-05-22 23:42:35 +00:00
inet Update. 2001-04-09 04:55:59 +00:00
intl Add a few more dependencies to avoid races in the test shell scripts. 2001-05-22 20:36:16 +00:00
io Update. 2001-02-26 17:53:15 +00:00
libio Update. 2001-04-10 03:10:20 +00:00
linuxthreads Update. 2001-05-27 07:05:32 +00:00
linuxthreads_db Update. 2001-04-13 04:12:32 +00:00
locale Update. 2001-06-06 12:55:46 +00:00
localedata Update. 2001-06-06 12:55:46 +00:00
login Update. 2001-04-05 07:21:12 +00:00
mach 2001-04-07 Roland McGrath <roland@frob.com> 2001-04-09 21:23:38 +00:00
malloc Update. 2001-05-07 08:39:40 +00:00
manual (Portable Positioning): Fix description of fpos_t and fpos64_t. 2001-06-06 07:11:31 +00:00
math Update. 2001-06-06 12:55:46 +00:00
misc (mangle_tree): Ensure array indices are within bounds when lag > 0. 2001-06-05 13:38:39 +00:00
nis Update. 2001-06-06 07:19:47 +00:00
nscd Add noreturn attribute for start_threads. 2001-04-23 06:04:16 +00:00
nss Update. 2001-03-18 21:34:58 +00:00
po Update from transliation team. 2001-06-05 22:43:33 +00:00
posix Update. 2001-05-30 09:45:43 +00:00
pwd Update. 2001-01-27 05:30:29 +00:00
resolv Update. 2001-04-21 18:41:05 +00:00
resource Update. 2000-02-28 05:08:01 +00:00
rpm
rt Update. 2001-04-21 18:41:05 +00:00
scripts Update. 2001-05-07 10:23:22 +00:00
setjmp Update. 2001-01-17 01:01:02 +00:00
shadow Update. 2000-08-21 04:18:25 +00:00
signal Update. 2001-02-05 19:55:22 +00:00
socket Update. 2001-06-01 09:27:15 +00:00
soft-fp Update. 2000-10-16 18:17:25 +00:00
stdio Update. 2000-09-14 01:43:19 +00:00
stdio-common Update. 2001-03-04 08:47:11 +00:00
stdlib Update. 2001-05-07 08:43:11 +00:00
streams Update. 2000-08-21 06:49:52 +00:00
string Update. 2001-05-07 08:43:11 +00:00
sunrpc Update. 2001-05-30 09:45:43 +00:00
sysdeps Update. 2001-06-06 12:55:46 +00:00
sysvipc Update. 2000-09-01 02:26:05 +00:00
termios Update. 1999-10-09 21:56:43 +00:00
time Update. 2001-02-14 22:55:40 +00:00
timezone Update. 2001-04-06 21:11:42 +00:00
wcsmbs Update. 2001-05-23 00:08:46 +00:00
wctype (func): Add prototype declarations to avoid warning. 2001-02-10 11:34:33 +00:00
.cvsignore Update. 2000-04-28 05:12:30 +00:00
BUGS Update. 2000-11-08 21:20:06 +00:00
CONFORMANCE Update. 2001-01-11 17:50:24 +00:00
COPYING Update. 1999-07-28 19:16:26 +00:00
COPYING.LIB Update. 1999-07-28 19:16:26 +00:00
ChangeLog Update. 2001-06-06 12:55:46 +00:00
ChangeLog.1
ChangeLog.2
ChangeLog.3
ChangeLog.4
ChangeLog.5
ChangeLog.6
ChangeLog.7
ChangeLog.8
ChangeLog.9 Update. 2000-04-28 06:14:43 +00:00
ChangeLog.10 Update. 2000-02-29 01:13:44 +00:00
ChangeLog.11 Update. 2000-11-10 04:15:55 +00:00
FAQ Update. 2001-05-11 16:48:44 +00:00
FAQ.in Update. 2001-05-11 13:09:19 +00:00
INSTALL Update. 2001-04-19 20:15:22 +00:00
INTERFACE Update. 1999-10-31 17:37:43 +00:00
Make-dist * csu/Makefile ($(objpfx)g$(start-installed-name)): Turn this into a 2001-05-14 23:32:39 +00:00
MakeTAGS Update. 2000-04-28 05:12:30 +00:00
Makeconfig * Makeconfig (sysdep-makeconfigs): Include any Makeconfig files 2001-05-21 06:06:51 +00:00
Makefile * Makefile (postclean): Remove obsolete sysd-Makefile. 2001-06-04 04:56:48 +00:00
Makefile.in Update. 2000-11-15 23:56:34 +00:00
Makerules * csu/Makefile ($(objpfx)g$(start-installed-name)): Turn this into a 2001-05-14 23:32:39 +00:00
NAMESPACE Add and update many more entries. 2000-03-20 00:42:58 +00:00
NEWS Update. 2001-06-04 08:32:00 +00:00
NOTES Regenerated. 2000-03-10 09:36:06 +00:00
PROJECTS Update. 2001-03-20 21:05:29 +00:00
README Update. 2001-04-26 00:07:06 +00:00
README-alpha
README.libm
README.template Update. 2001-04-19 16:31:12 +00:00
Rules Update. 2000-12-27 17:18:07 +00:00
Versions.def Add version 2.2.4 for libc. 2001-06-01 13:59:42 +00:00
abi-tags
aclocal.m4
config-name.in
config.h.in Update. 2001-03-16 07:40:05 +00:00
config.make.in Update. 2001-03-18 21:34:58 +00:00
configure 2001-05-14 Roland McGrath <roland@frob.com> 2001-05-14 23:21:54 +00:00
configure.in 2001-05-14 Roland McGrath <roland@frob.com> 2001-05-14 23:21:54 +00:00
extra-lib.mk 1999-07-19 Andreas Schwab <schwab@suse.de> 1999-07-20 08:19:37 +00:00
glibcbug.in (BUGGLIBC): Send to new alias. 2001-04-18 20:03:28 +00:00
o-iterator.mk
shlib-versions Add comments about using DEFAULT in second column. (s390x-.*-linux.*): Replace individual entries with a DEFAULT entry. 2001-04-09 20:23:20 +00:00
test-skeleton.c Update. 2000-12-18 16:40:40 +00:00
version.h Update. 2001-03-28 06:26:29 +00:00

README

This directory contains the version 2.2.3 release of the GNU C Library.
Many bugs have been fixed since the last release.
Some bugs surely remain.

As of this release, the GNU C library is known to run on the following
configurations:

		*-*-gnu			GNU Hurd
		i[3456]86-*-linux-gnu	Linux-2.x on Intel
		m68k-*-linux-gnu	Linux-2.x on Motorola 680x0
		alpha*-*-linux-gnu	Linux-2.x on DEC Alpha
		powerpc-*-linux-gnu     Linux and MkLinux on PowerPC systems
		sparc-*-linux-gnu	Linux-2.x on SPARC
		sparc64-*-linux-gnu	Linux-2.x on UltraSPARC 64-bit
		arm-*-none		ARM standalone systems
		arm-*-linux		Linux-2.x on ARM
		arm-*-linuxaout		Linux-2.x on ARM using a.out binaries
		mips*-*-linux-gnu	Linux-2.x on MIPS
		ia64-*-linux-gnu	Linux-2.x on ia64
		s390-*-linux-gnu	Linux-2.x on IBM S/390
		s390x-*-linux-gnu	Linux-2.x on IBM S/390 64-bit
		sh-*-linux-gnu		Linux-2.x on Super Hitachi
		cris-*-linux-gnu	Linux-2.4+ on CRIS

Former releases of this library (version 1.09.1 and perhaps earlier
versions) used to run on the following configurations:

		alpha-dec-osf1
		i[3456]86-*-bsd4.3
		i[3456]86-*-isc2.2
		i[3456]86-*-isc3
		i[3456]86-*-sco3.2
		i[3456]86-*-sco3.2v4
		i[3456]86-*-sysv
		i[3456]86-*-sysv4
		i[3456]86-force_cpu386-none
		i[3456]86-sequent-bsd
		i960-nindy960-none
		m68k-hp-bsd4.3
		m68k-mvme135-none
		m68k-mvme136-none
		m68k-sony-newsos3
		m68k-sony-newsos4
		m68k-sun-sunos4
		mips-dec-ultrix4
		mips-sgi-irix4
		sparc-sun-solaris2
		sparc-sun-sunos4

Since no one has volunteered to test and fix the above configurations,
these are not supported at the moment.  It's expected that these don't
work anymore.  Porting the library is not hard.  If you are interested
in doing a port, please contact the glibc maintainers by sending
electronic mail to <bug-glibc@gnu.org>.

There are some add-ons which can be used together with GNU libc.  They
are designed in a way to ease the installation by integrating them in
the libc source tree.  Simply get the add-ons you need and use the
--enable-add-ons option of the `configure' script to tell where the
add-ons are found.  Please read the FAQ file for more details.

See the file INSTALL to find out how to configure, build, install, and port
the GNU C library.  You might also consider reading the WWW pages for the
GNU libc at http://www.gnu.org/software/libc/libc.html.

The GNU C Library is completely documented by the Texinfo manual found
in the `manual/' subdirectory.  The manual is still being updated and
contains some known errors and omissions; we regret that we do not
have the resources to work on the manual as much as we would like.
Please send comments on the manual to <bug-glibc-manual@gnu.org>, and
not to the library bug-reporting address.

The file NOTES contains a description of the feature-test macros used
in the GNU C library, explaining how you can tell the library what
facilities you want it to make available.

We prefer to get bug reports sent using the `glibcbug' shell script which
is installed together with the rest of the GNU libc to <bugs@gnu.org>.
Simply run this shell script and fill in the information.  Nevertheless
you can still send bug reports to <bug-glibc@gnu.org> as normal electronic
mails.

The GNU C Library is free software.  See the file COPYING.LIB for copying
conditions.