diff --git a/INSTALL b/INSTALL index 9611572..e1ffb02 100644 --- a/INSTALL +++ b/INSTALL @@ -1,6 +1,6 @@ INSTALL -Note: If you checked out teckit from svn, or for any other reason don't have +Note: If you checked out teckit from a VCS, or for any other reason don't have a file called "configure", you will need to initialize the directory using GNU autotools. Instructions for this are given further down. @@ -63,6 +63,10 @@ The results will be in the teckit-linux subdirectory. +To build just a source package that can be passed to an external package builder +(such as `pbuilder`) add `-S` to the command line. Other `debuild` options can +be given as well. + BUILDING a MAC PACKAGE Run the following script: @@ -92,4 +96,4 @@ ./autogen.sh in the teckit source directory. This normally needs to be done only once, but -if you update the directory from svn you may need to run it again. +if you update your directory from the VCS you may need to run it again. diff --git a/Makefile.in b/Makefile.in index 50714cd..a004481 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -15,7 +15,17 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -80,12 +90,6 @@ host_triplet = @host@ target_triplet = @target@ subdir = . -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/configure $(am__configure_deps) \ - $(srcdir)/config.h.in $(srcdir)/installed-top.pc.in \ - $(srcdir)/teckit.pc.in $(srcdir)/uninstalled-top.pc.in AUTHORS \ - COPYING ChangeLog INSTALL NEWS README compile config.guess \ - config.sub depcomp install-sh missing ltmain.sh ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ @@ -94,6 +98,8 @@ $(top_srcdir)/zlib-1.2.3/zlib.ac $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d @@ -186,6 +192,11 @@ CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(srcdir)/installed-top.pc.in $(srcdir)/teckit.pc.in \ + $(srcdir)/uninstalled-top.pc.in AUTHORS COPYING ChangeLog \ + INSTALL NEWS README compile config.guess config.sub install-sh \ + ltmain.sh missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -272,6 +283,7 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ @@ -347,6 +359,7 @@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -384,7 +397,6 @@ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -640,15 +652,15 @@ $(am__post_remove_distdir) dist-tarZ: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) @@ -684,17 +696,17 @@ esac chmod -R a-w $(distdir) chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_inst + mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build \ - && ../configure \ + && $(am__cd) $(distdir)/_build/sub \ + && ../../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=.. --prefix="$$dc_install_base" \ + --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ @@ -874,6 +886,8 @@ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-pkgconfigDATA +.PRECIOUS: Makefile + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/NEWS b/NEWS index a457bc8..fe8e41b 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,30 @@ +2018-06-18 + Version 2.5.8 + Updated Unicode character names and normalization data to 11.0.0 + +2017-06-22 + Version 2.5.7 + Updated Unicode character names and normalization data to 10.0.0 + Added a 64-bit Windows build + Updated documentation + +2016-04-19 + Version 2.5.6 + Added a diversion of /usr/bin/teckit_compile to avoid a conflict with the + texlive-binaries package on Linux + +2016-04-11 + Version 2.5.5 + Split shared libraries into a separate Linux package + Made Linux packages multiarch-compatible + Fixed compiler warnings + +2014-07-09 + Version 2.5.4 + Improved building and testing scripts + Enabled tests to be run on Windows without bash + 2014-06-30 - Version 2.5.4 Updated Unicode character names and normalization data to 7.0.0 Fixed data normalization bug Updated tests diff --git a/README b/README index ccec2ee..bdf170f 100644 --- a/README +++ b/README @@ -1,16 +1,18 @@ README +====== This is TECkit, a library for encoding conversion, usable through standalone tools or by linking with other software packages. +See the Documentation folder for information on the TECkit mapping language +and conversion tool usage notes. -See the docs folder for TECkit mapping language and conversion tool usage notes. +The TECkit libraries have been updated to support the Unicode 11.0.0 character +repertoire. - -The teckit_compile tool now supports a new option, not described in the PDF -documentation: - - -x generate XML representation rather than compiled table - -This is primarily intended for use by the Reprise utility, and the XML format -produced is subject to change according to the needs of that tool. +Starting with TECkit version 2.5.7 there are several changes with the Windows +builds. First, a 64-bit build has been added to the already existing 32-bit +build. Second, the runtime files have changed. The file libwinpthread-1.dll +is no longer needed. The file libstdc++-6.dll needs to match the build +(32 or 64 bit) of the rest of the code. The 32-bit build needs +libgcc_s_sjlj-1.dll, while the 64-bit build needs libgcc_s_seh-1.dll. diff --git a/SFconv/ConvertUTF.c b/SFconv/ConvertUTF.c deleted file mode 100644 index 9b3deeb..0000000 --- a/SFconv/ConvertUTF.c +++ /dev/null @@ -1,539 +0,0 @@ -/* - * Copyright 2001-2004 Unicode, Inc. - * - * Disclaimer - * - * This source code is provided as is by Unicode, Inc. No claims are - * made as to fitness for any particular purpose. No warranties of any - * kind are expressed or implied. The recipient agrees to determine - * applicability of information provided. If this file has been - * purchased on magnetic or optical media from Unicode, Inc., the - * sole remedy for any claim will be exchange of defective media - * within 90 days of receipt. - * - * Limitations on Rights to Redistribute This Code - * - * Unicode, Inc. hereby grants the right to freely use the information - * supplied in this file in the creation of products supporting the - * Unicode Standard, and to make copies of this file in any form - * for internal or external distribution as long as this notice - * remains attached. - */ - -/* --------------------------------------------------------------------- - - Conversions between UTF32, UTF-16, and UTF-8. Source code file. - Author: Mark E. Davis, 1994. - Rev History: Rick McGowan, fixes & updates May 2001. - Sept 2001: fixed const & error conditions per - mods suggested by S. Parent & A. Lillich. - June 2002: Tim Dodd added detection and handling of incomplete - source sequences, enhanced error detection, added casts - to eliminate compiler warnings. - July 2003: slight mods to back out aggressive FFFE detection. - Jan 2004: updated switches in from-UTF8 conversions. - Oct 2004: updated to use UNI_MAX_LEGAL_UTF32 in UTF-32 conversions. - - See the header file "ConvertUTF.h" for complete documentation. - ------------------------------------------------------------------------- */ - - -#include "ConvertUTF.h" -#ifdef CVTUTF_DEBUG -#include -#endif - -static const int halfShift = 10; /* used for shifting by 10 bits */ - -static const UTF32 halfBase = 0x0010000UL; -static const UTF32 halfMask = 0x3FFUL; - -#define UNI_SUR_HIGH_START (UTF32)0xD800 -#define UNI_SUR_HIGH_END (UTF32)0xDBFF -#define UNI_SUR_LOW_START (UTF32)0xDC00 -#define UNI_SUR_LOW_END (UTF32)0xDFFF -#define false 0 -#define true 1 - -/* --------------------------------------------------------------------- */ - -ConversionResult ConvertUTF32toUTF16 ( - const UTF32** sourceStart, const UTF32* sourceEnd, - UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags) { - ConversionResult result = conversionOK; - const UTF32* source = *sourceStart; - UTF16* target = *targetStart; - while (source < sourceEnd) { - UTF32 ch; - if (target >= targetEnd) { - result = targetExhausted; break; - } - ch = *source++; - if (ch <= UNI_MAX_BMP) { /* Target is a character <= 0xFFFF */ - /* UTF-16 surrogate values are illegal in UTF-32; 0xffff or 0xfffe are both reserved values */ - if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_LOW_END) { - if (flags == strictConversion) { - --source; /* return to the illegal value itself */ - result = sourceIllegal; - break; - } else { - *target++ = UNI_REPLACEMENT_CHAR; - } - } else { - *target++ = (UTF16)ch; /* normal case */ - } - } else if (ch > UNI_MAX_LEGAL_UTF32) { - if (flags == strictConversion) { - result = sourceIllegal; - } else { - *target++ = UNI_REPLACEMENT_CHAR; - } - } else { - /* target is a character in range 0xFFFF - 0x10FFFF. */ - if (target + 1 >= targetEnd) { - --source; /* Back up source pointer! */ - result = targetExhausted; break; - } - ch -= halfBase; - *target++ = (UTF16)((ch >> halfShift) + UNI_SUR_HIGH_START); - *target++ = (UTF16)((ch & halfMask) + UNI_SUR_LOW_START); - } - } - *sourceStart = source; - *targetStart = target; - return result; -} - -/* --------------------------------------------------------------------- */ - -ConversionResult ConvertUTF16toUTF32 ( - const UTF16** sourceStart, const UTF16* sourceEnd, - UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags) { - ConversionResult result = conversionOK; - const UTF16* source = *sourceStart; - UTF32* target = *targetStart; - UTF32 ch, ch2; - while (source < sourceEnd) { - const UTF16* oldSource = source; /* In case we have to back up because of target overflow. */ - ch = *source++; - /* If we have a surrogate pair, convert to UTF32 first. */ - if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_HIGH_END) { - /* If the 16 bits following the high surrogate are in the source buffer... */ - if (source < sourceEnd) { - ch2 = *source; - /* If it's a low surrogate, convert to UTF32. */ - if (ch2 >= UNI_SUR_LOW_START && ch2 <= UNI_SUR_LOW_END) { - ch = ((ch - UNI_SUR_HIGH_START) << halfShift) - + (ch2 - UNI_SUR_LOW_START) + halfBase; - ++source; - } else if (flags == strictConversion) { /* it's an unpaired high surrogate */ - --source; /* return to the illegal value itself */ - result = sourceIllegal; - break; - } - } else { /* We don't have the 16 bits following the high surrogate. */ - --source; /* return to the high surrogate */ - result = sourceExhausted; - break; - } - } else if (flags == strictConversion) { - /* UTF-16 surrogate values are illegal in UTF-32 */ - if (ch >= UNI_SUR_LOW_START && ch <= UNI_SUR_LOW_END) { - --source; /* return to the illegal value itself */ - result = sourceIllegal; - break; - } - } - if (target >= targetEnd) { - source = oldSource; /* Back up source pointer! */ - result = targetExhausted; break; - } - *target++ = ch; - } - *sourceStart = source; - *targetStart = target; -#ifdef CVTUTF_DEBUG -if (result == sourceIllegal) { - fprintf(stderr, "ConvertUTF16toUTF32 illegal seq 0x%04x,%04x\n", ch, ch2); - fflush(stderr); -} -#endif - return result; -} - -/* --------------------------------------------------------------------- */ - -/* - * Index into the table below with the first byte of a UTF-8 sequence to - * get the number of trailing bytes that are supposed to follow it. - * Note that *legal* UTF-8 values can't have 4 or 5-bytes. The table is - * left as-is for anyone who may want to do such conversion, which was - * allowed in earlier algorithms. - */ -static const char trailingBytesForUTF8[256] = { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5 -}; - -/* - * Magic values subtracted from a buffer value during UTF8 conversion. - * This table contains as many values as there might be trailing bytes - * in a UTF-8 sequence. - */ -static const UTF32 offsetsFromUTF8[6] = { 0x00000000UL, 0x00003080UL, 0x000E2080UL, - 0x03C82080UL, 0xFA082080UL, 0x82082080UL }; - -/* - * Once the bits are split out into bytes of UTF-8, this is a mask OR-ed - * into the first byte, depending on how many bytes follow. There are - * as many entries in this table as there are UTF-8 sequence types. - * (I.e., one byte sequence, two byte... etc.). Remember that sequencs - * for *legal* UTF-8 will be 4 or fewer bytes total. - */ -static const UTF8 firstByteMark[7] = { 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC }; - -/* --------------------------------------------------------------------- */ - -/* The interface converts a whole buffer to avoid function-call overhead. - * Constants have been gathered. Loops & conditionals have been removed as - * much as possible for efficiency, in favor of drop-through switches. - * (See "Note A" at the bottom of the file for equivalent code.) - * If your compiler supports it, the "isLegalUTF8" call can be turned - * into an inline function. - */ - -/* --------------------------------------------------------------------- */ - -ConversionResult ConvertUTF16toUTF8 ( - const UTF16** sourceStart, const UTF16* sourceEnd, - UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags) { - ConversionResult result = conversionOK; - const UTF16* source = *sourceStart; - UTF8* target = *targetStart; - while (source < sourceEnd) { - UTF32 ch; - unsigned short bytesToWrite = 0; - const UTF32 byteMask = 0xBF; - const UTF32 byteMark = 0x80; - const UTF16* oldSource = source; /* In case we have to back up because of target overflow. */ - ch = *source++; - /* If we have a surrogate pair, convert to UTF32 first. */ - if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_HIGH_END) { - /* If the 16 bits following the high surrogate are in the source buffer... */ - if (source < sourceEnd) { - UTF32 ch2 = *source; - /* If it's a low surrogate, convert to UTF32. */ - if (ch2 >= UNI_SUR_LOW_START && ch2 <= UNI_SUR_LOW_END) { - ch = ((ch - UNI_SUR_HIGH_START) << halfShift) - + (ch2 - UNI_SUR_LOW_START) + halfBase; - ++source; - } else if (flags == strictConversion) { /* it's an unpaired high surrogate */ - --source; /* return to the illegal value itself */ - result = sourceIllegal; - break; - } - } else { /* We don't have the 16 bits following the high surrogate. */ - --source; /* return to the high surrogate */ - result = sourceExhausted; - break; - } - } else if (flags == strictConversion) { - /* UTF-16 surrogate values are illegal in UTF-32 */ - if (ch >= UNI_SUR_LOW_START && ch <= UNI_SUR_LOW_END) { - --source; /* return to the illegal value itself */ - result = sourceIllegal; - break; - } - } - /* Figure out how many bytes the result will require */ - if (ch < (UTF32)0x80) { bytesToWrite = 1; - } else if (ch < (UTF32)0x800) { bytesToWrite = 2; - } else if (ch < (UTF32)0x10000) { bytesToWrite = 3; - } else if (ch < (UTF32)0x110000) { bytesToWrite = 4; - } else { bytesToWrite = 3; - ch = UNI_REPLACEMENT_CHAR; - } - - target += bytesToWrite; - if (target > targetEnd) { - source = oldSource; /* Back up source pointer! */ - target -= bytesToWrite; result = targetExhausted; break; - } - switch (bytesToWrite) { /* note: everything falls through. */ - case 4: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; - case 3: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; - case 2: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; - case 1: *--target = (UTF8)(ch | firstByteMark[bytesToWrite]); - } - target += bytesToWrite; - } - *sourceStart = source; - *targetStart = target; - return result; -} - -/* --------------------------------------------------------------------- */ - -/* - * Utility routine to tell whether a sequence of bytes is legal UTF-8. - * This must be called with the length pre-determined by the first byte. - * If not calling this from ConvertUTF8to*, then the length can be set by: - * length = trailingBytesForUTF8[*source]+1; - * and the sequence is illegal right away if there aren't that many bytes - * available. - * If presented with a length > 4, this returns false. The Unicode - * definition of UTF-8 goes up to 4-byte sequences. - */ - -static Boolean isLegalUTF8(const UTF8 *source, int length) { - UTF8 a; - const UTF8 *srcptr = source+length; - switch (length) { - default: return false; - /* Everything else falls through when "true"... */ - case 4: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return false; - case 3: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return false; - case 2: if ((a = (*--srcptr)) > 0xBF) return false; - - switch (*source) { - /* no fall-through in this inner switch */ - case 0xE0: if (a < 0xA0) return false; break; - case 0xED: if (a > 0x9F) return false; break; - case 0xF0: if (a < 0x90) return false; break; - case 0xF4: if (a > 0x8F) return false; break; - default: if (a < 0x80) return false; - } - - case 1: if (*source >= 0x80 && *source < 0xC2) return false; - } - if (*source > 0xF4) return false; - return true; -} - -/* --------------------------------------------------------------------- */ - -/* - * Exported function to return whether a UTF-8 sequence is legal or not. - * This is not used here; it's just exported. - */ -Boolean isLegalUTF8Sequence(const UTF8 *source, const UTF8 *sourceEnd) { - int length = trailingBytesForUTF8[*source]+1; - if (source+length > sourceEnd) { - return false; - } - return isLegalUTF8(source, length); -} - -/* --------------------------------------------------------------------- */ - -ConversionResult ConvertUTF8toUTF16 ( - const UTF8** sourceStart, const UTF8* sourceEnd, - UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags) { - ConversionResult result = conversionOK; - const UTF8* source = *sourceStart; - UTF16* target = *targetStart; - while (source < sourceEnd) { - UTF32 ch = 0; - unsigned short extraBytesToRead = trailingBytesForUTF8[*source]; - if (source + extraBytesToRead >= sourceEnd) { - result = sourceExhausted; break; - } - /* Do this check whether lenient or strict */ - if (! isLegalUTF8(source, extraBytesToRead+1)) { - result = sourceIllegal; - break; - } - /* - * The cases all fall through. See "Note A" below. - */ - switch (extraBytesToRead) { - case 5: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */ - case 4: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */ - case 3: ch += *source++; ch <<= 6; - case 2: ch += *source++; ch <<= 6; - case 1: ch += *source++; ch <<= 6; - case 0: ch += *source++; - } - ch -= offsetsFromUTF8[extraBytesToRead]; - - if (target >= targetEnd) { - source -= (extraBytesToRead+1); /* Back up source pointer! */ - result = targetExhausted; break; - } - if (ch <= UNI_MAX_BMP) { /* Target is a character <= 0xFFFF */ - /* UTF-16 surrogate values are illegal in UTF-32 */ - if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_LOW_END) { - if (flags == strictConversion) { - source -= (extraBytesToRead+1); /* return to the illegal value itself */ - result = sourceIllegal; - break; - } else { - *target++ = UNI_REPLACEMENT_CHAR; - } - } else { - *target++ = (UTF16)ch; /* normal case */ - } - } else if (ch > UNI_MAX_UTF16) { - if (flags == strictConversion) { - result = sourceIllegal; - source -= (extraBytesToRead+1); /* return to the start */ - break; /* Bail out; shouldn't continue */ - } else { - *target++ = UNI_REPLACEMENT_CHAR; - } - } else { - /* target is a character in range 0xFFFF - 0x10FFFF. */ - if (target + 1 >= targetEnd) { - source -= (extraBytesToRead+1); /* Back up source pointer! */ - result = targetExhausted; break; - } - ch -= halfBase; - *target++ = (UTF16)((ch >> halfShift) + UNI_SUR_HIGH_START); - *target++ = (UTF16)((ch & halfMask) + UNI_SUR_LOW_START); - } - } - *sourceStart = source; - *targetStart = target; - return result; -} - -/* --------------------------------------------------------------------- */ - -ConversionResult ConvertUTF32toUTF8 ( - const UTF32** sourceStart, const UTF32* sourceEnd, - UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags) { - ConversionResult result = conversionOK; - const UTF32* source = *sourceStart; - UTF8* target = *targetStart; - while (source < sourceEnd) { - UTF32 ch; - unsigned short bytesToWrite = 0; - const UTF32 byteMask = 0xBF; - const UTF32 byteMark = 0x80; - ch = *source++; - if (flags == strictConversion ) { - /* UTF-16 surrogate values are illegal in UTF-32 */ - if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_LOW_END) { - --source; /* return to the illegal value itself */ - result = sourceIllegal; - break; - } - } - /* - * Figure out how many bytes the result will require. Turn any - * illegally large UTF32 things (> Plane 17) into replacement chars. - */ - if (ch < (UTF32)0x80) { bytesToWrite = 1; - } else if (ch < (UTF32)0x800) { bytesToWrite = 2; - } else if (ch < (UTF32)0x10000) { bytesToWrite = 3; - } else if (ch <= UNI_MAX_LEGAL_UTF32) { bytesToWrite = 4; - } else { bytesToWrite = 3; - ch = UNI_REPLACEMENT_CHAR; - result = sourceIllegal; - } - - target += bytesToWrite; - if (target > targetEnd) { - --source; /* Back up source pointer! */ - target -= bytesToWrite; result = targetExhausted; break; - } - switch (bytesToWrite) { /* note: everything falls through. */ - case 4: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; - case 3: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; - case 2: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; - case 1: *--target = (UTF8) (ch | firstByteMark[bytesToWrite]); - } - target += bytesToWrite; - } - *sourceStart = source; - *targetStart = target; - return result; -} - -/* --------------------------------------------------------------------- */ - -ConversionResult ConvertUTF8toUTF32 ( - const UTF8** sourceStart, const UTF8* sourceEnd, - UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags) { - ConversionResult result = conversionOK; - const UTF8* source = *sourceStart; - UTF32* target = *targetStart; - while (source < sourceEnd) { - UTF32 ch = 0; - unsigned short extraBytesToRead = trailingBytesForUTF8[*source]; - if (source + extraBytesToRead >= sourceEnd) { - result = sourceExhausted; break; - } - /* Do this check whether lenient or strict */ - if (! isLegalUTF8(source, extraBytesToRead+1)) { - result = sourceIllegal; - break; - } - /* - * The cases all fall through. See "Note A" below. - */ - switch (extraBytesToRead) { - case 5: ch += *source++; ch <<= 6; - case 4: ch += *source++; ch <<= 6; - case 3: ch += *source++; ch <<= 6; - case 2: ch += *source++; ch <<= 6; - case 1: ch += *source++; ch <<= 6; - case 0: ch += *source++; - } - ch -= offsetsFromUTF8[extraBytesToRead]; - - if (target >= targetEnd) { - source -= (extraBytesToRead+1); /* Back up the source pointer! */ - result = targetExhausted; break; - } - if (ch <= UNI_MAX_LEGAL_UTF32) { - /* - * UTF-16 surrogate values are illegal in UTF-32, and anything - * over Plane 17 (> 0x10FFFF) is illegal. - */ - if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_LOW_END) { - if (flags == strictConversion) { - source -= (extraBytesToRead+1); /* return to the illegal value itself */ - result = sourceIllegal; - break; - } else { - *target++ = UNI_REPLACEMENT_CHAR; - } - } else { - *target++ = ch; - } - } else { /* i.e., ch > UNI_MAX_LEGAL_UTF32 */ - result = sourceIllegal; - *target++ = UNI_REPLACEMENT_CHAR; - } - } - *sourceStart = source; - *targetStart = target; - return result; -} - -/* --------------------------------------------------------------------- - - Note A. - The fall-through switches in UTF-8 reading code save a - temp variable, some decrements & conditionals. The switches - are equivalent to the following loop: - { - int tmpBytesToRead = extraBytesToRead+1; - do { - ch += *source++; - --tmpBytesToRead; - if (tmpBytesToRead) ch <<= 6; - } while (tmpBytesToRead > 0); - } - In UTF-8 writing code, the switches on "bytesToWrite" are - similarly unrolled loops. - - --------------------------------------------------------------------- */ diff --git a/SFconv/ConvertUTF.h b/SFconv/ConvertUTF.h deleted file mode 100644 index e264915..0000000 --- a/SFconv/ConvertUTF.h +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright 2001-2004 Unicode, Inc. - * - * Disclaimer - * - * This source code is provided as is by Unicode, Inc. No claims are - * made as to fitness for any particular purpose. No warranties of any - * kind are expressed or implied. The recipient agrees to determine - * applicability of information provided. If this file has been - * purchased on magnetic or optical media from Unicode, Inc., the - * sole remedy for any claim will be exchange of defective media - * within 90 days of receipt. - * - * Limitations on Rights to Redistribute This Code - * - * Unicode, Inc. hereby grants the right to freely use the information - * supplied in this file in the creation of products supporting the - * Unicode Standard, and to make copies of this file in any form - * for internal or external distribution as long as this notice - * remains attached. - */ - -/* --------------------------------------------------------------------- - - Conversions between UTF32, UTF-16, and UTF-8. Header file. - - Several funtions are included here, forming a complete set of - conversions between the three formats. UTF-7 is not included - here, but is handled in a separate source file. - - Each of these routines takes pointers to input buffers and output - buffers. The input buffers are const. - - Each routine converts the text between *sourceStart and sourceEnd, - putting the result into the buffer between *targetStart and - targetEnd. Note: the end pointers are *after* the last item: e.g. - *(sourceEnd - 1) is the last item. - - The return result indicates whether the conversion was successful, - and if not, whether the problem was in the source or target buffers. - (Only the first encountered problem is indicated.) - - After the conversion, *sourceStart and *targetStart are both - updated to point to the end of last text successfully converted in - the respective buffers. - - Input parameters: - sourceStart - pointer to a pointer to the source buffer. - The contents of this are modified on return so that - it points at the next thing to be converted. - targetStart - similarly, pointer to pointer to the target buffer. - sourceEnd, targetEnd - respectively pointers to the ends of the - two buffers, for overflow checking only. - - These conversion functions take a ConversionFlags argument. When this - flag is set to strict, both irregular sequences and isolated surrogates - will cause an error. When the flag is set to lenient, both irregular - sequences and isolated surrogates are converted. - - Whether the flag is strict or lenient, all illegal sequences will cause - an error return. This includes sequences such as: , , - or in UTF-8, and values above 0x10FFFF in UTF-32. Conformant code - must check for illegal sequences. - - When the flag is set to lenient, characters over 0x10FFFF are converted - to the replacement character; otherwise (when the flag is set to strict) - they constitute an error. - - Output parameters: - The value "sourceIllegal" is returned from some routines if the input - sequence is malformed. When "sourceIllegal" is returned, the source - value will point to the illegal value that caused the problem. E.g., - in UTF-8 when a sequence is malformed, it points to the start of the - malformed sequence. - - Author: Mark E. Davis, 1994. - Rev History: Rick McGowan, fixes & updates May 2001. - Fixes & updates, Sept 2001. - ------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------- - The following 4 definitions are compiler-specific. - The C standard does not guarantee that wchar_t has at least - 16 bits, so wchar_t is no less portable than unsigned short! - All should be unsigned values to avoid sign extension during - bit mask & shift operations. ------------------------------------------------------------------------- */ - -typedef unsigned long UTF32; /* at least 32 bits */ -typedef unsigned short UTF16; /* at least 16 bits */ -typedef unsigned char UTF8; /* typically 8 bits */ -typedef unsigned char Boolean; /* 0 or 1 */ - -/* Some fundamental constants */ -#define UNI_REPLACEMENT_CHAR (UTF32)0x0000FFFD -#define UNI_MAX_BMP (UTF32)0x0000FFFF -#define UNI_MAX_UTF16 (UTF32)0x0010FFFF -#define UNI_MAX_UTF32 (UTF32)0x7FFFFFFF -#define UNI_MAX_LEGAL_UTF32 (UTF32)0x0010FFFF - -typedef enum { - conversionOK, /* conversion successful */ - sourceExhausted, /* partial character in source, but hit end */ - targetExhausted, /* insuff. room in target for conversion */ - sourceIllegal /* source sequence is illegal/malformed */ -} ConversionResult; - -typedef enum { - strictConversion = 0, - lenientConversion -} ConversionFlags; - -/* This is for C++ and does no harm in C */ -#ifdef __cplusplus -extern "C" { -#endif - -ConversionResult ConvertUTF8toUTF16 ( - const UTF8** sourceStart, const UTF8* sourceEnd, - UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags); - -ConversionResult ConvertUTF16toUTF8 ( - const UTF16** sourceStart, const UTF16* sourceEnd, - UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags); - -ConversionResult ConvertUTF8toUTF32 ( - const UTF8** sourceStart, const UTF8* sourceEnd, - UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags); - -ConversionResult ConvertUTF32toUTF8 ( - const UTF32** sourceStart, const UTF32* sourceEnd, - UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags); - -ConversionResult ConvertUTF16toUTF32 ( - const UTF16** sourceStart, const UTF16* sourceEnd, - UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags); - -ConversionResult ConvertUTF32toUTF16 ( - const UTF32** sourceStart, const UTF32* sourceEnd, - UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags); - -Boolean isLegalUTF8Sequence(const UTF8 *source, const UTF8 *sourceEnd); - -#ifdef __cplusplus -} -#endif - -/* --------------------------------------------------------------------- */ diff --git a/SFconv/SFconv.cpp b/SFconv/SFconv.cpp index 0604a08..53bb5c3 100644 --- a/SFconv/SFconv.cpp +++ b/SFconv/SFconv.cpp @@ -10,7 +10,7 @@ using namespace std; #include "TECkit_Engine.h" -#include "ConvertUTF.h" +#include "UtfCodec.h" #include "sfReader.h" #ifndef platformUTF16 @@ -95,16 +95,21 @@ static ustring Utf8ToString(const char* s) { - int len = strlen(s); - UniChar* buf = new UniChar[len]; - const Byte* sourceStart = (Byte*)s; - UniChar* targetStart = buf; - int status = ConvertUTF8toUTF16(&sourceStart, sourceStart + len, &targetStart, targetStart + len, lenientConversion); - if (status != conversionOK) { - fprintf(stderr, "error %d converting UTF-8 to UTF-16\n", status); - exit(1); - } - ustring ustr(buf, targetStart - buf); + int len = strlen(s); + utf16::codeunit_t * const buf = new utf16::codeunit_t[len]; + + utf16::iterator out = buf; + utf8::const_iterator in = s, + end = s + len; + while (in != end && !(in.error() || out.error())) + *out++ = *in++; + + if (in.error() || out.error()) { + fprintf(stderr, "error %d converting UTF-8 to UTF-16\n", 4); + exit(1); + } + + ustring ustr(buf, out - buf); delete[] buf; return ustr; } @@ -313,7 +318,7 @@ fprintf(stderr, "unable to read mapping file for %s (file %s)\n", mappingName.c_str(), mapFileName.c_str()); exit(1); } - fread(buf, 1, fileSize, mapFile); + fileSize = fread(buf, 1, fileSize, mapFile); fclose(mapFile); TECkit_Converter converter; @@ -629,7 +634,7 @@ // *** Unicode to Byte conversion Byte bom[3]; long pos = ftell(inFile); - if (fread(bom, 3, 1, inFile)) { + if (fread(bom, 3, 1, inFile) > 0) { if (bom[0] == 0xef && bom[1] == 0xbb && bom[2] == 0xbf) { inForm = kForm_UTF8; } diff --git a/SFconv/UtfCodec.cpp b/SFconv/UtfCodec.cpp new file mode 100644 index 0000000..7a3e3f4 --- /dev/null +++ b/SFconv/UtfCodec.cpp @@ -0,0 +1,38 @@ +/* GRAPHITE2 LICENSING + + Copyright 2010, SIL International + All rights reserved. + + This library is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2.1 of License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should also have received a copy of the GNU Lesser General Public + License along with this library in the file named "LICENSE". + If not, write to the Free Software Foundation, 51 Franklin Street, + Suite 500, Boston, MA 02110-1335, USA or visit their web page on the + internet at http://www.fsf.org/licenses/lgpl.html. + +Alternatively, the contents of this file may be used under the terms of the +Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public +License, as published by the Free Software Foundation, either version 2 +of the License or (at your option) any later version. +*/ +#include "UtfCodec.h" + +const int8_t _utf_codec<8>::sz_lut[16] = +{ + 1,1,1,1,1,1,1,1, // 1 byte + 0,0,0,0, // trailing byte + 2,2, // 2 bytes + 3, // 3 bytes + 4 // 4 bytes +}; + +const uint8_t _utf_codec<8>::mask_lut[5] = {0x7f, 0xff, 0x3f, 0x1f, 0x0f}; diff --git a/SFconv/UtfCodec.h b/SFconv/UtfCodec.h new file mode 100644 index 0000000..62b973b --- /dev/null +++ b/SFconv/UtfCodec.h @@ -0,0 +1,252 @@ +/* GRAPHITE2 LICENSING + + Copyright 2011, SIL International + All rights reserved. + + This library is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2.1 of License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should also have received a copy of the GNU Lesser General Public + License along with this library in the file named "LICENSE". + If not, write to the Free Software Foundation, 51 Franklin Street, + Suite 500, Boston, MA 02110-1335, USA or visit their web page on the + internet at http://www.fsf.org/licenses/lgpl.html. + +Alternatively, the contents of this file may be used under the terms of the +Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public +License, as published by the Free Software Foundation, either version 2 +of the License or (at your option) any later version. +*/ +#pragma once + +#include +#include +#include + +using std::int8_t; +using std::uint8_t; +using std::ptrdiff_t; + +typedef uint32_t uchar_t; + +template +struct _utf_codec +{ + typedef uchar_t codeunit_t; + + static void put(codeunit_t * cp, const uchar_t , int8_t & len) throw(); + static uchar_t get(const codeunit_t * cp, int8_t & len) throw(); + static bool validate(const codeunit_t * s, const codeunit_t * e) throw(); +}; + + +template <> +struct _utf_codec<32> +{ +private: + static const uchar_t limit = 0x110000; +public: + typedef uint32_t codeunit_t; + + inline + static void put(codeunit_t * cp, const uchar_t usv, int8_t & l) throw() + { + *cp = usv; l = 1; + } + + inline + static uchar_t get(const codeunit_t * cp, int8_t & l) throw() + { + if (cp[0] < limit) { l = 1; return cp[0]; } + else { l = -1; return 0xFFFD; } + } + + inline + static bool validate(codeunit_t * s, codeunit_t * e) throw() + { + return e > s; + } +}; + + +template <> +struct _utf_codec<16> +{ +private: + static const int32_t lead_offset = 0xD800 - (0x10000 >> 10); + static const int32_t surrogate_offset = 0x10000 - (0xD800 << 10) - 0xDC00; +public: + typedef uint16_t codeunit_t; + + inline + static void put(codeunit_t * cp, const uchar_t usv, int8_t & l) throw() + { + if (usv < 0x10000) { l = 1; cp[0] = codeunit_t(usv); } + else + { + cp[0] = codeunit_t(lead_offset + (usv >> 10)); + cp[1] = codeunit_t(0xDC00 + (usv & 0x3FF)); + l = 2; + } + } + + inline + static uchar_t get(const codeunit_t * cp, int8_t & l) throw() + { + const uint32_t uh = cp[0]; + l = 1; + + if (uh < 0xD800|| uh > 0xDFFF) { return uh; } + const uint32_t ul = cp[1]; + if (uh > 0xDBFF || ul < 0xDC00 || ul > 0xDFFF) { l = -1; return 0xFFFD; } + ++l; + return (uh<<10) + ul + surrogate_offset; + } + + inline + static bool validate(codeunit_t * s, codeunit_t * e) throw() + { + const ptrdiff_t n = e-s; + if (n <= 0) return n == 0; + const uint32_t u = *(s+(n-1)); // Get the last codepoint + return (u < 0xD800 || u > 0xDBFF); + } +}; + + +template <> +struct _utf_codec<8> +{ +private: + static const uchar_t limit = 0x110000; + static const int8_t sz_lut[16]; + static const uint8_t mask_lut[5]; + + +public: + typedef uint8_t codeunit_t; + + inline + static void put(codeunit_t * cp, const uchar_t usv, int8_t & l) throw() + { + if (usv < 0x80) {l = 1; cp[0] = usv; return; } + if (usv < 0x0800) {l = 2; cp[0] = 0xC0 + (usv >> 6); cp[1] = 0x80 + (usv & 0x3F); return; } + if (usv < 0x10000) {l = 3; cp[0] = 0xE0 + (usv >> 12); cp[1] = 0x80 + ((usv >> 6) & 0x3F); cp[2] = 0x80 + (usv & 0x3F); return; } + else {l = 4; cp[0] = 0xF0 + (usv >> 18); cp[1] = 0x80 + ((usv >> 12) & 0x3F); cp[2] = 0x80 + ((usv >> 6) & 0x3F); cp[3] = 0x80 + (usv & 0x3F); return; } + } + + inline + static uchar_t get(const codeunit_t * cp, int8_t & l) throw() + { + const int8_t seq_sz = sz_lut[*cp >> 4]; + uchar_t u = *cp & mask_lut[seq_sz]; + l = 1; + bool toolong = false; + + switch(seq_sz) { + case 4: u <<= 6; u |= *++cp & 0x3F; if (*cp >> 6 != 2) break; ++l; toolong = (u < 0x10); + // no break + case 3: u <<= 6; u |= *++cp & 0x3F; if (*cp >> 6 != 2) break; ++l; toolong |= (u < 0x20); + // no break + case 2: u <<= 6; u |= *++cp & 0x3F; if (*cp >> 6 != 2) break; ++l; toolong |= (u < 0x80); + // no break + case 1: break; + case 0: l = -1; return 0xFFFD; + } + + if (l != seq_sz || toolong || u >= limit) + { + l = -l; + return 0xFFFD; + } + return u; + } + + inline + static bool validate(codeunit_t * s, codeunit_t * e) throw() + { + const ptrdiff_t n = e-s; + if (n <= 0) return n == 0; + s += (n-1); + if (*s < 0x80) return true; + if (*s >= 0xC0) return false; + if (n == 1) return true; + if (*--s < 0x80) return true; + if (*s >= 0xe0) return false; + if (n == 2 || *s >= 0xC0) return true; + if (*--s < 0x80) return true; + if (*s >= 0xF0) return false; + return true; + } + +}; + + +template +class _utf_iterator +{ + typedef _utf_codec codec; + + C * cp; + mutable int8_t sl; + +public: + typedef C codeunit_type; + typedef uchar_t value_type; + typedef uchar_t * pointer; + + class reference + { + const _utf_iterator & _i; + + reference(const _utf_iterator & i): _i(i) {} + public: + operator value_type () const throw () { return codec::get(_i.cp, _i.sl); } + reference & operator = (const value_type usv) throw() { codec::put(_i.cp, usv, _i.sl); return *this; } + + friend class _utf_iterator; + }; + + + _utf_iterator(const void * us=0) : cp(reinterpret_cast(const_cast(us))), sl(1) { } + + _utf_iterator & operator ++ () { cp += abs(sl); return *this; } + _utf_iterator operator ++ (int) { _utf_iterator tmp(*this); operator++(); return tmp; } + + bool operator == (const _utf_iterator & rhs) const throw() { return cp >= rhs.cp; } + bool operator != (const _utf_iterator & rhs) const throw() { return !operator==(rhs); } + + reference operator * () const throw() { return *this; } + pointer operator ->() const throw() { return &operator *(); } + + operator codeunit_type * () const throw() { return cp; } + + bool error() const throw() { return sl < 1; } +}; + +template +struct utf +{ + typedef typename _utf_codec::codeunit_t codeunit_t; + + typedef _utf_iterator iterator; + typedef _utf_iterator const_iterator; + + inline + static bool validate(codeunit_t * s, codeunit_t * e) throw() { + return _utf_codec::validate(s,e); + } +}; + + +typedef utf utf32; +typedef utf utf16; +typedef utf utf8; + diff --git a/SFconv/sfReader.h b/SFconv/sfReader.h index 9576b2d..bdf21d5 100644 --- a/SFconv/sfReader.h +++ b/SFconv/sfReader.h @@ -9,6 +9,9 @@ #define INLINE_START 2 #define INLINE_END 3 #define INLINE_MARKER 4 +#define UNI_REPLACEMENT_CHAR (uint32_t)0x0000FFFD +#define UNI_MAX_BMP (uint32_t)0x0000FFFF +#define UNI_MAX_UTF16 (uint32_t)0x0010FFFF template class sfReader diff --git a/aclocal.m4 b/aclocal.m4 index 53f5f7c..2ccff99 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.14.1 -*- Autoconf -*- - -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# generated automatically by aclocal 1.15 -*- Autoconf -*- + +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -20,7 +20,7 @@ If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# Copyright (C) 2002-2013 Free Software Foundation, Inc. +# Copyright (C) 2002-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -32,10 +32,10 @@ # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.14' +[am__api_version='1.15' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.14.1], [], +m4_if([$1], [1.15], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,14 +51,14 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.14.1])dnl +[AM_AUTOMAKE_VERSION([1.15])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -110,7 +110,7 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2013 Free Software Foundation, Inc. +# Copyright (C) 1997-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -141,7 +141,7 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -332,7 +332,7 @@ # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -408,7 +408,7 @@ # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -498,8 +498,8 @@ # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl @@ -573,6 +573,9 @@ AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) fi fi +dnl The trailing newline in this macro's definition is deliberate, for +dnl backward compatibility and to allow trailing 'dnl'-style comments +dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not @@ -602,7 +605,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -613,7 +616,7 @@ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh}" != xset; then +if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; @@ -623,7 +626,7 @@ fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2013 Free Software Foundation, Inc. +# Copyright (C) 2003-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -645,7 +648,7 @@ # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -680,7 +683,7 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -730,7 +733,7 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2013 Free Software Foundation, Inc. +# Copyright (C) 1997-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -771,7 +774,7 @@ # Obsolete and "removed" macros, that must however still report explicit # error messages when used, to smooth transition. # -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -798,7 +801,7 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -827,7 +830,7 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -874,7 +877,7 @@ # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -893,7 +896,7 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -974,7 +977,7 @@ rm -f conftest.file ]) -# Copyright (C) 2009-2013 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1034,7 +1037,7 @@ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1062,7 +1065,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2013 Free Software Foundation, Inc. +# Copyright (C) 2006-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1081,7 +1084,7 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2013 Free Software Foundation, Inc. +# Copyright (C) 2004-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/bin/Makefile.am b/bin/Makefile.am index 2337f1d..b0f28d2 100644 --- a/bin/Makefile.am +++ b/bin/Makefile.am @@ -28,11 +28,12 @@ txtconv_SOURCES = @top_builddir@/source/Sample-tools/TxtConv.cpp sfconv_SOURCES = @top_builddir@/SFconv/SFconv.cpp -sfconv_SOURCES += @top_builddir@/SFconv/ConvertUTF.c +sfconv_SOURCES += @top_builddir@/SFconv/UtfCodec.cpp sfconv_CPPFLAGS = $(AM_CPPFLAGS) $(EXPAT_CFLAGS) +sfconv_CXXFLAGS = -std=c++11 sfconv_CFLAGS = $(AM_CPPFLAGS) $(EXPAT_CFLAGS) sfconv_SOURCES += @top_builddir@/SFconv/sfReader.h -sfconv_SOURCES += @top_builddir@/SFconv/ConvertUTF.h +sfconv_SOURCES += @top_builddir@/SFconv/UtfCodec.h sfconv_SOURCES += @top_builddir@/SFconv/Debug_Prefix.h sfconv_SOURCES += @top_builddir@/SFconv/Final_Prefix.h sfconv_SOURCES += @top_builddir@/SFconv/ushort_chartraits.h diff --git a/bin/Makefile.in b/bin/Makefile.in index b532988..c234d5a 100644 --- a/bin/Makefile.in +++ b/bin/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -16,7 +16,17 @@ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -89,8 +99,6 @@ @OLD_LIB_NAMES_FALSE@ $(top_builddir)/lib/libTECkit.la \ @OLD_LIB_NAMES_FALSE@ $(noinst_LIBRARIES) subdir = bin -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ @@ -99,6 +107,7 @@ $(top_srcdir)/zlib-1.2.3/zlib.ac $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -125,14 +134,14 @@ am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_sfconv_OBJECTS = @top_builddir@/SFconv/sfconv-SFconv.$(OBJEXT) \ - @top_builddir@/SFconv/sfconv-ConvertUTF.$(OBJEXT) + @top_builddir@/SFconv/sfconv-UtfCodec.$(OBJEXT) sfconv_OBJECTS = $(am_sfconv_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = sfconv_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(sfconv_CXXFLAGS) \ $(CXXFLAGS) $(sfconv_LDFLAGS) $(LDFLAGS) -o $@ am_teckit_compile_OBJECTS = \ @top_builddir@/source/Sample-tools/TECkit_Compile.$(OBJEXT) @@ -227,6 +236,7 @@ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -272,6 +282,7 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ @@ -347,6 +358,7 @@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -377,13 +389,14 @@ teckit_compile_SOURCES = @top_builddir@/source/Sample-tools/TECkit_Compile.cpp txtconv_SOURCES = @top_builddir@/source/Sample-tools/TxtConv.cpp sfconv_SOURCES = @top_builddir@/SFconv/SFconv.cpp \ - @top_builddir@/SFconv/ConvertUTF.c \ + @top_builddir@/SFconv/UtfCodec.cpp \ @top_builddir@/SFconv/sfReader.h \ - @top_builddir@/SFconv/ConvertUTF.h \ + @top_builddir@/SFconv/UtfCodec.h \ @top_builddir@/SFconv/Debug_Prefix.h \ @top_builddir@/SFconv/Final_Prefix.h \ @top_builddir@/SFconv/ushort_chartraits.h sfconv_CPPFLAGS = $(AM_CPPFLAGS) $(EXPAT_CFLAGS) +sfconv_CXXFLAGS = -std=c++11 sfconv_CFLAGS = $(AM_CPPFLAGS) $(EXPAT_CFLAGS) @OLD_LIB_NAMES_FALSE@teckit_compile_LDADD = $(top_builddir)/lib/libTECkit_Compiler.la @OLD_LIB_NAMES_TRUE@teckit_compile_LDADD = $(top_builddir)/lib/TECkit_Compiler_x86.la @@ -417,7 +430,6 @@ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign bin/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign bin/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -525,7 +537,7 @@ @top_builddir@/SFconv/sfconv-SFconv.$(OBJEXT): \ @top_builddir@/SFconv/$(am__dirstamp) \ @top_builddir@/SFconv/$(DEPDIR)/$(am__dirstamp) -@top_builddir@/SFconv/sfconv-ConvertUTF.$(OBJEXT): \ +@top_builddir@/SFconv/sfconv-UtfCodec.$(OBJEXT): \ @top_builddir@/SFconv/$(am__dirstamp) \ @top_builddir@/SFconv/$(DEPDIR)/$(am__dirstamp) @@ -563,8 +575,8 @@ distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@@top_builddir@/SFconv/$(DEPDIR)/sfconv-ConvertUTF.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@top_builddir@/SFconv/$(DEPDIR)/sfconv-SFconv.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@@top_builddir@/SFconv/$(DEPDIR)/sfconv-UtfCodec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@top_builddir@/SFconv/expat/xmlparse/$(DEPDIR)/libexpat_a-hashtable.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@top_builddir@/SFconv/expat/xmlparse/$(DEPDIR)/libexpat_a-xmlparse.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@top_builddir@/SFconv/expat/xmltok/$(DEPDIR)/libexpat_a-xmlrole.Po@am__quote@ @@ -651,20 +663,6 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='@top_builddir@/SFconv/expat/xmltok/xmltok.c' object='@top_builddir@/SFconv/expat/xmltok/libexpat_a-xmltok.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libexpat_a_CFLAGS) $(CFLAGS) -c -o @top_builddir@/SFconv/expat/xmltok/libexpat_a-xmltok.obj `if test -f '@top_builddir@/SFconv/expat/xmltok/xmltok.c'; then $(CYGPATH_W) '@top_builddir@/SFconv/expat/xmltok/xmltok.c'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/SFconv/expat/xmltok/xmltok.c'; fi` - -@top_builddir@/SFconv/sfconv-ConvertUTF.o: @top_builddir@/SFconv/ConvertUTF.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sfconv_CPPFLAGS) $(CPPFLAGS) $(sfconv_CFLAGS) $(CFLAGS) -MT @top_builddir@/SFconv/sfconv-ConvertUTF.o -MD -MP -MF @top_builddir@/SFconv/$(DEPDIR)/sfconv-ConvertUTF.Tpo -c -o @top_builddir@/SFconv/sfconv-ConvertUTF.o `test -f '@top_builddir@/SFconv/ConvertUTF.c' || echo '$(srcdir)/'`@top_builddir@/SFconv/ConvertUTF.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) @top_builddir@/SFconv/$(DEPDIR)/sfconv-ConvertUTF.Tpo @top_builddir@/SFconv/$(DEPDIR)/sfconv-ConvertUTF.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='@top_builddir@/SFconv/ConvertUTF.c' object='@top_builddir@/SFconv/sfconv-ConvertUTF.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sfconv_CPPFLAGS) $(CPPFLAGS) $(sfconv_CFLAGS) $(CFLAGS) -c -o @top_builddir@/SFconv/sfconv-ConvertUTF.o `test -f '@top_builddir@/SFconv/ConvertUTF.c' || echo '$(srcdir)/'`@top_builddir@/SFconv/ConvertUTF.c - -@top_builddir@/SFconv/sfconv-ConvertUTF.obj: @top_builddir@/SFconv/ConvertUTF.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sfconv_CPPFLAGS) $(CPPFLAGS) $(sfconv_CFLAGS) $(CFLAGS) -MT @top_builddir@/SFconv/sfconv-ConvertUTF.obj -MD -MP -MF @top_builddir@/SFconv/$(DEPDIR)/sfconv-ConvertUTF.Tpo -c -o @top_builddir@/SFconv/sfconv-ConvertUTF.obj `if test -f '@top_builddir@/SFconv/ConvertUTF.c'; then $(CYGPATH_W) '@top_builddir@/SFconv/ConvertUTF.c'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/SFconv/ConvertUTF.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) @top_builddir@/SFconv/$(DEPDIR)/sfconv-ConvertUTF.Tpo @top_builddir@/SFconv/$(DEPDIR)/sfconv-ConvertUTF.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='@top_builddir@/SFconv/ConvertUTF.c' object='@top_builddir@/SFconv/sfconv-ConvertUTF.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sfconv_CPPFLAGS) $(CPPFLAGS) $(sfconv_CFLAGS) $(CFLAGS) -c -o @top_builddir@/SFconv/sfconv-ConvertUTF.obj `if test -f '@top_builddir@/SFconv/ConvertUTF.c'; then $(CYGPATH_W) '@top_builddir@/SFconv/ConvertUTF.c'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/SFconv/ConvertUTF.c'; fi` .cpp.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @@ -691,18 +689,32 @@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< @top_builddir@/SFconv/sfconv-SFconv.o: @top_builddir@/SFconv/SFconv.cpp -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sfconv_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/SFconv/sfconv-SFconv.o -MD -MP -MF @top_builddir@/SFconv/$(DEPDIR)/sfconv-SFconv.Tpo -c -o @top_builddir@/SFconv/sfconv-SFconv.o `test -f '@top_builddir@/SFconv/SFconv.cpp' || echo '$(srcdir)/'`@top_builddir@/SFconv/SFconv.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sfconv_CPPFLAGS) $(CPPFLAGS) $(sfconv_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/SFconv/sfconv-SFconv.o -MD -MP -MF @top_builddir@/SFconv/$(DEPDIR)/sfconv-SFconv.Tpo -c -o @top_builddir@/SFconv/sfconv-SFconv.o `test -f '@top_builddir@/SFconv/SFconv.cpp' || echo '$(srcdir)/'`@top_builddir@/SFconv/SFconv.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) @top_builddir@/SFconv/$(DEPDIR)/sfconv-SFconv.Tpo @top_builddir@/SFconv/$(DEPDIR)/sfconv-SFconv.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='@top_builddir@/SFconv/SFconv.cpp' object='@top_builddir@/SFconv/sfconv-SFconv.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sfconv_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/SFconv/sfconv-SFconv.o `test -f '@top_builddir@/SFconv/SFconv.cpp' || echo '$(srcdir)/'`@top_builddir@/SFconv/SFconv.cpp +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sfconv_CPPFLAGS) $(CPPFLAGS) $(sfconv_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/SFconv/sfconv-SFconv.o `test -f '@top_builddir@/SFconv/SFconv.cpp' || echo '$(srcdir)/'`@top_builddir@/SFconv/SFconv.cpp @top_builddir@/SFconv/sfconv-SFconv.obj: @top_builddir@/SFconv/SFconv.cpp -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sfconv_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/SFconv/sfconv-SFconv.obj -MD -MP -MF @top_builddir@/SFconv/$(DEPDIR)/sfconv-SFconv.Tpo -c -o @top_builddir@/SFconv/sfconv-SFconv.obj `if test -f '@top_builddir@/SFconv/SFconv.cpp'; then $(CYGPATH_W) '@top_builddir@/SFconv/SFconv.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/SFconv/SFconv.cpp'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sfconv_CPPFLAGS) $(CPPFLAGS) $(sfconv_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/SFconv/sfconv-SFconv.obj -MD -MP -MF @top_builddir@/SFconv/$(DEPDIR)/sfconv-SFconv.Tpo -c -o @top_builddir@/SFconv/sfconv-SFconv.obj `if test -f '@top_builddir@/SFconv/SFconv.cpp'; then $(CYGPATH_W) '@top_builddir@/SFconv/SFconv.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/SFconv/SFconv.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) @top_builddir@/SFconv/$(DEPDIR)/sfconv-SFconv.Tpo @top_builddir@/SFconv/$(DEPDIR)/sfconv-SFconv.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='@top_builddir@/SFconv/SFconv.cpp' object='@top_builddir@/SFconv/sfconv-SFconv.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sfconv_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/SFconv/sfconv-SFconv.obj `if test -f '@top_builddir@/SFconv/SFconv.cpp'; then $(CYGPATH_W) '@top_builddir@/SFconv/SFconv.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/SFconv/SFconv.cpp'; fi` +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sfconv_CPPFLAGS) $(CPPFLAGS) $(sfconv_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/SFconv/sfconv-SFconv.obj `if test -f '@top_builddir@/SFconv/SFconv.cpp'; then $(CYGPATH_W) '@top_builddir@/SFconv/SFconv.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/SFconv/SFconv.cpp'; fi` + +@top_builddir@/SFconv/sfconv-UtfCodec.o: @top_builddir@/SFconv/UtfCodec.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sfconv_CPPFLAGS) $(CPPFLAGS) $(sfconv_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/SFconv/sfconv-UtfCodec.o -MD -MP -MF @top_builddir@/SFconv/$(DEPDIR)/sfconv-UtfCodec.Tpo -c -o @top_builddir@/SFconv/sfconv-UtfCodec.o `test -f '@top_builddir@/SFconv/UtfCodec.cpp' || echo '$(srcdir)/'`@top_builddir@/SFconv/UtfCodec.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) @top_builddir@/SFconv/$(DEPDIR)/sfconv-UtfCodec.Tpo @top_builddir@/SFconv/$(DEPDIR)/sfconv-UtfCodec.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='@top_builddir@/SFconv/UtfCodec.cpp' object='@top_builddir@/SFconv/sfconv-UtfCodec.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sfconv_CPPFLAGS) $(CPPFLAGS) $(sfconv_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/SFconv/sfconv-UtfCodec.o `test -f '@top_builddir@/SFconv/UtfCodec.cpp' || echo '$(srcdir)/'`@top_builddir@/SFconv/UtfCodec.cpp + +@top_builddir@/SFconv/sfconv-UtfCodec.obj: @top_builddir@/SFconv/UtfCodec.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sfconv_CPPFLAGS) $(CPPFLAGS) $(sfconv_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/SFconv/sfconv-UtfCodec.obj -MD -MP -MF @top_builddir@/SFconv/$(DEPDIR)/sfconv-UtfCodec.Tpo -c -o @top_builddir@/SFconv/sfconv-UtfCodec.obj `if test -f '@top_builddir@/SFconv/UtfCodec.cpp'; then $(CYGPATH_W) '@top_builddir@/SFconv/UtfCodec.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/SFconv/UtfCodec.cpp'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) @top_builddir@/SFconv/$(DEPDIR)/sfconv-UtfCodec.Tpo @top_builddir@/SFconv/$(DEPDIR)/sfconv-UtfCodec.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='@top_builddir@/SFconv/UtfCodec.cpp' object='@top_builddir@/SFconv/sfconv-UtfCodec.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sfconv_CPPFLAGS) $(CPPFLAGS) $(sfconv_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/SFconv/sfconv-UtfCodec.obj `if test -f '@top_builddir@/SFconv/UtfCodec.cpp'; then $(CYGPATH_W) '@top_builddir@/SFconv/UtfCodec.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/SFconv/UtfCodec.cpp'; fi` mostlyclean-libtool: -rm -f *.lo @@ -925,6 +937,8 @@ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS +.PRECIOUS: Makefile + @SYSTEM_EXPAT_FALSE@$(am_libexpat_a_OBJECTS): CFLAGS := $(filter-out -Wextra, $(CFLAGS)) @OLD_LIB_NAMES_TRUE@TECkit_Compile_ver.o: $(tool_src)/TECkit_Compile_ver.rc @OLD_LIB_NAMES_TRUE@ $(RC) $(AM_RCFLAGS) $(RCFLAGS) -o $@ $< diff --git a/compile b/compile index 531136b..a85b723 100755 --- a/compile +++ b/compile @@ -3,7 +3,7 @@ scriptversion=2012-10-14.11; # UTC -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2014 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify diff --git a/config.guess b/config.guess index 1f5c50c..1659250 100755 --- a/config.guess +++ b/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2014 Free Software Foundation, Inc. - -timestamp='2014-03-23' +# Copyright 1992-2015 Free Software Foundation, Inc. + +timestamp='2015-08-20' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -24,12 +24,12 @@ # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # -# Originally written by Per Bothner. +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD # -# Please send patches with a ChangeLog entry to config-patches@gnu.org. +# Please send patches to . me=`echo "$0" | sed -e 's,.*/,,'` @@ -50,7 +50,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -168,20 +168,27 @@ # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || \ + echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) + arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ @@ -197,6 +204,13 @@ os=netbsd ;; esac + # Determine ABI tags. + case "${UNAME_MACHINE_ARCH}" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + ;; + esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need @@ -207,13 +221,13 @@ release='-gnu' ;; *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" + echo "${machine}-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` @@ -234,6 +248,9 @@ exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:Sortix:*:*) + echo ${UNAME_MACHINE}-unknown-sortix exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in @@ -579,8 +596,9 @@ else IBM_ARCH=powerpc fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` + if [ -x /usr/bin/lslpp ] ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi @@ -932,6 +950,9 @@ crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; + e2k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; @@ -1020,7 +1041,7 @@ echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} diff --git a/config.h.in b/config.h.in index 7bd6444..f47cbee 100644 --- a/config.h.in +++ b/config.h.in @@ -42,8 +42,7 @@ /* Define to 1 if you have the header file. */ #undef HAVE_ZLIB_H -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ +/* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Name of package */ diff --git a/config.sub b/config.sub index bba4efb..1acc966 100755 --- a/config.sub +++ b/config.sub @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2014 Free Software Foundation, Inc. - -timestamp='2014-09-11' +# Copyright 1992-2015 Free Software Foundation, Inc. + +timestamp='2015-08-20' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ # of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches with a ChangeLog entry to config-patches@gnu.org. +# Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -68,7 +68,7 @@ version="\ GNU config.sub ($timestamp) -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -117,7 +117,7 @@ case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os @@ -255,12 +255,13 @@ | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ + | ba \ | be32 | be64 \ | bfin \ | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ - | epiphany \ - | fido | fr30 | frv \ + | e2k | epiphany \ + | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia64 \ @@ -305,7 +306,7 @@ | riscv32 | riscv64 \ | rl78 | rx \ | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ @@ -313,6 +314,7 @@ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | visium \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) @@ -326,6 +328,9 @@ ;; c6x) basic_machine=tic6x-unknown + ;; + leon|leon[3-9]) + basic_machine=sparc-$basic_machine ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown @@ -372,12 +377,13 @@ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | ba-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ + | e2k-* | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ @@ -424,12 +430,13 @@ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ + | riscv32-* | riscv64-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ @@ -437,6 +444,7 @@ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ + | visium-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -512,6 +520,9 @@ aros) basic_machine=i386-pc os=-aros + ;; + asmjs) + basic_machine=asmjs-unknown ;; aux) basic_machine=m68k-apple @@ -773,6 +784,9 @@ isi68 | isi) basic_machine=m68k-isi os=-sysv + ;; + leon-*|leon[3-9]-*) + basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` ;; m68knommu) basic_machine=m68k-unknown @@ -1365,7 +1379,7 @@ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ + | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ diff --git a/configure b/configure index 3e67d1e..0e86a52 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for teckit 2.5.4. +# Generated by GNU Autoconf 2.69 for teckit 2.5.8. # # Report bugs to . # @@ -589,8 +589,8 @@ # Identity of this package. PACKAGE_NAME='teckit' PACKAGE_TARNAME='teckit' -PACKAGE_VERSION='2.5.4' -PACKAGE_STRING='teckit 2.5.4' +PACKAGE_VERSION='2.5.8' +PACKAGE_STRING='teckit 2.5.8' PACKAGE_BUGREPORT='nrsi@sil.org' PACKAGE_URL='' @@ -650,6 +650,7 @@ RC CXXCPP CPP +LT_SYS_LIBRARY_PATH OTOOL64 OTOOL LIPO @@ -755,6 +756,7 @@ docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -784,6 +786,7 @@ enable_static with_pic enable_fast_install +with_aix_soname with_gnu_ld with_sysroot enable_libtool_lock @@ -808,6 +811,7 @@ CCC CC CFLAGS +LT_SYS_LIBRARY_PATH CPP CXXCPP' @@ -848,6 +852,7 @@ sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1100,6 +1105,15 @@ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1237,7 +1251,7 @@ for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir + libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1350,7 +1364,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures teckit 2.5.4 to adapt to many kinds of systems. +\`configure' configures teckit 2.5.8 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1390,6 +1404,7 @@ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -1421,7 +1436,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of teckit 2.5.4:";; + short | recursive ) echo "Configuration of teckit 2.5.8:";; esac cat <<\_ACEOF @@ -1454,9 +1469,12 @@ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] + --with-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX, [default=aix]. --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-sysroot=DIR Search for dependent libraries within DIR - (or the compiler's sysroot if not specified). + --with-sysroot[=DIR] Search for dependent libraries within DIR (or the + compiler's sysroot if not specified). --with-old-lib-names Use old library names (for Windows only) --without-system-zlib Don't use installed zlib library --with-zlib-libdir=DIR Specify directory where the zlib library resides. @@ -1472,6 +1490,8 @@ you have headers in a nonstandard directory CC C compiler command CFLAGS C compiler flags + LT_SYS_LIBRARY_PATH + User-defined run-time library search path. CPP C preprocessor CXXCPP C++ preprocessor @@ -1541,7 +1561,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -teckit configure 2.5.4 +teckit configure 2.5.8 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2031,7 +2051,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by teckit $as_me 2.5.4, which was +It was created by teckit $as_me 2.5.8, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2523,7 +2543,7 @@ NONENONEs,x,x, && program_prefix=${target_alias}- -am__api_version='1.14' +am__api_version='1.15' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -2715,7 +2735,7 @@ $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi -if test x"${install_sh}" != xset; then +if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; @@ -3009,7 +3029,7 @@ # Define the identity of the package. PACKAGE='teckit' - VERSION='2.5.4' + VERSION='2.5.8' cat >>confdefs.h <<_ACEOF @@ -3043,8 +3063,8 @@ # mkdir_p='$(MKDIR_P)' -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' @@ -4601,22 +4621,22 @@ -macro_version='2.4.2' -macro_revision='1.3337' - - - - - - - - - - - - - -ltmain="$ac_aux_dir/ltmain.sh" +macro_version='2.4.6' +macro_revision='2.4.6' + + + + + + + + + + + + + +ltmain=$ac_aux_dir/ltmain.sh # Backslashify metacharacters that are still active within # double-quoted strings. @@ -4665,7 +4685,7 @@ $ECHO "" } -case "$ECHO" in +case $ECHO in printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 $as_echo "printf" >&6; } ;; print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 @@ -4988,19 +5008,19 @@ # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld -if test "$GCC" = yes; then +if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw + # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; @@ -5014,7 +5034,7 @@ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done - test -z "$LD" && LD="$ac_prog" + test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. @@ -5025,7 +5045,7 @@ with_gnu_ld=unknown ;; esac -elif test "$with_gnu_ld" = yes; then +elif test yes = "$with_gnu_ld"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else @@ -5036,32 +5056,32 @@ $as_echo_n "(cached) " >&6 else if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" + lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } @@ -5104,33 +5124,38 @@ else if test -n "$NM"; then # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" - break + break 2 ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" - break + break 2 ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but @@ -5141,15 +5166,15 @@ esac fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : @@ -5255,9 +5280,9 @@ fi fi - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in *COFF*) - DUMPBIN="$DUMPBIN -symbols" + DUMPBIN="$DUMPBIN -symbols -headers" ;; *) DUMPBIN=: @@ -5265,8 +5290,8 @@ esac fi - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" + if test : != "$DUMPBIN"; then + NM=$DUMPBIN fi fi test -z "$NM" && NM=nm @@ -5317,7 +5342,7 @@ $as_echo_n "(cached) " >&6 else i=0 - teststring="ABCD" + teststring=ABCD case $build_os in msdosdjgpp*) @@ -5357,7 +5382,7 @@ lt_cv_sys_max_cmd_len=8192; ;; - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` @@ -5408,22 +5433,22 @@ *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then + test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do + for i in 1 2 3 4 5 6 7 8; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough + test 17 != "$i" # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring @@ -5441,7 +5466,7 @@ fi -if test -n $lt_cv_sys_max_cmd_len ; then +if test -n "$lt_cv_sys_max_cmd_len"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else @@ -5458,30 +5483,6 @@ : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 -$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 -$as_echo "$xsi_shell" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 -$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } -lt_shell_append=no -( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 -$as_echo "$lt_shell_append" >&6; } - if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset @@ -5605,13 +5606,13 @@ reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in cygwin* | mingw* | pw32* | cegcc*) - if test "$GCC" != yes; then + if test yes != "$GCC"; then reload_cmds=false fi ;; darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + if test yes = "$GCC"; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi @@ -5739,13 +5740,13 @@ # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. +# 'unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) @@ -5772,8 +5773,7 @@ # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. - # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. - if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then + if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else @@ -5869,8 +5869,8 @@ lt_cv_deplibs_check_method=pass_all ;; -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' @@ -5923,6 +5923,9 @@ tpf*) lt_cv_deplibs_check_method=pass_all ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; esac fi @@ -6080,8 +6083,8 @@ case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib @@ -6093,7 +6096,7 @@ ;; *) # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" + lt_cv_sharedlib_from_linklib_cmd=$ECHO ;; esac @@ -6248,7 +6251,7 @@ ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - if test "$ac_status" -eq 0; then + if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 @@ -6256,7 +6259,7 @@ ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - if test "$ac_status" -ne 0; then + if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ fi fi @@ -6269,7 +6272,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 $as_echo "$lt_cv_ar_at_file" >&6; } -if test "x$lt_cv_ar_at_file" = xno; then +if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file @@ -6486,7 +6489,7 @@ if test -n "$RANLIB"; then case $host_os in - openbsd*) + bitrig* | openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) @@ -6576,7 +6579,7 @@ symcode='[ABCDGISTW]' ;; hpux*) - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then symcode='[ABCDEGRST]' fi ;; @@ -6609,14 +6612,44 @@ symcode='[ABCDGIRSTW]' ;; esac +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" +lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" # Handle CRLF in mingw tool chain opt_cr= @@ -6634,21 +6667,24 @@ # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" @@ -6696,11 +6732,11 @@ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST -#elif defined(__osf__) +#elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else @@ -6726,7 +6762,7 @@ { { "@PROGRAM@", (void *) 0 }, _LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; @@ -6746,13 +6782,13 @@ mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" + LIBS=conftstm.$ac_objext CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then + test $ac_status = 0; } && test -s conftest$ac_exeext; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS @@ -6773,7 +6809,7 @@ rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then + if test yes = "$pipe_works"; then break else lt_cv_sys_global_symbol_pipe= @@ -6826,6 +6862,16 @@ + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 $as_echo_n "checking for sysroot... " >&6; } @@ -6838,9 +6884,9 @@ lt_sysroot= -case ${with_sysroot} in #( +case $with_sysroot in #( yes) - if test "$GCC" = yes; then + if test yes = "$GCC"; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( @@ -6850,8 +6896,8 @@ no|'') ;; #( *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 -$as_echo "${with_sysroot}" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +$as_echo "$with_sysroot" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac @@ -6863,18 +6909,99 @@ +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +$as_echo_n "checking for a working dd... " >&6; } +if ${ac_cv_path_lt_DD+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +if test -z "$lt_DD"; then + ac_path_lt_DD_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in dd; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue +if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi + $ac_path_lt_DD_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_lt_DD"; then + : + fi +else + ac_cv_path_lt_DD=$lt_DD +fi + +rm -f conftest.i conftest2.i conftest.out +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +$as_echo "$ac_cv_path_lt_DD" >&6; } + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +$as_echo_n "checking how to truncate binary pipes... " >&6; } +if ${lt_cv_truncate_bin+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +$as_echo "$lt_cv_truncate_bin" >&6; } + + + + + + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes +test no = "$enable_libtool_lock" || enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) - # Find out which ABI we are using. + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 @@ -6883,24 +7010,25 @@ test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) - HPUX_IA64_MODE="32" + HPUX_IA64_MODE=32 ;; *ELF-64*) - HPUX_IA64_MODE="64" + HPUX_IA64_MODE=64 ;; esac fi rm -rf conftest* ;; *-*-irix6*) - # Find out which ABI we are using. + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - if test "$lt_cv_prog_gnu_ld" = yes; then + if test yes = "$lt_cv_prog_gnu_ld"; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" @@ -6929,9 +7057,50 @@ rm -rf conftest* ;; +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 @@ -6954,10 +7123,10 @@ ;; esac ;; - powerpc64le-*) + powerpc64le-*linux*) LD="${LD-ld} -m elf32lppclinux" ;; - powerpc64-*) + powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) @@ -6976,10 +7145,10 @@ x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; - powerpcle-*) + powerpcle-*linux*) LD="${LD-ld} -m elf64lppc" ;; - powerpc-*) + powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) @@ -6997,7 +7166,7 @@ *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" + SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } @@ -7037,13 +7206,14 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then + if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" + CFLAGS=$SAVE_CFLAGS fi ;; *-*solaris*) - # Find out which ABI we are using. + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 @@ -7055,7 +7225,7 @@ case $lt_cv_prog_gnu_ld in yes*) case $host in - i?86-*-solaris*) + i?86-*-solaris*|x86_64-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) @@ -7064,7 +7234,7 @@ esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" + LD=${LD-ld}_sol2 fi ;; *) @@ -7080,7 +7250,7 @@ ;; esac -need_locks="$enable_libtool_lock" +need_locks=$enable_libtool_lock if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. @@ -7191,7 +7361,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 $as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test "x$lt_cv_path_mainfest_tool" != xyes; then +if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi @@ -7694,7 +7864,7 @@ $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then + if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the @@ -7712,7 +7882,7 @@ cat conftest.err >&5 # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 @@ -7751,7 +7921,7 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" + LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 @@ -7780,7 +7950,7 @@ _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&5 - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then lt_cv_ld_force_load=yes else cat conftest.err >&5 @@ -7793,38 +7963,73 @@ $as_echo "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[012]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + 10.[012][,.]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then + if test yes = "$lt_cv_apple_cc_single_mod"; then _lt_dar_single_mod='$single_module' fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -8111,9 +8316,9 @@ func_stripname_cnf () { - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; + case $2 in + .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;; + *) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;; esac } # func_stripname_cnf @@ -8140,14 +8345,14 @@ *) enable_shared=no # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_shared=yes fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs ;; esac else @@ -8171,14 +8376,14 @@ *) enable_static=no # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_static=yes fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs ;; esac else @@ -8202,22 +8407,20 @@ *) pic_mode=default # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for lt_pkg in $withval; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs ;; esac else pic_mode=default fi - -test -z "$pic_mode" && pic_mode=default @@ -8234,14 +8437,14 @@ *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs ;; esac else @@ -8255,11 +8458,63 @@ + shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[5-9]*,yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } + +# Check whether --with-aix-soname was given. +if test "${with_aix_soname+set}" = set; then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; + *) + as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +else + if ${lt_cv_with_aix_soname+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_with_aix_soname=aix +fi + + with_aix_soname=$lt_cv_with_aix_soname +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +$as_echo "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + + + + + + + # This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" +LIBTOOL_DEPS=$ltmain # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' @@ -8308,7 +8563,7 @@ -if test -n "${ZSH_VERSION+set}" ; then +if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi @@ -8347,7 +8602,7 @@ # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then + if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi @@ -8358,14 +8613,14 @@ ofile=libtool can_build_shared=yes -# All known linkers require a `.a' archive for static linking (except MSVC, +# All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS # Set sane defaults for various variables test -z "$CC" && CC=cc @@ -8374,15 +8629,8 @@ test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +func_cc_basename $compiler +cc_basename=$func_cc_basename_result # Only perform the check for file, if the check method requires it @@ -8397,22 +8645,22 @@ else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -f "$ac_dir/${ac_tool_prefix}file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : @@ -8435,13 +8683,13 @@ break fi done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac fi -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } @@ -8463,22 +8711,22 @@ else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -f "$ac_dir/file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : @@ -8501,13 +8749,13 @@ break fi done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac fi -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } @@ -8528,7 +8776,7 @@ # Use C for the default configuration in the libtool script -lt_save_CC="$CC" +lt_save_CC=$CC ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -8590,7 +8838,7 @@ lt_prog_compiler_no_builtin_flag= -if test "$GCC" = yes; then +if test yes = "$GCC"; then case $cc_basename in nvcc*) lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; @@ -8606,7 +8854,7 @@ lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins @@ -8636,7 +8884,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : @@ -8654,17 +8902,18 @@ lt_prog_compiler_static= - if test "$GCC" = yes; then + if test yes = "$GCC"; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi + lt_prog_compiler_pic='-fPIC' ;; amigaos*) @@ -8675,8 +8924,8 @@ ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac @@ -8692,6 +8941,11 @@ # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac ;; darwin* | rhapsody*) @@ -8762,7 +9016,7 @@ case $host_os in aix*) lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else @@ -8770,10 +9024,29 @@ fi ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac ;; hpux9* | hpux10* | hpux11*) @@ -8789,7 +9062,7 @@ ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' + lt_prog_compiler_static='$wl-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) @@ -8800,7 +9073,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. + # old Intel for x86_64, which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' @@ -8824,6 +9097,12 @@ lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, @@ -8922,7 +9201,7 @@ ;; sysv4*MP*) - if test -d /usr/nec ;then + if test -d /usr/nec; then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi @@ -8951,7 +9230,7 @@ fi case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: + # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; @@ -8983,7 +9262,7 @@ lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins @@ -9013,7 +9292,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } -if test x"$lt_cv_prog_compiler_pic_works" = xyes; then +if test yes = "$lt_cv_prog_compiler_pic_works"; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; @@ -9045,7 +9324,7 @@ $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" + save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then @@ -9064,13 +9343,13 @@ fi fi $RM -r conftest* - LDFLAGS="$save_LDFLAGS" + LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } -if test x"$lt_cv_prog_compiler_static_works" = xyes; then +if test yes = "$lt_cv_prog_compiler_static_works"; then : else lt_prog_compiler_static= @@ -9190,8 +9469,8 @@ -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } @@ -9203,9 +9482,9 @@ ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else @@ -9248,9 +9527,9 @@ # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if @@ -9265,7 +9544,7 @@ # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. - if test "$GCC" != yes; then + if test yes != "$GCC"; then with_gnu_ld=no fi ;; @@ -9273,7 +9552,7 @@ # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; - openbsd*) + openbsd* | bitrig*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) @@ -9286,7 +9565,7 @@ # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then + if test yes = "$with_gnu_ld"; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility @@ -9308,24 +9587,24 @@ esac fi - if test "$lt_use_gnu_ld_interface" = yes; then + if test yes = "$lt_use_gnu_ld_interface"; then # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' + wlarc='$wl' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='$wl--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no - case `$LD -v 2>&1` in + case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... @@ -9338,7 +9617,7 @@ case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then + if test ia64 != "$host_cpu"; then ld_shlibs=no cat <<_LT_EOF 1>&2 @@ -9357,7 +9636,7 @@ case $host_cpu in powerpc) # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) @@ -9373,7 +9652,7 @@ allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else ld_shlibs=no fi @@ -9383,7 +9662,7 @@ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='${wl}--export-all-symbols' + export_dynamic_flag_spec='$wl--export-all-symbols' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes @@ -9391,61 +9670,89 @@ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' link_all_deplibs=yes + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no - if test "$host_os" = linux-dietlibc; then + if test linux-dietlibc = "$host_os"; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no + && test no = "$tmp_diet" then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; @@ -9456,42 +9763,47 @@ lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in + tcc*) + export_dynamic_flag_spec='-rdynamic' + ;; xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then + if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac @@ -9505,8 +9817,8 @@ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' fi ;; @@ -9524,8 +9836,8 @@ _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi @@ -9537,7 +9849,7 @@ ld_shlibs=no cat <<_LT_EOF 1>&2 -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify @@ -9552,9 +9864,9 @@ # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi @@ -9571,15 +9883,15 @@ *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac - if test "$ld_shlibs" = no; then + if test no = "$ld_shlibs"; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= @@ -9595,7 +9907,7 @@ # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported @@ -9603,34 +9915,57 @@ ;; aix[4-9]*) - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' - no_entry_flag="" + no_entry_flag= else # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then aix_use_runtimelinking=yes break fi done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi ;; esac @@ -9649,13 +9984,21 @@ hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes - file_list_spec='${wl}-f,' - - if test "$GCC" = yes; then + file_list_spec='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct=no + hardcode_direct_absolute=no + ;; + esac + + if test yes = "$GCC"; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` + collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then @@ -9674,36 +10017,42 @@ ;; esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' fi - link_all_deplibs=no + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' else # not using gcc - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' else - shared_flag='${wl}-bM:SRE' + shared_flag='$wl-bM:SRE' fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' fi fi - export_dynamic_flag_spec='${wl}-bexpall' + export_dynamic_flag_spec='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then + if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : @@ -9738,7 +10087,7 @@ rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" + lt_cv_aix_libpath_=/usr/lib:/lib fi fi @@ -9746,17 +10095,17 @@ aix_libpath=$lt_cv_aix_libpath_ fi - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then + if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : @@ -9791,7 +10140,7 @@ rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" + lt_cv_aix_libpath_=/usr/lib:/lib fi fi @@ -9799,21 +10148,33 @@ aix_libpath=$lt_cv_aix_libpath_ fi - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then + no_undefined_flag=' $wl-bernotok' + allow_undefined_flag=' $wl-berok' + if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' fi archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' fi fi ;; @@ -9822,7 +10183,7 @@ case $host_cpu in powerpc) # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) @@ -9852,16 +10213,17 @@ # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" + shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes @@ -9870,18 +10232,18 @@ # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' ;; *) # Assume MSVC wrapper @@ -9890,7 +10252,7 @@ # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" + shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. @@ -9909,24 +10271,24 @@ hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec='' fi link_all_deplibs=yes - allow_undefined_flag="$_lt_dar_allow_undefined" + allow_undefined_flag=$_lt_dar_allow_undefined case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; + ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac - if test "$_lt_dar_can_shared" = "yes"; then + if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" else ld_shlibs=no @@ -9968,33 +10330,33 @@ ;; hpux9*) - if test "$GCC" = yes; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + if test yes = "$GCC"; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' + export_dynamic_flag_spec='$wl-E' ;; hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' + export_dynamic_flag_spec='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes @@ -10002,25 +10364,25 @@ ;; hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then + if test yes,no = "$GCC,$with_gnu_ld"; then case $host_cpu in hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) @@ -10032,7 +10394,7 @@ $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler__b=no - save_LDFLAGS="$LDFLAGS" + save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then @@ -10051,14 +10413,14 @@ fi fi $RM -r conftest* - LDFLAGS="$save_LDFLAGS" + LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 $as_echo "$lt_cv_prog_compiler__b" >&6; } -if test x"$lt_cv_prog_compiler__b" = xyes; then - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi @@ -10066,8 +10428,8 @@ ;; esac fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: case $host_cpu in @@ -10078,7 +10440,7 @@ *) hardcode_direct=yes hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' + export_dynamic_flag_spec='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. @@ -10089,8 +10451,8 @@ ;; irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + if test yes = "$GCC"; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. @@ -10100,8 +10462,8 @@ if ${lt_cv_irix_exported_symbol+:} false; then : $as_echo_n "(cached) " >&6 else - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } @@ -10113,22 +10475,33 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" + LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 $as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test "$lt_cv_irix_exported_symbol" = yes; then - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi + link_all_deplibs=no else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs=yes + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac ;; netbsd* | netbsdelf*-gnu) @@ -10145,7 +10518,7 @@ newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; @@ -10153,27 +10526,19 @@ *nto* | *qnx*) ;; - openbsd*) + openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' fi else ld_shlibs=no @@ -10184,33 +10549,53 @@ hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported - archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes ;; osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' fi archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' else allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' @@ -10221,24 +10606,24 @@ solaris*) no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) - wlarc='${wl}' - archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + wlarc='$wl' + archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi @@ -10248,11 +10633,11 @@ solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', + # but understands '-z linker_flag'. GCC discards it without '$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + if test yes = "$GCC"; then + whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi @@ -10262,10 +10647,10 @@ ;; sunos4*) - if test "x$host_vendor" = xsequent; then + if test sequent = "$host_vendor"; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi @@ -10314,43 +10699,43 @@ ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' + no_undefined_flag='$wl-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not + # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' + no_undefined_flag='$wl-z,text' + allow_undefined_flag='$wl-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-R,$libdir' + hardcode_libdir_flag_spec='$wl-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' + export_dynamic_flag_spec='$wl-Bexport' runpath_var='LD_RUN_PATH' - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; @@ -10365,10 +10750,10 @@ ;; esac - if test x$host_vendor = xsni; then + if test sni = "$host_vendor"; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='${wl}-Blargedynsym' + export_dynamic_flag_spec='$wl-Blargedynsym' ;; esac fi @@ -10376,7 +10761,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no +test no = "$ld_shlibs" && can_build_shared=no with_gnu_ld=$with_gnu_ld @@ -10402,7 +10787,7 @@ # Assume -lc should be added archive_cmds_need_lc=yes - if test "$enable_shared" = yes && test "$GCC" = yes; then + if test yes,yes = "$GCC,$enable_shared"; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. @@ -10617,14 +11002,14 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } -if test "$GCC" = yes; then +if test yes = "$GCC"; then case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; esac case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; + mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in @@ -10640,28 +11025,35 @@ ;; esac # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. + # and add multilib dir if necessary... lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; + lt_foo = "/" $lt_i lt_foo; } else { lt_count--; } @@ -10675,7 +11067,7 @@ # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([A-Za-z]:\),\1,g'` ;; + $SED 's|/\([A-Za-z]:\)|\1|g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else @@ -10684,7 +11076,7 @@ library_names_spec= libname_spec='lib$name' soname_spec= -shrext_cmds=".so" +shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= @@ -10701,14 +11093,16 @@ # flags to be left without arguments need_version=unknown + + case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' + soname_spec='$libname$release$shared_ext$major' ;; aix[4-9]*) @@ -10716,41 +11110,91 @@ need_lib_prefix=no need_version=no hardcode_into_libs=yes - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac shlibpath_var=LIBPATH fi ;; @@ -10760,18 +11204,18 @@ powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) - library_names_spec='${libname}${shared_ext}' + library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; @@ -10779,8 +11223,8 @@ bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" @@ -10792,7 +11236,7 @@ cygwin* | mingw* | pw32* | cegcc*) version_type=windows - shrext_cmds=".dll" + shrext_cmds=.dll need_version=no need_lib_prefix=no @@ -10801,8 +11245,8 @@ # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ @@ -10818,17 +11262,17 @@ case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' @@ -10837,8 +11281,8 @@ *,cl*) # Native MSVC libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' case $build_os in mingw*) @@ -10865,7 +11309,7 @@ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) - sys_lib_search_path_spec="$LIB" + sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` @@ -10878,8 +11322,8 @@ esac # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' @@ -10892,7 +11336,7 @@ *) # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac @@ -10905,8 +11349,8 @@ version_type=darwin need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' @@ -10919,8 +11363,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; @@ -10938,12 +11382,13 @@ version_type=freebsd-$objformat case $version_type in freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac @@ -10973,10 +11418,10 @@ need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes + shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; @@ -10994,14 +11439,15 @@ dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' @@ -11009,8 +11455,8 @@ dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; @@ -11019,8 +11465,8 @@ dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... @@ -11033,8 +11479,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no @@ -11045,7 +11491,7 @@ case $host_os in nonstopux*) version_type=nonstopux ;; *) - if test "$lt_cv_prog_gnu_ld" = yes; then + if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix @@ -11053,8 +11499,8 @@ esac need_lib_prefix=no need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= @@ -11073,14 +11519,34 @@ esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec='-L$libdir' ;; # This must be glibc/ELF. @@ -11088,8 +11554,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no @@ -11133,7 +11599,12 @@ # before this can be enabled. hardcode_into_libs=yes - # Append ld.so.conf contents to the search path + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" @@ -11165,12 +11636,12 @@ need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH @@ -11180,7 +11651,7 @@ newsos6) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; @@ -11189,58 +11660,68 @@ version_type=qnx need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; -openbsd*) +openbsd* | bitrig*) version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" + sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi + shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' - shrext_cmds=".dll" + version_type=windows + shrext_cmds=.dll + need_version=no need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) @@ -11251,8 +11732,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes @@ -11262,11 +11743,11 @@ sunos4*) version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then + if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes @@ -11274,8 +11755,8 @@ sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) @@ -11296,24 +11777,24 @@ ;; sysv4*MP*) - if test -d /usr/nec ;then + if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf + version_type=sco need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then + if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' @@ -11331,7 +11812,7 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes @@ -11339,8 +11820,8 @@ uts4*) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; @@ -11350,19 +11831,34 @@ esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no +test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then +if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + @@ -11460,15 +11956,15 @@ hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || - test "X$hardcode_automatic" = "Xyes" ; then + test yes = "$hardcode_automatic"; then # We can hardcode non-existent directories. - if test "$hardcode_direct" != no && + if test no != "$hardcode_direct" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && + test no != "$hardcode_minus_L"; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else @@ -11483,12 +11979,12 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } -if test "$hardcode_action" = relink || - test "$inherit_rpath" = yes; then +if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then # Fast installation is not supported enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi @@ -11498,7 +11994,7 @@ - if test "x$enable_dlopen" != xyes; then + if test yes != "$enable_dlopen"; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown @@ -11508,23 +12004,23 @@ case $host_os in beos*) - lt_cv_dlopen="load_add_on" + lt_cv_dlopen=load_add_on lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen=LoadLibrary lt_cv_dlopen_libs= ;; cygwin*) - lt_cv_dlopen="dlopen" + lt_cv_dlopen=dlopen lt_cv_dlopen_libs= ;; darwin*) - # if libdl is installed we need to link against it + # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : @@ -11562,21 +12058,29 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + + lt_cv_dlopen=dyld lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" + lt_cv_dlopen=shl_load else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } @@ -11615,11 +12119,11 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" + lt_cv_dlopen=dlopen else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } @@ -11658,7 +12162,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } @@ -11697,7 +12201,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } @@ -11736,7 +12240,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld fi @@ -11757,21 +12261,21 @@ ;; esac - if test "x$lt_cv_dlopen" != xno; then + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else enable_dlopen=yes - else - enable_dlopen=no fi case $lt_cv_dlopen in dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - save_LIBS="$LIBS" + save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 @@ -11779,7 +12283,7 @@ if ${lt_cv_dlopen_self+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : + if test yes = "$cross_compiling"; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 @@ -11826,9 +12330,9 @@ # endif #endif -/* When -fvisbility=hidden is used, assume the code has been annotated +/* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif @@ -11858,7 +12362,7 @@ (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in @@ -11878,14 +12382,14 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } - if test "x$lt_cv_dlopen_self" = xyes; then + if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self_static+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : + if test yes = "$cross_compiling"; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 @@ -11932,9 +12436,9 @@ # endif #endif -/* When -fvisbility=hidden is used, assume the code has been annotated +/* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif @@ -11964,7 +12468,7 @@ (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in @@ -11985,9 +12489,9 @@ $as_echo "$lt_cv_dlopen_self_static" >&6; } fi - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS ;; esac @@ -12031,7 +12535,7 @@ # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) - if test -n "$STRIP" ; then + if test -n "$STRIP"; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 @@ -12059,7 +12563,7 @@ - # Report which library types will actually be built + # Report what library types will actually be built { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 @@ -12067,13 +12571,13 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } - test "$can_build_shared" = "no" && enable_shared=no + test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) - test "$enable_shared" = yes && enable_static=no + test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' @@ -12081,8 +12585,12 @@ ;; aix[4-9]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac fi ;; esac @@ -12092,7 +12600,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes + test yes = "$enable_shared" || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } @@ -12106,11 +12614,11 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -CC="$lt_save_CC" - - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then +CC=$lt_save_CC + + if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -12289,7 +12797,7 @@ # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then +if test yes != "$_lt_caught_CXX_error"; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" @@ -12350,46 +12858,39 @@ CFLAGS=$CXXFLAGS compiler=$CC compiler_CXX=$CC - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` + func_cc_basename $compiler +cc_basename=$func_cc_basename_result if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately - if test "$GXX" = yes; then + if test yes = "$GXX"; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi - if test "$GXX" = yes; then + if test yes = "$GXX"; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld -if test "$GCC" = yes; then +if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw + # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; @@ -12403,7 +12904,7 @@ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done - test -z "$LD" && LD="$ac_prog" + test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. @@ -12414,7 +12915,7 @@ with_gnu_ld=unknown ;; esac -elif test "$with_gnu_ld" = yes; then +elif test yes = "$with_gnu_ld"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else @@ -12425,32 +12926,32 @@ $as_echo_n "(cached) " >&6 else if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" + lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } @@ -12486,22 +12987,22 @@ # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + if test yes = "$with_gnu_ld"; then + archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) - wlarc='${wl}' + wlarc='$wl' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else whole_archive_flag_spec_CXX= fi @@ -12538,18 +13039,30 @@ ld_shlibs_CXX=no ;; aix[4-9]*) - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' - no_entry_flag="" + no_entry_flag= else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do case $ld_flag in @@ -12559,6 +13072,13 @@ ;; esac done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi ;; esac @@ -12577,13 +13097,21 @@ hardcode_direct_absolute_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes - file_list_spec_CXX='${wl}-f,' - - if test "$GXX" = yes; then + file_list_spec_CXX='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_CXX=no + hardcode_direct_absolute_CXX=no + ;; + esac + + if test yes = "$GXX"; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` + collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then @@ -12601,36 +13129,44 @@ fi esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' else # not using gcc - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' else - shared_flag='${wl}-bM:SRE' + shared_flag='$wl-bM:SRE' fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' fi fi - export_dynamic_flag_spec_CXX='${wl}-bexpall' + export_dynamic_flag_spec_CXX='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. always_export_symbols_CXX=yes - if test "$aix_use_runtimelinking" = yes; then + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. - allow_undefined_flag_CXX='-berok' + # The "-G" linker flag allows undefined symbols. + no_undefined_flag_CXX='-bernotok' # Determine the default libpath from the value encoded in an empty # executable. - if test "${lt_cv_aix_libpath+set}" = set; then + if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath__CXX+:} false; then : @@ -12665,7 +13201,7 @@ rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX="/usr/lib:/lib" + lt_cv_aix_libpath__CXX=/usr/lib:/lib fi fi @@ -12673,18 +13209,18 @@ aix_libpath=$lt_cv_aix_libpath__CXX fi - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then + if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath__CXX+:} false; then : @@ -12719,7 +13255,7 @@ rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX="/usr/lib:/lib" + lt_cv_aix_libpath__CXX=/usr/lib:/lib fi fi @@ -12727,22 +13263,34 @@ aix_libpath=$lt_cv_aix_libpath__CXX fi - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' ${wl}-bernotok' - allow_undefined_flag_CXX=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then + no_undefined_flag_CXX=' $wl-bernotok' + allow_undefined_flag_CXX=' $wl-berok' + if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' fi archive_cmds_need_lc_CXX=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' fi fi ;; @@ -12752,7 +13300,7 @@ allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi @@ -12780,57 +13328,58 @@ # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" + shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. - archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' + archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' enable_shared_with_static_runtimes_CXX=yes # Don't use ranlib old_postinstall_cmds_CXX='chmod 644 $oldlib' postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-all-symbols' + export_dynamic_flag_spec_CXX='$wl--export-all-symbols' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi @@ -12844,33 +13393,61 @@ hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec_CXX='' fi link_all_deplibs_CXX=yes - allow_undefined_flag_CXX="$_lt_dar_allow_undefined" + allow_undefined_flag_CXX=$_lt_dar_allow_undefined case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; + ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac - if test "$_lt_dar_can_shared" = "yes"; then + if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all - archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - if test "$lt_cv_apple_cc_single_mod" != "yes"; then - archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds_CXX="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + if test yes != "$lt_cv_apple_cc_single_mod"; then + archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" + archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi else ld_shlibs_CXX=no fi + ;; + + os2*) + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_minus_L_CXX=yes + allow_undefined_flag_CXX=unsupported + shrext_cmds=.dll + archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_CXX=yes ;; dgux*) @@ -12908,14 +13485,14 @@ ;; haiku*) - archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' link_all_deplibs_CXX=yes ;; hpux9*) - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='${wl}-E' + export_dynamic_flag_spec_CXX='$wl-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default @@ -12927,7 +13504,7 @@ ld_shlibs_CXX=no ;; aCC*) - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. @@ -12936,11 +13513,11 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) - if test "$GXX" = yes; then - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + if test yes = "$GXX"; then + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no @@ -12950,15 +13527,15 @@ ;; hpux10*|hpux11*) - if test $with_gnu_ld = no; then - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) - export_dynamic_flag_spec_CXX='${wl}-E' + export_dynamic_flag_spec_CXX='$wl-E' ;; esac fi @@ -12984,13 +13561,13 @@ aCC*) case $host_cpu in hppa*64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists @@ -13001,20 +13578,20 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then case $host_cpu in hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi @@ -13029,22 +13606,22 @@ interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is @@ -13053,17 +13630,17 @@ old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' hardcode_libdir_separator_CXX=: inherit_rpath_CXX=yes ;; @@ -13076,8 +13653,8 @@ # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. @@ -13086,10 +13663,10 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. @@ -13103,59 +13680,59 @@ # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [1-5].* | *pgcpp\ [1-5].*) prelink_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' old_archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ;; cxx*) # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' @@ -13169,18 +13746,18 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) @@ -13188,10 +13765,10 @@ *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' - whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object_CXX=yes # Not sure whether something based on @@ -13249,22 +13826,17 @@ ld_shlibs_CXX=yes ;; - openbsd2*) - # C++ shared libraries are fairly broken - ld_shlibs_CXX=no - ;; - - openbsd*) + openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no hardcode_direct_absolute_CXX=yes archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='${wl}-E' - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='$wl-E' + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else @@ -13280,9 +13852,9 @@ # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using @@ -13300,17 +13872,17 @@ cxx*) case $host in osf3*) - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' ;; *) allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ + $RM $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' ;; esac @@ -13325,21 +13897,21 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + if test yes,no = "$GXX,$with_gnu_ld"; then + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' case $host in osf3*) - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; *) - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; esac - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists @@ -13385,9 +13957,9 @@ # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no @@ -13395,7 +13967,7 @@ solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. + # but understands '-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; @@ -13412,30 +13984,30 @@ ;; gcx*) # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if test yes,no = "$GXX,$with_gnu_ld"; then + no_undefined_flag_CXX=' $wl-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else - # g++ 2.7 appears to require `-G' NOT `-shared' on this + # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. - archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when @@ -13443,11 +14015,11 @@ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi - hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) - whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' ;; esac fi @@ -13456,52 +14028,52 @@ ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='${wl}-z,text' + no_undefined_flag_CXX='$wl-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not + # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. - no_undefined_flag_CXX='${wl}-z,text' - allow_undefined_flag_CXX='${wl}-z,nodefs' + no_undefined_flag_CXX='$wl-z,text' + allow_undefined_flag_CXX='$wl-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' + hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='${wl}-Bexport' + export_dynamic_flag_spec_CXX='$wl-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ - '"$old_archive_cmds_CXX" + '"$old_archive_cmds_CXX" reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ - '"$reload_cmds_CXX" + '"$reload_cmds_CXX" ;; *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; @@ -13533,10 +14105,10 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } - test "$ld_shlibs_CXX" = no && can_build_shared=no - - GCC_CXX="$GXX" - LD_CXX="$LD" + test no = "$ld_shlibs_CXX" && can_build_shared=no + + GCC_CXX=$GXX + LD_CXX=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change @@ -13580,13 +14152,13 @@ pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do - case ${prev}${p} in + case $prev$p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. - if test $p = "-L" || - test $p = "-R"; then + if test x-L = "$p" || + test x-R = "$p"; then prev=$p continue fi @@ -13602,16 +14174,16 @@ case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac - if test "$pre_test_object_deps_done" = no; then - case ${prev} in + if test no = "$pre_test_object_deps_done"; then + case $prev in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX="${prev}${p}" + compiler_lib_search_path_CXX=$prev$p else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" fi ;; # The "-l" case would never come before the object being @@ -13619,9 +14191,9 @@ esac else if test -z "$postdeps_CXX"; then - postdeps_CXX="${prev}${p}" + postdeps_CXX=$prev$p else - postdeps_CXX="${postdeps_CXX} ${prev}${p}" + postdeps_CXX="${postdeps_CXX} $prev$p" fi fi prev= @@ -13636,15 +14208,15 @@ continue fi - if test "$pre_test_object_deps_done" = no; then + if test no = "$pre_test_object_deps_done"; then if test -z "$predep_objects_CXX"; then - predep_objects_CXX="$p" + predep_objects_CXX=$p else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX="$p" + postdep_objects_CXX=$p else postdep_objects_CXX="$postdep_objects_CXX $p" fi @@ -13674,51 +14246,6 @@ postdep_objects_CXX= postdeps_CXX= ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC* | sunCC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; esac @@ -13727,7 +14254,7 @@ esac compiler_lib_search_dirs_CXX= if test -n "${compiler_lib_search_path_CXX}"; then - compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` fi @@ -13766,17 +14293,18 @@ # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then + if test yes = "$GXX"; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' fi + lt_prog_compiler_pic_CXX='-fPIC' ;; amigaos*) @@ -13787,8 +14315,8 @@ ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; esac @@ -13803,6 +14331,11 @@ # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_CXX='$wl-static' + ;; + esac ;; darwin* | rhapsody*) # PIC is the default on this platform @@ -13852,7 +14385,7 @@ case $host_os in aix[4-9]*) # All AIX code is PIC. - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' else @@ -13892,14 +14425,14 @@ case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default @@ -13936,7 +14469,7 @@ lt_prog_compiler_pic_CXX='-fPIC' ;; ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. + # old Intel C++ for x86_64, which still supported -KPIC. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' @@ -14081,7 +14614,7 @@ fi case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: + # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; @@ -14113,7 +14646,7 @@ lt_cv_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins @@ -14143,7 +14676,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } -if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then +if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; @@ -14169,7 +14702,7 @@ $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works_CXX=no - save_LDFLAGS="$LDFLAGS" + save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then @@ -14188,13 +14721,13 @@ fi fi $RM -r conftest* - LDFLAGS="$save_LDFLAGS" + LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } -if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then +if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then : else lt_prog_compiler_static_CXX= @@ -14308,8 +14841,8 @@ -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } @@ -14321,9 +14854,9 @@ ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else @@ -14340,17 +14873,21 @@ case $host_os in aix[4-9]*) # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global defined - # symbols, whereas GNU nm marks them as "W". + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) - export_symbols_cmds_CXX="$ltdll_cmds" + export_symbols_cmds_CXX=$ltdll_cmds ;; cygwin* | mingw* | cegcc*) case $cc_basename in @@ -14373,7 +14910,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no +test no = "$ld_shlibs_CXX" && can_build_shared=no with_gnu_ld_CXX=$with_gnu_ld @@ -14390,7 +14927,7 @@ # Assume -lc should be added archive_cmds_need_lc_CXX=yes - if test "$enable_shared" = yes && test "$GCC" = yes; then + if test yes,yes = "$GCC,$enable_shared"; then case $archive_cmds_CXX in *'~'*) # FIXME: we may have to deal with multi-command sequences. @@ -14518,7 +15055,7 @@ library_names_spec= libname_spec='lib$name' soname_spec= -shrext_cmds=".so" +shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= @@ -14535,14 +15072,16 @@ # flags to be left without arguments need_version=unknown + + case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' + soname_spec='$libname$release$shared_ext$major' ;; aix[4-9]*) @@ -14550,41 +15089,91 @@ need_lib_prefix=no need_version=no hardcode_into_libs=yes - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac shlibpath_var=LIBPATH fi ;; @@ -14594,18 +15183,18 @@ powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) - library_names_spec='${libname}${shared_ext}' + library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; @@ -14613,8 +15202,8 @@ bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" @@ -14626,7 +15215,7 @@ cygwin* | mingw* | pw32* | cegcc*) version_type=windows - shrext_cmds=".dll" + shrext_cmds=.dll need_version=no need_lib_prefix=no @@ -14635,8 +15224,8 @@ # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ @@ -14652,16 +15241,16 @@ case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' @@ -14670,8 +15259,8 @@ *,cl*) # Native MSVC libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' case $build_os in mingw*) @@ -14698,7 +15287,7 @@ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) - sys_lib_search_path_spec="$LIB" + sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` @@ -14711,8 +15300,8 @@ esac # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' @@ -14725,7 +15314,7 @@ *) # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac @@ -14738,8 +15327,8 @@ version_type=darwin need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' @@ -14751,8 +15340,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; @@ -14770,12 +15359,13 @@ version_type=freebsd-$objformat case $version_type in freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac @@ -14805,10 +15395,10 @@ need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes + shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; @@ -14826,14 +15416,15 @@ dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' @@ -14841,8 +15432,8 @@ dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; @@ -14851,8 +15442,8 @@ dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... @@ -14865,8 +15456,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no @@ -14877,7 +15468,7 @@ case $host_os in nonstopux*) version_type=nonstopux ;; *) - if test "$lt_cv_prog_gnu_ld" = yes; then + if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix @@ -14885,8 +15476,8 @@ esac need_lib_prefix=no need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= @@ -14905,14 +15496,34 @@ esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec_CXX='-L$libdir' ;; # This must be glibc/ELF. @@ -14920,8 +15531,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no @@ -14965,7 +15576,12 @@ # before this can be enabled. hardcode_into_libs=yes - # Append ld.so.conf contents to the search path + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" @@ -14997,12 +15613,12 @@ need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH @@ -15012,7 +15628,7 @@ newsos6) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; @@ -15021,58 +15637,68 @@ version_type=qnx need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; -openbsd*) +openbsd* | bitrig*) version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" + sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi + shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' - shrext_cmds=".dll" + version_type=windows + shrext_cmds=.dll + need_version=no need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) @@ -15083,8 +15709,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes @@ -15094,11 +15720,11 @@ sunos4*) version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then + if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes @@ -15106,8 +15732,8 @@ sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) @@ -15128,24 +15754,24 @@ ;; sysv4*MP*) - if test -d /usr/nec ;then + if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf + version_type=sco need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then + if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' @@ -15163,7 +15789,7 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes @@ -15171,8 +15797,8 @@ uts4*) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; @@ -15182,19 +15808,31 @@ esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no +test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then +if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + @@ -15238,15 +15876,15 @@ hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || test -n "$runpath_var_CXX" || - test "X$hardcode_automatic_CXX" = "Xyes" ; then + test yes = "$hardcode_automatic_CXX"; then # We can hardcode non-existent directories. - if test "$hardcode_direct_CXX" != no && + if test no != "$hardcode_direct_CXX" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && - test "$hardcode_minus_L_CXX" != no; then + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && + test no != "$hardcode_minus_L_CXX"; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else @@ -15261,12 +15899,12 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 $as_echo "$hardcode_action_CXX" >&6; } -if test "$hardcode_action_CXX" = relink || - test "$inherit_rpath_CXX" = yes; then +if test relink = "$hardcode_action_CXX" || + test yes = "$inherit_rpath_CXX"; then # Fast installation is not supported enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi @@ -15289,7 +15927,7 @@ lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes +fi # test yes != "$_lt_caught_CXX_error" ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -15427,7 +16065,7 @@ lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" +lt_simple_link_test_code=$lt_simple_compile_test_code # ltmain only uses $CC for tagged configurations so make sure $CC is set. @@ -15461,7 +16099,7 @@ # Allow CC to be a program name with arguments. -lt_save_CC="$CC" +lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC= @@ -15469,15 +16107,8 @@ CFLAGS= compiler=$CC compiler_RC=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +func_cc_basename $compiler +cc_basename=$func_cc_basename_result lt_cv_prog_compiler_c_o_RC=yes @@ -16069,8 +16700,8 @@ fi if test "$enable_final" = yes; then - CFLAGS="-O3 -DNDEBUG" - CXXFLAGS="-O3 -DNDEBUG" + CFLAGS="$CFLAGS -O3 -DNDEBUG" + CXXFLAGS="$CXXFLAGS -O3 -DNDEBUG" fi # Enable profile @@ -16711,7 +17342,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by teckit $as_me 2.5.4, which was +This file was extended by teckit $as_me 2.5.8, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16777,7 +17408,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -teckit config.status 2.5.4 +teckit config.status 2.5.8 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -16912,6 +17543,7 @@ enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' @@ -16961,10 +17593,13 @@ GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' @@ -17029,7 +17664,8 @@ finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' +configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' +configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' @@ -17182,9 +17818,12 @@ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_import \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +lt_cv_nm_interface \ nm_file_list_spec \ +lt_cv_truncate_bin \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_pic \ lt_prog_compiler_wl \ @@ -17275,7 +17914,7 @@ compiler_lib_search_path_RC; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" @@ -17302,7 +17941,8 @@ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ -sys_lib_dlsearch_path_spec \ +configure_time_dlsearch_path \ +configure_time_lt_sys_library_path \ reload_cmds_CXX \ reload_cmds_RC \ old_archive_cmds_CXX \ @@ -17327,7 +17967,7 @@ postlink_cmds_RC; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" @@ -17336,19 +17976,16 @@ done ac_aux_dir='$ac_aux_dir' -xsi_shell='$xsi_shell' -lt_shell_append='$lt_shell_append' - -# See if we are running on zsh, and set the options which allow our + +# See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then +if test -n "\${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' @@ -18067,55 +18704,53 @@ ;; "libtool":C) - # See if we are running on zsh, and set the options which allow our + # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then + if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi - cfgfile="${ofile}T" + cfgfile=${ofile}T trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Generated automatically by $as_me ($PACKAGE) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. # -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. # -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# along with this program. If not, see . # The names of the tagged configurations supported by this script. -available_tags="CXX RC " +available_tags='CXX RC ' + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} # ### BEGIN LIBTOOL CONFIG @@ -18134,6 +18769,9 @@ # Whether or not to optimize for fast installation. fast_install=$enable_fast_install + +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec=$shared_archive_member_spec # Shell to use when invoking shell scripts. SHELL=$lt_SHELL @@ -18252,17 +18890,26 @@ # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl +# Transform the output of nm into a list of symbols to manually relocate. +global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import + # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix +# The name lister interface. +nm_interface=$lt_lt_cv_nm_interface + # Specify filename containing input files for \$NM. nm_file_list_spec=$lt_nm_file_list_spec -# The root where to search for dependent libraries,and in which our libraries should be installed. +# The root where to search for dependent libraries,and where our libraries should be installed. lt_sysroot=$lt_sysroot + +# Command to truncate a binary pipe. +lt_truncate_bin=$lt_lt_cv_truncate_bin # The name of the directory that contains temporary libtool files. objdir=$objdir @@ -18354,8 +19001,11 @@ # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec -# Run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path # Whether dlopen is supported. dlopen_support=$enable_dlopen @@ -18448,13 +19098,13 @@ # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# "absolute",i.e impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute @@ -18520,13 +19170,72 @@ _LT_EOF + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then +if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi @@ -18535,7 +19244,7 @@ esac -ltmain="$ac_aux_dir/ltmain.sh" +ltmain=$ac_aux_dir/ltmain.sh # We use sed instead of cat because bash on DJGPP gets confused if @@ -18545,165 +19254,6 @@ sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) - if test x"$xsi_shell" = xyes; then - sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ -func_dirname ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_basename ()$/,/^} # func_basename /c\ -func_basename ()\ -{\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ -func_dirname_and_basename ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ -func_stripname ()\ -{\ -\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ -\ # positional parameters, so assign one to ordinary parameter first.\ -\ func_stripname_result=${3}\ -\ func_stripname_result=${func_stripname_result#"${1}"}\ -\ func_stripname_result=${func_stripname_result%"${2}"}\ -} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ -func_split_long_opt ()\ -{\ -\ func_split_long_opt_name=${1%%=*}\ -\ func_split_long_opt_arg=${1#*=}\ -} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ -func_split_short_opt ()\ -{\ -\ func_split_short_opt_arg=${1#??}\ -\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ -} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ -func_lo2o ()\ -{\ -\ case ${1} in\ -\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ -\ *) func_lo2o_result=${1} ;;\ -\ esac\ -} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_xform ()$/,/^} # func_xform /c\ -func_xform ()\ -{\ - func_xform_result=${1%.*}.lo\ -} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_arith ()$/,/^} # func_arith /c\ -func_arith ()\ -{\ - func_arith_result=$(( $* ))\ -} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_len ()$/,/^} # func_len /c\ -func_len ()\ -{\ - func_len_result=${#1}\ -} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - -fi - -if test x"$lt_shell_append" = xyes; then - sed -e '/^func_append ()$/,/^} # func_append /c\ -func_append ()\ -{\ - eval "${1}+=\\${2}"\ -} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ -func_append_quoted ()\ -{\ -\ func_quote_for_eval "${2}"\ -\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ -} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 -$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} -fi - - mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" @@ -18790,13 +19340,13 @@ # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct_CXX -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# "absolute",i.e impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_CXX @@ -18943,13 +19493,13 @@ # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct_RC -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# "absolute",i.e impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_RC diff --git a/configure.ac b/configure.ac index 10295f6..55e6c7d 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ(2.54) -AC_INIT(teckit, 2.5.4, nrsi@sil.org) +AC_INIT(teckit, 2.5.8, nrsi@sil.org) AM_CONFIG_HEADER([config.h]) AC_CONFIG_SRCDIR([source/UnicodeNames.cpp]) AC_CONFIG_MACRO_DIR([m4]) @@ -84,8 +84,8 @@ AC_HELP_STRING([--enable-final], [build for release. (default=no)])) if test "$enable_final" = yes; then - CFLAGS="-O3 -DNDEBUG" - CXXFLAGS="-O3 -DNDEBUG" + CFLAGS="$CFLAGS -O3 -DNDEBUG" + CXXFLAGS="$CXXFLAGS -O3 -DNDEBUG" fi # Enable profile diff --git a/depcomp b/depcomp index 4ebd5b3..fc98710 100755 --- a/depcomp +++ b/depcomp @@ -3,7 +3,7 @@ scriptversion=2013-05-30.07; # UTC -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2014 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/docs/Makefile.am b/docs/Makefile.am index 882c16b..8d435bc 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -1,3 +1,4 @@ -EXTRA_DIST = TECkit_Binary_Format.doc.pdf -EXTRA_DIST += TECkit_Language_2.1.doc.pdf -EXTRA_DIST += TECkit_version_2.1.doc.pdf +dist_man1_MANS = teckit_compile.1 txtconv.1 sfconv.1 +EXTRA_DIST = TECkit_Binary_Format.pdf +EXTRA_DIST += TECkit_Language.pdf +EXTRA_DIST += TECkit_Tools.pdf diff --git a/docs/Makefile.in b/docs/Makefile.in index 093ca95..1471711 100644 --- a/docs/Makefile.in +++ b/docs/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,7 +14,17 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -79,7 +89,6 @@ host_triplet = @host@ target_triplet = @target@ subdir = docs -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ @@ -88,6 +97,7 @@ $(top_srcdir)/zlib-1.2.3/zlib.ac $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -111,7 +121,39 @@ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +man1dir = $(mandir)/man1 +am__installdirs = "$(DESTDIR)$(man1dir)" +NROFF = nroff +MANS = $(dist_man1_MANS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(dist_man1_MANS) $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -157,6 +199,7 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ @@ -232,6 +275,7 @@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -244,8 +288,9 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -EXTRA_DIST = TECkit_Binary_Format.doc.pdf TECkit_Language_2.1.doc.pdf \ - TECkit_version_2.1.doc.pdf +dist_man1_MANS = teckit_compile.1 txtconv.1 sfconv.1 +EXTRA_DIST = TECkit_Binary_Format.pdf TECkit_Language.pdf \ + TECkit_Tools.pdf all: all-am .SUFFIXES: @@ -261,7 +306,6 @@ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign docs/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -285,6 +329,47 @@ clean-libtool: -rm -rf .libs _libs +install-man1: $(dist_man1_MANS) + @$(NORMAL_INSTALL) + @list1='$(dist_man1_MANS)'; \ + list2=''; \ + test -n "$(man1dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.1[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(dist_man1_MANS)'; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: @@ -324,8 +409,11 @@ done check-am: all-am check: check-am -all-am: Makefile +all-am: Makefile $(MANS) installdirs: + for dir in "$(DESTDIR)$(man1dir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -376,7 +464,7 @@ info-am: -install-data-am: +install-data-am: install-man install-dvi: install-dvi-am @@ -392,7 +480,7 @@ install-info-am: -install-man: +install-man: install-man1 install-pdf: install-pdf-am @@ -420,7 +508,9 @@ ps-am: -uninstall-am: +uninstall-am: uninstall-man + +uninstall-man: uninstall-man1 .MAKE: install-am install-strip @@ -430,11 +520,14 @@ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am + install-man1 install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags-am uninstall uninstall-am uninstall-man \ + uninstall-man1 + +.PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/docs/TECkit_Binary_Format.doc.pdf b/docs/TECkit_Binary_Format.doc.pdf deleted file mode 100644 index 80bca04..0000000 Binary files a/docs/TECkit_Binary_Format.doc.pdf and /dev/null differ diff --git a/docs/TECkit_Binary_Format.pdf b/docs/TECkit_Binary_Format.pdf new file mode 100644 index 0000000..a749286 Binary files /dev/null and b/docs/TECkit_Binary_Format.pdf differ diff --git a/docs/TECkit_Language.pdf b/docs/TECkit_Language.pdf new file mode 100644 index 0000000..d2239a4 Binary files /dev/null and b/docs/TECkit_Language.pdf differ diff --git a/docs/TECkit_Language_2.1.doc.pdf b/docs/TECkit_Language_2.1.doc.pdf deleted file mode 100644 index a77700e..0000000 Binary files a/docs/TECkit_Language_2.1.doc.pdf and /dev/null differ diff --git a/docs/TECkit_Tools.pdf b/docs/TECkit_Tools.pdf new file mode 100644 index 0000000..f79d6cd Binary files /dev/null and b/docs/TECkit_Tools.pdf differ diff --git a/docs/TECkit_version_2.1.doc.pdf b/docs/TECkit_version_2.1.doc.pdf deleted file mode 100644 index f85926b..0000000 Binary files a/docs/TECkit_version_2.1.doc.pdf and /dev/null differ diff --git a/docs/sfconv.1 b/docs/sfconv.1 new file mode 100644 index 0000000..667804d --- /dev/null +++ b/docs/sfconv.1 @@ -0,0 +1,48 @@ +.TH SFCONV 1 "2015-11-13" "TECkit" +.SH NAME +sfconv \- A tool for converting the encoding of Standard Format (SF) files +.SH SYNOPSIS +.SS "8-bit to Unicode:" +.TP +sfconv \fB\-8u\fR [\-utf8|\-be|\-le] [\-bom] \fB\-c\fR ControlFile [\-d MappingDirectory] \fB\-i\fR InFile \fB\-o\fR OutFile +.SS "Unicode to 8-bit:" +.TP +sfconv \fB\-u8\fR [\-utf8|\-be|\-le] \fB\-c\fR ControlFile [\-d MappingDirectory] \fB\-i\fR InFile \fB\-o\fR OutFile +.SH "DESCRIPTION" +A tool for converting Standard Format (SF) files is included in the current TECkit package. +This is \fBsfconv\fR , a command-line tool that uses an XML โ€œcontrol fileโ€ to specify the +mappings associated with the various markers in an SF file. Note that the current SFconv tool +should be considered a prototype rather than a full solution to the issue of SF conversions. A +more complete tool with an improved user interface would be desirable. +.SH "OPTIONS" +The SFconv utility uses command-line options to specify the conversion direction, +control file, and input and output files. The required arguments are: +.TP +.BR \-8u | \-u8 +conversion direction: 8-bit to Unicode or vice versa +.TP +.BR \-c controlFile +specifies XML control file +.TP +.BR \-i inFile +specifies filename of input SF file +.TP +.BR \-o outFile +specifies filename for converted output + +In addition, the following optional arguments may be used if appropriate: +.TP +.BR \-d mappingDir +directory where mapping files ( .tec files) are to be found +.TP +.BR \-utf8 | \-be | \-le +Unicode encoding form: UTF-8, UTF-16BE, or UTF16-LE (default is UTF8 for output, or detected from input file if BOM is present) +.TP +.BR \-bom +(only when mapping to Unicode) write initial BOM to the output file +.TP +.BR \-nfc | \-nfd +(only when mapping to Unicode) normalize to NFC or NFD +.SH Further Information +For further information see the document TECkit_Tools.pdf. +On a Debian system, this can be found in /usr/share/doc/teckit. diff --git a/docs/teckit_compile.1 b/docs/teckit_compile.1 new file mode 100644 index 0000000..618a193 --- /dev/null +++ b/docs/teckit_compile.1 @@ -0,0 +1,28 @@ +.TH TECKIT_COMPILE 1 "2015-11-14" "TECkit" +.SH NAME +teckit_compile \- manual page for command line error at --version +.SH SYNOPSIS +.B teckit_compile +[\fI\,-u\/\fR] [\fI\,-x\/\fR] [\fI\,-z\/\fR] \fI\,mapping_description \/\fR[\fI\,-o compiled_table\/\fR] +.SH OPTIONS +Required argument: +.IP +\fBsource\fR mapping description (.map) file +.PP +Optional arguments: +.TP +.BR \fB\-o\fR file +output compiled table (.tec) file ("\-" for stdout) +.TP +.BR \fB\-u\fR +read source text as UTF8 even if no BOM found +.TP +.BR \fB\-x\fR +generate XML representation rather than compiled table +.TP +.BR \fB\-z\fR +generate uncompressed table format +.SH Further Information +For further information see the document TECkit_Tools.pdf. +A description of the mapping description language used by the compiler, with examples, is found in TECkit_Language.pdf. +On a Debian system, these can be found in /usr/share/doc/teckit. diff --git a/docs/txtconv.1 b/docs/txtconv.1 new file mode 100644 index 0000000..1255289 --- /dev/null +++ b/docs/txtconv.1 @@ -0,0 +1,50 @@ +.TH TXTCONV 1 "2015-11-13" "TECkit" +.SH NAME +txtconv \- A tool to apply TECkit mappings to convert the encoding of a plain text file +.SH SYNOPSIS +.B txtconv +\fI\,-i inFile -o outFile \/\fR[\fI\,-t tecFile\/\fR] [\fI\,-r\/\fR] [\fI\,-if inForm\/\fR] [\fI\,-of outForm\/\fR] [\fI\,-nobom\/\fR] [\fI\,-nf\/\fR[\fI\,cd\/\fR]] [\fI\,-u n\/\fR] +.SH "OPTIONS" +\fBRequired arguments:\fR +.TP +\fB\-i\fR +input file +.TP +\fB\-o\fR +output file +.PP +\fBOptional arguments:\fR +.TP +\fB\-t\fR +compiled TECkit mapping (.tec) file +.TP +\fB\-r\fR +reverse (RHS\->LHS, or Unicode\->Byte) mapping +.TP +\fB\-if\fR
+input encoding form +.TP +\fB\-of\fR +output encoding form +.TP +\fB\-nobom\fR +don't write a BOM to Unicode output +.TP +\fB\-nf[cd]\fR +apply NFC or NFD normalization to Unicode output +.TP +\fB\-u\fR +handling of unmappable input: +.IP +\(bu 0 = use replacement character +\.IP +\(bu 1 = use replacement but generate warning +\.IP +\(bu 2 = stop conversion +.PP +\fBEncoding forms:\fR +.IP +bytes utf8 utf16be utf16le utf16 utf32be utf32le utf32 +.SH Further Information +For further information see the document TECkit_Tools.pdf. +On a Debian system, this can be found in /usr/share/doc/teckit. diff --git a/install-sh b/install-sh index 377bb86..59990a1 100755 --- a/install-sh +++ b/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2011-11-20.07; # UTC +scriptversion=2014-09-12.12; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -41,19 +41,15 @@ # This script is compatible with the BSD install script, but was written # from scratch. +tab=' ' nl=' ' -IFS=" "" $nl" - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. +IFS=" $tab$nl" + +# Set DOITPROG to "echo" to test this script. + doit=${DOITPROG-} -if test -z "$doit"; then - doit_exec=exec -else - doit_exec=$doit -fi +doit_exec=${doit:-exec} # Put in absolute file names if you don't have them in your path; # or use environment vars. @@ -68,17 +64,6 @@ rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} -posix_glob='?' -initialize_posix_glob=' - test "$posix_glob" != "?" || { - if (set -f) 2>/dev/null; then - posix_glob= - else - posix_glob=: - fi - } -' - posix_mkdir= # Desired mode of installed file. @@ -97,7 +82,7 @@ dst_arg= copy_on_change=false -no_target_directory= +is_target_a_directory=possibly usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE @@ -137,45 +122,56 @@ -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" - shift;; + shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; + case $mode in + *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; -o) chowncmd="$chownprog $2" - shift;; + shift;; -s) stripcmd=$stripprog;; - -t) dst_arg=$2 - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - shift;; - - -T) no_target_directory=true;; + -t) + is_target_a_directory=always + dst_arg=$2 + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + shift;; + + -T) is_target_a_directory=never;; --version) echo "$0 $scriptversion"; exit $?;; - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; + --) shift + break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; *) break;; esac shift done + +# We allow the use of options -d and -T together, by making -d +# take the precedence; this is for compatibility with GNU install. + +if test -n "$dir_arg"; then + if test -n "$dst_arg"; then + echo "$0: target directory not allowed when installing a directory." >&2 + exit 1 + fi +fi if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. @@ -208,6 +204,15 @@ fi if test -z "$dir_arg"; then + if test $# -gt 1 || test "$is_target_a_directory" = always; then + if test ! -d "$dst_arg"; then + echo "$0: $dst_arg: Is not a directory." >&2 + exit 1 + fi + fi +fi + +if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 @@ -223,16 +228,16 @@ *[0-7]) if test -z "$stripcmd"; then - u_plus_rw= + u_plus_rw= else - u_plus_rw='% 200' + u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then - u_plus_rw= + u_plus_rw= else - u_plus_rw=,u+rw + u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac @@ -269,41 +274,15 @@ # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 + if test "$is_target_a_directory" = never; then + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else - # Prefer dirname, but fall back on a substitute if dirname fails. - dstdir=` - (dirname "$dst") 2>/dev/null || - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$dst" : 'X\(//\)[^/]' \| \ - X"$dst" : 'X\(//\)$' \| \ - X"$dst" : 'X\(/\)' \| . 2>/dev/null || - echo X"$dst" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' - ` - + dstdir=`dirname "$dst"` test -d "$dstdir" dstdir_status=$? fi @@ -314,74 +293,81 @@ if test $dstdir_status != 0; then case $posix_mkdir in '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + # $RANDOM is not portable (e.g. dash); use it when possible to + # lower collision chance + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 + + # As "mkdir -p" follows symlinks and we work in /tmp possibly; so + # create the $tmpdir first (and fail if unsuccessful) to make sure + # that nobody tries to guess the $tmpdir name. + if (umask $mkdir_umask && + $mkdirprog $mkdir_mode "$tmpdir" && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + test_tmpdir="$tmpdir/a" + ls_ld_tmpdir=`ls -ld "$test_tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; + esac;; esac if $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else @@ -391,53 +377,51 @@ # directory the slow way, step by step, checking for races as we go. case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; esac - - eval "$initialize_posix_glob" oIFS=$IFS IFS=/ - $posix_glob set -f + set -f set fnord $dstdir shift - $posix_glob set +f + set +f IFS=$oIFS prefixes= for d do - test X"$d" = X && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ + test X"$d" = X && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ done if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true fi fi fi @@ -472,15 +456,12 @@ # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - - eval "$initialize_posix_glob" && - $posix_glob set -f && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && - $posix_glob set +f && - + set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then @@ -493,24 +474,24 @@ # to itself, or perhaps because mv is so ancient that it does not # support -f. { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 diff --git a/lib/Makefile.in b/lib/Makefile.in index d9811b6..f5c05ae 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -16,7 +16,17 @@ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -80,10 +90,6 @@ build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ -DIST_COMMON = $(srcdir)/../source/Makefile.am \ - $(top_srcdir)/source/Public-headers/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/depcomp $(noinst_HEADERS) $(pkginclude_HEADERS) subdir = lib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ @@ -93,6 +99,8 @@ $(top_srcdir)/zlib-1.2.3/zlib.ac $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ + $(pkginclude_HEADERS) $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -352,6 +360,9 @@ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +am__DIST_COMMON = $(srcdir)/../source/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ + $(top_srcdir)/source/Public-headers/Makefile.am DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -397,6 +408,7 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ @@ -472,6 +484,7 @@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -565,7 +578,6 @@ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign lib/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign lib/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -574,7 +586,7 @@ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; -$(srcdir)/../source/Makefile.am $(top_srcdir)/source/Public-headers/Makefile.am: +$(srcdir)/../source/Makefile.am $(top_srcdir)/source/Public-headers/Makefile.am $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh @@ -1440,6 +1452,8 @@ uninstall-am uninstall-libLTLIBRARIES \ uninstall-pkgincludeHEADERS +.PRECIOUS: Makefile + @OLD_LIB_NAMES_TRUE@Engine_ver.o: $(teckitdir)/Engine_ver.rc @OLD_LIB_NAMES_TRUE@ $(RC) $(AM_RCFLAGS) $(RCFLAGS) -o $@ $< @OLD_LIB_NAMES_TRUE@Compiler_ver.o: $(teckitdir)/Compiler_ver.rc diff --git a/license/LICENSING.txt b/license/LICENSING.txt index 4f3add7..5aee456 100644 --- a/license/LICENSING.txt +++ b/license/LICENSING.txt @@ -1,6 +1,18 @@ TECKit Licensing - Copyright 2002-2014, SIL International +A few parts, noted here, have a different license than most of TECkit. + +The files SFconv/UtfCodec.* are +Copyright 2010-2011 SIL International +with a license of LGPL-2+ or GPL-2+ or Mozilla Public License (http://mozilla.org/MPL) + +The files deb-source/copyright and docs/*.1 are +Copyright 2015 Daniel Glassey +with a license of LGPL-2+ + +Rest of the project: + + Copyright 2002-2018, SIL International All rights reserved. This library is free software; you can redistribute it and/or modify @@ -10,34 +22,34 @@ Steward" for that license (currently IBM); either version 0.5 of the License, or (at your option) any later version, - or + or - b) the GNU Lesser General Public License as published by the + b) the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either - the Common Public License or the GNU Lesser General Public License + the Common Public License or the GNU Lesser General Public License for more details. You should have received a plain text copy of the Common Public License Version 0.5 with this distribution in the file named "License_CPLv05.txt". - That text came from http://www.opensource.org/licenses/cpl.html. The + That text came from http://www.opensource.org/licenses/cpl.html. The initial "Agreement Steward" for the CPL displays currently the license at - http://www-124.ibm.com/developerworks/oss/license-cpl.html. + http://www-124.ibm.com/developerworks/oss/license-cpl.html. You should also have received a copy of the GNU Lesser General Public License along with this library in the file named "License_LGPLv21.txt". - If not, write to the Free Software Foundation, Inc., 59 Temple Place, - Suite 330, Boston, MA 02111-1307, USA or visit their web page on the + If not, write to the Free Software Foundation, Inc., 59 Temple Place, + Suite 330, Boston, MA 02111-1307, USA or visit their web page on the internet at http://www.fsf.org/licenses/lgpl.html. - The GNU General Public License to which the GNU Lesser General Public - License refers can be found at http://www.gnu.org/copyleft/gpl.html. - For convenient reference, a text version has been included with this - distribution in the file named "License_GPLv2.txt". All of the licenses + The GNU General Public License to which the GNU Lesser General Public + License refers can be found at http://www.gnu.org/copyleft/gpl.html. + For convenient reference, a text version has been included with this + distribution in the file named "License_LGPLv21.txt". All of the licenses mentioned above can also be found at http://www.opensource.org/licenses/. -------------------------------------------------------------------------- diff --git a/ltmain.sh b/ltmain.sh index bffda54..147d758 100644 --- a/ltmain.sh +++ b/ltmain.sh @@ -1,9 +1,12 @@ - -# libtool (GNU libtool) 2.4.2 +#! /bin/sh +## DO NOT EDIT - This file generated from ./build-aux/ltmain.in +## by inline-source v2014-01-03.01 + +# libtool (GNU libtool) 2.4.6 +# Provide generalized library-building support services. # Written by Gordon Matzigkeit , 1996 -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +# Copyright (C) 1996-2015 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -23,166 +26,670 @@ # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# Usage: $progname [OPTION]... [MODE-ARG]... -# -# Provide generalized library-building support services. -# -# --config show all configuration variables -# --debug enable verbose shell tracing -# -n, --dry-run display commands without modifying any files -# --features display basic configuration information and exit -# --mode=MODE use operation mode MODE -# --preserve-dup-deps don't remove duplicate dependency libraries -# --quiet, --silent don't print informational messages -# --no-quiet, --no-silent -# print informational messages (default) -# --no-warn don't display warning messages -# --tag=TAG use configuration variables from tag TAG -# -v, --verbose print more informational messages than default -# --no-verbose don't print the extra informational messages -# --version print version information -# -h, --help, --help-all print short, long, or detailed help message -# -# MODE must be one of the following: -# -# clean remove files from the build directory -# compile compile a source file into a libtool object -# execute automatically set library path, then run a program -# finish complete the installation of libtool libraries -# install install libraries or executables -# link create a library or an executable -# uninstall remove libraries from an installed directory -# -# MODE-ARGS vary depending on the MODE. When passed as first option, -# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. -# Try `$progname --help --mode=MODE' for a more detailed description of MODE. -# -# When reporting a bug, please describe a test case to reproduce it and -# include the following information: -# -# host-triplet: $host -# shell: $SHELL -# compiler: $LTCC -# compiler flags: $LTCFLAGS -# linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.11 -# automake: $automake_version -# autoconf: $autoconf_version -# -# Report bugs to . -# GNU libtool home page: . -# General help using GNU software: . +# along with this program. If not, see . + PROGRAM=libtool PACKAGE=libtool -VERSION="2.4.2 Debian-2.4.2-1.11" -TIMESTAMP="" -package_revision=1.3337 - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +VERSION="2.4.6 Debian-2.4.6-0.1" +package_revision=2.4.6 + + +## ------ ## +## Usage. ## +## ------ ## + +# Run './libtool --help' for help with using this script from the +# command line. + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# After configure completes, it has a better idea of some of the +# shell tools we need than the defaults used by the functions shared +# with bootstrap, so set those here where they can still be over- +# ridden by the user, but otherwise take precedence. + +: ${AUTOCONF="autoconf"} +: ${AUTOMAKE="automake"} + + +## -------------------------- ## +## Source external libraries. ## +## -------------------------- ## + +# Much of our low-level functionality needs to be sourced from external +# libraries, which are installed to $pkgauxdir. + +# Set a version string for this script. +scriptversion=2015-01-20.17; # UTC + +# General shell script boiler plate, and helper functions. +# Written by Gary V. Vaughan, 2004 + +# Copyright (C) 2004-2015 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# As a special exception to the GNU General Public License, if you distribute +# this file as part of a program or library that is built using GNU Libtool, +# you may include this file under the same distribution terms that you use +# for the rest of that program. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Please report bugs or propose patches to gary@gnu.org. + + +## ------ ## +## Usage. ## +## ------ ## + +# Evaluate this file near the top of your script to gain access to +# the functions and variables defined here: +# +# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh +# +# If you need to override any of the default environment variable +# settings, do that before evaluating this file. + + +## -------------------- ## +## Shell normalisation. ## +## -------------------- ## + +# Some shells need a little help to be as Bourne compatible as possible. +# Before doing anything else, make sure all that help has been provided! + +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac + case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# NLS nuisances: We save the old values to restore during execute mode. -lt_user_locale= -lt_safe_locale= -for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + +# NLS nuisances: We save the old values in case they are required later. +_G_user_locale= +_G_safe_locale= +for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do - eval "if test \"\${$lt_var+set}\" = set; then - save_$lt_var=\$$lt_var - $lt_var=C - export $lt_var - lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" - lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" + eval "if test set = \"\${$_G_var+set}\"; then + save_$_G_var=\$$_G_var + $_G_var=C + export $_G_var + _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" + _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" fi" done -LC_ALL=C -LANGUAGE=C -export LANGUAGE LC_ALL - -$lt_unset CDPATH - + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Make sure IFS has a sensible default +sp=' ' +nl=' +' +IFS="$sp $nl" + +# There are apparently some retarded systems that use ';' as a PATH separator! +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + + +## ------------------------- ## +## Locate command utilities. ## +## ------------------------- ## + + +# func_executable_p FILE +# ---------------------- +# Check that FILE is an executable regular file. +func_executable_p () +{ + test -f "$1" && test -x "$1" +} + + +# func_path_progs PROGS_LIST CHECK_FUNC [PATH] +# -------------------------------------------- +# Search for either a program that responds to --version with output +# containing "GNU", or else returned by CHECK_FUNC otherwise, by +# trying all the directories in PATH with each of the elements of +# PROGS_LIST. +# +# CHECK_FUNC should accept the path to a candidate program, and +# set $func_check_prog_result if it truncates its output less than +# $_G_path_prog_max characters. +func_path_progs () +{ + _G_progs_list=$1 + _G_check_func=$2 + _G_PATH=${3-"$PATH"} + + _G_path_prog_max=0 + _G_path_prog_found=false + _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} + for _G_dir in $_G_PATH; do + IFS=$_G_save_IFS + test -z "$_G_dir" && _G_dir=. + for _G_prog_name in $_G_progs_list; do + for _exeext in '' .EXE; do + _G_path_prog=$_G_dir/$_G_prog_name$_exeext + func_executable_p "$_G_path_prog" || continue + case `"$_G_path_prog" --version 2>&1` in + *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; + *) $_G_check_func $_G_path_prog + func_path_progs_result=$func_check_prog_result + ;; + esac + $_G_path_prog_found && break 3 + done + done + done + IFS=$_G_save_IFS + test -z "$func_path_progs_result" && { + echo "no acceptable sed could be found in \$PATH" >&2 + exit 1 + } +} + + +# We want to be able to use the functions in this file before configure +# has figured out where the best binaries are kept, which means we have +# to search for them ourselves - except when the results are already set +# where we skip the searches. + +# Unless the user overrides by setting SED, search the path for either GNU +# sed, or the sed that truncates its output the least. +test -z "$SED" && { + _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for _G_i in 1 2 3 4 5 6 7; do + _G_sed_script=$_G_sed_script$nl$_G_sed_script + done + echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed + _G_sed_script= + + func_check_prog_sed () + { + _G_path_prog=$1 + + _G_count=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo '' >> conftest.nl + "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin + rm -f conftest.sed + SED=$func_path_progs_result +} + + +# Unless the user overrides by setting GREP, search the path for either GNU +# grep, or the grep that truncates its output the least. +test -z "$GREP" && { + func_check_prog_grep () + { + _G_path_prog=$1 + + _G_count=0 + _G_path_prog_max=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo 'GREP' >> conftest.nl + "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin + GREP=$func_path_progs_result +} + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# All uppercase variable names are used for environment variables. These +# variables can be overridden by the user before calling a script that +# uses them if a suitable command of that name is not already available +# in the command search PATH. + +: ${CP="cp -f"} +: ${ECHO="printf %s\n"} +: ${EGREP="$GREP -E"} +: ${FGREP="$GREP -F"} +: ${LN_S="ln -s"} +: ${MAKE="make"} +: ${MKDIR="mkdir"} +: ${MV="mv -f"} +: ${RM="rm -f"} +: ${SHELL="${CONFIG_SHELL-/bin/sh}"} + + +## -------------------- ## +## Useful sed snippets. ## +## -------------------- ## + +sed_dirname='s|/[^/]*$||' +sed_basename='s|^.*/||' + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s|\([`"$\\]\)|\\\1|g' + +# Same as above, but do not quote variable references. +sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution that turns a string into a regex matching for the +# string literally. +sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' + +# Sed substitution that converts a w32 file name or path +# that contains forward slashes, into one that contains +# (escaped) backslashes. A very naive implementation. +sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + +# Re-'\' parameter expansions in output of sed_double_quote_subst that +# were '\'-ed in input to the same. If an odd number of '\' preceded a +# '$' in input to sed_double_quote_subst, that '$' was protected from +# expansion. Since each input '\' is now two '\'s, look for any number +# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. +_G_bs='\\' +_G_bs2='\\\\' +_G_bs4='\\\\\\\\' +_G_dollar='\$' +sed_double_backslash="\ + s/$_G_bs4/&\\ +/g + s/^$_G_bs2$_G_dollar/$_G_bs&/ + s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g + s/\n//g" + + +## ----------------- ## +## Global variables. ## +## ----------------- ## + +# Except for the global variables explicitly listed below, the following +# functions in the '^func_' namespace, and the '^require_' namespace +# variables initialised in the 'Resource management' section, sourcing +# this file will not pollute your global namespace with anything +# else. There's no portable way to scope variables in Bourne shell +# though, so actually running these functions will sometimes place +# results into a variable named after the function, and often use +# temporary variables in the '^_G_' namespace. If you are careful to +# avoid using those namespaces casually in your sourcing script, things +# should continue to work as you expect. And, of course, you can freely +# overwrite any of the functions or variables defined here before +# calling anything to customize them. + +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. +EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. + +# Allow overriding, eg assuming that you follow the convention of +# putting '$debug_cmd' at the start of all your functions, you can get +# bash to show function call trace with: +# +# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name +debug_cmd=${debug_cmd-":"} +exit_cmd=: + +# By convention, finish your script with: +# +# exit $exit_status +# +# so that you can set exit_status to non-zero if you want to indicate +# something went wrong during execution without actually bailing out at +# the point of failure. +exit_status=$EXIT_SUCCESS # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. -progpath="$0" - - - -: ${CP="cp -f"} -test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} -: ${Xsed="$SED -e 1s/^X//"} - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -exit_status=$EXIT_SUCCESS - -# Make sure IFS has a sensible default -lt_nl=' -' -IFS=" $lt_nl" - -dirname="s,/[^/]*$,," -basename="s,^.*/,," - -# func_dirname file append nondir_replacement +progpath=$0 + +# The name of this program. +progname=`$ECHO "$progpath" |$SED "$sed_basename"` + +# Make sure we have an absolute progpath for reexecution: +case $progpath in + [\\/]*|[A-Za-z]:\\*) ;; + *[\\/]*) + progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` + progdir=`cd "$progdir" && pwd` + progpath=$progdir/$progname + ;; + *) + _G_IFS=$IFS + IFS=${PATH_SEPARATOR-:} + for progdir in $PATH; do + IFS=$_G_IFS + test -x "$progdir/$progname" && break + done + IFS=$_G_IFS + test -n "$progdir" || progdir=`pwd` + progpath=$progdir/$progname + ;; +esac + + +## ----------------- ## +## Standard options. ## +## ----------------- ## + +# The following options affect the operation of the functions defined +# below, and should be set appropriately depending on run-time para- +# meters passed on the command line. + +opt_dry_run=false +opt_quiet=false +opt_verbose=false + +# Categories 'all' and 'none' are always available. Append any others +# you will pass as the first argument to func_warning from your own +# code. +warning_categories= + +# By default, display warnings according to 'opt_warning_types'. Set +# 'warning_func' to ':' to elide all warnings, or func_fatal_error to +# treat the next displayed warning as a fatal error. +warning_func=func_warn_and_continue + +# Set to 'all' to display all warnings, 'none' to suppress all +# warnings, or a space delimited list of some subset of +# 'warning_categories' to display only the listed warnings. +opt_warning_types=all + + +## -------------------- ## +## Resource management. ## +## -------------------- ## + +# This section contains definitions for functions that each ensure a +# particular resource (a file, or a non-empty configuration variable for +# example) is available, and if appropriate to extract default values +# from pertinent package files. Call them using their associated +# 'require_*' variable to ensure that they are executed, at most, once. +# +# It's entirely deliberate that calling these functions can set +# variables that don't obey the namespace limitations obeyed by the rest +# of this file, in order that that they be as useful as possible to +# callers. + + +# require_term_colors +# ------------------- +# Allow display of bold text on terminals that support it. +require_term_colors=func_require_term_colors +func_require_term_colors () +{ + $debug_cmd + + test -t 1 && { + # COLORTERM and USE_ANSI_COLORS environment variables take + # precedence, because most terminfo databases neglect to describe + # whether color sequences are supported. + test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} + + if test 1 = "$USE_ANSI_COLORS"; then + # Standard ANSI escape sequences + tc_reset='' + tc_bold=''; tc_standout='' + tc_red=''; tc_green='' + tc_blue=''; tc_cyan='' + else + # Otherwise trust the terminfo database after all. + test -n "`tput sgr0 2>/dev/null`" && { + tc_reset=`tput sgr0` + test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` + tc_standout=$tc_bold + test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` + test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` + test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` + test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` + test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` + } + fi + } + + require_term_colors=: +} + + +## ----------------- ## +## Function library. ## +## ----------------- ## + +# This section contains a variety of useful functions to call in your +# scripts. Take note of the portable wrappers for features provided by +# some modern shells, which will fall back to slower equivalents on +# less featureful shells. + + +# func_append VAR VALUE +# --------------------- +# Append VALUE onto the existing contents of VAR. + + # We should try to minimise forks, especially on Windows where they are + # unreasonably slow, so skip the feature probes when bash or zsh are + # being used: + if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then + : ${_G_HAVE_ARITH_OP="yes"} + : ${_G_HAVE_XSI_OPS="yes"} + # The += operator was introduced in bash 3.1 + case $BASH_VERSION in + [12].* | 3.0 | 3.0*) ;; + *) + : ${_G_HAVE_PLUSEQ_OP="yes"} + ;; + esac + fi + + # _G_HAVE_PLUSEQ_OP + # Can be empty, in which case the shell is probed, "yes" if += is + # useable or anything else if it does not work. + test -z "$_G_HAVE_PLUSEQ_OP" \ + && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ + && _G_HAVE_PLUSEQ_OP=yes + +if test yes = "$_G_HAVE_PLUSEQ_OP" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_append () + { + $debug_cmd + + eval "$1+=\$2" + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_append () + { + $debug_cmd + + eval "$1=\$$1\$2" + } +fi + + +# func_append_quoted VAR VALUE +# ---------------------------- +# Quote VALUE and append to the end of shell variable VAR, separated +# by a space. +if test yes = "$_G_HAVE_PLUSEQ_OP"; then + eval 'func_append_quoted () + { + $debug_cmd + + func_quote_for_eval "$2" + eval "$1+=\\ \$func_quote_for_eval_result" + }' +else + func_append_quoted () + { + $debug_cmd + + func_quote_for_eval "$2" + eval "$1=\$$1\\ \$func_quote_for_eval_result" + } +fi + + +# func_append_uniq VAR VALUE +# -------------------------- +# Append unique VALUE onto the existing contents of VAR, assuming +# entries are delimited by the first character of VALUE. For example: +# +# func_append_uniq options " --another-option option-argument" +# +# will only append to $options if " --another-option option-argument " +# is not already present somewhere in $options already (note spaces at +# each end implied by leading space in second argument). +func_append_uniq () +{ + $debug_cmd + + eval _G_current_value='`$ECHO $'$1'`' + _G_delim=`expr "$2" : '\(.\)'` + + case $_G_delim$_G_current_value$_G_delim in + *"$2$_G_delim"*) ;; + *) func_append "$@" ;; + esac +} + + +# func_arith TERM... +# ------------------ +# Set func_arith_result to the result of evaluating TERMs. + test -z "$_G_HAVE_ARITH_OP" \ + && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ + && _G_HAVE_ARITH_OP=yes + +if test yes = "$_G_HAVE_ARITH_OP"; then + eval 'func_arith () + { + $debug_cmd + + func_arith_result=$(( $* )) + }' +else + func_arith () + { + $debug_cmd + + func_arith_result=`expr "$@"` + } +fi + + +# func_basename FILE +# ------------------ +# Set func_basename_result to FILE with everything up to and including +# the last / stripped. +if test yes = "$_G_HAVE_XSI_OPS"; then + # If this shell supports suffix pattern removal, then use it to avoid + # forking. Hide the definitions single quotes in case the shell chokes + # on unsupported syntax... + _b='func_basename_result=${1##*/}' + _d='case $1 in + */*) func_dirname_result=${1%/*}$2 ;; + * ) func_dirname_result=$3 ;; + esac' + +else + # ...otherwise fall back to using sed. + _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' + _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` + if test "X$func_dirname_result" = "X$1"; then + func_dirname_result=$3 + else + func_append func_dirname_result "$2" + fi' +fi + +eval 'func_basename () +{ + $debug_cmd + + '"$_b"' +}' + + +# func_dirname FILE APPEND NONDIR_REPLACEMENT +# ------------------------------------------- # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} # func_dirname may be replaced by extended shell implementation - - -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "${1}" | $SED "$basename"` -} # func_basename may be replaced by extended shell implementation - - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function +eval 'func_dirname () +{ + $debug_cmd + + '"$_d"' +}' + + +# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT +# -------------------------------------------------------- +# Perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result @@ -190,263 +697,327 @@ # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" +# For efficiency, we do not delegate to the functions above but instead +# duplicate the functionality here. +eval 'func_dirname_and_basename () +{ + $debug_cmd + + '"$_b"' + '"$_d"' +}' + + +# func_echo ARG... +# ---------------- +# Echo program name prefixed message. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_echo_all ARG... +# -------------------- +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + + +# func_echo_infix_1 INFIX ARG... +# ------------------------------ +# Echo program name, followed by INFIX on the first line, with any +# additional lines not showing INFIX. +func_echo_infix_1 () +{ + $debug_cmd + + $require_term_colors + + _G_infix=$1; shift + _G_indent=$_G_infix + _G_prefix="$progname: $_G_infix: " + _G_message=$* + + # Strip color escape sequences before counting printable length + for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" + do + test -n "$_G_tc" && { + _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` + _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` + } + done + _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes + + func_echo_infix_1_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_infix_1_IFS + $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 + _G_prefix=$_G_indent + done + IFS=$func_echo_infix_1_IFS +} + + +# func_error ARG... +# ----------------- +# Echo program name prefixed message to standard error. +func_error () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 +} + + +# func_fatal_error ARG... +# ----------------------- +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + $debug_cmd + + func_error "$*" + exit $EXIT_FAILURE +} + + +# func_grep EXPRESSION FILENAME +# ----------------------------- +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $debug_cmd + + $GREP "$1" "$2" >/dev/null 2>&1 +} + + +# func_len STRING +# --------------- +# Set func_len_result to the length of STRING. STRING may not +# start with a hyphen. + test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_len () + { + $debug_cmd + + func_len_result=${#1} + }' +else + func_len () + { + $debug_cmd + + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` + } +fi + + +# func_mkdir_p DIRECTORY-PATH +# --------------------------- +# Make sure the entire path to DIRECTORY-PATH is available. +func_mkdir_p () +{ + $debug_cmd + + _G_directory_path=$1 + _G_dir_list= + + if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then + + # Protect directory names starting with '-' + case $_G_directory_path in + -*) _G_directory_path=./$_G_directory_path ;; + esac + + # While some portion of DIR does not yet exist... + while test ! -d "$_G_directory_path"; do + # ...make a list in topmost first order. Use a colon delimited + # list incase some portion of path contains whitespace. + _G_dir_list=$_G_directory_path:$_G_dir_list + + # If the last portion added has no slash in it, the list is done + case $_G_directory_path in */*) ;; *) break ;; esac + + # ...otherwise throw away the child directory and loop + _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` + done + _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` + + func_mkdir_p_IFS=$IFS; IFS=: + for _G_dir in $_G_dir_list; do + IFS=$func_mkdir_p_IFS + # mkdir can fail with a 'File exist' error if two processes + # try to create one of the directories concurrently. Don't + # stop in that case! + $MKDIR "$_G_dir" 2>/dev/null || : + done + IFS=$func_mkdir_p_IFS + + # Bail out if we (or some other process) failed to create a directory. + test -d "$_G_directory_path" || \ + func_fatal_error "Failed to create '$1'" + fi +} + + +# func_mktempdir [BASENAME] +# ------------------------- +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, BASENAME is the basename for that directory. +func_mktempdir () +{ + $debug_cmd + + _G_template=${TMPDIR-/tmp}/${1-$progname} + + if test : = "$opt_dry_run"; then + # Return a directory name, but don't create it in dry-run mode + _G_tmpdir=$_G_template-$$ else - func_dirname_result="$func_dirname_result${2}" + + # If mktemp works, use that first and foremost + _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` + + if test ! -d "$_G_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + _G_tmpdir=$_G_template-${RANDOM-0}$$ + + func_mktempdir_umask=`umask` + umask 0077 + $MKDIR "$_G_tmpdir" + umask $func_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$_G_tmpdir" || \ + func_fatal_error "cannot create temporary directory '$_G_tmpdir'" fi - func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` -} # func_dirname_and_basename may be replaced by extended shell implementation - - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname may be replaced by extended shell implementation - - -# These SED scripts presuppose an absolute path with a trailing slash. -pathcar='s,^/\([^/]*\).*$,\1,' -pathcdr='s,^/[^/]*,,' -removedotparts=':dotsl - s@/\./@/@g - t dotsl - s,/\.$,/,' -collapseslashes='s@/\{1,\}@/@g' -finalslash='s,/*$,/,' + + $ECHO "$_G_tmpdir" +} + # func_normal_abspath PATH +# ------------------------ # Remove doubled-up and trailing slashes, "." path components, # and cancel out any ".." path components in PATH after making # it an absolute path. -# value returned in "$func_normal_abspath_result" func_normal_abspath () { - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` - while :; do - # Processed it all yet? - if test "$func_normal_abspath_tpath" = / ; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result" ; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$pathcar"` + $debug_cmd + + # These SED scripts presuppose an absolute path with a trailing slash. + _G_pathcar='s|^/\([^/]*\).*$|\1|' + _G_pathcdr='s|^/[^/]*||' + _G_removedotparts=':dotsl + s|/\./|/|g + t dotsl + s|/\.$|/|' + _G_collapseslashes='s|/\{1,\}|/|g' + _G_finalslash='s|/*$|/|' + + # Start from root dir and reassemble the path. + func_normal_abspath_result= + func_normal_abspath_tpath=$1 + func_normal_abspath_altnamespace= + case $func_normal_abspath_tpath in + "") + # Empty path, that just means $cwd. + func_stripname '' '/' "`pwd`" + func_normal_abspath_result=$func_stripname_result + return + ;; + # The next three entries are used to spot a run of precisely + # two leading slashes without using negated character classes; + # we take advantage of case's first-match behaviour. + ///*) + # Unusual form of absolute path, do nothing. + ;; + //*) + # Not necessarily an ordinary path; POSIX reserves leading '//' + # and for example Cygwin uses it to access remote file shares + # over CIFS/SMB, so we conserve a leading double slash if found. + func_normal_abspath_altnamespace=/ + ;; + /*) + # Absolute path, do nothing. + ;; + *) + # Relative path, prepend $cwd. + func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath + ;; + esac + + # Cancel out all the simple stuff to save iterations. We also want + # the path to end with a slash for ease of parsing, so make sure + # there is one (and only one) here. func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - -# func_relative_path SRCDIR DSTDIR -# generates a relative path from SRCDIR to DSTDIR, with a trailing -# slash if non-empty, suitable for immediately appending a filename -# without needing to append a separator. -# value returned in "$func_relative_path_result" -func_relative_path () -{ - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. + -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` + while :; do + # Processed it all yet? + if test / = "$func_normal_abspath_tpath"; then + # If we ascended to the root using ".." the result may be empty now. + if test -z "$func_normal_abspath_result"; then + func_normal_abspath_result=/ fi break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=${func_dirname_result} - if test "x$func_relative_path_tlibdir" = x ; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test "x$func_stripname_result" != x ; then - func_relative_path_result=${func_relative_path_result}/${func_stripname_result} - fi - - # Normalisation. If bindir is libdir, return empty string, - # else relative path ending with a slash; either way, target - # file name can be directly appended. - if test ! -z "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result/" - func_relative_path_result=$func_stripname_result - fi -} - -# The name of this program: -func_dirname_and_basename "$progpath" -progname=$func_basename_result - -# Make sure we have an absolute path for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=$func_dirname_result - progdir=`cd "$progdir" && pwd` - progpath="$progdir/$progname" - ;; - *) - save_IFS="$IFS" - IFS=${PATH_SEPARATOR-:} - for progdir in $PATH; do - IFS="$save_IFS" - test -x "$progdir/$progname" && break - done - IFS="$save_IFS" - test -n "$progdir" || progdir=`pwd` - progpath="$progdir/$progname" - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed="${SED}"' -e 1s/^X//' -sed_quote_subst='s/\([`"$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' - -# Sed substitution that converts a w32 file name or path -# which contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-`\' parameter expansions in output of double_quote_subst that were -# `\'-ed in input to the same. If an odd number of `\' preceded a '$' -# in input to double_quote_subst, that '$' was protected from expansion. -# Since each input `\' is now two `\'s, look for any number of runs of -# four `\'s followed by two `\'s and then a '$'. `\' that '$'. -bs='\\' -bs2='\\\\' -bs4='\\\\\\\\' -dollar='\$' -sed_double_backslash="\ - s/$bs4/&\\ -/g - s/^$bs2$dollar/$bs&/ - s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g - s/\n//g" - -# Standard options: -opt_dry_run=false -opt_help=false -opt_quiet=false -opt_verbose=false -opt_warning=: - -# func_echo arg... -# Echo program name prefixed message, along with the current mode -# name if it has been set yet. -func_echo () -{ - $ECHO "$progname: ${opt_mode+$opt_mode: }$*" -} - -# func_verbose arg... -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $opt_verbose && func_echo ${1+"$@"} + fi + func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcar"` + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcdr"` + # Figure out what to do with it + case $func_normal_abspath_tcomponent in + "") + # Trailing empty path component, ignore it. + ;; + ..) + # Parent dir; strip last assembled component from result. + func_dirname "$func_normal_abspath_result" + func_normal_abspath_result=$func_dirname_result + ;; + *) + # Actual path component, append it. + func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" + ;; + esac + done + # Restore leading double-slash if one was found on entry. + func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result +} + + +# func_notquiet ARG... +# -------------------- +# Echo program name prefixed message only when not in quiet mode. +func_notquiet () +{ + $debug_cmd + + $opt_quiet || func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to @@ -454,450 +1025,1113 @@ : } -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -# func_error arg... -# Echo program name prefixed message to standard error. -func_error () -{ - $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 -} - -# func_warning arg... -# Echo program name prefixed warning message to standard error. -func_warning () -{ - $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 - - # bash bug again: + +# func_relative_path SRCDIR DSTDIR +# -------------------------------- +# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. +func_relative_path () +{ + $debug_cmd + + func_relative_path_result= + func_normal_abspath "$1" + func_relative_path_tlibdir=$func_normal_abspath_result + func_normal_abspath "$2" + func_relative_path_tbindir=$func_normal_abspath_result + + # Ascend the tree starting from libdir + while :; do + # check if we have found a prefix of bindir + case $func_relative_path_tbindir in + $func_relative_path_tlibdir) + # found an exact match + func_relative_path_tcancelled= + break + ;; + $func_relative_path_tlibdir*) + # found a matching prefix + func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" + func_relative_path_tcancelled=$func_stripname_result + if test -z "$func_relative_path_result"; then + func_relative_path_result=. + fi + break + ;; + *) + func_dirname $func_relative_path_tlibdir + func_relative_path_tlibdir=$func_dirname_result + if test -z "$func_relative_path_tlibdir"; then + # Have to descend all the way to the root! + func_relative_path_result=../$func_relative_path_result + func_relative_path_tcancelled=$func_relative_path_tbindir + break + fi + func_relative_path_result=../$func_relative_path_result + ;; + esac + done + + # Now calculate path; take care to avoid doubling-up slashes. + func_stripname '' '/' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + func_stripname '/' '/' "$func_relative_path_tcancelled" + if test -n "$func_stripname_result"; then + func_append func_relative_path_result "/$func_stripname_result" + fi + + # Normalisation. If bindir is libdir, return '.' else relative path. + if test -n "$func_relative_path_result"; then + func_stripname './' '' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + fi + + test -n "$func_relative_path_result" || func_relative_path_result=. + : } -# func_fatal_error arg... -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - -# func_fatal_help arg... -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - func_error ${1+"$@"} - func_fatal_error "$help" -} -help="Try \`$progname --help' for more information." ## default - - -# func_grep expression filename -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_mkdir_p directory-path -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - my_directory_path="$1" - my_dir_list= - - if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then - - # Protect directory names starting with `-' - case $my_directory_path in - -*) my_directory_path="./$my_directory_path" ;; + +# func_quote_for_eval ARG... +# -------------------------- +# Aesthetically quote ARGs to be evaled later. +# This function returns two values: +# i) func_quote_for_eval_result +# double-quoted, suitable for a subsequent eval +# ii) func_quote_for_eval_unquoted_result +# has all characters that are still active within double +# quotes backslashified. +func_quote_for_eval () +{ + $debug_cmd + + func_quote_for_eval_unquoted_result= + func_quote_for_eval_result= + while test 0 -lt $#; do + case $1 in + *[\\\`\"\$]*) + _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; + *) + _G_unquoted_arg=$1 ;; esac - - # While some portion of DIR does not yet exist... - while test ! -d "$my_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - my_dir_list="$my_directory_path:$my_dir_list" - - # If the last portion added has no slash in it, the list is done - case $my_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` - done - my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` - - save_mkdir_p_IFS="$IFS"; IFS=':' - for my_dir in $my_dir_list; do - IFS="$save_mkdir_p_IFS" - # mkdir can fail with a `File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$my_dir" 2>/dev/null || : - done - IFS="$save_mkdir_p_IFS" - - # Bail out if we (or some other process) failed to create a directory. - test -d "$my_directory_path" || \ - func_fatal_error "Failed to create \`$1'" - fi -} - - -# func_mktempdir [string] -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. -func_mktempdir () -{ - my_template="${TMPDIR-/tmp}/${1-$progname}" - - if test "$opt_dry_run" = ":"; then - # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" - else - - # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` - - if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" - - save_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$my_tmpdir" - umask $save_mktempdir_umask + if test -n "$func_quote_for_eval_unquoted_result"; then + func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" + else + func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" fi - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || \ - func_fatal_error "cannot create temporary directory \`$my_tmpdir'" - fi - - $ECHO "$my_tmpdir" -} - - -# func_quote_for_eval arg -# Aesthetically quote ARG to be evaled later. -# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT -# is double-quoted, suitable for a subsequent eval, whereas -# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters -# which are still active within double quotes backslashified. -func_quote_for_eval () -{ - case $1 in - *[\\\`\"\$]*) - func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; - *) - func_quote_for_eval_unquoted_result="$1" ;; - esac - - case $func_quote_for_eval_unquoted_result in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and and variable - # expansion for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" - ;; - *) - func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" - esac -} - - -# func_quote_for_expand arg + case $_G_unquoted_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + _G_quoted_arg=\"$_G_unquoted_arg\" + ;; + *) + _G_quoted_arg=$_G_unquoted_arg + ;; + esac + + if test -n "$func_quote_for_eval_result"; then + func_append func_quote_for_eval_result " $_G_quoted_arg" + else + func_append func_quote_for_eval_result "$_G_quoted_arg" + fi + shift + done +} + + +# func_quote_for_expand ARG +# ------------------------- # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { + $debug_cmd + case $1 in *[\\\`\"]*) - my_arg=`$ECHO "$1" | $SED \ - -e "$double_quote_subst" -e "$sed_double_backslash"` ;; + _G_arg=`$ECHO "$1" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; *) - my_arg="$1" ;; + _G_arg=$1 ;; esac - case $my_arg in + case $_G_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - my_arg="\"$my_arg\"" + _G_arg=\"$_G_arg\" ;; esac - func_quote_for_expand_result="$my_arg" -} - - -# func_show_eval cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is + func_quote_for_expand_result=$_G_arg +} + + +# func_stripname PREFIX SUFFIX NAME +# --------------------------------- +# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_stripname () + { + $debug_cmd + + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary variable first. + func_stripname_result=$3 + func_stripname_result=${func_stripname_result#"$1"} + func_stripname_result=${func_stripname_result%"$2"} + }' +else + func_stripname () + { + $debug_cmd + + case $2 in + .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; + *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; + esac + } +fi + + +# func_show_eval CMD [FAIL_EXP] +# ----------------------------- +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + func_quote_for_expand "$_G_cmd" + eval "func_notquiet $func_quote_for_expand_result" + + $opt_dry_run || { + eval "$_G_cmd" + _G_status=$? + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi } - - if ${opt_dry_run-false}; then :; else - eval "$my_cmd" - my_status=$? - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - - -# func_show_eval_locale cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is +} + + +# func_show_eval_locale CMD [FAIL_EXP] +# ------------------------------------ +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + $opt_quiet || { + func_quote_for_expand "$_G_cmd" eval "func_echo $func_quote_for_expand_result" } - if ${opt_dry_run-false}; then :; else - eval "$lt_user_locale - $my_cmd" - my_status=$? - eval "$lt_safe_locale" - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" + $opt_dry_run || { + eval "$_G_user_locale + $_G_cmd" + _G_status=$? + eval "$_G_safe_locale" + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" fi - fi -} + } +} + # func_tr_sh +# ---------- # Turn $1 into a string suitable for a shell variable name. # Result is stored in $func_tr_sh_result. All characters # not in the set a-zA-Z0-9_ are replaced with '_'. Further, # if $1 begins with a digit, a '_' is prepended as well. func_tr_sh () { - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac -} - - -# func_version -# Echo version message to standard output and exit. -func_version () -{ - $opt_debug - - $SED -n '/(C)/!b go - :more - /\./!{ - N - s/\n# / / - b more - } - :go - /^# '$PROGRAM' (GNU /,/# warranty; / { - s/^# // - s/^# *$// - s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ - p - }' < "$progpath" - exit $? -} - -# func_usage -# Echo short help message to standard output and exit. -func_usage () -{ - $opt_debug - - $SED -n '/^# Usage:/,/^# *.*--help/ { - s/^# // - s/^# *$// - s/\$progname/'$progname'/ - p - }' < "$progpath" - echo - $ECHO "run \`$progname --help | more' for full usage" - exit $? -} - -# func_help [NOEXIT] -# Echo long help message to standard output and exit, -# unless 'noexit' is passed as argument. + $debug_cmd + + case $1 in + [0-9]* | *[!a-zA-Z0-9_]*) + func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` + ;; + * ) + func_tr_sh_result=$1 + ;; + esac +} + + +# func_verbose ARG... +# ------------------- +# Echo program name prefixed message in verbose mode only. +func_verbose () +{ + $debug_cmd + + $opt_verbose && func_echo "$*" + + : +} + + +# func_warn_and_continue ARG... +# ----------------------------- +# Echo program name prefixed warning message to standard error. +func_warn_and_continue () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 +} + + +# func_warning CATEGORY ARG... +# ---------------------------- +# Echo program name prefixed warning message to standard error. Warning +# messages can be filtered according to CATEGORY, where this function +# elides messages where CATEGORY is not listed in the global variable +# 'opt_warning_types'. +func_warning () +{ + $debug_cmd + + # CATEGORY must be in the warning_categories list! + case " $warning_categories " in + *" $1 "*) ;; + *) func_internal_error "invalid warning category '$1'" ;; + esac + + _G_category=$1 + shift + + case " $opt_warning_types " in + *" $_G_category "*) $warning_func ${1+"$@"} ;; + esac +} + + +# func_sort_ver VER1 VER2 +# ----------------------- +# 'sort -V' is not generally available. +# Note this deviates from the version comparison in automake +# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a +# but this should suffice as we won't be specifying old +# version formats or redundant trailing .0 in bootstrap.conf. +# If we did want full compatibility then we should probably +# use m4_version_compare from autoconf. +func_sort_ver () +{ + $debug_cmd + + printf '%s\n%s\n' "$1" "$2" \ + | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n +} + +# func_lt_ver PREV CURR +# --------------------- +# Return true if PREV and CURR are in the correct order according to +# func_sort_ver, otherwise false. Use it like this: +# +# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." +func_lt_ver () +{ + $debug_cmd + + test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: +#! /bin/sh + +# Set a version string for this script. +scriptversion=2014-01-07.03; # UTC + +# A portable, pluggable option parser for Bourne shell. +# Written by Gary V. Vaughan, 2010 + +# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Please report bugs or propose patches to gary@gnu.org. + + +## ------ ## +## Usage. ## +## ------ ## + +# This file is a library for parsing options in your shell scripts along +# with assorted other useful supporting features that you can make use +# of too. +# +# For the simplest scripts you might need only: +# +# #!/bin/sh +# . relative/path/to/funclib.sh +# . relative/path/to/options-parser +# scriptversion=1.0 +# func_options ${1+"$@"} +# eval set dummy "$func_options_result"; shift +# ...rest of your script... +# +# In order for the '--version' option to work, you will need to have a +# suitably formatted comment like the one at the top of this file +# starting with '# Written by ' and ending with '# warranty; '. +# +# For '-h' and '--help' to work, you will also need a one line +# description of your script's purpose in a comment directly above the +# '# Written by ' line, like the one at the top of this file. +# +# The default options also support '--debug', which will turn on shell +# execution tracing (see the comment above debug_cmd below for another +# use), and '--verbose' and the func_verbose function to allow your script +# to display verbose messages only when your user has specified +# '--verbose'. +# +# After sourcing this file, you can plug processing for additional +# options by amending the variables from the 'Configuration' section +# below, and following the instructions in the 'Option parsing' +# section further down. + +## -------------- ## +## Configuration. ## +## -------------- ## + +# You should override these variables in your script after sourcing this +# file so that they reflect the customisations you have added to the +# option parser. + +# The usage line for option parsing errors and the start of '-h' and +# '--help' output messages. You can embed shell variables for delayed +# expansion at the time the message is displayed, but you will need to +# quote other shell meta-characters carefully to prevent them being +# expanded when the contents are evaled. +usage='$progpath [OPTION]...' + +# Short help message in response to '-h' and '--help'. Add to this or +# override it after sourcing this library to reflect the full set of +# options your script accepts. +usage_message="\ + --debug enable verbose shell tracing + -W, --warnings=CATEGORY + report the warnings falling in CATEGORY [all] + -v, --verbose verbosely report processing + --version print version information and exit + -h, --help print short or long help message and exit +" + +# Additional text appended to 'usage_message' in response to '--help'. +long_help_message=" +Warning categories include: + 'all' show all warnings + 'none' turn off all the warnings + 'error' warnings are treated as fatal errors" + +# Help message printed before fatal option parsing errors. +fatal_help="Try '\$progname --help' for more information." + + + +## ------------------------- ## +## Hook function management. ## +## ------------------------- ## + +# This section contains functions for adding, removing, and running hooks +# to the main code. A hook is just a named list of of function, that can +# be run in order later on. + +# func_hookable FUNC_NAME +# ----------------------- +# Declare that FUNC_NAME will run hooks added with +# 'func_add_hook FUNC_NAME ...'. +func_hookable () +{ + $debug_cmd + + func_append hookable_fns " $1" +} + + +# func_add_hook FUNC_NAME HOOK_FUNC +# --------------------------------- +# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must +# first have been declared "hookable" by a call to 'func_hookable'. +func_add_hook () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not accept hook functions." ;; + esac + + eval func_append ${1}_hooks '" $2"' +} + + +# func_remove_hook FUNC_NAME HOOK_FUNC +# ------------------------------------ +# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. +func_remove_hook () +{ + $debug_cmd + + eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' +} + + +# func_run_hooks FUNC_NAME [ARG]... +# --------------------------------- +# Run all hook functions registered to FUNC_NAME. +# It is assumed that the list of hook functions contains nothing more +# than a whitespace-delimited list of legal shell function names, and +# no effort is wasted trying to catch shell meta-characters or preserve +# whitespace. +func_run_hooks () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not support hook funcions.n" ;; + esac + + eval _G_hook_fns=\$$1_hooks; shift + + for _G_hook in $_G_hook_fns; do + eval $_G_hook '"$@"' + + # store returned options list back into positional + # parameters for next 'cmd' execution. + eval _G_hook_result=\$${_G_hook}_result + eval set dummy "$_G_hook_result"; shift + done + + func_quote_for_eval ${1+"$@"} + func_run_hooks_result=$func_quote_for_eval_result +} + + + +## --------------- ## +## Option parsing. ## +## --------------- ## + +# In order to add your own option parsing hooks, you must accept the +# full positional parameter list in your hook function, remove any +# options that you action, and then pass back the remaining unprocessed +# options in '_result', escaped suitably for +# 'eval'. Like this: +# +# my_options_prep () +# { +# $debug_cmd +# +# # Extend the existing usage message. +# usage_message=$usage_message' +# -s, --silent don'\''t print informational messages +# ' +# +# func_quote_for_eval ${1+"$@"} +# my_options_prep_result=$func_quote_for_eval_result +# } +# func_add_hook func_options_prep my_options_prep +# +# +# my_silent_option () +# { +# $debug_cmd +# +# # Note that for efficiency, we parse as many options as we can +# # recognise in a loop before passing the remainder back to the +# # caller on the first unrecognised argument we encounter. +# while test $# -gt 0; do +# opt=$1; shift +# case $opt in +# --silent|-s) opt_silent=: ;; +# # Separate non-argument short options: +# -s*) func_split_short_opt "$_G_opt" +# set dummy "$func_split_short_opt_name" \ +# "-$func_split_short_opt_arg" ${1+"$@"} +# shift +# ;; +# *) set dummy "$_G_opt" "$*"; shift; break ;; +# esac +# done +# +# func_quote_for_eval ${1+"$@"} +# my_silent_option_result=$func_quote_for_eval_result +# } +# func_add_hook func_parse_options my_silent_option +# +# +# my_option_validation () +# { +# $debug_cmd +# +# $opt_silent && $opt_verbose && func_fatal_help "\ +# '--silent' and '--verbose' options are mutually exclusive." +# +# func_quote_for_eval ${1+"$@"} +# my_option_validation_result=$func_quote_for_eval_result +# } +# func_add_hook func_validate_options my_option_validation +# +# You'll alse need to manually amend $usage_message to reflect the extra +# options you parse. It's preferable to append if you can, so that +# multiple option parsing hooks can be added safely. + + +# func_options [ARG]... +# --------------------- +# All the functions called inside func_options are hookable. See the +# individual implementations for details. +func_hookable func_options +func_options () +{ + $debug_cmd + + func_options_prep ${1+"$@"} + eval func_parse_options \ + ${func_options_prep_result+"$func_options_prep_result"} + eval func_validate_options \ + ${func_parse_options_result+"$func_parse_options_result"} + + eval func_run_hooks func_options \ + ${func_validate_options_result+"$func_validate_options_result"} + + # save modified positional parameters for caller + func_options_result=$func_run_hooks_result +} + + +# func_options_prep [ARG]... +# -------------------------- +# All initialisations required before starting the option parse loop. +# Note that when calling hook functions, we pass through the list of +# positional parameters. If a hook function modifies that list, and +# needs to propogate that back to rest of this script, then the complete +# modified list must be put in 'func_run_hooks_result' before +# returning. +func_hookable func_options_prep +func_options_prep () +{ + $debug_cmd + + # Option defaults: + opt_verbose=false + opt_warning_types= + + func_run_hooks func_options_prep ${1+"$@"} + + # save modified positional parameters for caller + func_options_prep_result=$func_run_hooks_result +} + + +# func_parse_options [ARG]... +# --------------------------- +# The main option parsing loop. +func_hookable func_parse_options +func_parse_options () +{ + $debug_cmd + + func_parse_options_result= + + # this just eases exit handling + while test $# -gt 0; do + # Defer to hook functions for initial option parsing, so they + # get priority in the event of reusing an option name. + func_run_hooks func_parse_options ${1+"$@"} + + # Adjust func_parse_options positional parameters to match + eval set dummy "$func_run_hooks_result"; shift + + # Break out of the loop if we already parsed every option. + test $# -gt 0 || break + + _G_opt=$1 + shift + case $_G_opt in + --debug|-x) debug_cmd='set -x' + func_echo "enabling shell trace mode" + $debug_cmd + ;; + + --no-warnings|--no-warning|--no-warn) + set dummy --warnings none ${1+"$@"} + shift + ;; + + --warnings|--warning|-W) + test $# = 0 && func_missing_arg $_G_opt && break + case " $warning_categories $1" in + *" $1 "*) + # trailing space prevents matching last $1 above + func_append_uniq opt_warning_types " $1" + ;; + *all) + opt_warning_types=$warning_categories + ;; + *none) + opt_warning_types=none + warning_func=: + ;; + *error) + opt_warning_types=$warning_categories + warning_func=func_fatal_error + ;; + *) + func_fatal_error \ + "unsupported warning category: '$1'" + ;; + esac + shift + ;; + + --verbose|-v) opt_verbose=: ;; + --version) func_version ;; + -\?|-h) func_usage ;; + --help) func_help ;; + + # Separate optargs to long options (plugins may need this): + --*=*) func_split_equals "$_G_opt" + set dummy "$func_split_equals_lhs" \ + "$func_split_equals_rhs" ${1+"$@"} + shift + ;; + + # Separate optargs to short options: + -W*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + # Separate non-argument short options: + -\?*|-h*|-v*|-x*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "-$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + --) break ;; + -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + esac + done + + # save modified positional parameters for caller + func_quote_for_eval ${1+"$@"} + func_parse_options_result=$func_quote_for_eval_result +} + + +# func_validate_options [ARG]... +# ------------------------------ +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +func_hookable func_validate_options +func_validate_options () +{ + $debug_cmd + + # Display all warnings if -W was not given. + test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" + + func_run_hooks func_validate_options ${1+"$@"} + + # Bail if the options were screwed! + $exit_cmd $EXIT_FAILURE + + # save modified positional parameters for caller + func_validate_options_result=$func_run_hooks_result +} + + + +## ----------------- ## +## Helper functions. ## +## ----------------- ## + +# This section contains the helper functions used by the rest of the +# hookable option parser framework in ascii-betical order. + + +# func_fatal_help ARG... +# ---------------------- +# Echo program name prefixed message to standard error, followed by +# a help hint, and exit. +func_fatal_help () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + eval \$ECHO \""$fatal_help"\" + func_error ${1+"$@"} + exit $EXIT_FAILURE +} + + +# func_help +# --------- +# Echo long help message to standard output and exit. func_help () { - $opt_debug - - $SED -n '/^# Usage:/,/# Report bugs to/ { - :print - s/^# // - s/^# *$// - s*\$progname*'$progname'* - s*\$host*'"$host"'* - s*\$SHELL*'"$SHELL"'* - s*\$LTCC*'"$LTCC"'* - s*\$LTCFLAGS*'"$LTCFLAGS"'* - s*\$LD*'"$LD"'* - s/\$with_gnu_ld/'"$with_gnu_ld"'/ - s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ - s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ - p - d - } - /^# .* home page:/b print - /^# General help using/b print - ' < "$progpath" - ret=$? - if test -z "$1"; then - exit $ret - fi -} - -# func_missing_arg argname + $debug_cmd + + func_usage_message + $ECHO "$long_help_message" + exit 0 +} + + +# func_missing_arg ARGNAME +# ------------------------ # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { - $opt_debug - - func_error "missing argument for $1." + $debug_cmd + + func_error "Missing argument for '$1'." exit_cmd=exit } -# func_split_short_opt shortopt +# func_split_equals STRING +# ------------------------ +# Set func_split_equals_lhs and func_split_equals_rhs shell variables after +# splitting STRING at the '=' sign. +test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=${1%%=*} + func_split_equals_rhs=${1#*=} + test "x$func_split_equals_lhs" = "x$1" \ + && func_split_equals_rhs= + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` + func_split_equals_rhs= + test "x$func_split_equals_lhs" = "x$1" \ + || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` + } +fi #func_split_equals + + +# func_split_short_opt SHORTOPT +# ----------------------------- # Set func_split_short_opt_name and func_split_short_opt_arg shell # variables after splitting SHORTOPT after the 2nd character. -func_split_short_opt () -{ - my_sed_short_opt='1s/^\(..\).*$/\1/;q' - my_sed_short_rest='1s/^..\(.*\)$/\1/;q' - - func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` - func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` -} # func_split_short_opt may be replaced by extended shell implementation - - -# func_split_long_opt longopt -# Set func_split_long_opt_name and func_split_long_opt_arg shell -# variables after splitting LONGOPT at the `=' sign. -func_split_long_opt () -{ - my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' - my_sed_long_arg='1s/^--[^=]*=//' - - func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` - func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` -} # func_split_long_opt may be replaced by extended shell implementation - -exit_cmd=: - - - - - -magic="%%%MAGIC variable%%%" -magic_exe="%%%MAGIC EXE variable%%%" - -# Global variables. -nonopt= -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "${1}=\$${1}\${2}" -} # func_append may be replaced by extended shell implementation - -# func_append_quoted var value -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -func_append_quoted () -{ - func_quote_for_eval "${2}" - eval "${1}=\$${1}\\ \$func_quote_for_eval_result" -} # func_append_quoted may be replaced by extended shell implementation - - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "${@}"` -} # func_arith may be replaced by extended shell implementation - - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` -} # func_len may be replaced by extended shell implementation - - -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` -} # func_lo2o may be replaced by extended shell implementation - - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` -} # func_xform may be replaced by extended shell implementation - - -# func_fatal_configuration arg... +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_arg=${1#??} + func_split_short_opt_name=${1%"$func_split_short_opt_arg"} + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` + func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` + } +fi #func_split_short_opt + + +# func_usage +# ---------- +# Echo short help message to standard output and exit. +func_usage () +{ + $debug_cmd + + func_usage_message + $ECHO "Run '$progname --help |${PAGER-more}' for full usage" + exit 0 +} + + +# func_usage_message +# ------------------ +# Echo short help message to standard output. +func_usage_message () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + echo + $SED -n 's|^# || + /^Written by/{ + x;p;x + } + h + /^Written by/q' < "$progpath" + echo + eval \$ECHO \""$usage_message"\" +} + + +# func_version +# ------------ +# Echo version message to standard output and exit. +func_version () +{ + $debug_cmd + + printf '%s\n' "$progname $scriptversion" + $SED -n ' + /(C)/!b go + :more + /\./!{ + N + s|\n# | | + b more + } + :go + /^# Written by /,/# warranty; / { + s|^# || + s|^# *$|| + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| + p + } + /^# Written by / { + s|^# || + p + } + /^warranty; /q' < "$progpath" + + exit $? +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: + +# Set a version string. +scriptversion='(GNU libtool) 2.4.6' + + +# func_echo ARG... +# ---------------- +# Libtool also displays the current mode in messages, so override +# funclib.sh func_echo with this custom definition. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_warning ARG... +# ------------------- +# Libtool warnings are not categorized, so override funclib.sh +# func_warning with this simpler definition. +func_warning () +{ + $debug_cmd + + $warning_func ${1+"$@"} +} + + +## ---------------- ## +## Options parsing. ## +## ---------------- ## + +# Hook in the functions to make sure our own options are parsed during +# the option parsing loop. + +usage='$progpath [OPTION]... [MODE-ARG]...' + +# Short help message in response to '-h'. +usage_message="Options: + --config show all configuration variables + --debug enable verbose shell tracing + -n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --mode=MODE use operation mode MODE + --no-warnings equivalent to '-Wnone' + --preserve-dup-deps don't remove duplicate dependency libraries + --quiet, --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + -v, --verbose print more informational messages than default + --version print version information + -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] + -h, --help, --help-all print short, long, or detailed help message +" + +# Additional text appended to 'usage_message' in response to '--help'. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. When passed as first option, +'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. +Try '$progname --help --mode=MODE' for a more detailed description of MODE. + +When reporting a bug, please describe a test case to reproduce it and +include the following information: + + host-triplet: $host + shell: $SHELL + compiler: $LTCC + compiler flags: $LTCFLAGS + linker: $LD (gnu? $with_gnu_ld) + version: $progname (GNU libtool) 2.4.6 + automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` + autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` + +Report bugs to . +GNU libtool home page: . +General help using GNU software: ." + exit 0 +} + + +# func_lo2o OBJECT-NAME +# --------------------- +# Transform OBJECT-NAME from a '.lo' suffix to the platform specific +# object suffix. + +lo2o=s/\\.lo\$/.$objext/ +o2lo=s/\\.$objext\$/.lo/ + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_lo2o () + { + case $1 in + *.lo) func_lo2o_result=${1%.lo}.$objext ;; + * ) func_lo2o_result=$1 ;; + esac + }' + + # func_xform LIBOBJ-OR-SOURCE + # --------------------------- + # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) + # suffix to a '.lo' libtool-object suffix. + eval 'func_xform () + { + func_xform_result=${1%.*}.lo + }' +else + # ...otherwise fall back to using sed. + func_lo2o () + { + func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` + } + + func_xform () + { + func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` + } +fi + + +# func_fatal_configuration ARG... +# ------------------------------- # Echo program name prefixed message to standard error, followed by # a configuration failure hint, and exit. func_fatal_configuration () { - func_error ${1+"$@"} - func_error "See the $PACKAGE documentation for more information." - func_fatal_error "Fatal configuration error." + func__fatal_error ${1+"$@"} \ + "See the $PACKAGE documentation for more information." \ + "Fatal configuration error." } # func_config +# ----------- # Display the configuration for all the tags in this script. func_config () { @@ -915,17 +2149,19 @@ exit $? } + # func_features +# ------------- # Display the features supported by this script. func_features () { echo "host: $host" - if test "$build_libtool_libs" = yes; then + if test yes = "$build_libtool_libs"; then echo "enable shared libraries" else echo "disable shared libraries" fi - if test "$build_old_libs" = yes; then + if test yes = "$build_old_libs"; then echo "enable static libraries" else echo "disable static libraries" @@ -934,289 +2170,297 @@ exit $? } -# func_enable_tag tagname + +# func_enable_tag TAGNAME +# ----------------------- # Verify that TAGNAME is valid, and either flag an error and exit, or # enable the TAGNAME tag. We also add TAGNAME to the global $taglist # variable here. func_enable_tag () { - # Global variable: - tagname="$1" - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf="/$re_begincf/,/$re_endcf/p" - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac - - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; + # Global variable: + tagname=$1 + + re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" + re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" + sed_extractcf=/$re_begincf/,/$re_endcf/p + + # Validate tagname. + case $tagname in + *[!-_A-Za-z0-9,/]*) + func_fatal_error "invalid tag name: $tagname" + ;; + esac + + # Don't test for the "default" C tag, as we know it's + # there but not specially marked. + case $tagname in + CC) ;; *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} + if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then + taglist="$taglist $tagname" + + # Evaluate the configuration. Be careful to quote the path + # and the sed script, to avoid splitting on whitespace, but + # also don't use non-portable quotes within backquotes within + # quotes we have to do it in 2 steps: + extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` + eval "$extractedcf" + else + func_error "ignoring unknown tag $tagname" + fi + ;; + esac +} + # func_check_version_match +# ------------------------ # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF + if test "$package_revision" != "$macro_revision"; then + if test "$VERSION" != "$macro_version"; then + if test -z "$macro_version"; then + cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF - else - cat >&2 <<_LT_EOF + else + cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF - fi - else - cat >&2 <<_LT_EOF + fi + else + cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF + fi + + exit $EXIT_MISMATCH fi - - exit $EXIT_MISMATCH - fi -} - - -# Shorthand for --mode=foo, only valid as the first argument -case $1 in -clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; -compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; -execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; -finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; -install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; -link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; -uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; -esac - - - -# Option defaults: -opt_debug=: -opt_dry_run=false -opt_config=false -opt_preserve_dup_deps=false -opt_features=false -opt_finish=false -opt_help=false -opt_help_all=false -opt_silent=: -opt_warning=: -opt_verbose=: -opt_silent=false -opt_verbose=false - - -# Parse options once, thoroughly. This comes as soon as possible in the -# script to make things like `--version' happen as quickly as we can. -{ - # this just eases exit handling - while test $# -gt 0; do - opt="$1" - shift - case $opt in - --debug|-x) opt_debug='set -x' - func_echo "enabling shell trace mode" - $opt_debug - ;; - --dry-run|--dryrun|-n) - opt_dry_run=: - ;; - --config) - opt_config=: -func_config - ;; - --dlopen|-dlopen) - optarg="$1" - opt_dlopen="${opt_dlopen+$opt_dlopen -}$optarg" - shift - ;; - --preserve-dup-deps) - opt_preserve_dup_deps=: - ;; - --features) - opt_features=: -func_features - ;; - --finish) - opt_finish=: -set dummy --mode finish ${1+"$@"}; shift - ;; - --help) - opt_help=: - ;; - --help-all) - opt_help_all=: -opt_help=': help-all' - ;; - --mode) - test $# = 0 && func_missing_arg $opt && break - optarg="$1" - opt_mode="$optarg" -case $optarg in - # Valid mode arguments: - clean|compile|execute|finish|install|link|relink|uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $opt" - exit_cmd=exit - break - ;; -esac - shift - ;; - --no-silent|--no-quiet) - opt_silent=false -func_append preserve_args " $opt" - ;; - --no-warning|--no-warn) - opt_warning=false -func_append preserve_args " $opt" - ;; - --no-verbose) - opt_verbose=false -func_append preserve_args " $opt" - ;; - --silent|--quiet) - opt_silent=: -func_append preserve_args " $opt" - opt_verbose=false - ;; - --verbose|-v) - opt_verbose=: -func_append preserve_args " $opt" -opt_silent=false - ;; - --tag) - test $# = 0 && func_missing_arg $opt && break - optarg="$1" - opt_tag="$optarg" -func_append preserve_args " $opt $optarg" -func_enable_tag "$optarg" - shift - ;; - - -\?|-h) func_usage ;; - --help) func_help ;; - --version) func_version ;; - - # Separate optargs to long options: - --*=*) - func_split_long_opt "$opt" - set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-n*|-v*) - func_split_short_opt "$opt" - set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) break ;; - -*) func_fatal_help "unrecognized option \`$opt'" ;; - *) set dummy "$opt" ${1+"$@"}; shift; break ;; +} + + +# libtool_options_prep [ARG]... +# ----------------------------- +# Preparation for options parsed by libtool. +libtool_options_prep () +{ + $debug_mode + + # Option defaults: + opt_config=false + opt_dlopen= + opt_dry_run=false + opt_help=false + opt_mode= + opt_preserve_dup_deps=false + opt_quiet=false + + nonopt= + preserve_args= + + # Shorthand for --mode=foo, only valid as the first argument + case $1 in + clean|clea|cle|cl) + shift; set dummy --mode clean ${1+"$@"}; shift + ;; + compile|compil|compi|comp|com|co|c) + shift; set dummy --mode compile ${1+"$@"}; shift + ;; + execute|execut|execu|exec|exe|ex|e) + shift; set dummy --mode execute ${1+"$@"}; shift + ;; + finish|finis|fini|fin|fi|f) + shift; set dummy --mode finish ${1+"$@"}; shift + ;; + install|instal|insta|inst|ins|in|i) + shift; set dummy --mode install ${1+"$@"}; shift + ;; + link|lin|li|l) + shift; set dummy --mode link ${1+"$@"}; shift + ;; + uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) + shift; set dummy --mode uninstall ${1+"$@"}; shift + ;; esac - done - - # Validate options: - - # save first non-option argument - if test "$#" -gt 0; then - nonopt="$opt" - shift - fi - - # preserve --debug - test "$opt_debug" = : || func_append preserve_args " --debug" - - case $host in - *cygwin* | *mingw* | *pw32* | *cegcc*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac - - $opt_help || { - # Sanity checks first: - func_check_version_match - - if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - func_fatal_configuration "not configured to build any kind of library" + + # Pass back the list of options. + func_quote_for_eval ${1+"$@"} + libtool_options_prep_result=$func_quote_for_eval_result +} +func_add_hook func_options_prep libtool_options_prep + + +# libtool_parse_options [ARG]... +# --------------------------------- +# Provide handling for libtool specific options. +libtool_parse_options () +{ + $debug_cmd + + # Perform our own loop to consume as many options as possible in + # each iteration. + while test $# -gt 0; do + _G_opt=$1 + shift + case $_G_opt in + --dry-run|--dryrun|-n) + opt_dry_run=: + ;; + + --config) func_config ;; + + --dlopen|-dlopen) + opt_dlopen="${opt_dlopen+$opt_dlopen +}$1" + shift + ;; + + --preserve-dup-deps) + opt_preserve_dup_deps=: ;; + + --features) func_features ;; + + --finish) set dummy --mode finish ${1+"$@"}; shift ;; + + --help) opt_help=: ;; + + --help-all) opt_help=': help-all' ;; + + --mode) test $# = 0 && func_missing_arg $_G_opt && break + opt_mode=$1 + case $1 in + # Valid mode arguments: + clean|compile|execute|finish|install|link|relink|uninstall) ;; + + # Catch anything else as an error + *) func_error "invalid argument for $_G_opt" + exit_cmd=exit + break + ;; + esac + shift + ;; + + --no-silent|--no-quiet) + opt_quiet=false + func_append preserve_args " $_G_opt" + ;; + + --no-warnings|--no-warning|--no-warn) + opt_warning=false + func_append preserve_args " $_G_opt" + ;; + + --no-verbose) + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --silent|--quiet) + opt_quiet=: + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --tag) test $# = 0 && func_missing_arg $_G_opt && break + opt_tag=$1 + func_append preserve_args " $_G_opt $1" + func_enable_tag "$1" + shift + ;; + + --verbose|-v) opt_quiet=false + opt_verbose=: + func_append preserve_args " $_G_opt" + ;; + + # An option not handled by this hook function: + *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + esac + done + + + # save modified positional parameters for caller + func_quote_for_eval ${1+"$@"} + libtool_parse_options_result=$func_quote_for_eval_result +} +func_add_hook func_parse_options libtool_parse_options + + + +# libtool_validate_options [ARG]... +# --------------------------------- +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +libtool_validate_options () +{ + # save first non-option argument + if test 0 -lt $#; then + nonopt=$1 + shift fi - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$opt_dlopen" && test "$opt_mode" != execute; then - func_error "unrecognized option \`-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$progname --help --mode=$opt_mode' for more information." - } - - - # Bail if the options were screwed - $exit_cmd $EXIT_FAILURE -} - + # preserve --debug + test : = "$debug_cmd" || func_append preserve_args " --debug" + + case $host in + # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 + # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 + *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: + ;; + *) + opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps + ;; + esac + + $opt_help || { + # Sanity checks first: + func_check_version_match + + test yes != "$build_libtool_libs" \ + && test yes != "$build_old_libs" \ + && func_fatal_configuration "not configured to build any kind of library" + + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$opt_dlopen" && test execute != "$opt_mode"; then + func_error "unrecognized option '-dlopen'" + $ECHO "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help=$help + help="Try '$progname --help --mode=$opt_mode' for more information." + } + + # Pass back the unparsed argument list + func_quote_for_eval ${1+"$@"} + libtool_validate_options_result=$func_quote_for_eval_result +} +func_add_hook func_validate_options libtool_validate_options + + +# Process options as early as possible so that --help and --version +# can return quickly. +func_options ${1+"$@"} +eval set dummy "$func_options_result"; shift @@ -1224,24 +2468,52 @@ ## Main. ## ## ----------- ## +magic='%%%MAGIC variable%%%' +magic_exe='%%%MAGIC EXE variable%%%' + +# Global variables. +extracted_archives= +extracted_serial=0 + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + +# func_generated_by_libtool +# True iff stdin has been generated by Libtool. This function is only +# a basic sanity check; it will hardly flush out determined imposters. +func_generated_by_libtool_p () +{ + $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 +} + # func_lalib_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. +# True iff FILE is a libtool '.la' library or '.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && - $SED -e 4q "$1" 2>/dev/null \ - | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 + $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p } # func_lalib_unsafe_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. +# True iff FILE is a libtool '.la' library or '.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be -# fatal anyway. Works if `file' does not exist. +# fatal anyway. Works if 'file' does not exist. func_lalib_unsafe_p () { lalib_p=no @@ -1249,13 +2521,13 @@ for lalib_p_l in 1 2 3 4 do read lalib_p_line - case "$lalib_p_line" in + case $lalib_p_line in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi - test "$lalib_p" = yes + test yes = "$lalib_p" } # func_ltwrapper_script_p file @@ -1264,7 +2536,8 @@ # determined imposters. func_ltwrapper_script_p () { - func_lalib_p "$1" + test -f "$1" && + $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p } # func_ltwrapper_executable_p file @@ -1289,7 +2562,7 @@ { func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" + func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper } # func_ltwrapper_p file @@ -1308,11 +2581,13 @@ # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { - $opt_debug + $debug_cmd + save_ifs=$IFS; IFS='~' for cmd in $1; do + IFS=$sp$nl + eval cmd=\"$cmd\" IFS=$save_ifs - eval cmd=\"$cmd\" func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs @@ -1324,10 +2599,11 @@ # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing -# `FILE.' does not work on cygwin managed mounts. +# 'FILE.' does not work on cygwin managed mounts. func_source () { - $opt_debug + $debug_cmd + case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; @@ -1354,10 +2630,10 @@ # store the result into func_replace_sysroot_result. func_replace_sysroot () { - case "$lt_sysroot:$1" in + case $lt_sysroot:$1 in ?*:"$lt_sysroot"*) func_stripname "$lt_sysroot" '' "$1" - func_replace_sysroot_result="=$func_stripname_result" + func_replace_sysroot_result='='$func_stripname_result ;; *) # Including no sysroot. @@ -1374,7 +2650,8 @@ # arg is usually of the form 'gcc ...' func_infer_tag () { - $opt_debug + $debug_cmd + if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do @@ -1393,7 +2670,7 @@ for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. @@ -1418,7 +2695,7 @@ # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with \`--tag'" + func_fatal_error "specify a tag with '--tag'" # else # func_verbose "using $tagname tagged configuration" fi @@ -1434,15 +2711,15 @@ # but don't create it if we're doing a dry run. func_write_libtool_object () { - write_libobj=${1} - if test "$build_libtool_libs" = yes; then - write_lobj=\'${2}\' + write_libobj=$1 + if test yes = "$build_libtool_libs"; then + write_lobj=\'$2\' else write_lobj=none fi - if test "$build_old_libs" = yes; then - write_oldobj=\'${3}\' + if test yes = "$build_old_libs"; then + write_oldobj=\'$3\' else write_oldobj=none fi @@ -1450,7 +2727,7 @@ $opt_dry_run || { cat >${write_libobj}T </dev/null` - if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then + if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | - $SED -e "$lt_sed_naive_backslashify"` + $SED -e "$sed_naive_backslashify"` else func_convert_core_file_wine_to_w32_result= fi @@ -1514,18 +2792,19 @@ # are convertible, then the result may be empty. func_convert_core_path_wine_to_w32 () { - $opt_debug + $debug_cmd + # unfortunately, winepath doesn't convert paths, only file names - func_convert_core_path_wine_to_w32_result="" + func_convert_core_path_wine_to_w32_result= if test -n "$1"; then oldIFS=$IFS IFS=: for func_convert_core_path_wine_to_w32_f in $1; do IFS=$oldIFS func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" - if test -n "$func_convert_core_file_wine_to_w32_result" ; then + if test -n "$func_convert_core_file_wine_to_w32_result"; then if test -z "$func_convert_core_path_wine_to_w32_result"; then - func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" + func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result else func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" fi @@ -1554,7 +2833,8 @@ # environment variable; do not put it in $PATH. func_cygpath () { - $opt_debug + $debug_cmd + if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` if test "$?" -ne 0; then @@ -1563,7 +2843,7 @@ fi else func_cygpath_result= - func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" + func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" fi } #end: func_cygpath @@ -1574,10 +2854,11 @@ # result in func_convert_core_msys_to_w32_result. func_convert_core_msys_to_w32 () { - $opt_debug + $debug_cmd + # awkward: cmd appends spaces to result func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` + $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` } #end: func_convert_core_msys_to_w32 @@ -1588,13 +2869,14 @@ # func_to_host_file_result to ARG1). func_convert_file_check () { - $opt_debug - if test -z "$2" && test -n "$1" ; then + $debug_cmd + + if test -z "$2" && test -n "$1"; then func_error "Could not determine host file name corresponding to" - func_error " \`$1'" + func_error " '$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: - func_to_host_file_result="$1" + func_to_host_file_result=$1 fi } # end func_convert_file_check @@ -1606,10 +2888,11 @@ # func_to_host_file_result to a simplistic fallback value (see below). func_convert_path_check () { - $opt_debug + $debug_cmd + if test -z "$4" && test -n "$3"; then func_error "Could not determine the host path corresponding to" - func_error " \`$3'" + func_error " '$3'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This is a deliberately simplistic "conversion" and # should not be "improved". See libtool.info. @@ -1618,7 +2901,7 @@ func_to_host_path_result=`echo "$3" | $SED -e "$lt_replace_pathsep_chars"` else - func_to_host_path_result="$3" + func_to_host_path_result=$3 fi fi } @@ -1630,9 +2913,10 @@ # and appending REPL if ORIG matches BACKPAT. func_convert_path_front_back_pathsep () { - $opt_debug + $debug_cmd + case $4 in - $1 ) func_to_host_path_result="$3$func_to_host_path_result" + $1 ) func_to_host_path_result=$3$func_to_host_path_result ;; esac case $4 in @@ -1646,7 +2930,7 @@ ################################################## # $build to $host FILE NAME CONVERSION FUNCTIONS # ################################################## -# invoked via `$to_host_file_cmd ARG' +# invoked via '$to_host_file_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # Result will be available in $func_to_host_file_result. @@ -1657,7 +2941,8 @@ # in func_to_host_file_result. func_to_host_file () { - $opt_debug + $debug_cmd + $to_host_file_cmd "$1" } # end func_to_host_file @@ -1669,7 +2954,8 @@ # in (the comma separated) LAZY, no conversion takes place. func_to_tool_file () { - $opt_debug + $debug_cmd + case ,$2, in *,"$to_tool_file_cmd",*) func_to_tool_file_result=$1 @@ -1687,7 +2973,7 @@ # Copy ARG to func_to_host_file_result. func_convert_file_noop () { - func_to_host_file_result="$1" + func_to_host_file_result=$1 } # end func_convert_file_noop @@ -1698,11 +2984,12 @@ # func_to_host_file_result. func_convert_file_msys_to_w32 () { - $opt_debug - func_to_host_file_result="$1" + $debug_cmd + + func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_msys_to_w32 "$1" - func_to_host_file_result="$func_convert_core_msys_to_w32_result" + func_to_host_file_result=$func_convert_core_msys_to_w32_result fi func_convert_file_check "$1" "$func_to_host_file_result" } @@ -1714,8 +3001,9 @@ # func_to_host_file_result. func_convert_file_cygwin_to_w32 () { - $opt_debug - func_to_host_file_result="$1" + $debug_cmd + + func_to_host_file_result=$1 if test -n "$1"; then # because $build is cygwin, we call "the" cygpath in $PATH; no need to use # LT_CYGPATH in this case. @@ -1731,11 +3019,12 @@ # and a working winepath. Returns result in func_to_host_file_result. func_convert_file_nix_to_w32 () { - $opt_debug - func_to_host_file_result="$1" + $debug_cmd + + func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_file_wine_to_w32 "$1" - func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" + func_to_host_file_result=$func_convert_core_file_wine_to_w32_result fi func_convert_file_check "$1" "$func_to_host_file_result" } @@ -1747,12 +3036,13 @@ # Returns result in func_to_host_file_result. func_convert_file_msys_to_cygwin () { - $opt_debug - func_to_host_file_result="$1" + $debug_cmd + + func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_cygpath -u "$func_convert_core_msys_to_w32_result" - func_to_host_file_result="$func_cygpath_result" + func_to_host_file_result=$func_cygpath_result fi func_convert_file_check "$1" "$func_to_host_file_result" } @@ -1765,13 +3055,14 @@ # in func_to_host_file_result. func_convert_file_nix_to_cygwin () { - $opt_debug - func_to_host_file_result="$1" + $debug_cmd + + func_to_host_file_result=$1 if test -n "$1"; then # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. func_convert_core_file_wine_to_w32 "$1" func_cygpath -u "$func_convert_core_file_wine_to_w32_result" - func_to_host_file_result="$func_cygpath_result" + func_to_host_file_result=$func_cygpath_result fi func_convert_file_check "$1" "$func_to_host_file_result" } @@ -1781,7 +3072,7 @@ ############################################# # $build to $host PATH CONVERSION FUNCTIONS # ############################################# -# invoked via `$to_host_path_cmd ARG' +# invoked via '$to_host_path_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # The result will be available in $func_to_host_path_result. @@ -1805,10 +3096,11 @@ to_host_path_cmd= func_init_to_host_path_cmd () { - $opt_debug + $debug_cmd + if test -z "$to_host_path_cmd"; then func_stripname 'func_convert_file_' '' "$to_host_file_cmd" - to_host_path_cmd="func_convert_path_${func_stripname_result}" + to_host_path_cmd=func_convert_path_$func_stripname_result fi } @@ -1818,7 +3110,8 @@ # in func_to_host_path_result. func_to_host_path () { - $opt_debug + $debug_cmd + func_init_to_host_path_cmd $to_host_path_cmd "$1" } @@ -1829,7 +3122,7 @@ # Copy ARG to func_to_host_path_result. func_convert_path_noop () { - func_to_host_path_result="$1" + func_to_host_path_result=$1 } # end func_convert_path_noop @@ -1840,8 +3133,9 @@ # func_to_host_path_result. func_convert_path_msys_to_w32 () { - $opt_debug - func_to_host_path_result="$1" + $debug_cmd + + func_to_host_path_result=$1 if test -n "$1"; then # Remove leading and trailing path separator characters from ARG. MSYS # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; @@ -1849,7 +3143,7 @@ func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result="$func_convert_core_msys_to_w32_result" + func_to_host_path_result=$func_convert_core_msys_to_w32_result func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" @@ -1863,8 +3157,9 @@ # func_to_host_file_result. func_convert_path_cygwin_to_w32 () { - $opt_debug - func_to_host_path_result="$1" + $debug_cmd + + func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" @@ -1883,14 +3178,15 @@ # a working winepath. Returns result in func_to_host_file_result. func_convert_path_nix_to_w32 () { - $opt_debug - func_to_host_path_result="$1" + $debug_cmd + + func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" + func_to_host_path_result=$func_convert_core_path_wine_to_w32_result func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" @@ -1904,15 +3200,16 @@ # Returns result in func_to_host_file_result. func_convert_path_msys_to_cygwin () { - $opt_debug - func_to_host_path_result="$1" + $debug_cmd + + func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_msys_to_w32_result" - func_to_host_path_result="$func_cygpath_result" + func_to_host_path_result=$func_cygpath_result func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" @@ -1927,8 +3224,9 @@ # func_to_host_file_result. func_convert_path_nix_to_cygwin () { - $opt_debug - func_to_host_path_result="$1" + $debug_cmd + + func_to_host_path_result=$1 if test -n "$1"; then # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them @@ -1937,7 +3235,7 @@ func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" - func_to_host_path_result="$func_cygpath_result" + func_to_host_path_result=$func_cygpath_result func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" @@ -1946,13 +3244,31 @@ # end func_convert_path_nix_to_cygwin +# func_dll_def_p FILE +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with _LT_DLL_DEF_P in libtool.m4 +func_dll_def_p () +{ + $debug_cmd + + func_dll_def_p_tmp=`$SED -n \ + -e 's/^[ ]*//' \ + -e '/^\(;.*\)*$/d' \ + -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ + -e q \ + "$1"` + test DEF = "$func_dll_def_p_tmp" +} + + # func_mode_compile arg... func_mode_compile () { - $opt_debug + $debug_cmd + # Get the compilation command and the source file. base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" + srcfile=$nonopt # always keep a non-empty value in "srcfile" suppress_opt=yes suppress_output= arg_mode=normal @@ -1965,12 +3281,12 @@ case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile - lastarg="$arg" + lastarg=$arg arg_mode=normal ;; target ) - libobj="$arg" + libobj=$arg arg_mode=normal continue ;; @@ -1980,7 +3296,7 @@ case $arg in -o) test -n "$libobj" && \ - func_fatal_error "you cannot specify \`-o' more than once" + func_fatal_error "you cannot specify '-o' more than once" arg_mode=target continue ;; @@ -2009,12 +3325,12 @@ func_stripname '-Wc,' '' "$arg" args=$func_stripname_result lastarg= - save_ifs="$IFS"; IFS=',' + save_ifs=$IFS; IFS=, for arg in $args; do - IFS="$save_ifs" + IFS=$save_ifs func_append_quoted lastarg "$arg" done - IFS="$save_ifs" + IFS=$save_ifs func_stripname ' ' '' "$lastarg" lastarg=$func_stripname_result @@ -2027,8 +3343,8 @@ # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # - lastarg="$srcfile" - srcfile="$arg" + lastarg=$srcfile + srcfile=$arg ;; esac # case $arg ;; @@ -2043,13 +3359,13 @@ func_fatal_error "you must specify an argument for -Xcompile" ;; target) - func_fatal_error "you must specify a target with \`-o'" + func_fatal_error "you must specify a target with '-o'" ;; *) # Get the name of the library object. test -z "$libobj" && { func_basename "$srcfile" - libobj="$func_basename_result" + libobj=$func_basename_result } ;; esac @@ -2069,7 +3385,7 @@ case $libobj in *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; *) - func_fatal_error "cannot determine name of library object from \`$libobj'" + func_fatal_error "cannot determine name of library object from '$libobj'" ;; esac @@ -2078,8 +3394,8 @@ for arg in $later; do case $arg in -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" + test yes = "$build_libtool_libs" \ + || func_fatal_configuration "cannot build a shared library" build_old_libs=no continue ;; @@ -2105,17 +3421,17 @@ func_quote_for_eval "$libobj" test "X$libobj" != "X$func_quote_for_eval_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name \`$libobj' may not contain shell special characters." + && func_warning "libobj name '$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" - objname="$func_basename_result" - xdir="$func_dirname_result" - lobj=${xdir}$objdir/$objname + objname=$func_basename_result + xdir=$func_dirname_result + lobj=$xdir$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. - if test "$build_old_libs" = yes; then + if test yes = "$build_old_libs"; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" @@ -2127,16 +3443,16 @@ pic_mode=default ;; esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" + if test no = "$compiler_c_o"; then + output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext + lockfile=$output_obj.lock else output_obj= need_locks=no @@ -2145,12 +3461,12 @@ # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then + if test yes = "$need_locks"; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done - elif test "$need_locks" = warn; then + elif test warn = "$need_locks"; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: @@ -2158,7 +3474,7 @@ This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you +your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." @@ -2180,11 +3496,11 @@ qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. - if test "$build_libtool_libs" = yes; then + if test yes = "$build_libtool_libs"; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile - if test "$pic_mode" != no; then + if test no != "$pic_mode"; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code @@ -2201,7 +3517,7 @@ func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - if test "$need_locks" = warn && + if test warn = "$need_locks" && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: @@ -2212,7 +3528,7 @@ This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you +your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." @@ -2228,20 +3544,20 @@ fi # Allow error messages only from the first compilation. - if test "$suppress_opt" = yes; then + if test yes = "$suppress_opt"; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. - if test "$build_old_libs" = yes; then - if test "$pic_mode" != yes; then + if test yes = "$build_old_libs"; then + if test yes != "$pic_mode"; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi - if test "$compiler_c_o" = yes; then + if test yes = "$compiler_c_o"; then func_append command " -o $obj" fi @@ -2250,7 +3566,7 @@ func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - if test "$need_locks" = warn && + if test warn = "$need_locks" && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: @@ -2261,7 +3577,7 @@ This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you +your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." @@ -2281,7 +3597,7 @@ func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked - if test "$need_locks" != no; then + if test no != "$need_locks"; then removelist=$lockfile $RM "$lockfile" fi @@ -2291,7 +3607,7 @@ } $opt_help || { - test "$opt_mode" = compile && func_mode_compile ${1+"$@"} + test compile = "$opt_mode" && func_mode_compile ${1+"$@"} } func_mode_help () @@ -2311,7 +3627,7 @@ Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated @@ -2330,16 +3646,16 @@ -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to build PIC objects only -prefer-non-pic try to build non-PIC objects only - -shared do not build a \`.o' file suitable for static linking - -static only build a \`.o' file suitable for static linking + -shared do not build a '.o' file suitable for static linking + -static only build a '.o' file suitable for static linking -Wc,FLAG pass FLAG directly to the compiler -COMPILE-COMMAND is a command to be used in creating a \`standard' object file +COMPILE-COMMAND is a command to be used in creating a 'standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." +SOURCEFILE, then substituting the C source code suffix '.c' with the +library object suffix, '.lo'." ;; execute) @@ -2352,7 +3668,7 @@ -dlopen FILE add the directory containing FILE to the library path -This mode sets the library path environment variable according to \`-dlopen' +This mode sets the library path environment variable according to '-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated @@ -2371,7 +3687,7 @@ Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." +the '--dry-run' option if you just want to see what would be executed." ;; install) @@ -2381,7 +3697,7 @@ Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. +either the 'install' or 'cp' program. The following components of INSTALL-COMMAND are treated specially: @@ -2407,7 +3723,7 @@ -avoid-version do not add a version suffix if possible -bindir BINDIR specify path to binaries directory (for systems where libraries must be found in the PATH setting at runtime) - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE @@ -2421,7 +3737,8 @@ -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects + -objectlist FILE use a list of object files found in FILE to specify objects + -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information @@ -2441,20 +3758,20 @@ -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are +All other options (arguments beginning with '-') are ignored. + +Every other argument is treated as a filename. Files ending in '.la' are treated as uninstalled libtool libraries, other files are standard or library object files. -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is +If the OUTPUT-FILE ends in '.la', then a libtool library is created, +only library objects ('.lo' files) may be specified, and '-rpath' is required, except when creating a convenience library. -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created +using 'ar' and 'ranlib', or on Windows using 'lib'. + +If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file is created, otherwise an executable program is created." ;; @@ -2465,7 +3782,7 @@ Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. @@ -2473,17 +3790,17 @@ ;; *) - func_fatal_help "invalid operation mode \`$opt_mode'" + func_fatal_help "invalid operation mode '$opt_mode'" ;; esac echo - $ECHO "Try \`$progname --help' for more information about other modes." + $ECHO "Try '$progname --help' for more information about other modes." } # Now that we've collected a possible --mode arg, show help if necessary if $opt_help; then - if test "$opt_help" = :; then + if test : = "$opt_help"; then func_mode_help else { @@ -2491,7 +3808,7 @@ for opt_mode in compile link execute install finish uninstall clean; do func_mode_help done - } | sed -n '1p; 2,$s/^Usage:/ or: /p' + } | $SED -n '1p; 2,$s/^Usage:/ or: /p' { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do @@ -2499,7 +3816,7 @@ func_mode_help done } | - sed '1d + $SED '1d /^When reporting/,/^Report/{ H d @@ -2516,16 +3833,17 @@ # func_mode_execute arg... func_mode_execute () { - $opt_debug + $debug_cmd + # The first argument is the command name. - cmd="$nonopt" + cmd=$nonopt test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $opt_dlopen; do test -f "$file" \ - || func_fatal_help "\`$file' is not a file" + || func_fatal_help "'$file' is not a file" dir= case $file in @@ -2535,7 +3853,7 @@ # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$lib' is not a valid libtool archive" + || func_fatal_help "'$lib' is not a valid libtool archive" # Read the libtool library. dlname= @@ -2546,18 +3864,18 @@ if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ - func_warning "\`$file' was not linked with \`-export-dynamic'" + func_warning "'$file' was not linked with '-export-dynamic'" continue fi func_dirname "$file" "" "." - dir="$func_dirname_result" + dir=$func_dirname_result if test -f "$dir/$objdir/$dlname"; then func_append dir "/$objdir" else if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" + func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" fi fi ;; @@ -2565,18 +3883,18 @@ *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." - dir="$func_dirname_result" + dir=$func_dirname_result ;; *) - func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" + func_warning "'-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" + test -n "$absdir" && dir=$absdir # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then @@ -2588,7 +3906,7 @@ # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. - libtool_execute_magic="$magic" + libtool_execute_magic=$magic # Check if any of the arguments is a wrapper script. args= @@ -2601,12 +3919,12 @@ if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. - file="$progdir/$program" + file=$progdir/$program elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. - file="$progdir/$program" + file=$progdir/$program fi ;; esac @@ -2614,7 +3932,15 @@ func_append_quoted args "$file" done - if test "X$opt_dry_run" = Xfalse; then + if $opt_dry_run; then + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" + echo "export $shlibpath_var" + fi + $ECHO "$cmd$args" + exit $EXIT_SUCCESS + else if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" @@ -2631,25 +3957,18 @@ done # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - echo "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS + exec_cmd=\$cmd$args fi } -test "$opt_mode" = execute && func_mode_execute ${1+"$@"} +test execute = "$opt_mode" && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { - $opt_debug + $debug_cmd + libs= libdirs= admincmds= @@ -2663,11 +3982,11 @@ if func_lalib_unsafe_p "$opt"; then func_append libs " $opt" else - func_warning "\`$opt' is not a valid libtool archive" + func_warning "'$opt' is not a valid libtool archive" fi else - func_fatal_error "invalid argument \`$opt'" + func_fatal_error "invalid argument '$opt'" fi done @@ -2682,12 +4001,12 @@ # Remove sysroot references if $opt_dry_run; then for lib in $libs; do - echo "removing references to $lt_sysroot and \`=' prefixes from $lib" + echo "removing references to $lt_sysroot and '=' prefixes from $lib" done else tmpdir=`func_mktempdir` for lib in $libs; do - sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ + $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ > $tmpdir/tmp-la mv -f $tmpdir/tmp-la $lib done @@ -2712,7 +4031,7 @@ fi # Exit here if they wanted silent mode. - $opt_silent && exit $EXIT_SUCCESS + $opt_quiet && exit $EXIT_SUCCESS if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then echo "----------------------------------------------------------------------" @@ -2723,27 +4042,27 @@ echo echo "If you ever happen to want to link against installed libraries" echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + echo "specify the full pathname of the library, or use the '-LLIBDIR'" echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + echo " - add LIBDIR to the '$shlibpath_var' environment variable" echo " during execution" fi if test -n "$runpath_var"; then - echo " - add LIBDIR to the \`$runpath_var' environment variable" + echo " - add LIBDIR to the '$runpath_var' environment variable" echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" - $ECHO " - use the \`$flag' linker flag" + $ECHO " - use the '$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" fi echo @@ -2762,18 +4081,20 @@ exit $EXIT_SUCCESS } -test "$opt_mode" = finish && func_mode_finish ${1+"$@"} +test finish = "$opt_mode" && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { - $opt_debug + $debug_cmd + # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac; then + case $nonopt in *shtool*) :;; *) false;; esac + then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " @@ -2800,7 +4121,7 @@ opts= prev= install_type= - isdir=no + isdir=false stripme= no_mode=: for arg @@ -2813,7 +4134,7 @@ fi case $arg in - -d) isdir=yes ;; + -d) isdir=: ;; -f) if $install_cp; then :; else prev=$arg @@ -2831,7 +4152,7 @@ *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then - if test "x$prev" = x-m && test -n "$install_override_mode"; then + if test X-m = "X$prev" && test -n "$install_override_mode"; then arg2=$install_override_mode no_mode=false fi @@ -2856,7 +4177,7 @@ func_fatal_help "you must specify an install program" test -n "$prev" && \ - func_fatal_help "the \`$prev' option requires an argument" + func_fatal_help "the '$prev' option requires an argument" if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else @@ -2878,19 +4199,19 @@ dest=$func_stripname_result # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" + test -d "$dest" && isdir=: + if $isdir; then + destdir=$dest destname= else func_dirname_and_basename "$dest" "" "." - destdir="$func_dirname_result" - destname="$func_basename_result" + destdir=$func_dirname_result + destname=$func_basename_result # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ - func_fatal_help "\`$dest' is not a directory" + func_fatal_help "'$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; @@ -2899,7 +4220,7 @@ case $file in *.lo) ;; *) - func_fatal_help "\`$destdir' must be an absolute directory name" + func_fatal_help "'$destdir' must be an absolute directory name" ;; esac done @@ -2908,7 +4229,7 @@ # This variable tells wrapper scripts just to set variables rather # than running their programs. - libtool_install_magic="$magic" + libtool_install_magic=$magic staticlibs= future_libdirs= @@ -2928,7 +4249,7 @@ # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$file' is not a valid libtool archive" + || func_fatal_help "'$file' is not a valid libtool archive" library_names= old_library= @@ -2950,7 +4271,7 @@ fi func_dirname "$file" "/" "" - dir="$func_dirname_result" + dir=$func_dirname_result func_append dir "$objdir" if test -n "$relink_command"; then @@ -2964,7 +4285,7 @@ # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" + func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. @@ -2973,29 +4294,36 @@ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi - func_warning "relinking \`$file'" + func_warning "relinking '$file'" func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' + 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then - realname="$1" + realname=$1 shift - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T + srcname=$realname + test -n "$relink_command" && srcname=${realname}T # Install the shared library and build the symlinks. func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ 'exit $?' - tstripme="$stripme" + tstripme=$stripme case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) - tstripme="" + tstripme= + ;; + esac + ;; + os2*) + case $realname in + *_dll.a) + tstripme= ;; esac ;; @@ -3006,7 +4334,7 @@ if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on + # Try 'ln -sf' first, because the 'ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname @@ -3017,14 +4345,14 @@ fi # Do each command in the postinstall commands. - lib="$destdir/$realname" + lib=$destdir/$realname func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" - name="$func_basename_result" - instname="$dir/$name"i + name=$func_basename_result + instname=$dir/${name}i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. @@ -3036,11 +4364,11 @@ # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then - destfile="$destdir/$destname" + destfile=$destdir/$destname else func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" + destfile=$func_basename_result + destfile=$destdir/$destfile fi # Deduce the name of the destination old-style object file. @@ -3050,11 +4378,11 @@ staticdest=$func_lo2o_result ;; *.$objext) - staticdest="$destfile" + staticdest=$destfile destfile= ;; *) - func_fatal_help "cannot copy a libtool object to \`$destfile'" + func_fatal_help "cannot copy a libtool object to '$destfile'" ;; esac @@ -3063,7 +4391,7 @@ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. - if test "$build_old_libs" = yes; then + if test yes = "$build_old_libs"; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result @@ -3075,23 +4403,23 @@ *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then - destfile="$destdir/$destname" + destfile=$destdir/$destname else func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" + destfile=$func_basename_result + destfile=$destdir/$destfile fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install - stripped_ext="" + stripped_ext= case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result - stripped_ext=".exe" + stripped_ext=.exe fi ;; esac @@ -3119,19 +4447,19 @@ # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script \`$wrapper'" - - finalize=yes + func_fatal_error "invalid libtool wrapper script '$wrapper'" + + finalize=: for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi - libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test + libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "\`$lib' has not been installed in \`$libdir'" - finalize=no + func_warning "'$lib' has not been installed in '$libdir'" + finalize=false fi done @@ -3139,29 +4467,29 @@ func_source "$wrapper" outputname= - if test "$fast_install" = no && test -n "$relink_command"; then + if test no = "$fast_install" && test -n "$relink_command"; then $opt_dry_run || { - if test "$finalize" = yes; then + if $finalize; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" - file="$func_basename_result" - outputname="$tmpdir/$file" + file=$func_basename_result + outputname=$tmpdir/$file # Replace the output file specification. relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - $opt_silent || { + $opt_quiet || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else - func_error "error: relink \`$file' with the above command before installing it" + func_error "error: relink '$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi - file="$outputname" + file=$outputname else - func_warning "cannot relink \`$file'" + func_warning "cannot relink '$file'" fi } else @@ -3198,10 +4526,10 @@ for file in $staticlibs; do func_basename "$file" - name="$func_basename_result" + name=$func_basename_result # Set up the ranlib parameters. - oldlib="$destdir/$name" + oldlib=$destdir/$name func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result @@ -3216,18 +4544,18 @@ done test -n "$future_libdirs" && \ - func_warning "remember to run \`$progname --finish$future_libdirs'" + func_warning "remember to run '$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } -test "$opt_mode" = install && func_mode_install ${1+"$@"} +test install = "$opt_mode" && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p @@ -3235,16 +4563,17 @@ # a dlpreopen symbol table. func_generate_dlsyms () { - $opt_debug - my_outputname="$1" - my_originator="$2" - my_pic_p="${3-no}" - my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` + $debug_cmd + + my_outputname=$1 + my_originator=$2 + my_pic_p=${3-false} + my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms="${my_outputname}S.c" + my_dlsyms=${my_outputname}S.c else func_error "not configured to extract global symbols from dlpreopened files" fi @@ -3255,7 +4584,7 @@ "") ;; *.c) # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${my_outputname}.nm" + nlist=$output_objdir/$my_outputname.nm func_show_eval "$RM $nlist ${nlist}S ${nlist}T" @@ -3263,34 +4592,36 @@ func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ +/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ +/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif -#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) +#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) #pragma GCC diagnostic ignored \"-Wstrict-prototypes\" #endif /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST -#elif defined(__osf__) +#elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + /* External symbol declarations for the compiler. */\ " - if test "$dlself" = yes; then - func_verbose "generating symbol list for \`$output'" + if test yes = "$dlself"; then + func_verbose "generating symbol list for '$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" @@ -3298,7 +4629,7 @@ progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` for progfile in $progfiles; do func_to_tool_file "$progfile" func_convert_file_msys_to_w32 - func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" + func_verbose "extracting global C symbols from '$func_to_tool_file_result'" $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" done @@ -3318,10 +4649,10 @@ # Prepare the list of exported symbols if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" + export_symbols=$output_objdir/$outputname.exp $opt_dry_run || { $RM $export_symbols - eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' @@ -3331,7 +4662,7 @@ } else $opt_dry_run || { - eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in @@ -3345,22 +4676,22 @@ fi for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from \`$dlprefile'" + func_verbose "extracting global C symbols from '$dlprefile'" func_basename "$dlprefile" - name="$func_basename_result" + name=$func_basename_result case $host in *cygwin* | *mingw* | *cegcc* ) # if an import library, we need to obtain dlname if func_win32_import_lib_p "$dlprefile"; then func_tr_sh "$dlprefile" eval "curr_lafile=\$libfile_$func_tr_sh_result" - dlprefile_dlbasename="" + dlprefile_dlbasename= if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then # Use subshell, to avoid clobbering current variable values dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` - if test -n "$dlprefile_dlname" ; then + if test -n "$dlprefile_dlname"; then func_basename "$dlprefile_dlname" - dlprefile_dlbasename="$func_basename_result" + dlprefile_dlbasename=$func_basename_result else # no lafile. user explicitly requested -dlpreopen . $sharedlib_from_linklib_cmd "$dlprefile" @@ -3368,7 +4699,7 @@ fi fi $opt_dry_run || { - if test -n "$dlprefile_dlbasename" ; then + if test -n "$dlprefile_dlbasename"; then eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' else func_warning "Could not compute DLL name from $name" @@ -3424,6 +4755,11 @@ echo '/* NONE */' >> "$output_objdir/$my_dlsyms" fi + func_show_eval '$RM "${nlist}I"' + if test -n "$global_symbol_to_import"; then + eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' + fi + echo >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ @@ -3432,11 +4768,30 @@ void *address; } lt_dlsymlist; extern LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[]; +lt_${my_prefix}_LTX_preloaded_symbols[];\ +" + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ +static void lt_syminit(void) +{ + LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; + for (; symbol->name; ++symbol) + {" + $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" + echo >> "$output_objdir/$my_dlsyms" "\ + } +}" + fi + echo >> "$output_objdir/$my_dlsyms" "\ LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = -{\ - { \"$my_originator\", (void *) 0 }," +{ {\"$my_originator\", (void *) 0}," + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ + {\"@INIT@\", (void *) <_syminit}," + fi case $need_lib_prefix in no) @@ -3478,9 +4833,7 @@ *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) - if test "X$my_pic_p" != Xno; then - pic_flag_for_symtable=" $pic_flag" - fi + $my_pic_p && pic_flag_for_symtable=" $pic_flag" ;; esac ;; @@ -3497,10 +4850,10 @@ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' + func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' # Transform the symbol file into the correct name. - symfileobj="$output_objdir/${my_outputname}S.$objext" + symfileobj=$output_objdir/${my_outputname}S.$objext case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then @@ -3518,7 +4871,7 @@ esac ;; *) - func_fatal_error "unknown suffix for \`$my_dlsyms'" + func_fatal_error "unknown suffix for '$my_dlsyms'" ;; esac else @@ -3530,6 +4883,32 @@ compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` fi +} + +# func_cygming_gnu_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is a GNU/binutils-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_gnu_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` + test -n "$func_cygming_gnu_implib_tmp" +} + +# func_cygming_ms_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is an MS-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_ms_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` + test -n "$func_cygming_ms_implib_tmp" } # func_win32_libid arg @@ -3541,8 +4920,9 @@ # Despite the name, also deal with 64 bit binaries. func_win32_libid () { - $opt_debug - win32_libid_type="unknown" + $debug_cmd + + win32_libid_type=unknown win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import @@ -3552,16 +4932,29 @@ # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - func_to_tool_file "$1" func_convert_file_msys_to_w32 - win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | - $SED -n -e ' + case $nm_interface in + "MS dumpbin") + if func_cygming_ms_implib_p "$1" || + func_cygming_gnu_implib_p "$1" + then + win32_nmres=import + else + win32_nmres= + fi + ;; + *) + func_to_tool_file "$1" func_convert_file_msys_to_w32 + win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | + $SED -n -e ' 1,100{ / I /{ - s,.*,import, + s|.*|import| p q } }'` + ;; + esac case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; @@ -3593,7 +4986,8 @@ # $sharedlib_from_linklib_result func_cygming_dll_for_implib () { - $opt_debug + $debug_cmd + sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` } @@ -3610,7 +5004,8 @@ # specified import library. func_cygming_dll_for_implib_fallback_core () { - $opt_debug + $debug_cmd + match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` $OBJDUMP -s --section "$1" "$2" 2>/dev/null | $SED '/^Contents of section '"$match_literal"':/{ @@ -3646,8 +5041,8 @@ /./p' | # we now have a list, one entry per line, of the stringified # contents of the appropriate section of all members of the - # archive which possess that section. Heuristic: eliminate - # all those which have a first or second character that is + # archive that possess that section. Heuristic: eliminate + # all those that have a first or second character that is # a '.' (that is, objdump's representation of an unprintable # character.) This should work for all archives with less than # 0x302f exports -- but will fail for DLLs whose name actually @@ -3656,30 +5051,6 @@ # # Of those that remain, print the first one. $SED -e '/^\./d;/^.\./d;q' -} - -# func_cygming_gnu_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is a GNU/binutils-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_gnu_implib_p () -{ - $opt_debug - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` - test -n "$func_cygming_gnu_implib_tmp" -} - -# func_cygming_ms_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is an MS-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_ms_implib_p () -{ - $opt_debug - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` - test -n "$func_cygming_ms_implib_tmp" } # func_cygming_dll_for_implib_fallback ARG @@ -3695,16 +5066,17 @@ # $sharedlib_from_linklib_result func_cygming_dll_for_implib_fallback () { - $opt_debug - if func_cygming_gnu_implib_p "$1" ; then + $debug_cmd + + if func_cygming_gnu_implib_p "$1"; then # binutils import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` - elif func_cygming_ms_implib_p "$1" ; then + elif func_cygming_ms_implib_p "$1"; then # ms-generated import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` else # unknown - sharedlib_from_linklib_result="" + sharedlib_from_linklib_result= fi } @@ -3712,10 +5084,11 @@ # func_extract_an_archive dir oldlib func_extract_an_archive () { - $opt_debug - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - if test "$lock_old_archive_extraction" = yes; then + $debug_cmd + + f_ex_an_ar_dir=$1; shift + f_ex_an_ar_oldlib=$1 + if test yes = "$lock_old_archive_extraction"; then lockfile=$f_ex_an_ar_oldlib.lock until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" @@ -3724,7 +5097,7 @@ fi func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ 'stat=$?; rm -f "$lockfile"; exit $stat' - if test "$lock_old_archive_extraction" = yes; then + if test yes = "$lock_old_archive_extraction"; then $opt_dry_run || rm -f "$lockfile" fi if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then @@ -3738,22 +5111,23 @@ # func_extract_archives gentop oldlib ... func_extract_archives () { - $opt_debug - my_gentop="$1"; shift + $debug_cmd + + my_gentop=$1; shift my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" + my_oldobjs= + my_xlib= + my_xabs= + my_xdir= for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" - my_xlib="$func_basename_result" + my_xlib=$func_basename_result my_xlib_u=$my_xlib while :; do case " $extracted_archives " in @@ -3765,7 +5139,7 @@ esac done extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" + my_xdir=$my_gentop/$my_xlib_u func_mkdir_p "$my_xdir" @@ -3778,22 +5152,23 @@ cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` - darwin_base_archive=`basename "$darwin_archive"` + func_basename "$darwin_archive" + darwin_base_archive=$func_basename_result darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" + for darwin_arch in $darwin_arches; do + func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" + $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" + cd "unfat-$$/$darwin_base_archive-$darwin_arch" + func_extract_an_archive "`pwd`" "$darwin_base_archive" cd "$darwin_curdir" - $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do @@ -3815,7 +5190,7 @@ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` done - func_extract_archives_result="$my_oldobjs" + func_extract_archives_result=$my_oldobjs } @@ -3830,7 +5205,7 @@ # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script -# will assume that the directory in which it is stored is +# will assume that the directory where it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () @@ -3841,7 +5216,7 @@ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. @@ -3898,9 +5273,9 @@ # Very basic option parsing. These options are (a) specific to # the libtool wrapper, (b) are identical between the wrapper -# /script/ and the wrapper /executable/ which is used only on +# /script/ and the wrapper /executable/ that is used only on # windows platforms, and (c) all begin with the string "--lt-" -# (application programs are unlikely to have options which match +# (application programs are unlikely to have options that match # this pattern). # # There are only two supported options: --lt-debug and @@ -3933,7 +5308,7 @@ # Print the debug banner immediately: if test -n \"\$lt_option_debug\"; then - echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 + echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 fi } @@ -3944,7 +5319,7 @@ lt_dump_args_N=1; for lt_arg do - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" + \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` done } @@ -3958,7 +5333,7 @@ *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ if test -n \"\$lt_option_debug\"; then - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} @@ -3968,7 +5343,7 @@ *) $ECHO "\ if test -n \"\$lt_option_debug\"; then - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir/\$program\" \${1+\"\$@\"} @@ -4043,13 +5418,13 @@ test -n \"\$absdir\" && thisdir=\"\$absdir\" " - if test "$fast_install" = yes; then + if test yes = "$fast_install"; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" @@ -4066,7 +5441,7 @@ if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else - $ECHO \"\$relink_command_output\" >&2 + \$ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi @@ -4101,7 +5476,7 @@ fi # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" @@ -4121,7 +5496,7 @@ fi else # The program doesn't exist. - \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 @@ -4140,7 +5515,7 @@ cat < #include +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + /* declarations of non-ANSI functions */ -#if defined(__MINGW32__) +#if defined __MINGW32__ # ifdef __STRICT_ANSI__ int _putenv (const char *); # endif -#elif defined(__CYGWIN__) +#elif defined __CYGWIN__ # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif -/* #elif defined (other platforms) ... */ +/* #elif defined other_platform || defined ... */ #endif /* portability defines, excluding path handling macros */ -#if defined(_MSC_VER) +#if defined _MSC_VER # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv # define S_IXUSR _S_IEXEC -# ifndef _INTPTR_T_DEFINED -# define _INTPTR_T_DEFINED -# define intptr_t int -# endif -#elif defined(__MINGW32__) +#elif defined __MINGW32__ # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv -#elif defined(__CYGWIN__) +#elif defined __CYGWIN__ # define HAVE_SETENV # define FOPEN_WB "wb" -/* #elif defined (other platforms) ... */ +/* #elif defined other platforms ... */ #endif -#if defined(PATH_MAX) +#if defined PATH_MAX # define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) +#elif defined MAXPATHLEN # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 @@ -4234,8 +5607,8 @@ # define PATH_SEPARATOR ':' #endif -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) +#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ + defined __OS2__ # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 @@ -4268,10 +5641,10 @@ #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ + if (stale) { free (stale); stale = 0; } \ } while (0) -#if defined(LT_DEBUGWRAPPER) +#if defined LT_DEBUGWRAPPER static int lt_debug = 1; #else static int lt_debug = 0; @@ -4300,11 +5673,16 @@ EOF cat < 0) && IS_PATH_SEPARATOR (new_value[len-1])) + size_t len = strlen (new_value); + while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { - new_value[len-1] = '\0'; + new_value[--len] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); @@ -5082,27 +6460,47 @@ # True if ARG is an import lib, as indicated by $file_magic_cmd func_win32_import_lib_p () { - $opt_debug + $debug_cmd + case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in *import*) : ;; *) false ;; esac } +# func_suncc_cstd_abi +# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! +# Several compiler flags select an ABI that is incompatible with the +# Cstd library. Avoid specifying it if any are in CXXFLAGS. +func_suncc_cstd_abi () +{ + $debug_cmd + + case " $compile_command " in + *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) + suncc_use_cstd_abi=no + ;; + *) + suncc_use_cstd_abi=yes + ;; + esac +} + # func_mode_link arg... func_mode_link () { - $opt_debug + $debug_cmd + case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra + # what system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll which has undefined symbols, in which case not + # to make a dll that has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. @@ -5146,10 +6544,11 @@ module=no no_install=no objs= + os2dllname= non_pic_objects= precious_files_regex= prefer_static_libs=no - preload=no + preload=false prev= prevarg= release= @@ -5161,7 +6560,7 @@ vinfo= vinfo_number=no weak_libs= - single_module="${wl}-single_module" + single_module=$wl-single_module func_infer_tag $base_compile # We need to know -static, to get the right output filenames. @@ -5169,15 +6568,15 @@ do case $arg in -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" + test yes != "$build_libtool_libs" \ + && func_fatal_configuration "cannot build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) - if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then + if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then @@ -5210,7 +6609,7 @@ # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do - arg="$1" + arg=$1 shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result @@ -5227,21 +6626,21 @@ case $prev in bindir) - bindir="$arg" + bindir=$arg prev= continue ;; dlfiles|dlprefiles) - if test "$preload" = no; then + $preload || { # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" - preload=yes - fi + preload=: + } case $arg in *.la | *.lo) ;; # We handle these cases below. force) - if test "$dlself" = no; then + if test no = "$dlself"; then dlself=needless export_dynamic=yes fi @@ -5249,9 +6648,9 @@ continue ;; self) - if test "$prev" = dlprefiles; then + if test dlprefiles = "$prev"; then dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then dlself=yes else dlself=needless @@ -5261,7 +6660,7 @@ continue ;; *) - if test "$prev" = dlfiles; then + if test dlfiles = "$prev"; then func_append dlfiles " $arg" else func_append dlprefiles " $arg" @@ -5272,14 +6671,14 @@ esac ;; expsyms) - export_symbols="$arg" + export_symbols=$arg test -f "$arg" \ - || func_fatal_error "symbol file \`$arg' does not exist" + || func_fatal_error "symbol file '$arg' does not exist" prev= continue ;; expsyms_regex) - export_symbols_regex="$arg" + export_symbols_regex=$arg prev= continue ;; @@ -5297,7 +6696,13 @@ continue ;; inst_prefix) - inst_prefix_dir="$arg" + inst_prefix_dir=$arg + prev= + continue + ;; + mllvm) + # Clang does not use LLVM to link, so we can simply discard any + # '-mllvm $arg' options when doing the link step. prev= continue ;; @@ -5321,21 +6726,21 @@ if test -z "$pic_object" || test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then + xdir=$func_dirname_result + + if test none != "$pic_object"; then # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + pic_object=$xdir$pic_object + + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then func_append dlfiles " $pic_object" prev= continue @@ -5346,7 +6751,7 @@ fi # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then + if test dlprefiles = "$prev"; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= @@ -5354,23 +6759,23 @@ # A PIC object. func_append libobjs " $pic_object" - arg="$pic_object" + arg=$pic_object fi # Non-PIC object. - if test "$non_pic_object" != none; then + if test none != "$non_pic_object"; then # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" + non_pic_object=$xdir$non_pic_object # A standard non-PIC object func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" + non_pic_object=$pic_object func_append non_pic_objects " $non_pic_object" fi else @@ -5378,7 +6783,7 @@ if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" - xdir="$func_dirname_result" + xdir=$func_dirname_result func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result @@ -5386,24 +6791,29 @@ func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else - func_fatal_error "\`$arg' is not a valid libtool object" + func_fatal_error "'$arg' is not a valid libtool object" fi fi done else - func_fatal_error "link input file \`$arg' does not exist" + func_fatal_error "link input file '$arg' does not exist" fi arg=$save_arg prev= continue ;; + os2dllname) + os2dllname=$arg + prev= + continue + ;; precious_regex) - precious_files_regex="$arg" + precious_files_regex=$arg prev= continue ;; release) - release="-$arg" + release=-$arg prev= continue ;; @@ -5415,7 +6825,7 @@ func_fatal_error "only absolute run-paths are allowed" ;; esac - if test "$prev" = rpath; then + if test rpath = "$prev"; then case "$rpath " in *" $arg "*) ;; *) func_append rpath " $arg" ;; @@ -5430,7 +6840,7 @@ continue ;; shrext) - shrext_cmds="$arg" + shrext_cmds=$arg prev= continue ;; @@ -5470,7 +6880,7 @@ esac fi # test -n "$prev" - prevarg="$arg" + prevarg=$arg case $arg in -all-static) @@ -5484,7 +6894,7 @@ -allow-undefined) # FIXME: remove this flag sometime in the future. - func_fatal_error "\`-allow-undefined' must not be used because it is the default" + func_fatal_error "'-allow-undefined' must not be used because it is the default" ;; -avoid-version) @@ -5516,7 +6926,7 @@ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi - if test "X$arg" = "X-export-symbols"; then + if test X-export-symbols = "X$arg"; then prev=expsyms else prev=expsyms_regex @@ -5550,9 +6960,9 @@ func_stripname "-L" '' "$arg" if test -z "$func_stripname_result"; then if test "$#" -gt 0; then - func_fatal_error "require no space between \`-L' and \`$1'" + func_fatal_error "require no space between '-L' and '$1'" else - func_fatal_error "need path for \`-L' option" + func_fatal_error "need path for '-L' option" fi fi func_resolve_sysroot "$func_stripname_result" @@ -5563,8 +6973,8 @@ *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of \`$dir'" - dir="$absdir" + func_fatal_error "cannot determine absolute directory name of '$dir'" + dir=$absdir ;; esac case "$deplibs " in @@ -5599,7 +7009,7 @@ ;; -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + if test X-lc = "X$arg" || test X-lm = "X$arg"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) # These systems don't actually have a C or math library (as such) @@ -5607,11 +7017,11 @@ ;; *-*-os2*) # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue + test X-lc = "X$arg" && continue ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue + test X-lc = "X$arg" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework @@ -5620,22 +7030,27 @@ ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype - test "X$arg" = "X-lc" && continue + test X-lc = "X$arg" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue + test X-lc = "X$arg" && continue ;; esac - elif test "X$arg" = "X-lc_r"; then + elif test X-lc_r = "X$arg"; then case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi func_append deplibs " $arg" + continue + ;; + + -mllvm) + prev=mllvm continue ;; @@ -5668,7 +7083,7 @@ ;; -multi_module) - single_module="${wl}-multi_module" + single_module=$wl-multi_module continue ;; @@ -5682,8 +7097,8 @@ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. - func_warning "\`-no-install' is ignored for $host" - func_warning "assuming \`-no-fast-install' instead" + func_warning "'-no-install' is ignored for $host" + func_warning "assuming '-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; @@ -5698,6 +7113,11 @@ -objectlist) prev=objectlist + continue + ;; + + -os2dllname) + prev=os2dllname continue ;; @@ -5788,14 +7208,14 @@ func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= - save_ifs="$IFS"; IFS=',' + save_ifs=$IFS; IFS=, for flag in $args; do - IFS="$save_ifs" + IFS=$save_ifs func_quote_for_eval "$flag" func_append arg " $func_quote_for_eval_result" func_append compiler_flags " $func_quote_for_eval_result" done - IFS="$save_ifs" + IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; @@ -5804,15 +7224,15 @@ func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= - save_ifs="$IFS"; IFS=',' + save_ifs=$IFS; IFS=, for flag in $args; do - IFS="$save_ifs" + IFS=$save_ifs func_quote_for_eval "$flag" func_append arg " $wl$func_quote_for_eval_result" func_append compiler_flags " $wl$func_quote_for_eval_result" func_append linker_flags " $func_quote_for_eval_result" done - IFS="$save_ifs" + IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; @@ -5835,7 +7255,7 @@ # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" + arg=$func_quote_for_eval_result ;; # Flags to be passed through unchanged, with rationale: @@ -5847,25 +7267,49 @@ # -m*, -t[45]*, -txscale* architecture-specific flags for GCC # -F/path path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* profiling flags for GCC + # -fstack-protector* stack protector flags for GCC # @file GCC response files # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support - # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -specs=* GCC specs files + # -stdlib=* select c++ std lib with clang + # -fsanitize=* Clang/GCC memory and address sanitizer -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-flto*|-fwhopr*|-fuse-linker-plugin) + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ + -specs=*|-fsanitize=*) func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" + arg=$func_quote_for_eval_result func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" continue ;; + -Z*) + if test os2 = "`expr $host : '.*\(os2\)'`"; then + # OS/2 uses -Zxxx to specify OS/2-specific options + compiler_flags="$compiler_flags $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case $arg in + -Zlinker | -Zstack) + prev=xcompiler + ;; + esac + continue + else + # Otherwise treat like 'Some other compiler flag' below + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + fi + ;; + # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" + arg=$func_quote_for_eval_result ;; *.$objext) @@ -5886,21 +7330,21 @@ if test -z "$pic_object" || test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then + xdir=$func_dirname_result + + test none = "$pic_object" || { # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + pic_object=$xdir$pic_object + + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then func_append dlfiles " $pic_object" prev= continue @@ -5911,7 +7355,7 @@ fi # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then + if test dlprefiles = "$prev"; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= @@ -5919,23 +7363,23 @@ # A PIC object. func_append libobjs " $pic_object" - arg="$pic_object" - fi + arg=$pic_object + } # Non-PIC object. - if test "$non_pic_object" != none; then + if test none != "$non_pic_object"; then # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" + non_pic_object=$xdir$non_pic_object # A standard non-PIC object func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" + non_pic_object=$pic_object func_append non_pic_objects " $non_pic_object" fi else @@ -5943,7 +7387,7 @@ if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" - xdir="$func_dirname_result" + xdir=$func_dirname_result func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result @@ -5951,7 +7395,7 @@ func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else - func_fatal_error "\`$arg' is not a valid libtool object" + func_fatal_error "'$arg' is not a valid libtool object" fi fi ;; @@ -5967,11 +7411,11 @@ # A libtool-controlled library. func_resolve_sysroot "$arg" - if test "$prev" = dlfiles; then + if test dlfiles = "$prev"; then # This library was specified with -dlopen. func_append dlfiles " $func_resolve_sysroot_result" prev= - elif test "$prev" = dlprefiles; then + elif test dlprefiles = "$prev"; then # The library was specified with -dlpreopen. func_append dlprefiles " $func_resolve_sysroot_result" prev= @@ -5986,7 +7430,7 @@ # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" + arg=$func_quote_for_eval_result ;; esac # arg @@ -5998,9 +7442,9 @@ done # argument parsing loop test -n "$prev" && \ - func_fatal_help "the \`$prevarg' option requires an argument" - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + func_fatal_help "the '$prevarg' option requires an argument" + + if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" @@ -6009,20 +7453,23 @@ oldlibs= # calculate the name of the file, without its directory func_basename "$output" - outputname="$func_basename_result" - libobjs_save="$libobjs" + outputname=$func_basename_result + libobjs_save=$libobjs if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` + eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + # Definition is injected by LT_CONFIG during libtool generation. + func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" + func_dirname "$output" "/" "" - output_objdir="$func_dirname_result$objdir" + output_objdir=$func_dirname_result$objdir func_to_tool_file "$output_objdir/" tool_output_objdir=$func_to_tool_file_result # Create the object directory. @@ -6045,7 +7492,7 @@ # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do - if $opt_preserve_dup_deps ; then + if $opt_preserve_dup_deps; then case "$libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac @@ -6053,7 +7500,7 @@ func_append libs " $deplib" done - if test "$linkmode" = lib; then + if test lib = "$linkmode"; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps @@ -6085,7 +7532,7 @@ case $file in *.la) ;; *) - func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" + func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" ;; esac done @@ -6093,7 +7540,7 @@ prog) compile_deplibs= finalize_deplibs= - alldeplibs=no + alldeplibs=false newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" @@ -6105,32 +7552,32 @@ for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... - if test "$linkmode,$pass" = "lib,link"; then + if test lib,link = "$linkmode,$pass"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done - deplibs="$tmp_deplibs" + deplibs=$tmp_deplibs fi - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass"; then + libs=$deplibs deplibs= fi - if test "$linkmode" = prog; then + if test prog = "$linkmode"; then case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; + dlopen) libs=$dlfiles ;; + dlpreopen) libs=$dlprefiles ;; link) libs="$deplibs %DEPLIBS%" test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" ;; esac fi - if test "$linkmode,$pass" = "lib,dlpreopen"; then + if test lib,dlpreopen = "$linkmode,$pass"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs @@ -6151,26 +7598,26 @@ esac done done - libs="$dlprefiles" + libs=$dlprefiles fi - if test "$pass" = dlopen; then + if test dlopen = "$pass"; then # Collect dlpreopened libraries - save_deplibs="$deplibs" + save_deplibs=$deplibs deplibs= fi for deplib in $libs; do lib= - found=no + found=false case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test "$linkmode,$pass" = "prog,link"; then + if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append compiler_flags " $deplib" - if test "$linkmode" = lib ; then + if test lib = "$linkmode"; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; @@ -6180,13 +7627,13 @@ continue ;; -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - func_warning "\`-l' is ignored for archives/objects" + if test lib != "$linkmode" && test prog != "$linkmode"; then + func_warning "'-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result - if test "$linkmode" = lib; then + if test lib = "$linkmode"; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" @@ -6194,31 +7641,22 @@ for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" + lib=$searchdir/lib$name$search_ext if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes + if test .la = "$search_ext"; then + found=: else - found=no + found=false fi break 2 fi done done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library + if $found; then + # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then @@ -6226,19 +7664,19 @@ old_library= func_source "$lib" for l in $old_library $library_names; do - ll="$l" + ll=$l done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no + if test "X$ll" = "X$old_library"; then # only static version available + found=false func_dirname "$lib" "" "." - ladir="$func_dirname_result" + ladir=$func_dirname_result lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then + if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" fi continue fi @@ -6247,15 +7685,25 @@ *) ;; esac fi + else + # deplib doesn't seem to be a libtool library + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" + fi + continue fi ;; # -l *.ltframework) - if test "$linkmode,$pass" = "prog,link"; then + if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" - if test "$linkmode" = lib ; then + if test lib = "$linkmode"; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; @@ -6268,18 +7716,18 @@ case $linkmode in lib) deplibs="$deplib $deplibs" - test "$pass" = conv && continue + test conv = "$pass" && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; prog) - if test "$pass" = conv; then + if test conv = "$pass"; then deplibs="$deplib $deplibs" continue fi - if test "$pass" = scan; then + if test scan = "$pass"; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" @@ -6290,13 +7738,13 @@ func_append newlib_search_path " $func_resolve_sysroot_result" ;; *) - func_warning "\`-L' is ignored for archives/objects" + func_warning "'-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) - if test "$pass" = link; then + if test link = "$pass"; then func_stripname '-R' '' "$deplib" func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result @@ -6314,7 +7762,7 @@ lib=$func_resolve_sysroot_result ;; *.$libext) - if test "$pass" = conv; then + if test conv = "$pass"; then deplibs="$deplib $deplibs" continue fi @@ -6325,21 +7773,26 @@ case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) - valid_a_lib=no + valid_a_lib=false case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes + valid_a_lib=: fi ;; pass_all) - valid_a_lib=yes + valid_a_lib=: ;; esac - if test "$valid_a_lib" != yes; then + if $valid_a_lib; then + echo + $ECHO "*** Warning: Linking the shared library $output against the" + $ECHO "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + else echo $ECHO "*** Warning: Trying to link with static lib archive $deplib." echo "*** I have the capability to make that library automatically link in when" @@ -6347,18 +7800,13 @@ echo "*** shared version of the library, which you do not appear to have" echo "*** because the file extensions .$libext of this argument makes me believe" echo "*** that it is just a static archive that I should not use here." - else - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" fi ;; esac continue ;; prog) - if test "$pass" != link; then + if test link != "$pass"; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" @@ -6369,10 +7817,10 @@ esac # linkmode ;; # *.$libext *.lo | *.$objext) - if test "$pass" = conv; then + if test conv = "$pass"; then deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + elif test prog = "$linkmode"; then + if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then # If there is no dlopen support or we're linking statically, # we need to preload. func_append newdlprefiles " $deplib" @@ -6385,22 +7833,20 @@ continue ;; %DEPLIBS%) - alldeplibs=yes + alldeplibs=: continue ;; esac # case $deplib - if test "$found" = yes || test -f "$lib"; then : - else - func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" - fi + $found || test -f "$lib" \ + || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ - || func_fatal_error "\`$lib' is not a valid libtool archive" + || func_fatal_error "'$lib' is not a valid libtool archive" func_dirname "$lib" "" "." - ladir="$func_dirname_result" + ladir=$func_dirname_result dlname= dlopen= @@ -6430,19 +7876,19 @@ done fi dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass" || + { test prog != "$linkmode" && test lib != "$linkmode"; }; then test -n "$dlopen" && func_append dlfiles " $dlopen" test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" fi - if test "$pass" = conv; then + if test conv = "$pass"; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for \`$lib'" + func_fatal_error "cannot find name of link library for '$lib'" fi # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" @@ -6450,15 +7896,15 @@ tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps ; then + if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - func_fatal_error "\`$lib' is not a convenience library" + elif test prog != "$linkmode" && test lib != "$linkmode"; then + func_fatal_error "'$lib' is not a convenience library" fi continue fi # $pass = conv @@ -6467,26 +7913,26 @@ # Get the name of the library we link against. linklib= if test -n "$old_library" && - { test "$prefer_static_libs" = yes || - test "$prefer_static_libs,$installed" = "built,no"; }; then + { test yes = "$prefer_static_libs" || + test built,no = "$prefer_static_libs,$installed"; }; then linklib=$old_library else for l in $old_library $library_names; do - linklib="$l" + linklib=$l done fi if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for \`$lib'" + func_fatal_error "cannot find name of link library for '$lib'" fi # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - func_fatal_error "cannot -dlopen a convenience library: \`$lib'" - fi + if test dlopen = "$pass"; then + test -z "$libdir" \ + && func_fatal_error "cannot -dlopen a convenience library: '$lib'" if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then + test yes != "$dlopen_support" || + test no = "$build_libtool_libs" + then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't @@ -6500,40 +7946,40 @@ # We need an absolute path. case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of \`$ladir'" + func_warning "cannot determine absolute directory name of '$ladir'" func_warning "passing it literally to the linker, although it might fail" - abs_ladir="$ladir" + abs_ladir=$ladir fi ;; esac func_basename "$lib" - laname="$func_basename_result" + laname=$func_basename_result # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then + if test yes = "$installed"; then if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library \`$lib' was moved." - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" + func_warning "library '$lib' was moved." + dir=$ladir + absdir=$abs_ladir + libdir=$abs_ladir else - dir="$lt_sysroot$libdir" - absdir="$lt_sysroot$libdir" + dir=$lt_sysroot$libdir + absdir=$lt_sysroot$libdir fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + test yes = "$hardcode_automatic" && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" + dir=$ladir + absdir=$abs_ladir # Remove this search path later func_append notinst_path " $abs_ladir" else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" + dir=$ladir/$objdir + absdir=$abs_ladir/$objdir # Remove this search path later func_append notinst_path " $abs_ladir" fi @@ -6542,11 +7988,11 @@ name=$func_stripname_result # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir" && test "$linkmode" = prog; then - func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" + if test dlpreopen = "$pass"; then + if test -z "$libdir" && test prog = "$linkmode"; then + func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" fi - case "$host" in + case $host in # special handling for platforms with PE-DLLs. *cygwin* | *mingw* | *cegcc* ) # Linker will automatically link against shared library if both @@ -6590,9 +8036,9 @@ if test -z "$libdir"; then # Link the convenience library - if test "$linkmode" = lib; then + if test lib = "$linkmode"; then deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then + elif test prog,link = "$linkmode,$pass"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else @@ -6602,14 +8048,14 @@ fi - if test "$linkmode" = prog && test "$pass" != link; then + if test prog = "$linkmode" && test link != "$pass"; then func_append newlib_search_path " $ladir" deplibs="$lib $deplibs" - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes + linkalldeplibs=false + if test no != "$link_all_deplibs" || test -z "$library_names" || + test no = "$build_libtool_libs"; then + linkalldeplibs=: fi tmp_libs= @@ -6621,14 +8067,14 @@ ;; esac # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then + if $linkalldeplibs; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi - if $opt_preserve_dup_deps ; then + if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac @@ -6638,15 +8084,15 @@ continue fi # $linkmode = prog... - if test "$linkmode,$pass" = "prog,link"; then + if test prog,link = "$linkmode,$pass"; then if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || + { { test no = "$prefer_static_libs" || + test built,yes = "$prefer_static_libs,$installed"; } || test -z "$old_library"; }; then # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then # Make sure the rpath contains only unique directories. - case "$temp_rpath:" in + case $temp_rpath: in *"$absdir:"*) ;; *) func_append temp_rpath "$absdir:" ;; esac @@ -6675,9 +8121,9 @@ esac fi # $linkmode,$pass = prog,link... - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && + if $alldeplibs && + { test pass_all = "$deplibs_check_method" || + { test yes = "$build_libtool_libs" && test -n "$library_names"; }; }; then # We only need to search for static libraries continue @@ -6686,19 +8132,19 @@ link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes; then + if test built = "$use_static_libs" && test yes = "$installed"; then use_static_libs=no fi if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then + { test no = "$use_static_libs" || test -z "$old_library"; }; then case $host in - *cygwin* | *mingw* | *cegcc*) + *cygwin* | *mingw* | *cegcc* | *os2*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" need_relink=no ;; *) - if test "$installed" = no; then + if test no = "$installed"; then func_append notinst_deplibs " $lib" need_relink=yes fi @@ -6708,24 +8154,24 @@ # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule="" + dlopenmodule= for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule="$dlpremoduletest" + dlopenmodule=$dlpremoduletest break fi done - if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then + if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then echo - if test "$linkmode" = prog; then + if test prog = "$linkmode"; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then + if test lib = "$linkmode" && + test yes = "$hardcode_into_libs"; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. @@ -6753,43 +8199,43 @@ # figure out the soname set dummy $library_names shift - realname="$1" + realname=$1 shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then - soname="$dlname" + soname=$dlname elif test -n "$soname_spec"; then # bleh windows case $host in - *cygwin* | mingw* | *cegcc*) + *cygwin* | mingw* | *cegcc* | *os2*) func_arith $current - $age major=$func_arith_result - versuffix="-$major" + versuffix=-$major ;; esac eval soname=\"$soname_spec\" else - soname="$realname" + soname=$realname fi # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" + soroot=$soname func_basename "$soroot" - soname="$func_basename_result" + soname=$func_basename_result func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else - func_verbose "extracting exported symbol list from \`$soname'" + func_verbose "extracting exported symbol list from '$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for \`$soname'" + func_verbose "generating import library for '$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library @@ -6797,58 +8243,58 @@ linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" - if test "$linkmode" = prog || test "$opt_mode" != relink; then + if test prog = "$linkmode" || test relink != "$opt_mode"; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" + if test no = "$hardcode_direct"; then + add=$dir/$linklib case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; + *-*-sysv4*uw2*) add_dir=-L$dir ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; + *-*-unixware7*) add_dir=-L$dir ;; *-*-darwin* ) - # if the lib is a (non-dlopened) module then we can not + # if the lib is a (non-dlopened) module then we cannot # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null ; then + $GREP ": [^:]* bundle" >/dev/null; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then + if test -z "$old_library"; then echo echo "*** And there doesn't seem to be a static archive available" echo "*** The link will probably fail, sorry" else - add="$dir/$old_library" + add=$dir/$old_library fi elif test -n "$old_library"; then - add="$dir/$old_library" + add=$dir/$old_library fi fi esac - elif test "$hardcode_minus_L" = no; then + elif test no = "$hardcode_minus_L"; then case $host in - *-*-sunos*) add_shlibpath="$dir" ;; + *-*-sunos*) add_shlibpath=$dir ;; esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" + add_dir=-L$dir + add=-l$name + elif test no = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name else lib_linked=no fi ;; relink) - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$absdir" + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$dir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$absdir # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in @@ -6857,10 +8303,10 @@ ;; esac fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name else lib_linked=no fi @@ -6868,7 +8314,7 @@ *) lib_linked=no ;; esac - if test "$lib_linked" != yes; then + if test yes != "$lib_linked"; then func_fatal_configuration "unsupported hardcode properties" fi @@ -6878,15 +8324,15 @@ *) func_append compile_shlibpath "$add_shlibpath:" ;; esac fi - if test "$linkmode" = prog; then + if test prog = "$linkmode"; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && - test "$hardcode_minus_L" != yes && - test "$hardcode_shlibpath_var" = yes; then + if test yes != "$hardcode_direct" && + test yes != "$hardcode_minus_L" && + test yes = "$hardcode_shlibpath_var"; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; @@ -6895,33 +8341,33 @@ fi fi - if test "$linkmode" = prog || test "$opt_mode" = relink; then + if test prog = "$linkmode" || test relink = "$opt_mode"; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$libdir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$libdir + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then + add=-l$name + elif test yes = "$hardcode_automatic"; then if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" + test -f "$inst_prefix_dir$libdir/$linklib"; then + add=$inst_prefix_dir$libdir/$linklib else - add="$libdir/$linklib" + add=$libdir/$linklib fi else # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" + add_dir=-L$libdir # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in @@ -6930,10 +8376,10 @@ ;; esac fi - add="-l$name" + add=-l$name fi - if test "$linkmode" = prog; then + if test prog = "$linkmode"; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else @@ -6941,43 +8387,43 @@ test -n "$add" && deplibs="$add $deplibs" fi fi - elif test "$linkmode" = prog; then + elif test prog = "$linkmode"; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" + if test unsupported != "$hardcode_direct"; then + test -n "$old_library" && linklib=$old_library compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi - elif test "$build_libtool_libs" = yes; then + elif test yes = "$build_libtool_libs"; then # Not a shared library - if test "$deplibs_check_method" != pass_all; then + if test pass_all != "$deplibs_check_method"; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. echo - $ECHO "*** Warning: This system can not link to static lib archive $lib." + $ECHO "*** Warning: This system cannot link to static lib archive $lib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then + if test yes = "$module"; then echo "*** But as you try to build a module library, libtool will still create " echo "*** a static module, that should work as long as the dlopening application" echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." + echo "*** 'nm' from GNU binutils and a full rebuild may help." fi - if test "$build_old_libs" = no; then + if test no = "$build_old_libs"; then build_libtool_libs=module build_old_libs=yes else @@ -6990,11 +8436,11 @@ fi fi # link shared/static library? - if test "$linkmode" = lib; then + if test lib = "$linkmode"; then if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then + { test yes != "$hardcode_into_libs" || + test yes = "$build_old_libs" || + test yes = "$link_static"; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do @@ -7008,12 +8454,12 @@ *) func_append temp_deplibs " $libdir";; esac done - dependency_libs="$temp_deplibs" + dependency_libs=$temp_deplibs fi func_append newlib_search_path " $absdir" # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do @@ -7023,7 +8469,7 @@ func_resolve_sysroot "$func_stripname_result";; *) func_resolve_sysroot "$deplib" ;; esac - if $opt_preserve_dup_deps ; then + if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $func_resolve_sysroot_result "*) func_append specialdeplibs " $func_resolve_sysroot_result" ;; @@ -7032,12 +8478,12 @@ func_append tmp_libs " $func_resolve_sysroot_result" done - if test "$link_all_deplibs" != no; then + if test no != "$link_all_deplibs"; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in - -L*) path="$deplib" ;; + -L*) path=$deplib ;; *.la) func_resolve_sysroot "$deplib" deplib=$func_resolve_sysroot_result @@ -7045,12 +8491,12 @@ dir=$func_dirname_result # We need an absolute path. case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of \`$dir'" - absdir="$dir" + func_warning "cannot determine absolute directory name of '$dir'" + absdir=$dir fi ;; esac @@ -7058,35 +8504,35 @@ case $host in *-*-darwin*) depdepl= - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do + eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names"; then + for tmp in $deplibrary_names; do depdepl=$tmp done - if test -f "$absdir/$objdir/$depdepl" ; then - depdepl="$absdir/$objdir/$depdepl" - darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + if test -f "$absdir/$objdir/$depdepl"; then + depdepl=$absdir/$objdir/$depdepl + darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then - darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi - func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" - func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" + func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" + func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" path= fi fi ;; *) - path="-L$absdir/$objdir" + path=-L$absdir/$objdir ;; esac else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" + func_fatal_error "'$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ - func_warning "\`$deplib' seems to be moved" - - path="-L$absdir" + func_warning "'$deplib' seems to be moved" + + path=-L$absdir fi ;; esac @@ -7098,23 +8544,23 @@ fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs - if test "$pass" = link; then - if test "$linkmode" = "prog"; then + if test link = "$pass"; then + if test prog = "$linkmode"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then + dependency_libs=$newdependency_libs + if test dlpreopen = "$pass"; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then + if test dlopen != "$pass"; then + test conv = "$pass" || { # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do @@ -7124,12 +8570,12 @@ esac done newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" + } + + if test prog,link = "$linkmode,$pass"; then + vars="compile_deplibs finalize_deplibs" else - vars="compile_deplibs finalize_deplibs" + vars=deplibs fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order @@ -7187,62 +8633,93 @@ eval $var=\"$tmp_libs\" done # for var fi + + # Add Sun CC postdeps if required: + test CXX = "$tagname" && { + case $host_os in + linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C++ 5.9 + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + + solaris*) + func_cc_basename "$CC" + case $func_cc_basename_result in + CC* | sunCC*) + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + esac + } + # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= - for i in $dependency_libs ; do + for i in $dependency_libs; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) - i="" + i= ;; esac - if test -n "$i" ; then + if test -n "$i"; then func_append tmp_libs " $i" fi done dependency_libs=$tmp_libs done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" + if test prog = "$linkmode"; then + dlfiles=$newdlfiles fi - if test "$linkmode" = prog || test "$linkmode" = lib; then - dlprefiles="$newdlprefiles" + if test prog = "$linkmode" || test lib = "$linkmode"; then + dlprefiles=$newdlprefiles fi case $linkmode in oldlib) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for archives" + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for archives" ;; + func_warning "'-l' and '-L' are ignored for archives" ;; esac test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for archives" + func_warning "'-rpath' is ignored for archives" test -n "$xrpath" && \ - func_warning "\`-R' is ignored for archives" + func_warning "'-R' is ignored for archives" test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for archives" + func_warning "'-version-info/-version-number' is ignored for archives" test -n "$release" && \ - func_warning "\`-release' is ignored for archives" + func_warning "'-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ - func_warning "\`-export-symbols' is ignored for archives" + func_warning "'-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no - oldlibs="$output" + oldlibs=$output func_append objs "$old_deplibs" ;; lib) - # Make sure we only generate libraries of the form `libNAME.la'. + # Make sure we only generate libraries of the form 'libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" @@ -7251,10 +8728,10 @@ eval libname=\"$libname_spec\" ;; *) - test "$module" = no && \ - func_fatal_help "libtool library \`$output' must begin with \`lib'" - - if test "$need_lib_prefix" != no; then + test no = "$module" \ + && func_fatal_help "libtool library '$output' must begin with 'lib'" + + if test no != "$need_lib_prefix"; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result @@ -7268,8 +8745,8 @@ esac if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" + if test pass_all != "$deplibs_check_method"; then + func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" else echo $ECHO "*** Warning: Linking the shared library $output against the non-libtool" @@ -7278,21 +8755,21 @@ fi fi - test "$dlself" != no && \ - func_warning "\`-dlopen self' is ignored for libtool libraries" + test no = "$dlself" \ + || func_warning "'-dlopen self' is ignored for libtool libraries" set dummy $rpath shift - test "$#" -gt 1 && \ - func_warning "ignoring multiple \`-rpath's for a libtool library" - - install_libdir="$1" + test 1 -lt "$#" \ + && func_warning "ignoring multiple '-rpath's for a libtool library" + + install_libdir=$1 oldlibs= if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then + if test yes = "$build_libtool_libs"; then # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so + # Some compilers have problems with a '.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" @@ -7301,20 +8778,20 @@ fi test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for convenience libraries" + func_warning "'-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ - func_warning "\`-release' is ignored for convenience libraries" + func_warning "'-release' is ignored for convenience libraries" else # Parse the version information argument. - save_ifs="$IFS"; IFS=':' + save_ifs=$IFS; IFS=: set dummy $vinfo 0 0 0 shift - IFS="$save_ifs" + IFS=$save_ifs test -n "$7" && \ - func_fatal_help "too many parameters to \`-version-info'" + func_fatal_help "too many parameters to '-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts @@ -7322,45 +8799,45 @@ case $vinfo_number in yes) - number_major="$1" - number_minor="$2" - number_revision="$3" + number_major=$1 + number_minor=$2 + number_revision=$3 # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix - # which has an extra 1 added just for fun + # that has an extra 1 added just for fun # case $version_type in # correct linux to gnu/linux during the next big refactor - darwin|linux|osf|windows|none) + darwin|freebsd-elf|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result - age="$number_minor" - revision="$number_revision" + age=$number_minor + revision=$number_revision ;; - freebsd-aout|freebsd-elf|qnx|sunos) - current="$number_major" - revision="$number_minor" - age="0" + freebsd-aout|qnx|sunos) + current=$number_major + revision=$number_minor + age=0 ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result - age="$number_minor" - revision="$number_minor" + age=$number_minor + revision=$number_minor lt_irix_increment=no ;; *) - func_fatal_configuration "$modename: unknown library version type \`$version_type'" + func_fatal_configuration "$modename: unknown library version type '$version_type'" ;; esac ;; no) - current="$1" - revision="$2" - age="$3" + current=$1 + revision=$2 + age=$3 ;; esac @@ -7368,30 +8845,30 @@ case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) - func_error "CURRENT \`$current' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" + func_error "CURRENT '$current' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) - func_error "REVISION \`$revision' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" + func_error "REVISION '$revision' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) - func_error "AGE \`$age' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" + func_error "AGE '$age' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then - func_error "AGE \`$age' is greater than the current interface number \`$current'" - func_fatal_error "\`$vinfo' is not valid version information" + func_error "AGE '$age' is greater than the current interface number '$current'" + func_fatal_error "'$vinfo' is not valid version information" fi # Calculate the version variables. @@ -7406,26 +8883,36 @@ # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result - versuffix="$major.$age.$revision" + versuffix=$major.$age.$revision # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result - xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + # On Darwin other compilers + case $CC in + nagfor*) + verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" + ;; + *) + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + esac ;; freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; + major=.$current + versuffix=.$current.$revision ;; freebsd-elf) - major=".$current" - versuffix=".$current" + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision ;; irix | nonstopux) - if test "X$lt_irix_increment" = "Xno"; then + if test no = "$lt_irix_increment"; then func_arith $current - $age else func_arith $current - $age + 1 @@ -7436,69 +8923,74 @@ nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac - verstring="$verstring_prefix$major.$revision" + verstring=$verstring_prefix$major.$revision # Add in all the interfaces that we are compatible with. loop=$revision - while test "$loop" -ne 0; do + while test 0 -ne "$loop"; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result - verstring="$verstring_prefix$major.$iface:$verstring" + verstring=$verstring_prefix$major.$iface:$verstring done - # Before this point, $major must not contain `.'. + # Before this point, $major must not contain '.'. major=.$major - versuffix="$major.$revision" + versuffix=$major.$revision ;; linux) # correct to gnu/linux during the next big refactor func_arith $current - $age major=.$func_arith_result - versuffix="$major.$age.$revision" + versuffix=$major.$age.$revision ;; osf) func_arith $current - $age major=.$func_arith_result - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" + versuffix=.$current.$age.$revision + verstring=$current.$age.$revision # Add in all the interfaces that we are compatible with. loop=$age - while test "$loop" -ne 0; do + while test 0 -ne "$loop"; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result - verstring="$verstring:${iface}.0" + verstring=$verstring:$iface.0 done # Make executables depend on our current version. - func_append verstring ":${current}.0" + func_append verstring ":$current.0" ;; qnx) - major=".$current" - versuffix=".$current" + major=.$current + versuffix=.$current ;; + sco) + major=.$current + versuffix=.$current + ;; + sunos) - major=".$current" - versuffix=".$current.$revision" + major=.$current + versuffix=.$current.$revision ;; windows) # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. + # extension on DOS 8.3 file systems. func_arith $current - $age major=$func_arith_result - versuffix="-$major" + versuffix=-$major ;; *) - func_fatal_configuration "unknown library version type \`$version_type'" + func_fatal_configuration "unknown library version type '$version_type'" ;; esac @@ -7512,42 +9004,45 @@ verstring= ;; *) - verstring="0.0" + verstring=0.0 ;; esac - if test "$need_version" = no; then + if test no = "$need_version"; then versuffix= else - versuffix=".0.0" + versuffix=.0.0 fi fi # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then + if test yes,no = "$avoid_version,$need_version"; then major= versuffix= - verstring="" + verstring= fi # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - func_warning "undefined symbols not allowed in $host shared libraries" - build_libtool_libs=no - build_old_libs=yes + if test yes = "$allow_undefined"; then + if test unsupported = "$allow_undefined_flag"; then + if test yes = "$build_old_libs"; then + func_warning "undefined symbols not allowed in $host shared libraries; building static only" + build_libtool_libs=no + else + func_fatal_error "can't build $host shared library unless -no-undefined is specified" + fi fi else # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" + allow_undefined_flag=$no_undefined_flag fi fi - func_generate_dlsyms "$libname" "$libname" "yes" + func_generate_dlsyms "$libname" "$libname" : func_append libobjs " $symfileobj" - test "X$libobjs" = "X " && libobjs= - - if test "$opt_mode" != relink; then + test " " = "$libobjs" && libobjs= + + if test relink != "$opt_mode"; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= @@ -7556,8 +9051,8 @@ case $p in *.$objext | *.gcno) ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) + if test -n "$precious_files_regex"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue @@ -7573,11 +9068,11 @@ fi # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then func_append oldlibs " $output_objdir/$libname.$libext" # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` + oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` fi # Eliminate all temporary directories. @@ -7598,13 +9093,13 @@ *) func_append finalize_rpath " $libdir" ;; esac done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" + old_dlfiles=$dlfiles dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in @@ -7614,7 +9109,7 @@ done # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" + old_dlprefiles=$dlprefiles dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in @@ -7623,7 +9118,7 @@ esac done - if test "$build_libtool_libs" = yes; then + if test yes = "$build_libtool_libs"; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) @@ -7647,7 +9142,7 @@ ;; *) # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then + if test yes = "$build_libtool_need_lc"; then func_append deplibs " -lc" fi ;; @@ -7663,9 +9158,9 @@ # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? - release="" - versuffix="" - major="" + release= + versuffix= + major= newdeplibs= droppeddeps=no case $deplibs_check_method in @@ -7694,20 +9189,20 @@ -l*) func_stripname -l '' "$i" name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $i "*) func_append newdeplibs " $i" - i="" + i= ;; esac fi - if test -n "$i" ; then + if test -n "$i"; then libname=`eval "\\$ECHO \"$libname_spec\""` deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` set dummy $deplib_matches; shift deplib_match=$1 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then func_append newdeplibs " $i" else droppeddeps=yes @@ -7737,20 +9232,20 @@ $opt_dry_run || $RM conftest if $LTCC $LTCFLAGS -o conftest conftest.c $i; then ldd_output=`ldd conftest` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $i "*) func_append newdeplibs " $i" - i="" + i= ;; esac fi - if test -n "$i" ; then + if test -n "$i"; then libname=`eval "\\$ECHO \"$libname_spec\""` deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` set dummy $deplib_matches; shift deplib_match=$1 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then func_append newdeplibs " $i" else droppeddeps=yes @@ -7787,24 +9282,24 @@ -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $a_deplib "*) func_append newdeplibs " $a_deplib" - a_deplib="" + a_deplib= ;; esac fi - if test -n "$a_deplib" ; then + if test -n "$a_deplib"; then libname=`eval "\\$ECHO \"$libname_spec\""` if test -n "$file_magic_glob"; then libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob` else libnameglob=$libname fi - test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob` + test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - if test "$want_nocaseglob" = yes; then + if test yes = "$want_nocaseglob"; then shopt -s nocaseglob potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` $nocaseglob @@ -7822,25 +9317,25 @@ # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? - potlib="$potent_lib" + potlib=$potent_lib while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + potliblink=`ls -ld $potlib | $SED 's/.* -> //'` case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; + [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; + *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then func_append newdeplibs " $a_deplib" - a_deplib="" + a_deplib= break 2 fi done done fi - if test -n "$a_deplib" ; then + if test -n "$a_deplib"; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." @@ -7848,7 +9343,7 @@ echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then + if test -z "$potlib"; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" @@ -7871,30 +9366,30 @@ -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $a_deplib "*) func_append newdeplibs " $a_deplib" - a_deplib="" + a_deplib= ;; esac fi - if test -n "$a_deplib" ; then + if test -n "$a_deplib"; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test + potlib=$potent_lib # see symlink-check above in file_magic test if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then func_append newdeplibs " $a_deplib" - a_deplib="" + a_deplib= break 2 fi done done fi - if test -n "$a_deplib" ; then + if test -n "$a_deplib"; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." @@ -7902,7 +9397,7 @@ echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then + if test -z "$potlib"; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" @@ -7918,18 +9413,18 @@ done # Gone through all deplibs. ;; none | unknown | *) - newdeplibs="" + newdeplibs= tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + for i in $predeps $postdeps; do # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` + tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` done fi case $tmp_deplibs in *[!\ \ ]*) echo - if test "X$deplibs_check_method" = "Xnone"; then + if test none = "$deplibs_check_method"; then echo "*** Warning: inter-library dependencies are not supported in this platform." else echo "*** Warning: inter-library dependencies are not known to be supported." @@ -7953,8 +9448,8 @@ ;; esac - if test "$droppeddeps" = yes; then - if test "$module" = yes; then + if test yes = "$droppeddeps"; then + if test yes = "$module"; then echo echo "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" @@ -7963,12 +9458,12 @@ if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." + echo "*** 'nm' from GNU binutils and a full rebuild may help." fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext build_libtool_libs=module build_old_libs=yes else @@ -7979,14 +9474,14 @@ echo "*** automatically added whenever a program is linked with this library" echo "*** or is declared to -dlopen it." - if test "$allow_undefined" = no; then + if test no = "$allow_undefined"; then echo echo "*** Since this library must not contain undefined symbols," echo "*** because either the platform does not support them or" echo "*** it was explicitly requested with -no-undefined," echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext build_libtool_libs=module build_old_libs=yes else @@ -8032,7 +9527,7 @@ *) func_append new_libs " $deplib" ;; esac done - deplibs="$new_libs" + deplibs=$new_libs # All the library-specific variables (install_libdir is set above). library_names= @@ -8040,25 +9535,25 @@ dlname= # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - # Remove ${wl} instances when linking with ld. + if test yes = "$build_libtool_libs"; then + # Remove $wl instances when linking with ld. # FIXME: should test the right _cmds variable. case $archive_cmds in *\$LD\ *) wl= ;; esac - if test "$hardcode_into_libs" = yes; then + if test yes = "$hardcode_into_libs"; then # Hardcode the library paths hardcode_libdirs= dep_rpath= - rpath="$finalize_rpath" - test "$opt_mode" != relink && rpath="$compile_rpath$rpath" + rpath=$finalize_rpath + test relink = "$opt_mode" || rpath=$compile_rpath$rpath for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then func_replace_sysroot "$libdir" libdir=$func_replace_sysroot_result if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" + hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in @@ -8083,7 +9578,7 @@ # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" + libdir=$hardcode_libdirs eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" fi if test -n "$runpath_var" && test -n "$perm_rpath"; then @@ -8097,8 +9592,8 @@ test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi - shlibpath="$finalize_shlibpath" - test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + shlibpath=$finalize_shlibpath + test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi @@ -8108,19 +9603,19 @@ eval library_names=\"$library_names_spec\" set dummy $library_names shift - realname="$1" + realname=$1 shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else - soname="$realname" + soname=$realname fi if test -z "$dlname"; then dlname=$soname fi - lib="$output_objdir/$realname" + lib=$output_objdir/$realname linknames= for link do @@ -8134,7 +9629,7 @@ delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols="$output_objdir/$libname.uexp" + export_symbols=$output_objdir/$libname.uexp func_append delfiles " $export_symbols" fi @@ -8143,31 +9638,31 @@ cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile - if test "x`$SED 1q $export_symbols`" != xEXPORTS; then + func_dll_def_p "$export_symbols" || { # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. - orig_export_symbols="$export_symbols" + orig_export_symbols=$export_symbols export_symbols= always_export_symbols=yes - fi + } fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" + if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' + save_ifs=$IFS; IFS='~' for cmd1 in $cmds; do - IFS="$save_ifs" + IFS=$save_ifs # Take the normal branch if the nm_file_list_spec branch # doesn't work or if tool conversion is not needed. case $nm_file_list_spec~$to_tool_file_cmd in @@ -8181,7 +9676,7 @@ try_normal_branch=no ;; esac - if test "$try_normal_branch" = yes \ + if test yes = "$try_normal_branch" \ && { test "$len" -lt "$max_cmd_len" \ || test "$max_cmd_len" -le -1; } then @@ -8192,7 +9687,7 @@ output_la=$func_basename_result save_libobjs=$libobjs save_output=$output - output=${output_objdir}/${output_la}.nm + output=$output_objdir/$output_la.nm func_to_tool_file "$output" libobjs=$nm_file_list_spec$func_to_tool_file_result func_append delfiles " $output" @@ -8215,8 +9710,8 @@ break fi done - IFS="$save_ifs" - if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then + IFS=$save_ifs + if test -n "$export_symbols_regex" && test : != "$skipped_export"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi @@ -8224,16 +9719,16 @@ fi if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi - if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then + if test : != "$skipped_export" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine + # 's' commands, which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. @@ -8252,11 +9747,11 @@ ;; esac done - deplibs="$tmp_deplibs" + deplibs=$tmp_deplibs if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && - test "$compiler_needs_object" = yes && + test yes = "$compiler_needs_object" && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. @@ -8267,7 +9762,7 @@ eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else - gentop="$output_objdir/${outputname}x" + gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $convenience @@ -8276,18 +9771,18 @@ fi fi - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" func_append linker_flags " $flag" fi # Make a backup of the uninstalled library when relinking - if test "$opt_mode" = relink; then + if test relink = "$opt_mode"; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then + if test yes = "$module" && test -n "$module_cmds"; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds @@ -8305,7 +9800,7 @@ fi fi - if test "X$skipped_export" != "X:" && + if test : != "$skipped_export" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then @@ -8338,8 +9833,8 @@ last_robj= k=1 - if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then - output=${output_objdir}/${output_la}.lnkscript + if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then + output=$output_objdir/$output_la.lnkscript func_verbose "creating GNU ld script: $output" echo 'INPUT (' > $output for obj in $save_libobjs @@ -8351,14 +9846,14 @@ func_append delfiles " $output" func_to_tool_file "$output" output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then - output=${output_objdir}/${output_la}.lnk + elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then + output=$output_objdir/$output_la.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= - if test "$compiler_needs_object" = yes; then + if test yes = "$compiler_needs_object"; then firstobj="$1 " shift fi @@ -8373,7 +9868,7 @@ else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-${k}.$objext + output=$output_objdir/$output_la-$k.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result @@ -8385,13 +9880,13 @@ func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result - if test "X$objlist" = X || + if test -z "$objlist" || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. - if test "$k" -eq 1 ; then + if test 1 -eq "$k"; then # The first file doesn't have a previous command to add. reload_objs=$objlist eval concat_cmds=\"$reload_cmds\" @@ -8401,10 +9896,10 @@ reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" fi - last_robj=$output_objdir/$output_la-${k}.$objext + last_robj=$output_objdir/$output_la-$k.$objext func_arith $k + 1 k=$func_arith_result - output=$output_objdir/$output_la-${k}.$objext + output=$output_objdir/$output_la-$k.$objext objlist=" $obj" func_len " $last_robj" func_arith $len0 + $func_len_result @@ -8416,9 +9911,9 @@ # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ reload_objs="$objlist $last_robj" - eval concat_cmds=\"\${concat_cmds}$reload_cmds\" + eval concat_cmds=\"\$concat_cmds$reload_cmds\" if test -n "$last_robj"; then - eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi func_append delfiles " $output" @@ -8426,9 +9921,9 @@ output= fi - if ${skipped_export-false}; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" + ${skipped_export-false} && { + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. @@ -8437,16 +9932,16 @@ if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi - fi + } test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' + save_ifs=$IFS; IFS='~' for cmd in $concat_cmds; do - IFS="$save_ifs" - $opt_silent || { + IFS=$save_ifs + $opt_quiet || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } @@ -8454,7 +9949,7 @@ lt_exit=$? # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then + if test relink = "$opt_mode"; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) @@ -8463,7 +9958,7 @@ exit $lt_exit } done - IFS="$save_ifs" + IFS=$save_ifs if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' @@ -8471,18 +9966,18 @@ fi fi - if ${skipped_export-false}; then + ${skipped_export-false} && { if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine + # 's' commands, which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. @@ -8491,7 +9986,7 @@ export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi - fi + } libobjs=$output # Restore the value of output. @@ -8505,7 +10000,7 @@ # value of $libobjs for piecewise linking. # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then + if test yes = "$module" && test -n "$module_cmds"; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else @@ -8527,7 +10022,7 @@ # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" + gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $dlprefiles @@ -8535,11 +10030,12 @@ test "X$libobjs" = "X " && libobjs= fi - save_ifs="$IFS"; IFS='~' + save_ifs=$IFS; IFS='~' for cmd in $cmds; do - IFS="$save_ifs" + IFS=$sp$nl eval cmd=\"$cmd\" - $opt_silent || { + IFS=$save_ifs + $opt_quiet || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } @@ -8547,7 +10043,7 @@ lt_exit=$? # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then + if test relink = "$opt_mode"; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) @@ -8556,10 +10052,10 @@ exit $lt_exit } done - IFS="$save_ifs" + IFS=$save_ifs # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then + if test relink = "$opt_mode"; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then @@ -8579,39 +10075,39 @@ done # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then + if test yes = "$module" || test yes = "$export_dynamic"; then # On all known operating systems, these are identical. - dlname="$soname" + dlname=$soname fi fi ;; obj) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for objects" + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for objects" ;; + func_warning "'-l' and '-L' are ignored for objects" ;; esac test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for objects" + func_warning "'-rpath' is ignored for objects" test -n "$xrpath" && \ - func_warning "\`-R' is ignored for objects" + func_warning "'-R' is ignored for objects" test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for objects" + func_warning "'-version-info' is ignored for objects" test -n "$release" && \ - func_warning "\`-release' is ignored for objects" + func_warning "'-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object \`$output' from non-libtool objects" + func_fatal_error "cannot build library object '$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" @@ -8619,7 +10115,7 @@ ;; *) libobj= - obj="$output" + obj=$output ;; esac @@ -8632,17 +10128,19 @@ # the extraction. reload_conv_objs= gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - + # if reload_cmds runs $LD directly, get rid of -Wl from + # whole_archive_flag_spec and hope we can get by with turning comma + # into space. + case $reload_cmds in + *\$LD[\ \$]*) wl= ;; + esac if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` + test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` + reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags else - gentop="$output_objdir/${obj}x" + gentop=$output_objdir/${obj}x func_append generated " $gentop" func_extract_archives $gentop $convenience @@ -8651,12 +10149,12 @@ fi # If we're not building shared, we need to use non_pic_objs - test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" + test yes = "$build_libtool_libs" || libobjs=$non_pic_objects # Create the old-style object. - reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" + reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs + + output=$obj func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. @@ -8668,7 +10166,7 @@ exit $EXIT_SUCCESS fi - if test "$build_libtool_libs" != yes; then + test yes = "$build_libtool_libs" || { if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi @@ -8678,12 +10176,12 @@ # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then + } + + if test -n "$pic_flag" || test default != "$pic_mode"; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" - output="$libobj" + output=$libobj func_execute_cmds "$reload_cmds" 'exit $?' fi @@ -8700,16 +10198,14 @@ output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for programs" + func_warning "'-version-info' is ignored for programs" test -n "$release" && \ - func_warning "\`-release' is ignored for programs" - - test "$preload" = yes \ - && test "$dlopen_support" = unknown \ - && test "$dlopen_self" = unknown \ - && test "$dlopen_self_static" = unknown && \ - func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." + func_warning "'-release' is ignored for programs" + + $preload \ + && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ + && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) @@ -8723,11 +10219,11 @@ *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). - if test "$tagname" = CXX ; then + if test CXX = "$tagname"; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) - func_append compile_command " ${wl}-bind_at_load" - func_append finalize_command " ${wl}-bind_at_load" + func_append compile_command " $wl-bind_at_load" + func_append finalize_command " $wl-bind_at_load" ;; esac fi @@ -8763,7 +10259,7 @@ *) func_append new_libs " $deplib" ;; esac done - compile_deplibs="$new_libs" + compile_deplibs=$new_libs func_append compile_command " $compile_deplibs" @@ -8787,7 +10283,7 @@ if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" + hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in @@ -8810,7 +10306,7 @@ fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` + testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; @@ -8827,10 +10323,10 @@ # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" + libdir=$hardcode_libdirs eval rpath=\" $hardcode_libdir_flag_spec\" fi - compile_rpath="$rpath" + compile_rpath=$rpath rpath= hardcode_libdirs= @@ -8838,7 +10334,7 @@ if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" + hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in @@ -8863,45 +10359,43 @@ # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" + libdir=$hardcode_libdirs eval rpath=\" $hardcode_libdir_flag_spec\" fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then + finalize_rpath=$rpath + + if test -n "$libobjs" && test yes = "$build_old_libs"; then # Transform all the library objects into standard objects. compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` fi - func_generate_dlsyms "$outputname" "@PROGRAM@" "no" + func_generate_dlsyms "$outputname" "@PROGRAM@" false # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi - wrappers_required=yes + wrappers_required=: case $host in *cegcc* | *mingw32ce*) # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=no + wrappers_required=false ;; *cygwin* | *mingw* ) - if test "$build_libtool_libs" != yes; then - wrappers_required=no - fi + test yes = "$build_libtool_libs" || wrappers_required=false ;; *) - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - wrappers_required=no + if test no = "$need_relink" || test yes != "$build_libtool_libs"; then + wrappers_required=false fi ;; esac - if test "$wrappers_required" = no; then + $wrappers_required || { # Replace the output file specification. compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" + link_command=$compile_command$compile_rpath # We have no uninstalled library dependencies, so finalize right now. exit_status=0 @@ -8914,12 +10408,12 @@ fi # Delete the generated files. - if test -f "$output_objdir/${outputname}S.${objext}"; then - func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' + if test -f "$output_objdir/${outputname}S.$objext"; then + func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' fi exit $exit_status - fi + } if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" @@ -8949,9 +10443,9 @@ fi fi - if test "$no_install" = yes; then + if test yes = "$no_install"; then # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" + link_command=$compile_var$compile_command$compile_rpath # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. @@ -8968,27 +10462,28 @@ exit $EXIT_SUCCESS fi - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "\`$output' will be relinked during installation" - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi + case $hardcode_action,$fast_install in + relink,*) + # Fast installation is not supported + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + + func_warning "this platform does not like uninstalled shared libraries" + func_warning "'$output' will be relinked during installation" + ;; + *,yes) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` + ;; + *,no) + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + ;; + *,needless) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command= + ;; + esac # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` @@ -9045,8 +10540,8 @@ func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" + cwrappersource=$output_path/$objdir/lt-$output_name.c + cwrapper=$output_path/$output_name.exe $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 @@ -9067,7 +10562,7 @@ trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host" ; then + if test "x$build" = "x$host"; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result @@ -9090,25 +10585,27 @@ # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save $symfileobj" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" + case $build_libtool_libs in + convenience) + oldobjs="$libobjs_save $symfileobj" + addlibs=$convenience build_libtool_libs=no - else + ;; + module) + oldobjs=$libobjs_save + addlibs=$old_convenience + build_libtool_libs=no + ;; + *) oldobjs="$old_deplibs $non_pic_objects" - if test "$preload" = yes && test -f "$symfileobj"; then - func_append oldobjs " $symfileobj" - fi - fi - addlibs="$old_convenience" - fi + $preload && test -f "$symfileobj" \ + && func_append oldobjs " $symfileobj" + addlibs=$old_convenience + ;; + esac if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" + gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $addlibs @@ -9116,13 +10613,13 @@ fi # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" + gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $dlprefiles @@ -9143,7 +10640,7 @@ : else echo "copying selected object files to avoid basename conflicts..." - gentop="$output_objdir/${outputname}x" + gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs @@ -9152,7 +10649,7 @@ for obj in $save_oldobjs do func_basename "$obj" - objbase="$func_basename_result" + objbase=$func_basename_result case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) @@ -9221,18 +10718,18 @@ else # the above command should be used before it gets too long oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then + if test "$obj" = "$last_oldobj"; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist - if test "X$oldobjs" = "X" ; then + if test -z "$oldobjs"; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" @@ -9249,7 +10746,7 @@ case $output in *.la) old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" + test yes = "$build_old_libs" && old_library=$libname.$libext func_verbose "creating $output" # Preserve any variables that may affect compiler behavior @@ -9264,31 +10761,31 @@ fi done # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then + if test yes = "$hardcode_automatic"; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do - if test "$installed" = yes; then + if test yes = "$installed"; then if test -z "$install_libdir"; then break fi - output="$output_objdir/$outputname"i + output=$output_objdir/${outputname}i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" - name="$func_basename_result" + name=$func_basename_result func_resolve_sysroot "$deplib" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" + func_fatal_error "'$deplib' is not a valid libtool archive" func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" ;; -L*) @@ -9304,23 +10801,23 @@ *) func_append newdependency_libs " $deplib" ;; esac done - dependency_libs="$newdependency_libs" + dependency_libs=$newdependency_libs newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" + func_fatal_error "'$lib' is not a valid libtool archive" func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" ;; *) func_append newdlfiles " $lib" ;; esac done - dlfiles="$newdlfiles" + dlfiles=$newdlfiles newdlprefiles= for lib in $dlprefiles; do case $lib in @@ -9330,34 +10827,34 @@ # didn't already link the preopened objects directly into # the library: func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" + func_fatal_error "'$lib' is not a valid libtool archive" func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" ;; esac done - dlprefiles="$newdlprefiles" + dlprefiles=$newdlprefiles else newdlfiles= for lib in $dlfiles; do case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlfiles " $abs" done - dlfiles="$newdlfiles" + dlfiles=$newdlfiles newdlprefiles= for lib in $dlprefiles; do case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlprefiles " $abs" done - dlprefiles="$newdlprefiles" + dlprefiles=$newdlprefiles fi $RM $output # place dlname in correct position for cygwin @@ -9373,10 +10870,9 @@ case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) # If a -bindir argument was supplied, place the dll there. - if test "x$bindir" != x ; - then + if test -n "$bindir"; then func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result$dlname + tdlname=$func_relative_path_result/$dlname else # Otherwise fall back on heuristic. tdlname=../bin/$dlname @@ -9385,7 +10881,7 @@ esac $ECHO > $output "\ # $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. @@ -9399,7 +10895,7 @@ # The name of the static archive. old_library='$old_library' -# Linker flags that can not go in dependency_libs. +# Linker flags that cannot go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. @@ -9425,7 +10921,7 @@ # Directory that this library needs to be installed in: libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then + if test no,yes = "$installed,$need_relink"; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi @@ -9440,27 +10936,29 @@ exit $EXIT_SUCCESS } -{ test "$opt_mode" = link || test "$opt_mode" = relink; } && - func_mode_link ${1+"$@"} +if test link = "$opt_mode" || test relink = "$opt_mode"; then + func_mode_link ${1+"$@"} +fi # func_mode_uninstall arg... func_mode_uninstall () { - $opt_debug - RM="$nonopt" + $debug_cmd + + RM=$nonopt files= - rmforce= + rmforce=false exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. - libtool_install_magic="$magic" + libtool_install_magic=$magic for arg do case $arg in - -f) func_append RM " $arg"; rmforce=yes ;; + -f) func_append RM " $arg"; rmforce=: ;; -*) func_append RM " $arg" ;; *) func_append files " $arg" ;; esac @@ -9473,18 +10971,18 @@ for file in $files; do func_dirname "$file" "" "." - dir="$func_dirname_result" - if test "X$dir" = X.; then - odir="$objdir" + dir=$func_dirname_result + if test . = "$dir"; then + odir=$objdir else - odir="$dir/$objdir" + odir=$dir/$objdir fi func_basename "$file" - name="$func_basename_result" - test "$opt_mode" = uninstall && odir="$dir" + name=$func_basename_result + test uninstall = "$opt_mode" && odir=$dir # Remember odir for removal later, being careful to avoid duplicates - if test "$opt_mode" = clean; then + if test clean = "$opt_mode"; then case " $rmdirs " in *" $odir "*) ;; *) func_append rmdirs " $odir" ;; @@ -9499,11 +10997,11 @@ elif test -d "$file"; then exit_status=1 continue - elif test "$rmforce" = yes; then + elif $rmforce; then continue fi - rmfiles="$file" + rmfiles=$file case $name in *.la) @@ -9517,7 +11015,7 @@ done test -n "$old_library" && func_append rmfiles " $odir/$old_library" - case "$opt_mode" in + case $opt_mode in clean) case " $library_names " in *" $dlname "*) ;; @@ -9528,12 +11026,12 @@ uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' + func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' + func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; @@ -9549,21 +11047,19 @@ func_source $dir/$name # Add PIC object to the list of files to remove. - if test -n "$pic_object" && - test "$pic_object" != none; then + if test -n "$pic_object" && test none != "$pic_object"; then func_append rmfiles " $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && - test "$non_pic_object" != none; then + if test -n "$non_pic_object" && test none != "$non_pic_object"; then func_append rmfiles " $dir/$non_pic_object" fi fi ;; *) - if test "$opt_mode" = clean ; then + if test clean = "$opt_mode"; then noexename=$name case $file in *.exe) @@ -9590,12 +11086,12 @@ # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles - func_append rmfiles " $odir/$name $odir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then + func_append rmfiles " $odir/$name $odir/${name}S.$objext" + if test yes = "$fast_install" && test -n "$relink_command"; then func_append rmfiles " $odir/lt-$name" fi - if test "X$noexename" != "X$name" ; then - func_append rmfiles " $odir/lt-${noexename}.c" + if test "X$noexename" != "X$name"; then + func_append rmfiles " $odir/lt-$noexename.c" fi fi fi @@ -9604,7 +11100,7 @@ func_show_eval "$RM $rmfiles" 'exit_status=1' done - # Try to remove the ${objdir}s in the directories where we deleted files + # Try to remove the $objdir's in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" @@ -9614,16 +11110,17 @@ exit $exit_status } -{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && - func_mode_uninstall ${1+"$@"} +if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then + func_mode_uninstall ${1+"$@"} +fi test -z "$opt_mode" && { - help="$generic_help" + help=$generic_help func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode \`$opt_mode'" + func_fatal_help "invalid operation mode '$opt_mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" @@ -9634,7 +11131,7 @@ # The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting +# where we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support @@ -9657,5 +11154,3 @@ # mode:shell-script # sh-indentation:2 # End: -# vi:sw=2 - diff --git a/m4/libtool.m4 b/m4/libtool.m4 index d7c043f..10ab284 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -1,8 +1,6 @@ # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives @@ -10,36 +8,30 @@ # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. # -# This file is part of GNU Libtool. +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. # -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# along with this program. If not, see . ]) -# serial 57 LT_INIT +# serial 58 LT_INIT # LT_PREREQ(VERSION) @@ -67,7 +59,7 @@ # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT +[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl @@ -91,7 +83,7 @@ _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" +LIBTOOL_DEPS=$ltmain # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' @@ -111,26 +103,43 @@ dnl AC_DEFUN([AM_PROG_LIBTOOL], []) +# _LT_PREPARE_CC_BASENAME +# ----------------------- +m4_defun([_LT_PREPARE_CC_BASENAME], [ +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} +])# _LT_PREPARE_CC_BASENAME + + # _LT_CC_BASENAME(CC) # ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, +# but that macro is also expanded into generated libtool script, which +# arranges for $SED and $ECHO to be set by different means. m4_defun([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +[m4_require([_LT_PREPARE_CC_BASENAME])dnl +AC_REQUIRE([_LT_DECL_SED])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl +func_cc_basename $1 +cc_basename=$func_cc_basename_result ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. +# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} @@ -177,15 +186,16 @@ m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_WITH_SYSROOT])dnl +m4_require([_LT_CMD_TRUNCATE])dnl _LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options which allow our +# See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then +if test -n "\${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi ]) -if test -n "${ZSH_VERSION+set}" ; then +if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi @@ -198,7 +208,7 @@ # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then + if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi @@ -209,14 +219,14 @@ ofile=libtool can_build_shared=yes -# All known linkers require a `.a' archive for static linking (except MSVC, +# All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS # Set sane defaults for various variables test -z "$CC" && CC=cc @@ -269,14 +279,14 @@ # _LT_PROG_LTMAIN # --------------- -# Note that this code is called both from `configure', and `config.status' +# Note that this code is called both from 'configure', and 'config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# `config.status' has no value for ac_aux_dir unless we are using Automake, +# 'config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain="$ac_aux_dir/ltmain.sh" +ltmain=$ac_aux_dir/ltmain.sh ])# _LT_PROG_LTMAIN @@ -286,7 +296,7 @@ # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the `libtool' +# in macros and then make a single call at the end using the 'libtool' # label. @@ -421,8 +431,8 @@ # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ -# Quote a variable value, and forward it to `config.status' so that its -# declaration there will have the same value as in `configure'. VARNAME +# Quote a variable value, and forward it to 'config.status' so that its +# declaration there will have the same value as in 'configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) @@ -446,7 +456,7 @@ # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags="_LT_TAGS"dnl +available_tags='_LT_TAGS'dnl ]) @@ -474,7 +484,7 @@ # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' +# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], @@ -500,8 +510,8 @@ # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations -# into `config.status', and then the shell code to quote escape them in -# for loops in `config.status'. Finally, any additional code accumulated +# into 'config.status', and then the shell code to quote escape them in +# for loops in 'config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], @@ -547,7 +557,7 @@ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" @@ -560,7 +570,7 @@ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" @@ -576,7 +586,7 @@ # Generate a child script FILE with all initialization necessary to # reuse the environment learned by the parent script, and make the # file executable. If COMMENT is supplied, it is inserted after the -# `#!' sequence but before initialization text begins. After this +# '#!' sequence but before initialization text begins. After this # macro, additional text can be appended to FILE to form the body of # the child script. The macro ends with non-zero status if the # file could not be fully written (such as if the disk is full). @@ -598,7 +608,7 @@ _AS_PREPARE exec AS_MESSAGE_FD>&1 _ASEOF -test $lt_write_fail = 0 && chmod +x $1[]dnl +test 0 = "$lt_write_fail" && chmod +x $1[]dnl m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT @@ -621,7 +631,7 @@ } >&AS_MESSAGE_LOG_FD lt_cl_help="\ -\`$as_me' creates a local libtool stub from the current configuration, +'$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. @@ -643,7 +653,7 @@ This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." -while test $[#] != 0 +while test 0 != $[#] do case $[1] in --version | --v* | -V ) @@ -656,10 +666,10 @@ lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] -Try \`$[0] --help' for more information.]) ;; +Try '$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] -Try \`$[0] --help' for more information.]) ;; +Try '$[0] --help' for more information.]) ;; esac shift done @@ -685,7 +695,7 @@ # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. lt_cl_success=: -test "$silent" = yes && +test yes = "$silent" && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false @@ -705,31 +715,46 @@ _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options which allow our + # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then + if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi - cfgfile="${ofile}T" + cfgfile=${ofile}T trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Generated automatically by $as_me ($PACKAGE) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. -# + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + _LT_COPYING _LT_LIBTOOL_TAGS + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +_LT_PREPARE_MUNGE_PATH_LIST +_LT_PREPARE_CC_BASENAME + +# ### END FUNCTIONS SHARED WITH CONFIGURE _LT_EOF @@ -739,7 +764,7 @@ # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then +if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi @@ -755,8 +780,6 @@ # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) - - _LT_PROG_REPLACE_SHELLFNS mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") @@ -775,7 +798,6 @@ [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS @@ -974,7 +996,7 @@ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then + if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the @@ -992,7 +1014,7 @@ cat conftest.err >&AS_MESSAGE_LOG_FD # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD @@ -1010,7 +1032,7 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS="$save_LDFLAGS" + LDFLAGS=$save_LDFLAGS ]) AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], @@ -1032,7 +1054,7 @@ _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD @@ -1042,32 +1064,32 @@ ]) case $host_os in rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[[012]]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + 10.[[012]][[,.]]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then + if test yes = "$lt_cv_apple_cc_single_mod"; then _lt_dar_single_mod='$single_module' fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= @@ -1087,29 +1109,29 @@ _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + if test yes = "$lt_cv_ld_force_load"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" + _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; + ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac - if test "$_lt_dar_can_shared" = "yes"; then + if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" m4_if([$1], [CXX], -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" +[ if test yes != "$lt_cv_apple_cc_single_mod"; then + _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi ],[]) else @@ -1129,7 +1151,7 @@ # Allow to override them for all tags through lt_cv_aix_libpath. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl -if test "${lt_cv_aix_libpath+set}" = set; then +if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], @@ -1147,7 +1169,7 @@ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib fi ]) aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) @@ -1167,8 +1189,8 @@ # ----------------------- # Find how we can fake an echo command that does not interpret backslash. # In particular, with Autoconf 2.60 or later we add some code to the start -# of the generated configure script which will find a shell with a builtin -# printf (which we can use as an echo command). +# of the generated configure script that will find a shell with a builtin +# printf (that we can use as an echo command). m4_defun([_LT_PROG_ECHO_BACKSLASH], [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO @@ -1196,10 +1218,10 @@ # Invoke $ECHO with all args, space-separated. func_echo_all () { - $ECHO "$*" + $ECHO "$*" } -case "$ECHO" in +case $ECHO in printf*) AC_MSG_RESULT([printf]) ;; print*) AC_MSG_RESULT([print -r]) ;; *) AC_MSG_RESULT([cat]) ;; @@ -1225,16 +1247,17 @@ AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], -[ --with-sysroot[=DIR] Search for dependent libraries within DIR - (or the compiler's sysroot if not specified).], +[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], + [Search for dependent libraries within DIR (or the compiler's sysroot + if not specified).])], [], [with_sysroot=no]) dnl lt_sysroot will always be passed unquoted. We quote it here dnl in case the user passed a directory name. lt_sysroot= -case ${with_sysroot} in #( +case $with_sysroot in #( yes) - if test "$GCC" = yes; then + if test yes = "$GCC"; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( @@ -1244,14 +1267,14 @@ no|'') ;; #( *) - AC_MSG_RESULT([${with_sysroot}]) + AC_MSG_RESULT([$with_sysroot]) AC_MSG_ERROR([The sysroot must be an absolute path.]) ;; esac AC_MSG_RESULT([${lt_sysroot:-no}]) _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and in which our libraries should be installed.])]) +[dependent libraries, and where our libraries should be installed.])]) # _LT_ENABLE_LOCK # --------------- @@ -1259,31 +1282,33 @@ [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes +test no = "$enable_libtool_lock" || enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) - # Find out which ABI we are using. + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) - HPUX_IA64_MODE="32" + HPUX_IA64_MODE=32 ;; *ELF-64*) - HPUX_IA64_MODE="64" + HPUX_IA64_MODE=64 ;; esac fi rm -rf conftest* ;; *-*-irix6*) - # Find out which ABI we are using. + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then + if test yes = "$lt_cv_prog_gnu_ld"; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" @@ -1312,9 +1337,46 @@ rm -rf conftest* ;; +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + emul=elf + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in @@ -1333,10 +1395,10 @@ ;; esac ;; - powerpc64le-*) + powerpc64le-*linux*) LD="${LD-ld} -m elf32lppclinux" ;; - powerpc64-*) + powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) @@ -1355,10 +1417,10 @@ x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; - powerpcle-*) + powerpcle-*linux*) LD="${LD-ld} -m elf64lppc" ;; - powerpc-*) + powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) @@ -1376,19 +1438,20 @@ *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" + SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then + if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" + CFLAGS=$SAVE_CFLAGS fi ;; *-*solaris*) - # Find out which ABI we are using. + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in @@ -1396,7 +1459,7 @@ case $lt_cv_prog_gnu_ld in yes*) case $host in - i?86-*-solaris*) + i?86-*-solaris*|x86_64-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) @@ -1405,7 +1468,7 @@ esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" + LD=${LD-ld}_sol2 fi ;; *) @@ -1421,7 +1484,7 @@ ;; esac -need_locks="$enable_libtool_lock" +need_locks=$enable_libtool_lock ])# _LT_ENABLE_LOCK @@ -1440,11 +1503,11 @@ [echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -eq 0; then + if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -ne 0; then + if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ fi fi @@ -1452,7 +1515,7 @@ ]) ]) -if test "x$lt_cv_ar_at_file" = xno; then +if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file @@ -1483,7 +1546,7 @@ if test -n "$RANLIB"; then case $host_os in - openbsd*) + bitrig* | openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) @@ -1519,7 +1582,7 @@ [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" + lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins @@ -1546,7 +1609,7 @@ $RM conftest* ]) -if test x"[$]$2" = xyes; then +if test yes = "[$]$2"; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) @@ -1568,7 +1631,7 @@ m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no - save_LDFLAGS="$LDFLAGS" + save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then @@ -1587,10 +1650,10 @@ fi fi $RM -r conftest* - LDFLAGS="$save_LDFLAGS" + LDFLAGS=$save_LDFLAGS ]) -if test x"[$]$2" = xyes; then +if test yes = "[$]$2"; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) @@ -1611,7 +1674,7 @@ AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 - teststring="ABCD" + teststring=ABCD case $build_os in msdosdjgpp*) @@ -1651,7 +1714,7 @@ lt_cv_sys_max_cmd_len=8192; ;; - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` @@ -1702,22 +1765,22 @@ *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then + test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do + for i in 1 2 3 4 5 6 7 8; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough + test 17 != "$i" # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring @@ -1733,7 +1796,7 @@ ;; esac ]) -if test -n $lt_cv_sys_max_cmd_len ; then +if test -n "$lt_cv_sys_max_cmd_len"; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) @@ -1761,7 +1824,7 @@ # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl -if test "$cross_compiling" = yes; then : +if test yes = "$cross_compiling"; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 @@ -1808,9 +1871,9 @@ # endif #endif -/* When -fvisbility=hidden is used, assume the code has been annotated +/* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif @@ -1836,7 +1899,7 @@ return status; }] _LT_EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in @@ -1857,7 +1920,7 @@ # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then +if test yes != "$enable_dlopen"; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown @@ -1867,44 +1930,52 @@ case $host_os in beos*) - lt_cv_dlopen="load_add_on" + lt_cv_dlopen=load_add_on lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen=LoadLibrary lt_cv_dlopen_libs= ;; cygwin*) - lt_cv_dlopen="dlopen" + lt_cv_dlopen=dlopen lt_cv_dlopen_libs= ;; darwin*) - # if libdl is installed we need to link against it + # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ + lt_cv_dlopen=dyld lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + *) AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], + [lt_cv_dlopen=shl_load], [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], + [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], + [lt_cv_dlopen=dlopen], [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) + [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) ]) ]) ]) @@ -1913,21 +1984,21 @@ ;; esac - if test "x$lt_cv_dlopen" != xno; then + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else enable_dlopen=yes - else - enable_dlopen=no fi case $lt_cv_dlopen in dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - save_LIBS="$LIBS" + save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], @@ -1937,7 +2008,7 @@ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) - if test "x$lt_cv_dlopen_self" = xyes; then + if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl @@ -1947,9 +2018,9 @@ ]) fi - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS ;; esac @@ -2041,8 +2112,8 @@ m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) -hard_links="nottested" -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then +hard_links=nottested +if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes @@ -2052,8 +2123,8 @@ ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + if test no = "$hard_links"; then + AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) need_locks=warn fi else @@ -2080,8 +2151,8 @@ _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", - [Define to the sub-directory in which libtool stores uninstalled libraries.]) +AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", + [Define to the sub-directory where libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR @@ -2093,15 +2164,15 @@ _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then # We can hardcode non-existent directories. - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && + if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && + test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else @@ -2115,12 +2186,12 @@ fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then +if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || + test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then # Fast installation is not supported enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi @@ -2144,7 +2215,7 @@ # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) - if test -n "$STRIP" ; then + if test -n "$STRIP"; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) @@ -2162,6 +2233,47 @@ ])# _LT_CMD_STRIPLIB +# _LT_PREPARE_MUNGE_PATH_LIST +# --------------------------- +# Make sure func_munge_path_list() is defined correctly. +m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], +[[# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} +]])# _LT_PREPARE_PATH_LIST + + # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics @@ -2172,17 +2284,18 @@ m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ -if test "$GCC" = yes; then +if test yes = "$GCC"; then case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; esac case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; + mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in @@ -2198,28 +2311,35 @@ ;; esac # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. + # and add multilib dir if necessary... lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; + lt_foo = "/" $lt_i lt_foo; } else { lt_count--; } @@ -2233,7 +2353,7 @@ # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; + $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else @@ -2242,7 +2362,7 @@ library_names_spec= libname_spec='lib$name' soname_spec= -shrext_cmds=".so" +shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= @@ -2259,14 +2379,17 @@ # flags to be left without arguments need_version=unknown +AC_ARG_VAR([LT_SYS_LIBRARY_PATH], +[User-defined run-time library search path.]) + case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' + soname_spec='$libname$release$shared_ext$major' ;; aix[[4-9]]*) @@ -2274,41 +2397,91 @@ need_lib_prefix=no need_version=no hardcode_into_libs=yes - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a[(]lib.so.V[)]' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac shlibpath_var=LIBPATH fi ;; @@ -2318,18 +2491,18 @@ powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) - library_names_spec='${libname}${shared_ext}' + library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; @@ -2337,8 +2510,8 @@ bsdi[[45]]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" @@ -2350,7 +2523,7 @@ cygwin* | mingw* | pw32* | cegcc*) version_type=windows - shrext_cmds=".dll" + shrext_cmds=.dll need_version=no need_lib_prefix=no @@ -2359,8 +2532,8 @@ # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ @@ -2376,17 +2549,17 @@ case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' @@ -2395,8 +2568,8 @@ *,cl*) # Native MSVC libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' + soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' case $build_os in mingw*) @@ -2423,7 +2596,7 @@ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) - sys_lib_search_path_spec="$LIB" + sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` @@ -2436,8 +2609,8 @@ esac # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' @@ -2450,7 +2623,7 @@ *) # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac @@ -2463,8 +2636,8 @@ version_type=darwin need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' @@ -2477,8 +2650,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; @@ -2496,12 +2669,13 @@ version_type=freebsd-$objformat case $version_type in freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac @@ -2531,10 +2705,10 @@ need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes + shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; @@ -2552,14 +2726,15 @@ dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' @@ -2567,8 +2742,8 @@ dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; @@ -2577,8 +2752,8 @@ dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... @@ -2591,8 +2766,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no @@ -2603,7 +2778,7 @@ case $host_os in nonstopux*) version_type=nonstopux ;; *) - if test "$lt_cv_prog_gnu_ld" = yes; then + if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix @@ -2611,8 +2786,8 @@ esac need_lib_prefix=no need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= @@ -2631,14 +2806,34 @@ esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ;; # This must be glibc/ELF. @@ -2646,8 +2841,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no @@ -2672,7 +2867,12 @@ # before this can be enabled. hardcode_into_libs=yes - # Append ld.so.conf contents to the search path + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" @@ -2704,12 +2904,12 @@ need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH @@ -2719,7 +2919,7 @@ newsos6) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; @@ -2728,58 +2928,68 @@ version_type=qnx need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; -openbsd*) +openbsd* | bitrig*) version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" + sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi + shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' - shrext_cmds=".dll" + version_type=windows + shrext_cmds=.dll + need_version=no need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) @@ -2790,8 +3000,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes @@ -2801,11 +3011,11 @@ sunos4*) version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then + if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes @@ -2813,8 +3023,8 @@ sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) @@ -2835,24 +3045,24 @@ ;; sysv4*MP*) - if test -d /usr/nec ;then + if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf + version_type=sco need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then + if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' @@ -2870,7 +3080,7 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes @@ -2878,8 +3088,8 @@ uts4*) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; @@ -2888,19 +3098,29 @@ ;; esac AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no +test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then +if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and @@ -2934,39 +3154,41 @@ [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], - [Run-time system search path for libraries]) +_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], + [Detected run-time system search path for libraries]) +_LT_DECL([], [configure_time_lt_sys_library_path], [2], + [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- -# find a file program which can recognize shared library +# find a file program that can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -f "$ac_dir/$1"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : @@ -2989,11 +3211,11 @@ break fi done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else @@ -3011,7 +3233,7 @@ # _LT_PATH_MAGIC # -------------- -# find a file program which can recognize a shared library +# find a file program that can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then @@ -3038,16 +3260,16 @@ AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], + [test no = "$withval" || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld -if test "$GCC" = yes; then +if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw + # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; @@ -3061,7 +3283,7 @@ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done - test -z "$LD" && LD="$ac_prog" + test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. @@ -3072,37 +3294,37 @@ with_gnu_ld=unknown ;; esac -elif test "$with_gnu_ld" = yes; then +elif test yes = "$with_gnu_ld"; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" + lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], +[if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi]) +rm -f conftest.i conftest2.i conftest.out]) +])# _LT_PATH_DD + + +# _LT_CMD_TRUNCATE +# ---------------- +# find command to truncate a binary pipe +m4_defun([_LT_CMD_TRUNCATE], +[m4_require([_LT_PATH_DD]) +AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], +[printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) +_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], + [Command to truncate a binary pipe]) +])# _LT_CMD_TRUNCATE # _LT_CHECK_MAGIC_METHOD @@ -3188,13 +3447,13 @@ # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. +# 'unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. case $host_os in aix[[4-9]]*) @@ -3221,8 +3480,7 @@ # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. - # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. - if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then + if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else @@ -3318,8 +3576,8 @@ lt_cv_deplibs_check_method=pass_all ;; -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' @@ -3372,6 +3630,9 @@ tpf*) lt_cv_deplibs_check_method=pass_all ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; esac ]) @@ -3412,33 +3673,38 @@ AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. - lt_cv_path_NM="$NM" + lt_cv_path_NM=$NM else - lt_nm_to_check="${ac_tool_prefix}nm" + lt_nm_to_check=${ac_tool_prefix}nm if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" - break + break 2 ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" - break + break 2 ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but @@ -3449,21 +3715,21 @@ esac fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs done : ${lt_cv_path_NM=no} fi]) -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in *COFF*) - DUMPBIN="$DUMPBIN -symbols" + DUMPBIN="$DUMPBIN -symbols -headers" ;; *) DUMPBIN=: @@ -3471,8 +3737,8 @@ esac fi AC_SUBST([DUMPBIN]) - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" + if test : != "$DUMPBIN"; then + NM=$DUMPBIN fi fi test -z "$NM" && NM=nm @@ -3518,8 +3784,8 @@ case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib @@ -3531,7 +3797,7 @@ ;; *) # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" + lt_cv_sharedlib_from_linklib_cmd=$ECHO ;; esac ]) @@ -3558,11 +3824,26 @@ lt_cv_path_mainfest_tool=yes fi rm -f conftest*]) -if test "x$lt_cv_path_mainfest_tool" != xyes; then +if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl ])# _LT_PATH_MANIFEST_TOOL + + +# _LT_DLL_DEF_P([FILE]) +# --------------------- +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with func_dll_def_p in the libtool script +AC_DEFUN([_LT_DLL_DEF_P], +[dnl + test DEF = "`$SED -n dnl + -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace + -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments + -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl + -e q dnl Only consider the first "real" line + $1`" dnl +])# _LT_DLL_DEF_P # LT_LIB_M @@ -3576,11 +3857,11 @@ # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) - AC_CHECK_LIB(m, cos, LIBM="-lm") + AC_CHECK_LIB(m, cos, LIBM=-lm) ;; esac AC_SUBST([LIBM]) @@ -3599,7 +3880,7 @@ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= -if test "$GCC" = yes; then +if test yes = "$GCC"; then case $cc_basename in nvcc*) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; @@ -3651,7 +3932,7 @@ symcode='[[ABCDGISTW]]' ;; hpux*) - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then symcode='[[ABCDEGRST]]' fi ;; @@ -3684,14 +3965,44 @@ symcode='[[ABCDGIRSTW]]' ;; esac +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" +lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" # Handle CRLF in mingw tool chain opt_cr= @@ -3709,21 +4020,24 @@ # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" @@ -3763,11 +4077,11 @@ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT@&t@_DLSYM_CONST -#elif defined(__osf__) +#elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT@&t@_DLSYM_CONST #else @@ -3793,7 +4107,7 @@ { { "@PROGRAM@", (void *) 0 }, _LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; @@ -3813,9 +4127,9 @@ mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" + LIBS=conftstm.$ac_objext CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS @@ -3836,7 +4150,7 @@ rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then + if test yes = "$pipe_works"; then break else lt_cv_sys_global_symbol_pipe= @@ -3863,12 +4177,16 @@ [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) +_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], + [Transform the output of nm into a list of symbols to manually relocate]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) +_LT_DECL([nm_interface], [lt_cv_nm_interface], [1], + [The name lister interface]) _LT_DECL([], [nm_file_list_spec], [1], [Specify filename containing input files for $NM]) ]) # _LT_CMD_GLOBAL_SYMBOLS @@ -3884,17 +4202,18 @@ m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then + if test yes = "$GXX"; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; amigaos*) @@ -3905,8 +4224,8 @@ ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac @@ -3922,6 +4241,11 @@ # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac ;; darwin* | rhapsody*) # PIC is the default on this platform @@ -3971,7 +4295,7 @@ case $host_os in aix[[4-9]]*) # All AIX code is PIC. - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else @@ -4012,14 +4336,14 @@ case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default @@ -4056,7 +4380,7 @@ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. + # old Intel C++ for x86_64, which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' @@ -4201,17 +4525,18 @@ fi ], [ - if test "$GCC" = yes; then + if test yes = "$GCC"; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; amigaos*) @@ -4222,8 +4547,8 @@ ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac @@ -4240,6 +4565,11 @@ # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac ;; darwin* | rhapsody*) @@ -4310,7 +4640,7 @@ case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else @@ -4318,11 +4648,30 @@ fi ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac ;; hpux9* | hpux10* | hpux11*) @@ -4338,7 +4687,7 @@ ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) @@ -4349,7 +4698,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. + # old Intel for x86_64, which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' @@ -4373,6 +4722,12 @@ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, @@ -4471,7 +4826,7 @@ ;; sysv4*MP*) - if test -d /usr/nec ;then + if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi @@ -4500,7 +4855,7 @@ fi ]) case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: + # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; @@ -4566,17 +4921,21 @@ case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global defined - # symbols, whereas GNU nm marks them as "W". + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds ;; cygwin* | mingw* | cegcc*) case $cc_basename in @@ -4625,9 +4984,9 @@ # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if @@ -4643,7 +5002,7 @@ # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. - if test "$GCC" != yes; then + if test yes != "$GCC"; then with_gnu_ld=no fi ;; @@ -4651,7 +5010,7 @@ # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; - openbsd*) + openbsd* | bitrig*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) @@ -4664,7 +5023,7 @@ # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then + if test yes = "$with_gnu_ld"; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility @@ -4686,24 +5045,24 @@ esac fi - if test "$lt_use_gnu_ld_interface" = yes; then + if test yes = "$lt_use_gnu_ld_interface"; then # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' + wlarc='$wl' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no - case `$LD -v 2>&1` in + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... @@ -4716,7 +5075,7 @@ case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then + if test ia64 != "$host_cpu"; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 @@ -4735,7 +5094,7 @@ case $host_cpu in powerpc) # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) @@ -4751,7 +5110,7 @@ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi @@ -4761,7 +5120,7 @@ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes @@ -4769,61 +5128,89 @@ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no - if test "$host_os" = linux-dietlibc; then + if test linux-dietlibc = "$host_os"; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no + && test no = "$tmp_diet" then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; @@ -4834,42 +5221,47 @@ lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in + tcc*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' + ;; xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then + if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac @@ -4883,8 +5275,8 @@ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' fi ;; @@ -4902,8 +5294,8 @@ _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi @@ -4915,7 +5307,7 @@ _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify @@ -4930,9 +5322,9 @@ # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi @@ -4949,15 +5341,15 @@ *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then + if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= @@ -4973,7 +5365,7 @@ # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported @@ -4981,34 +5373,57 @@ ;; aix[[4-9]]*) - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' - no_entry_flag="" + no_entry_flag= else # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then aix_use_runtimelinking=yes break fi done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi ;; esac @@ -5027,13 +5442,21 @@ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GCC" = yes; then + _LT_TAGVAR(file_list_spec, $1)='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + ;; + esac + + if test yes = "$GCC"; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` + collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then @@ -5052,62 +5475,80 @@ ;; esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' fi - _LT_TAGVAR(link_all_deplibs, $1)=no + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' else # not using gcc - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' else - shared_flag='${wl}-bM:SRE' + shared_flag='$wl-bM:SRE' fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' fi fi - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + if test ia64 = "$host_cpu"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' + if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' fi fi ;; @@ -5116,7 +5557,7 @@ case $host_cpu in powerpc) # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) @@ -5146,16 +5587,17 @@ # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" + shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes @@ -5164,18 +5606,18 @@ # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' ;; *) # Assume MSVC wrapper @@ -5184,7 +5626,7 @@ # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" + shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. @@ -5234,33 +5676,33 @@ ;; hpux9*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' ;; hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + if test yes,no = "$GCC,$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes @@ -5268,25 +5710,25 @@ ;; hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then + if test yes,no = "$GCC,$with_gnu_ld"; then case $host_cpu in hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) m4_if($1, [], [ @@ -5294,14 +5736,14 @@ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) _LT_LINKER_OPTION([if $CC understands -b], _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) + [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) ;; esac fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in @@ -5312,7 +5754,7 @@ *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. @@ -5323,16 +5765,16 @@ ;; irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], [lt_cv_irix_exported_symbol], - [save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + [save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" AC_LINK_IFELSE( [AC_LANG_SOURCE( [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], @@ -5345,19 +5787,30 @@ end]])])], [lt_cv_irix_exported_symbol=yes], [lt_cv_irix_exported_symbol=no]) - LDFLAGS="$save_LDFLAGS"]) - if test "$lt_cv_irix_exported_symbol" = yes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + LDFLAGS=$save_LDFLAGS]) + if test yes = "$lt_cv_irix_exported_symbol"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi + _LT_TAGVAR(link_all_deplibs, $1)=no else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + _LT_TAGVAR(ld_shlibs, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac ;; netbsd* | netbsdelf*-gnu) @@ -5374,7 +5827,7 @@ newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; @@ -5382,27 +5835,19 @@ *nto* | *qnx*) ;; - openbsd*) + openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' fi else _LT_TAGVAR(ld_shlibs, $1)=no @@ -5413,33 +5858,53 @@ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; osf3*) - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + if test yes = "$GCC"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + if test yes = "$GCC"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' @@ -5450,24 +5915,24 @@ solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + if test yes = "$GCC"; then + wlarc='$wl' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + wlarc='$wl' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi @@ -5477,11 +5942,11 @@ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', + # but understands '-z linker_flag'. GCC discards it without '$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + if test yes = "$GCC"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi @@ -5491,10 +5956,10 @@ ;; sunos4*) - if test "x$host_vendor" = xsequent; then + if test sequent = "$host_vendor"; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi @@ -5543,43 +6008,43 @@ ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not + # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' runpath_var='LD_RUN_PATH' - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; @@ -5594,17 +6059,17 @@ ;; esac - if test x$host_vendor = xsni; then + if test sni = "$host_vendor"; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no +test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld @@ -5621,7 +6086,7 @@ # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - if test "$enable_shared" = yes && test "$GCC" = yes; then + if test yes,yes = "$GCC,$enable_shared"; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. @@ -5701,12 +6166,12 @@ _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting ${shlibpath_var} if the + "absolute", i.e impossible to change by setting $shlibpath_var if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR @@ -5747,10 +6212,10 @@ # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. +# the compiler configuration to 'libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl -lt_save_CC="$CC" +lt_save_CC=$CC AC_LANG_PUSH(C) # Source file extension for C test sources. @@ -5790,18 +6255,18 @@ LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB - # Report which library types will actually be built + # Report what library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no + test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) - test "$enable_shared" = yes && enable_static=no + test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' @@ -5809,8 +6274,12 @@ ;; aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac fi ;; esac @@ -5818,13 +6287,13 @@ AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes + test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP -CC="$lt_save_CC" +CC=$lt_save_CC ])# _LT_LANG_C_CONFIG @@ -5832,14 +6301,14 @@ # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. +# the compiler configuration to 'libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then +if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes @@ -5881,7 +6350,7 @@ # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then +if test yes != "$_lt_caught_CXX_error"; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" @@ -5923,35 +6392,35 @@ if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately - if test "$GXX" = yes; then + if test yes = "$GXX"; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi - if test "$GXX" = yes; then + if test yes = "$GXX"; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + if test yes = "$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) - wlarc='${wl}' + wlarc='$wl' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi @@ -5987,18 +6456,30 @@ _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' - no_entry_flag="" + no_entry_flag= else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in @@ -6008,6 +6489,13 @@ ;; esac done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi ;; esac @@ -6026,13 +6514,21 @@ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GXX" = yes; then + _LT_TAGVAR(file_list_spec, $1)='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + ;; + esac + + if test yes = "$GXX"; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` + collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then @@ -6050,64 +6546,84 @@ fi esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' else # not using gcc - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' else - shared_flag='${wl}-bM:SRE' + shared_flag='$wl-bM:SRE' fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' fi fi - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # The "-G" linker flag allows undefined symbols. + _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + if test ia64 = "$host_cpu"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' + if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' fi fi ;; @@ -6117,7 +6633,7 @@ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi @@ -6145,57 +6661,58 @@ # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" + shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi @@ -6204,6 +6721,34 @@ ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; dgux*) @@ -6241,14 +6786,14 @@ ;; haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default @@ -6260,7 +6805,7 @@ _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. @@ -6269,11 +6814,11 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) - if test "$GXX" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + if test yes = "$GXX"; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no @@ -6283,15 +6828,15 @@ ;; hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' ;; esac fi @@ -6317,13 +6862,13 @@ aCC*) case $host_cpu in hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists @@ -6334,20 +6879,20 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then case $host_cpu in hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi @@ -6362,22 +6907,22 @@ interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is @@ -6386,17 +6931,17 @@ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; @@ -6409,8 +6954,8 @@ # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. @@ -6419,10 +6964,10 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. @@ -6436,59 +6981,59 @@ # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ;; cxx*) # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' @@ -6502,18 +7047,18 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) @@ -6521,10 +7066,10 @@ *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on @@ -6582,22 +7127,17 @@ _LT_TAGVAR(ld_shlibs, $1)=yes ;; - openbsd2*) - # C++ shared libraries are fairly broken - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - openbsd*) + openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else @@ -6613,9 +7153,9 @@ # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using @@ -6633,17 +7173,17 @@ cxx*) case $host in osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ + $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac @@ -6658,21 +7198,21 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + if test yes,no = "$GXX,$with_gnu_ld"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' case $host in osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists @@ -6718,9 +7258,9 @@ # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no @@ -6728,7 +7268,7 @@ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. + # but understands '-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; @@ -6745,30 +7285,30 @@ ;; gcx*) # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if test yes,no = "$GXX,$with_gnu_ld"; then + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else - # g++ 2.7 appears to require `-G' NOT `-shared' on this + # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when @@ -6776,11 +7316,11 @@ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' ;; esac fi @@ -6789,52 +7329,52 @@ ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not + # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ - '"$_LT_TAGVAR(old_archive_cmds, $1)" + '"$_LT_TAGVAR(old_archive_cmds, $1)" _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ - '"$_LT_TAGVAR(reload_cmds, $1)" + '"$_LT_TAGVAR(reload_cmds, $1)" ;; *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; @@ -6865,10 +7405,10 @@ esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - - _LT_TAGVAR(GCC, $1)="$GXX" - _LT_TAGVAR(LD, $1)="$LD" + test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no + + _LT_TAGVAR(GCC, $1)=$GXX + _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change @@ -6895,7 +7435,7 @@ lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes +fi # test yes != "$_lt_caught_CXX_error" AC_LANG_POP ])# _LT_LANG_CXX_CONFIG @@ -6917,12 +7457,13 @@ AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) func_stripname_cnf () { - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; + case @S|@2 in + .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; + *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; esac } # func_stripname_cnf ])# _LT_FUNC_STRIPNAME_CNF + # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- @@ -7007,13 +7548,13 @@ pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do - case ${prev}${p} in + case $prev$p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. - if test $p = "-L" || - test $p = "-R"; then + if test x-L = "$p" || + test x-R = "$p"; then prev=$p continue fi @@ -7029,16 +7570,16 @@ case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac - if test "$pre_test_object_deps_done" = no; then - case ${prev} in + if test no = "$pre_test_object_deps_done"; then + case $prev in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" + _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" fi ;; # The "-l" case would never come before the object being @@ -7046,9 +7587,9 @@ esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)="${prev}${p}" + _LT_TAGVAR(postdeps, $1)=$prev$p else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" fi fi prev= @@ -7063,15 +7604,15 @@ continue fi - if test "$pre_test_object_deps_done" = no; then + if test no = "$pre_test_object_deps_done"; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)="$p" + _LT_TAGVAR(predep_objects, $1)=$p else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)="$p" + _LT_TAGVAR(postdep_objects, $1)=$p else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi @@ -7102,51 +7643,6 @@ _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC* | sunCC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; esac ]) @@ -7155,7 +7651,7 @@ esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) @@ -7175,10 +7671,10 @@ # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. +# to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_LANG_PUSH(Fortran 77) -if test -z "$F77" || test "X$F77" = "Xno"; then +if test -z "$F77" || test no = "$F77"; then _lt_disable_F77=yes fi @@ -7215,7 +7711,7 @@ # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_F77" != yes; then +if test yes != "$_lt_disable_F77"; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t @@ -7237,7 +7733,7 @@ _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. - lt_save_CC="$CC" + lt_save_CC=$CC lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${F77-"f77"} @@ -7251,21 +7747,25 @@ AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no + test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) - test "$enable_shared" = yes && enable_static=no + test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac fi ;; esac @@ -7273,11 +7773,11 @@ AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes + test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) - _LT_TAGVAR(GCC, $1)="$G77" - _LT_TAGVAR(LD, $1)="$LD" + _LT_TAGVAR(GCC, $1)=$G77 + _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change @@ -7294,9 +7794,9 @@ fi # test -n "$compiler" GCC=$lt_save_GCC - CC="$lt_save_CC" - CFLAGS="$lt_save_CFLAGS" -fi # test "$_lt_disable_F77" != yes + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_F77" AC_LANG_POP ])# _LT_LANG_F77_CONFIG @@ -7306,11 +7806,11 @@ # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. +# to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_LANG_PUSH(Fortran) -if test -z "$FC" || test "X$FC" = "Xno"; then +if test -z "$FC" || test no = "$FC"; then _lt_disable_FC=yes fi @@ -7347,7 +7847,7 @@ # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_FC" != yes; then +if test yes != "$_lt_disable_FC"; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t @@ -7369,7 +7869,7 @@ _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. - lt_save_CC="$CC" + lt_save_CC=$CC lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${FC-"f95"} @@ -7385,21 +7885,25 @@ AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no + test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) - test "$enable_shared" = yes && enable_static=no + test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac fi ;; esac @@ -7407,11 +7911,11 @@ AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes + test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" - _LT_TAGVAR(LD, $1)="$LD" + _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu + _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change @@ -7431,7 +7935,7 @@ GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS -fi # test "$_lt_disable_FC" != yes +fi # test yes != "$_lt_disable_FC" AC_LANG_POP ])# _LT_LANG_FC_CONFIG @@ -7441,7 +7945,7 @@ # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. +# to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE @@ -7475,7 +7979,7 @@ CFLAGS=$GCJFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" +_LT_TAGVAR(LD, $1)=$LD _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. @@ -7512,7 +8016,7 @@ # -------------------------- # Ensure that the configuration variables for the GNU Go compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. +# to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_GO_CONFIG], [AC_REQUIRE([LT_PROG_GO])dnl AC_LANG_SAVE @@ -7546,7 +8050,7 @@ CFLAGS=$GOFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" +_LT_TAGVAR(LD, $1)=$LD _LT_CC_BASENAME([$compiler]) # Go did not exist at the time GCC didn't implicitly link libc in. @@ -7583,7 +8087,7 @@ # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. +# to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE @@ -7599,7 +8103,7 @@ lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" +lt_simple_link_test_code=$lt_simple_compile_test_code # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER @@ -7609,7 +8113,7 @@ _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. -lt_save_CC="$CC" +lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC= @@ -7638,7 +8142,7 @@ [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) @@ -7749,7 +8253,7 @@ # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue + test ! -f "$lt_ac_sed" && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in @@ -7766,9 +8270,9 @@ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break + test 10 -lt "$lt_ac_count" && break lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then + if test "$lt_ac_count" -gt "$lt_ac_max"; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi @@ -7792,27 +8296,7 @@ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -AC_MSG_RESULT([$xsi_shell]) -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) - -AC_MSG_CHECKING([whether the shell understands "+="]) -lt_shell_append=no -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -AC_MSG_RESULT([$lt_shell_append]) -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then +[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false @@ -7836,102 +8320,9 @@ ])# _LT_CHECK_SHELL_FEATURES -# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) -# ------------------------------------------------------ -# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and -# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. -m4_defun([_LT_PROG_FUNCTION_REPLACE], -[dnl { -sed -e '/^$1 ()$/,/^} # $1 /c\ -$1 ()\ -{\ -m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) -} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: -]) - - -# _LT_PROG_REPLACE_SHELLFNS -# ------------------------- -# Replace existing portable implementations of several shell functions with -# equivalent extended shell implementations where those features are available.. -m4_defun([_LT_PROG_REPLACE_SHELLFNS], -[if test x"$xsi_shell" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl - func_split_long_opt_name=${1%%=*} - func_split_long_opt_arg=${1#*=}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) - - _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) - - _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) - - _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) -fi - -if test x"$lt_shell_append" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) - - _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl - func_quote_for_eval "${2}" -dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ - eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) -fi -]) - # _LT_PATH_CONVERSION_FUNCTIONS # ----------------------------- -# Determine which file name conversion functions should be used by +# Determine what file name conversion functions should be used by # func_to_host_file (and, implicitly, by func_to_host_path). These are needed # for certain cross-compile configurations and native mingw. m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4 index 5d9acd8..94b0829 100644 --- a/m4/ltoptions.m4 +++ b/m4/ltoptions.m4 @@ -1,14 +1,14 @@ # Helper functions for option handling. -*- Autoconf -*- # -# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software +# Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. -# serial 7 ltoptions.m4 +# serial 8 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) @@ -29,7 +29,7 @@ [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option `$2'])])[]dnl + [m4_warning([Unknown $1 option '$2'])])[]dnl ]) @@ -75,13 +75,15 @@ dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither - dnl `shared' nor `disable-shared' was passed, we enable building of shared + dnl 'shared' nor 'disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) + [_LT_ENABLE_FAST_INSTALL]) + _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], + [_LT_WITH_AIX_SONAME([aix])]) ]) ])# _LT_SET_OPTIONS @@ -112,7 +114,7 @@ [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `dlopen' option into LT_INIT's first parameter.]) +put the 'dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: @@ -148,7 +150,7 @@ _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `win32-dll' option into LT_INIT's first parameter.]) +put the 'win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: @@ -157,9 +159,9 @@ # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- -# implement the --enable-shared flag, and supports the `shared' and -# `disable-shared' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +# implement the --enable-shared flag, and supports the 'shared' and +# 'disable-shared' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], @@ -172,14 +174,14 @@ *) enable_shared=no # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_shared=yes fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) @@ -211,9 +213,9 @@ # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- -# implement the --enable-static flag, and support the `static' and -# `disable-static' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +# implement the --enable-static flag, and support the 'static' and +# 'disable-static' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], @@ -226,14 +228,14 @@ *) enable_static=no # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_static=yes fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) @@ -265,9 +267,9 @@ # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- -# implement the --enable-fast-install flag, and support the `fast-install' -# and `disable-fast-install' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +# implement the --enable-fast-install flag, and support the 'fast-install' +# and 'disable-fast-install' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], @@ -280,14 +282,14 @@ *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) @@ -304,14 +306,14 @@ [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `fast-install' option into LT_INIT's first parameter.]) +the 'fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `disable-fast-install' option into LT_INIT's first parameter.]) +the 'disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: @@ -319,11 +321,64 @@ dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) +# _LT_WITH_AIX_SONAME([DEFAULT]) +# ---------------------------------- +# implement the --with-aix-soname flag, and support the `aix-soname=aix' +# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT +# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. +m4_define([_LT_WITH_AIX_SONAME], +[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl +shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[[5-9]]*,yes) + AC_MSG_CHECKING([which variant of shared library versioning to provide]) + AC_ARG_WITH([aix-soname], + [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], + [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], + [case $withval in + aix|svr4|both) + ;; + *) + AC_MSG_ERROR([Unknown argument to --with-aix-soname]) + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname], + [AC_CACHE_VAL([lt_cv_with_aix_soname], + [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) + with_aix_soname=$lt_cv_with_aix_soname]) + AC_MSG_RESULT([$with_aix_soname]) + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + +_LT_DECL([], [shared_archive_member_spec], [0], + [Shared archive member basename, for filename based shared library versioning on AIX])dnl +])# _LT_WITH_AIX_SONAME + +LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) + + # _LT_WITH_PIC([MODE]) # -------------------- -# implement the --with-pic flag, and support the `pic-only' and `no-pic' +# implement the --with-pic flag, and support the 'pic-only' and 'no-pic' # LT_INIT options. -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], @@ -334,19 +389,17 @@ *) pic_mode=default # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for lt_pkg in $withval; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs ;; esac], - [pic_mode=default]) - -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) + [pic_mode=m4_default([$1], [default])]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC @@ -359,7 +412,7 @@ [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `pic-only' option into LT_INIT's first parameter.]) +put the 'pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4 index 9000a05..48bc934 100644 --- a/m4/ltsugar.m4 +++ b/m4/ltsugar.m4 @@ -1,6 +1,7 @@ # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software +# Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives @@ -33,7 +34,7 @@ # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support -# Autoconf-2.59 which quotes differently. +# Autoconf-2.59, which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], @@ -44,7 +45,7 @@ # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. +# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different diff --git a/m4/ltversion.m4 b/m4/ltversion.m4 index 07a8602..fa04b52 100644 --- a/m4/ltversion.m4 +++ b/m4/ltversion.m4 @@ -1,6 +1,6 @@ # ltversion.m4 -- version numbers -*- Autoconf -*- # -# Copyright (C) 2004 Free Software Foundation, Inc. +# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives @@ -9,15 +9,15 @@ # @configure_input@ -# serial 3337 ltversion.m4 +# serial 4179 ltversion.m4 # This file is part of GNU Libtool -m4_define([LT_PACKAGE_VERSION], [2.4.2]) -m4_define([LT_PACKAGE_REVISION], [1.3337]) +m4_define([LT_PACKAGE_VERSION], [2.4.6]) +m4_define([LT_PACKAGE_REVISION], [2.4.6]) AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.2' -macro_revision='1.3337' +[macro_version='2.4.6' +macro_revision='2.4.6' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4 index c573da9..c6b26f8 100644 --- a/m4/lt~obsolete.m4 +++ b/m4/lt~obsolete.m4 @@ -1,6 +1,7 @@ # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # -# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. +# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software +# Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives @@ -11,7 +12,7 @@ # These exist entirely to fool aclocal when bootstrapping libtool. # -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # @@ -25,7 +26,7 @@ # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until diff --git a/missing b/missing index db98974..f62bbae 100755 --- a/missing +++ b/missing @@ -3,7 +3,7 @@ scriptversion=2013-10-28.13; # UTC -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify diff --git a/source/Compiler.cpp b/source/Compiler.cpp index 366f411..66b74c7 100644 --- a/source/Compiler.cpp +++ b/source/Compiler.cpp @@ -1,5 +1,5 @@ /*------------------------------------------------------------------------ -Copyright (C) 2002-2014 SIL International. All rights reserved. +Copyright (C) 2002-2016 SIL International. All rights reserved. Distributable under the terms of either the Common Public License or the GNU Lesser General Public License, as specified in the LICENSING.txt file. diff --git a/source/Compiler.h b/source/Compiler.h index 8c2c345..b468417 100644 --- a/source/Compiler.h +++ b/source/Compiler.h @@ -1,5 +1,5 @@ /*------------------------------------------------------------------------ -Copyright (C) 2002-2014 SIL International. All rights reserved. +Copyright (C) 2002-2016 SIL International. All rights reserved. Distributable under the terms of either the Common Public License or the GNU Lesser General Public License, as specified in the LICENSING.txt file. diff --git a/source/Engine.cpp b/source/Engine.cpp index f90dc90..14a7b5f 100644 --- a/source/Engine.cpp +++ b/source/Engine.cpp @@ -1,5 +1,5 @@ /*------------------------------------------------------------------------ -Copyright (C) 2002-2014 SIL International. All rights reserved. +Copyright (C) 2002-2016 SIL International. All rights reserved. Distributable under the terms of either the Common Public License or the GNU Lesser General Public License, as specified in the LICENSING.txt file. @@ -102,7 +102,9 @@ #endif } +#ifndef __GNUC__ #pragma mark --- class Stage --- +#endif Stage::Stage() : oBuffer(0) @@ -125,7 +127,9 @@ return 0; } +#ifndef __GNUC__ #pragma mark --- class Normalizer --- +#endif #include "NormalizationData.c" @@ -396,7 +400,9 @@ return c; } +#ifndef __GNUC__ #pragma mark --- class Pass --- +#endif Pass::Pass(const TableHeader* inTable, Converter* cnv) : converter(cnv) @@ -1282,7 +1288,9 @@ return 0; } +#ifndef __GNUC__ #pragma mark --- class Converter --- +#endif Converter::Converter(const Byte* inTable, UInt32 inTableSize, bool inForward, UInt16 inForm, UInt16 outForm) @@ -1934,7 +1942,9 @@ return true; } +#ifndef __GNUC__ #pragma mark --- Public "C" API functions --- +#endif TECkit_Status WINAPI diff --git a/source/Engine.h b/source/Engine.h index 773a529..10bdb11 100644 --- a/source/Engine.h +++ b/source/Engine.h @@ -1,5 +1,5 @@ /*------------------------------------------------------------------------ -Copyright (C) 2002-2014 SIL International. All rights reserved. +Copyright (C) 2002-2016 SIL International. All rights reserved. Distributable under the terms of either the Common Public License or the GNU Lesser General Public License, as specified in the LICENSING.txt file. diff --git a/source/Engine_ver.rc b/source/Engine_ver.rc index 3b38068..c2aac81 100644 --- a/source/Engine_ver.rc +++ b/source/Engine_ver.rc @@ -1,5 +1,5 @@ /*------------------------------------------------------------------------ -Copyright (c) 2008-2014 SIL International. All rights reserved. +Copyright (c) 2008-2016 SIL International. All rights reserved. Distributable under the terms of either the Common Public License or the GNU Lesser General Public License, as specified in the LICENSING.txt file. diff --git a/source/NormalizationData.c b/source/NormalizationData.c index cff722f..85f7585 100644 --- a/source/NormalizationData.c +++ b/source/NormalizationData.c @@ -2,7 +2,7 @@ const UInt8 ccPageMaps[][256] = { {0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,0,0,15,0,0,0,16,17,18,19,20,21,22,0,0,23,0,0,0,0,0,0,0,0,0,0,0,24,25,0,0,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,28,29,30,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,33,0}, - {0,34,35,36,0,0,0,0,0,0,37,0,0,0,0,0,38,39,40,41,42,43,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0,34,35,36,0,0,0,0,0,0,37,0,0,38,0,39,40,41,42,43,44,45,46,47,48,0,49,0,50,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,56,0,0,0,0,0,0,0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,58,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, }; @@ -12,13 +12,13 @@ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,230,230,230,230,220,230,230,230,222,220,230,230,230,230,230,230,220,220,220,220,220,220,230,230,220,230,230,222,228,230,10,11,12,13,14,15,16,17,18,19,19,20,21,22,0,23,0,24,25,0,230,220,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,230,230,230,30,31,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,29,30,31,32,33,34,230,230,220,220,230,230,230,230,230,220,230,230,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,230,230,0,0,230,230,230,230,220,230,0,0,230,230,0,220,230,230,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,220,230,230,220,230,230,220,220,220,230,220,220,230,220,230,230,230,220,230,220,230,220,230,220,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,230,230,220,230,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,0,230,230,230,230,230,230,230,230,230,0,230,230,230,0,230,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,220,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,220,230,230,220,230,230,230,220,220,220,27,28,29,230,230,230,220,230,230,220,220,230,230,230,230,230}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,230,220,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,220,230,230,220,230,230,220,220,220,230,220,220,230,220,230,230,230,220,230,220,230,220,230,220,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,230,230,220,230,0,0,0,0,0,0,0,0,0,220,0,0}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,0,230,230,230,230,230,230,230,230,230,0,230,230,230,0,230,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,220,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,230,230,230,230,230,230,230,230,230,230,230,230,230,230,0,220,230,230,220,230,230,220,230,230,230,220,220,220,27,28,29,230,230,230,220,230,230,220,220,230,230,230,230,230}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,230,220,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,84,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,103,9,0,0,0,0,0,0,0,0,0,0,0,0,0,107,107,107,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,122,122,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,0,220,0,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,130,0,132,0,0,0,0,0,130,130,130,130,0,0,130,0,230,230,9,0,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, @@ -29,35 +29,44 @@ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,230,230,230,0,0,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,220,220,220,220,220,220,230,230,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,220,230,230,230,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,0,1,220,220,220,220,220,230,230,220,220,220,220,230,0,1,1,1,1,1,1,1,0,0,0,0,220,0,0,0,0,0,0,230,0,0,0,230,230,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,220,230,230,230,230,230,230,230,220,230,230,234,214,220,202,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,0,0,0,0,0,0,233,220,230,220}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,220,230,230,230,230,230,230,230,220,230,230,234,214,220,202,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,232,228,228,220,0,230,233,220,230,220}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,1,1,230,230,230,230,1,1,1,230,230,0,0,0,0,230,0,0,0,1,1,230,220,230,1,1,220,220,220,220,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,228,232,222,224,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,0,0,0,0,230,230,230,230,230,230,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,0,0,0,0,230,230,230,230,230,230,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,220,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,0,230,230,220,0,0,230,230,0,0,0,0,0,230,230,0,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,230,230,220,220,220,220,220,220,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,230,230,220,220,220,220,220,220,220,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,220,0,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,1,220,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,220,230,230,230,220,230,220,220,220,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,230,230,0,0,0,230,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,230,230,0,0,0,230,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,216,1,1,1,0,0,0,226,216,216,216,216,216,0,0,0,0,0,0,0,0,220,220,220,220,220,220,220,220,0,0,230,230,230,230,230,220,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {230,230,230,230,230,230,230,0,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,0,0,230,230,230,230,230,230,230,0,230,230,0,230,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,220,220,220,220,220,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,230,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, }; const UInt8 dcPlaneMap[] = {0,1,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3}; diff --git a/source/Perl/TECkit.xs b/source/Perl/TECkit.xs index 66e292d..1dc7aca 100644 --- a/source/Perl/TECkit.xs +++ b/source/Perl/TECkit.xs @@ -168,6 +168,7 @@ TECkit_ResetConverter((TECkit_Converter)converter); OUTPUT: RETVAL + hr void DESTROY(converter) diff --git a/source/Public-headers/TECkit_Common.h b/source/Public-headers/TECkit_Common.h index 19c3d67..84cdd53 100644 --- a/source/Public-headers/TECkit_Common.h +++ b/source/Public-headers/TECkit_Common.h @@ -1,5 +1,5 @@ /*------------------------------------------------------------------------ -Copyright (C) 2002-2014 SIL International. All rights reserved. +Copyright (C) 2002-2016 SIL International. All rights reserved. Distributable under the terms of either the Common Public License or the GNU Lesser General Public License, as specified in the LICENSING.txt file. diff --git a/source/Public-headers/TECkit_Compiler.h b/source/Public-headers/TECkit_Compiler.h index 885d5f7..688271d 100644 --- a/source/Public-headers/TECkit_Compiler.h +++ b/source/Public-headers/TECkit_Compiler.h @@ -15,7 +15,7 @@ /* TECkit_Compiler.h - Copyright (c) 2002-2014 SIL International. + Copyright (c) 2002-2016 SIL International. */ #ifndef __TECkit_Compiler_H__ diff --git a/source/Public-headers/TECkit_Engine.h b/source/Public-headers/TECkit_Engine.h index 6e97b02..fa0532b 100644 --- a/source/Public-headers/TECkit_Engine.h +++ b/source/Public-headers/TECkit_Engine.h @@ -1,5 +1,5 @@ /*------------------------------------------------------------------------ -Copyright (C) 2002-2014 SIL International. All rights reserved. +Copyright (C) 2002-2016 SIL International. All rights reserved. Distributable under the terms of either the Common Public License or the GNU Lesser General Public License, as specified in the LICENSING.txt file. diff --git a/source/Sample-tools/TECkit_Compile.cpp b/source/Sample-tools/TECkit_Compile.cpp index f247cf4..5f85d8c 100644 --- a/source/Sample-tools/TECkit_Compile.cpp +++ b/source/Sample-tools/TECkit_Compile.cpp @@ -1,6 +1,6 @@ /* TECkit_Compile.c - Copyright (c) 2002-2014 SIL International. + Copyright (c) 2002-2016 SIL International. 2004-03-12 updated to use v2.1 compiler added -u option to force UTF8 mode @@ -135,7 +135,7 @@ if (mapFileName != 0) { // compile the mapping FILE* inFile = fopen(mapFileName, "rb"); - long len; + size_t len; Byte* compiledTable; UInt32 compiledSize; TECkit_Status status; @@ -165,7 +165,10 @@ return 1; // not enough memory } - fread(txt, len, 1, inFile); + if (fread(txt, len, 1, inFile) != 1) { + fprintf(stderr, "not enough data in mapping file\n"); + return 1; + } fclose(inFile); status = TECkit_CompileOpt(txt, len, &errFunc, 0, &compiledTable, &compiledSize, diff --git a/source/Sample-tools/TxtConv.cpp b/source/Sample-tools/TxtConv.cpp index 65a6761..9e0ae12 100644 --- a/source/Sample-tools/TxtConv.cpp +++ b/source/Sample-tools/TxtConv.cpp @@ -1,6 +1,6 @@ /* TxtConv.c - Copyright (c) 2002-2014 SIL International. + Copyright (c) 2002-2016 SIL International. 2008-01-23 jk revised endian-ness stuff to allow Universal build 5-May-2005 jk added include and to keep gcc happy @@ -53,7 +53,7 @@ char outBuffer[kOutBufLen]; UInt32 savedLen = 0; UInt32 offset = 0; - TECkit_Status status; + TECkit_Status status = kStatus_NeedMoreInput; inBase = ftell(inFile); fseek(inFile, 0, SEEK_END); @@ -61,19 +61,21 @@ fseek(inFile, inBase, SEEK_SET); while (1) { - UInt32 inUsed, outUsed, lookahead; + UInt32 inUsed = 0, outUsed = 0, lookahead = 0; UInt32 amountToRead = kInBufLen - savedLen; char* inPtr = inBuffer; - UInt32 inAvail; + UInt32 inAvail = savedLen; if (offset + amountToRead > inLength) amountToRead = inLength - offset; - inAvail = savedLen + amountToRead; + if (amountToRead > 0) { + amountToRead = fread(inBuffer + savedLen, 1, amountToRead, inFile); + offset += amountToRead; + inAvail += amountToRead; + } + if (inAvail > 0) { - fread(inBuffer + savedLen, 1, amountToRead, inFile); - offset += amountToRead; - status = TECkit_ConvertBufferOpt(cnv, (Byte*)inPtr, inAvail, &inUsed, (Byte*)outBuffer, kOutBufLen, &outUsed, opts, &lookahead); fwrite(outBuffer, 1, outUsed, outFile); @@ -107,6 +109,7 @@ fwrite(outBuffer, 1, outUsed, outFile); savedLen -= inUsed; inPtr += inUsed; + inUsed = 0; } while ((status & kStatusMask_Basic) == kStatus_OutputBufferFull); if ((status & kStatusMask_Basic) == kStatus_UnmappedChar) @@ -344,7 +347,7 @@ return 1; } - fread(table, 1, len, tecFile); + len = fread(table, 1, len, tecFile); fclose(tecFile); status = forward @@ -370,6 +373,7 @@ // if the input is supposed to be Unicode, and the inForm is unspecified, try to guess it // or skip over the BOM if one is found that matches the specified inForm unsigned char sig[4]; + size_t sigLen; if (inForm == kForm_Bytes) { fprintf(stderr, "improper input encoding form for this mapping"); return 1; @@ -377,24 +381,24 @@ switch (inForm) { case kForm_Unspecified: - fread(sig, 1, 4, inFile); - if (sig[0] == 0xef && sig[1] == 0xbb && sig[2] == 0xbf) { + sigLen = fread(sig, 1, 4, inFile); + if (sigLen >= 3 && sig[0] == 0xef && sig[1] == 0xbb && sig[2] == 0xbf) { inForm = kForm_UTF8; fseek(inFile, 3, SEEK_SET); } - else if (sig[0] == 0xfe && sig[1] == 0xff) { + else if (sigLen >= 2 && sig[0] == 0xfe && sig[1] == 0xff) { inForm = kForm_UTF16BE; fseek(inFile, 2, SEEK_SET); } - else if (sig[0] == 0xff && sig[1] == 0xfe && sig[2] == 0x00 && sig[3] == 0x00) { + else if (sigLen >= 4 && sig[0] == 0xff && sig[1] == 0xfe && sig[2] == 0x00 && sig[3] == 0x00) { inForm = kForm_UTF32LE; /* fseek(inFile, 4, SEEK_SET); */ } - else if (sig[0] == 0xff && sig[1] == 0xfe) { + else if (sigLen >= 2 && sig[0] == 0xff && sig[1] == 0xfe) { inForm = kForm_UTF16LE; fseek(inFile, 2, SEEK_SET); } - else if (sig[0] == 0x00 && sig[1] == 0x00 && sig[2] == 0xfe && sig[3] == 0xff) { + else if (sigLen >= 4 && sig[0] == 0x00 && sig[1] == 0x00 && sig[2] == 0xfe && sig[3] == 0xff) { inForm = kForm_UTF32BE; /* fseek(inFile, 4, SEEK_SET); */ } @@ -405,32 +409,32 @@ break; case kForm_UTF8: - fread(sig, 1, 3, inFile); - if (!(sig[0] == 0xef && sig[1] == 0xbb && sig[2] == 0xbf)) + sigLen = fread(sig, 1, 3, inFile); + if (sigLen >= 3 && !(sig[0] == 0xef && sig[1] == 0xbb && sig[2] == 0xbf)) fseek(inFile, 0, SEEK_SET); break; case kForm_UTF16BE: - fread(sig, 1, 2, inFile); - if (!(sig[0] == 0xfe && sig[1] == 0xff)) + sigLen = fread(sig, 1, 2, inFile); + if (sigLen >= 2 && !(sig[0] == 0xfe && sig[1] == 0xff)) fseek(inFile, 0, SEEK_SET); break; case kForm_UTF16LE: - fread(sig, 1, 2, inFile); - if (!(sig[0] == 0xff && sig[1] == 0xfe)) + sigLen = fread(sig, 1, 2, inFile); + if (sigLen >= 2 && !(sig[0] == 0xff && sig[1] == 0xfe)) fseek(inFile, 0, SEEK_SET); break; case kForm_UTF32BE: - fread(sig, 1, 4, inFile); - if (!(sig[0] == 0x00 && sig[1] == 0x00 && sig[2] == 0xfe && sig[3] == 0xff)) + sigLen = fread(sig, 1, 4, inFile); + if (sigLen >= 4 && !(sig[0] == 0x00 && sig[1] == 0x00 && sig[2] == 0xfe && sig[3] == 0xff)) fseek(inFile, 0, SEEK_SET); break; case kForm_UTF32LE: - fread(sig, 1, 4, inFile); - if (!(sig[0] == 0xff && sig[1] == 0xfe && sig[2] == 0x00 && sig[3] == 0x00)) + sigLen = fread(sig, 1, 4, inFile); + if (sigLen >= 4 && !(sig[0] == 0xff && sig[1] == 0xfe && sig[2] == 0x00 && sig[3] == 0x00)) fseek(inFile, 0, SEEK_SET); break; } diff --git a/source/TECkit_Format.h b/source/TECkit_Format.h index 0cce751..0e04a45 100644 --- a/source/TECkit_Format.h +++ b/source/TECkit_Format.h @@ -1,5 +1,5 @@ /*------------------------------------------------------------------------ -Copyright (C) 2002-2014 SIL International. All rights reserved. +Copyright (C) 2002-2016 SIL International. All rights reserved. Distributable under the terms of either the Common Public License or the GNU Lesser General Public License, as specified in the LICENSING.txt file. diff --git a/source/UnicodeNames.cpp b/source/UnicodeNames.cpp index 034be99..436c653 100644 --- a/source/UnicodeNames.cpp +++ b/source/UnicodeNames.cpp @@ -1,6 +1,7 @@ #include "Compiler.h" CharName gUnicodeNames[] = { +{0x1F9EE,"ABACUS"}, {0x23E6,"AC CURRENT"}, {0x2100,"ACCOUNT OF"}, {0x206D,"ACTIVATE ARABIC FORM SHAPING"}, @@ -9,7 +10,96 @@ {0x299F,"ACUTE ANGLE"}, {0x2101,"ADDRESSED TO THE SUBJECT"}, {0x262C,"ADI SHAKTI"}, +{0x1E944,"ADLAM ALIF LENGTHENER"}, +{0x1E900,"ADLAM CAPITAL LETTER ALIF"}, +{0x1E904,"ADLAM CAPITAL LETTER BA"}, +{0x1E907,"ADLAM CAPITAL LETTER BHE"}, +{0x1E915,"ADLAM CAPITAL LETTER CHI"}, +{0x1E901,"ADLAM CAPITAL LETTER DAALI"}, +{0x1E90D,"ADLAM CAPITAL LETTER DHA"}, +{0x1E909,"ADLAM CAPITAL LETTER E"}, +{0x1E90A,"ADLAM CAPITAL LETTER FA"}, +{0x1E918,"ADLAM CAPITAL LETTER GA"}, +{0x1E91E,"ADLAM CAPITAL LETTER GBE"}, +{0x1E916,"ADLAM CAPITAL LETTER HA"}, +{0x1E90B,"ADLAM CAPITAL LETTER I"}, +{0x1E914,"ADLAM CAPITAL LETTER JIIM"}, +{0x1E911,"ADLAM CAPITAL LETTER KAF"}, +{0x1E91D,"ADLAM CAPITAL LETTER KHA"}, +{0x1E920,"ADLAM CAPITAL LETTER KPO"}, +{0x1E902,"ADLAM CAPITAL LETTER LAAM"}, +{0x1E903,"ADLAM CAPITAL LETTER MIIM"}, +{0x1E91B,"ADLAM CAPITAL LETTER NHA"}, +{0x1E910,"ADLAM CAPITAL LETTER NUN"}, +{0x1E919,"ADLAM CAPITAL LETTER NYA"}, +{0x1E90C,"ADLAM CAPITAL LETTER O"}, +{0x1E906,"ADLAM CAPITAL LETTER PE"}, +{0x1E917,"ADLAM CAPITAL LETTER QAAF"}, +{0x1E908,"ADLAM CAPITAL LETTER RA"}, +{0x1E921,"ADLAM CAPITAL LETTER SHA"}, +{0x1E905,"ADLAM CAPITAL LETTER SINNYIIYHE"}, +{0x1E91A,"ADLAM CAPITAL LETTER TU"}, +{0x1E913,"ADLAM CAPITAL LETTER U"}, +{0x1E91C,"ADLAM CAPITAL LETTER VA"}, +{0x1E90F,"ADLAM CAPITAL LETTER WAW"}, +{0x1E912,"ADLAM CAPITAL LETTER YA"}, +{0x1E90E,"ADLAM CAPITAL LETTER YHE"}, +{0x1E91F,"ADLAM CAPITAL LETTER ZAL"}, +{0x1E948,"ADLAM CONSONANT MODIFIER"}, +{0x1E958,"ADLAM DIGIT EIGHT"}, +{0x1E955,"ADLAM DIGIT FIVE"}, +{0x1E954,"ADLAM DIGIT FOUR"}, +{0x1E959,"ADLAM DIGIT NINE"}, +{0x1E951,"ADLAM DIGIT ONE"}, +{0x1E957,"ADLAM DIGIT SEVEN"}, +{0x1E956,"ADLAM DIGIT SIX"}, +{0x1E953,"ADLAM DIGIT THREE"}, +{0x1E952,"ADLAM DIGIT TWO"}, +{0x1E950,"ADLAM DIGIT ZERO"}, +{0x1E949,"ADLAM GEMINATE CONSONANT MODIFIER"}, +{0x1E946,"ADLAM GEMINATION MARK"}, +{0x1E947,"ADLAM HAMZA"}, +{0x1E95E,"ADLAM INITIAL EXCLAMATION MARK"}, +{0x1E95F,"ADLAM INITIAL QUESTION MARK"}, +{0x1E94A,"ADLAM NUKTA"}, +{0x1E922,"ADLAM SMALL LETTER ALIF"}, +{0x1E926,"ADLAM SMALL LETTER BA"}, +{0x1E929,"ADLAM SMALL LETTER BHE"}, +{0x1E937,"ADLAM SMALL LETTER CHI"}, +{0x1E923,"ADLAM SMALL LETTER DAALI"}, +{0x1E92F,"ADLAM SMALL LETTER DHA"}, +{0x1E92B,"ADLAM SMALL LETTER E"}, +{0x1E92C,"ADLAM SMALL LETTER FA"}, +{0x1E93A,"ADLAM SMALL LETTER GA"}, +{0x1E940,"ADLAM SMALL LETTER GBE"}, +{0x1E938,"ADLAM SMALL LETTER HA"}, +{0x1E92D,"ADLAM SMALL LETTER I"}, +{0x1E936,"ADLAM SMALL LETTER JIIM"}, +{0x1E933,"ADLAM SMALL LETTER KAF"}, +{0x1E93F,"ADLAM SMALL LETTER KHA"}, +{0x1E942,"ADLAM SMALL LETTER KPO"}, +{0x1E924,"ADLAM SMALL LETTER LAAM"}, +{0x1E925,"ADLAM SMALL LETTER MIIM"}, +{0x1E93D,"ADLAM SMALL LETTER NHA"}, +{0x1E932,"ADLAM SMALL LETTER NUN"}, +{0x1E93B,"ADLAM SMALL LETTER NYA"}, +{0x1E92E,"ADLAM SMALL LETTER O"}, +{0x1E928,"ADLAM SMALL LETTER PE"}, +{0x1E939,"ADLAM SMALL LETTER QAAF"}, +{0x1E92A,"ADLAM SMALL LETTER RA"}, +{0x1E943,"ADLAM SMALL LETTER SHA"}, +{0x1E927,"ADLAM SMALL LETTER SINNYIIYHE"}, +{0x1E93C,"ADLAM SMALL LETTER TU"}, +{0x1E935,"ADLAM SMALL LETTER U"}, +{0x1E93E,"ADLAM SMALL LETTER VA"}, +{0x1E931,"ADLAM SMALL LETTER WAW"}, +{0x1E934,"ADLAM SMALL LETTER YA"}, +{0x1E930,"ADLAM SMALL LETTER YHE"}, +{0x1E941,"ADLAM SMALL LETTER ZAL"}, +{0x1E945,"ADLAM VOWEL LENGTHENER"}, +{0x2BE5,"ADMETOS"}, {0x1F39F,"ADMISSION TICKETS"}, +{0x1F9D1,"ADULT"}, {0x10102,"AEGEAN CHECK MARK"}, {0x1013C,"AEGEAN DRY MEASURE FIRST SUBUNIT"}, {0x1013D,"AEGEAN LIQUID MEASURE FIRST SUBUNIT"}, @@ -69,6 +159,64 @@ {0x10100,"AEGEAN WORD SEPARATOR LINE"}, {0x1F6A1,"AERIAL TRAMWAY"}, {0x060B,"AFGHANI SIGN"}, +{0x1171D,"AHOM CONSONANT SIGN MEDIAL LA"}, +{0x1171F,"AHOM CONSONANT SIGN MEDIAL LIGATING RA"}, +{0x1171E,"AHOM CONSONANT SIGN MEDIAL RA"}, +{0x11738,"AHOM DIGIT EIGHT"}, +{0x11735,"AHOM DIGIT FIVE"}, +{0x11734,"AHOM DIGIT FOUR"}, +{0x11739,"AHOM DIGIT NINE"}, +{0x11731,"AHOM DIGIT ONE"}, +{0x11737,"AHOM DIGIT SEVEN"}, +{0x11736,"AHOM DIGIT SIX"}, +{0x11733,"AHOM DIGIT THREE"}, +{0x11732,"AHOM DIGIT TWO"}, +{0x11730,"AHOM DIGIT ZERO"}, +{0x11712,"AHOM LETTER A"}, +{0x1171A,"AHOM LETTER ALTERNATE BA"}, +{0x11716,"AHOM LETTER ALTERNATE GA"}, +{0x11705,"AHOM LETTER ALTERNATE TA"}, +{0x11708,"AHOM LETTER BA"}, +{0x11718,"AHOM LETTER BHA"}, +{0x1170B,"AHOM LETTER CHA"}, +{0x11713,"AHOM LETTER DA"}, +{0x11714,"AHOM LETTER DHA"}, +{0x11715,"AHOM LETTER GA"}, +{0x11717,"AHOM LETTER GHA"}, +{0x11711,"AHOM LETTER HA"}, +{0x1170A,"AHOM LETTER JA"}, +{0x11719,"AHOM LETTER JHA"}, +{0x11700,"AHOM LETTER KA"}, +{0x11701,"AHOM LETTER KHA"}, +{0x1170E,"AHOM LETTER LA"}, +{0x11709,"AHOM LETTER MA"}, +{0x11703,"AHOM LETTER NA"}, +{0x11702,"AHOM LETTER NGA"}, +{0x11710,"AHOM LETTER NYA"}, +{0x11706,"AHOM LETTER PA"}, +{0x11707,"AHOM LETTER PHA"}, +{0x1170D,"AHOM LETTER RA"}, +{0x1170F,"AHOM LETTER SA"}, +{0x11704,"AHOM LETTER TA"}, +{0x1170C,"AHOM LETTER THA"}, +{0x1173A,"AHOM NUMBER TEN"}, +{0x1173B,"AHOM NUMBER TWENTY"}, +{0x1172B,"AHOM SIGN KILLER"}, +{0x1173E,"AHOM SIGN RULAI"}, +{0x1173D,"AHOM SIGN SECTION"}, +{0x1173C,"AHOM SIGN SMALL SECTION"}, +{0x1173F,"AHOM SYMBOL VI"}, +{0x11720,"AHOM VOWEL SIGN A"}, +{0x11721,"AHOM VOWEL SIGN AA"}, +{0x11729,"AHOM VOWEL SIGN AI"}, +{0x1172A,"AHOM VOWEL SIGN AM"}, +{0x11727,"AHOM VOWEL SIGN AW"}, +{0x11726,"AHOM VOWEL SIGN E"}, +{0x11722,"AHOM VOWEL SIGN I"}, +{0x11723,"AHOM VOWEL SIGN II"}, +{0x11728,"AHOM VOWEL SIGN O"}, +{0x11724,"AHOM VOWEL SIGN U"}, +{0x11725,"AHOM VOWEL SIGN UU"}, {0x2708,"AIRPLANE"}, {0x1F6EC,"AIRPLANE ARRIVING"}, {0x1F6EB,"AIRPLANE DEPARTURE"}, @@ -204,6 +352,590 @@ {0x1F691,"AMBULANCE"}, {0x1F3C8,"AMERICAN FOOTBALL"}, {0x0026,"AMPERSAND"}, +{0x1F3FA,"AMPHORA"}, +{0x14400,"ANATOLIAN HIEROGLYPH A001"}, +{0x14401,"ANATOLIAN HIEROGLYPH A002"}, +{0x14402,"ANATOLIAN HIEROGLYPH A003"}, +{0x14403,"ANATOLIAN HIEROGLYPH A004"}, +{0x14404,"ANATOLIAN HIEROGLYPH A005"}, +{0x14405,"ANATOLIAN HIEROGLYPH A006"}, +{0x14406,"ANATOLIAN HIEROGLYPH A007"}, +{0x14407,"ANATOLIAN HIEROGLYPH A008"}, +{0x14408,"ANATOLIAN HIEROGLYPH A009"}, +{0x14409,"ANATOLIAN HIEROGLYPH A010"}, +{0x1440A,"ANATOLIAN HIEROGLYPH A010A"}, +{0x1440B,"ANATOLIAN HIEROGLYPH A011"}, +{0x1440C,"ANATOLIAN HIEROGLYPH A012"}, +{0x1440D,"ANATOLIAN HIEROGLYPH A013"}, +{0x1440E,"ANATOLIAN HIEROGLYPH A014"}, +{0x1440F,"ANATOLIAN HIEROGLYPH A015"}, +{0x14410,"ANATOLIAN HIEROGLYPH A016"}, +{0x14411,"ANATOLIAN HIEROGLYPH A017"}, +{0x14412,"ANATOLIAN HIEROGLYPH A018"}, +{0x14413,"ANATOLIAN HIEROGLYPH A019"}, +{0x14414,"ANATOLIAN HIEROGLYPH A020"}, +{0x14415,"ANATOLIAN HIEROGLYPH A021"}, +{0x14416,"ANATOLIAN HIEROGLYPH A022"}, +{0x14417,"ANATOLIAN HIEROGLYPH A023"}, +{0x14418,"ANATOLIAN HIEROGLYPH A024"}, +{0x14419,"ANATOLIAN HIEROGLYPH A025"}, +{0x1441A,"ANATOLIAN HIEROGLYPH A026"}, +{0x1441B,"ANATOLIAN HIEROGLYPH A026A"}, +{0x1441C,"ANATOLIAN HIEROGLYPH A027"}, +{0x1441D,"ANATOLIAN HIEROGLYPH A028"}, +{0x1441E,"ANATOLIAN HIEROGLYPH A029"}, +{0x1441F,"ANATOLIAN HIEROGLYPH A030"}, +{0x14420,"ANATOLIAN HIEROGLYPH A031"}, +{0x14421,"ANATOLIAN HIEROGLYPH A032"}, +{0x14422,"ANATOLIAN HIEROGLYPH A033"}, +{0x14423,"ANATOLIAN HIEROGLYPH A034"}, +{0x14424,"ANATOLIAN HIEROGLYPH A035"}, +{0x14425,"ANATOLIAN HIEROGLYPH A036"}, +{0x14426,"ANATOLIAN HIEROGLYPH A037"}, +{0x14427,"ANATOLIAN HIEROGLYPH A038"}, +{0x14428,"ANATOLIAN HIEROGLYPH A039"}, +{0x14429,"ANATOLIAN HIEROGLYPH A039A"}, +{0x1442A,"ANATOLIAN HIEROGLYPH A040"}, +{0x1442B,"ANATOLIAN HIEROGLYPH A041"}, +{0x1442C,"ANATOLIAN HIEROGLYPH A041A"}, +{0x1442D,"ANATOLIAN HIEROGLYPH A042"}, +{0x1442E,"ANATOLIAN HIEROGLYPH A043"}, +{0x1442F,"ANATOLIAN HIEROGLYPH A044"}, +{0x14430,"ANATOLIAN HIEROGLYPH A045"}, +{0x14431,"ANATOLIAN HIEROGLYPH A045A"}, +{0x14432,"ANATOLIAN HIEROGLYPH A046"}, +{0x14433,"ANATOLIAN HIEROGLYPH A046A"}, +{0x14434,"ANATOLIAN HIEROGLYPH A046B"}, +{0x14435,"ANATOLIAN HIEROGLYPH A047"}, +{0x14436,"ANATOLIAN HIEROGLYPH A048"}, +{0x14437,"ANATOLIAN HIEROGLYPH A049"}, +{0x14438,"ANATOLIAN HIEROGLYPH A050"}, +{0x14439,"ANATOLIAN HIEROGLYPH A051"}, +{0x1443A,"ANATOLIAN HIEROGLYPH A052"}, +{0x1443B,"ANATOLIAN HIEROGLYPH A053"}, +{0x1443C,"ANATOLIAN HIEROGLYPH A054"}, +{0x1443D,"ANATOLIAN HIEROGLYPH A055"}, +{0x1443E,"ANATOLIAN HIEROGLYPH A056"}, +{0x1443F,"ANATOLIAN HIEROGLYPH A057"}, +{0x14440,"ANATOLIAN HIEROGLYPH A058"}, +{0x14441,"ANATOLIAN HIEROGLYPH A059"}, +{0x14442,"ANATOLIAN HIEROGLYPH A060"}, +{0x14443,"ANATOLIAN HIEROGLYPH A061"}, +{0x14444,"ANATOLIAN HIEROGLYPH A062"}, +{0x14445,"ANATOLIAN HIEROGLYPH A063"}, +{0x14446,"ANATOLIAN HIEROGLYPH A064"}, +{0x14447,"ANATOLIAN HIEROGLYPH A065"}, +{0x14448,"ANATOLIAN HIEROGLYPH A066"}, +{0x14449,"ANATOLIAN HIEROGLYPH A066A"}, +{0x1444A,"ANATOLIAN HIEROGLYPH A066B"}, +{0x1444B,"ANATOLIAN HIEROGLYPH A066C"}, +{0x1444C,"ANATOLIAN HIEROGLYPH A067"}, +{0x1444D,"ANATOLIAN HIEROGLYPH A068"}, +{0x1444E,"ANATOLIAN HIEROGLYPH A069"}, +{0x1444F,"ANATOLIAN HIEROGLYPH A070"}, +{0x14450,"ANATOLIAN HIEROGLYPH A071"}, +{0x14451,"ANATOLIAN HIEROGLYPH A072"}, +{0x14452,"ANATOLIAN HIEROGLYPH A073"}, +{0x14453,"ANATOLIAN HIEROGLYPH A074"}, +{0x14454,"ANATOLIAN HIEROGLYPH A075"}, +{0x14455,"ANATOLIAN HIEROGLYPH A076"}, +{0x14456,"ANATOLIAN HIEROGLYPH A077"}, +{0x14457,"ANATOLIAN HIEROGLYPH A078"}, +{0x14458,"ANATOLIAN HIEROGLYPH A079"}, +{0x14459,"ANATOLIAN HIEROGLYPH A080"}, +{0x1445A,"ANATOLIAN HIEROGLYPH A081"}, +{0x1445B,"ANATOLIAN HIEROGLYPH A082"}, +{0x1445C,"ANATOLIAN HIEROGLYPH A083"}, +{0x1445D,"ANATOLIAN HIEROGLYPH A084"}, +{0x1445E,"ANATOLIAN HIEROGLYPH A085"}, +{0x1445F,"ANATOLIAN HIEROGLYPH A086"}, +{0x14460,"ANATOLIAN HIEROGLYPH A087"}, +{0x14461,"ANATOLIAN HIEROGLYPH A088"}, +{0x14462,"ANATOLIAN HIEROGLYPH A089"}, +{0x14463,"ANATOLIAN HIEROGLYPH A090"}, +{0x14464,"ANATOLIAN HIEROGLYPH A091"}, +{0x14465,"ANATOLIAN HIEROGLYPH A092"}, +{0x14466,"ANATOLIAN HIEROGLYPH A093"}, +{0x14467,"ANATOLIAN HIEROGLYPH A094"}, +{0x14468,"ANATOLIAN HIEROGLYPH A095"}, +{0x14469,"ANATOLIAN HIEROGLYPH A096"}, +{0x1446A,"ANATOLIAN HIEROGLYPH A097"}, +{0x1446B,"ANATOLIAN HIEROGLYPH A097A"}, +{0x1446C,"ANATOLIAN HIEROGLYPH A098"}, +{0x1446D,"ANATOLIAN HIEROGLYPH A098A"}, +{0x1446E,"ANATOLIAN HIEROGLYPH A099"}, +{0x1446F,"ANATOLIAN HIEROGLYPH A100"}, +{0x14470,"ANATOLIAN HIEROGLYPH A100A"}, +{0x14471,"ANATOLIAN HIEROGLYPH A101"}, +{0x14472,"ANATOLIAN HIEROGLYPH A101A"}, +{0x14473,"ANATOLIAN HIEROGLYPH A102"}, +{0x14474,"ANATOLIAN HIEROGLYPH A102A"}, +{0x14475,"ANATOLIAN HIEROGLYPH A103"}, +{0x14476,"ANATOLIAN HIEROGLYPH A104"}, +{0x14477,"ANATOLIAN HIEROGLYPH A104A"}, +{0x14478,"ANATOLIAN HIEROGLYPH A104B"}, +{0x14479,"ANATOLIAN HIEROGLYPH A104C"}, +{0x1447A,"ANATOLIAN HIEROGLYPH A105"}, +{0x1447B,"ANATOLIAN HIEROGLYPH A105A"}, +{0x1447C,"ANATOLIAN HIEROGLYPH A105B"}, +{0x1447D,"ANATOLIAN HIEROGLYPH A106"}, +{0x1447E,"ANATOLIAN HIEROGLYPH A107"}, +{0x1447F,"ANATOLIAN HIEROGLYPH A107A"}, +{0x14480,"ANATOLIAN HIEROGLYPH A107B"}, +{0x14481,"ANATOLIAN HIEROGLYPH A107C"}, +{0x14482,"ANATOLIAN HIEROGLYPH A108"}, +{0x14483,"ANATOLIAN HIEROGLYPH A109"}, +{0x14484,"ANATOLIAN HIEROGLYPH A110"}, +{0x14485,"ANATOLIAN HIEROGLYPH A110A"}, +{0x14486,"ANATOLIAN HIEROGLYPH A110B"}, +{0x14487,"ANATOLIAN HIEROGLYPH A111"}, +{0x14488,"ANATOLIAN HIEROGLYPH A112"}, +{0x14489,"ANATOLIAN HIEROGLYPH A113"}, +{0x1448A,"ANATOLIAN HIEROGLYPH A114"}, +{0x1448B,"ANATOLIAN HIEROGLYPH A115"}, +{0x1448C,"ANATOLIAN HIEROGLYPH A115A"}, +{0x1448D,"ANATOLIAN HIEROGLYPH A116"}, +{0x1448E,"ANATOLIAN HIEROGLYPH A117"}, +{0x1448F,"ANATOLIAN HIEROGLYPH A118"}, +{0x14490,"ANATOLIAN HIEROGLYPH A119"}, +{0x14491,"ANATOLIAN HIEROGLYPH A120"}, +{0x14492,"ANATOLIAN HIEROGLYPH A121"}, +{0x14493,"ANATOLIAN HIEROGLYPH A122"}, +{0x14494,"ANATOLIAN HIEROGLYPH A123"}, +{0x14495,"ANATOLIAN HIEROGLYPH A124"}, +{0x14496,"ANATOLIAN HIEROGLYPH A125"}, +{0x14497,"ANATOLIAN HIEROGLYPH A125A"}, +{0x14498,"ANATOLIAN HIEROGLYPH A126"}, +{0x14499,"ANATOLIAN HIEROGLYPH A127"}, +{0x1449A,"ANATOLIAN HIEROGLYPH A128"}, +{0x1449B,"ANATOLIAN HIEROGLYPH A129"}, +{0x1449C,"ANATOLIAN HIEROGLYPH A130"}, +{0x1449D,"ANATOLIAN HIEROGLYPH A131"}, +{0x1449E,"ANATOLIAN HIEROGLYPH A132"}, +{0x1449F,"ANATOLIAN HIEROGLYPH A133"}, +{0x144A0,"ANATOLIAN HIEROGLYPH A134"}, +{0x144A1,"ANATOLIAN HIEROGLYPH A135"}, +{0x144A2,"ANATOLIAN HIEROGLYPH A135A"}, +{0x144A3,"ANATOLIAN HIEROGLYPH A136"}, +{0x144A4,"ANATOLIAN HIEROGLYPH A137"}, +{0x144A5,"ANATOLIAN HIEROGLYPH A138"}, +{0x144A6,"ANATOLIAN HIEROGLYPH A139"}, +{0x144A7,"ANATOLIAN HIEROGLYPH A140"}, +{0x144A8,"ANATOLIAN HIEROGLYPH A141"}, +{0x144A9,"ANATOLIAN HIEROGLYPH A142"}, +{0x144AA,"ANATOLIAN HIEROGLYPH A143"}, +{0x144AB,"ANATOLIAN HIEROGLYPH A144"}, +{0x144AC,"ANATOLIAN HIEROGLYPH A145"}, +{0x144AD,"ANATOLIAN HIEROGLYPH A146"}, +{0x144AE,"ANATOLIAN HIEROGLYPH A147"}, +{0x144AF,"ANATOLIAN HIEROGLYPH A148"}, +{0x144B0,"ANATOLIAN HIEROGLYPH A149"}, +{0x144B1,"ANATOLIAN HIEROGLYPH A150"}, +{0x144B2,"ANATOLIAN HIEROGLYPH A151"}, +{0x144B3,"ANATOLIAN HIEROGLYPH A152"}, +{0x144B4,"ANATOLIAN HIEROGLYPH A153"}, +{0x144B5,"ANATOLIAN HIEROGLYPH A154"}, +{0x144B6,"ANATOLIAN HIEROGLYPH A155"}, +{0x144B7,"ANATOLIAN HIEROGLYPH A156"}, +{0x144B8,"ANATOLIAN HIEROGLYPH A157"}, +{0x144B9,"ANATOLIAN HIEROGLYPH A158"}, +{0x144BA,"ANATOLIAN HIEROGLYPH A159"}, +{0x144BB,"ANATOLIAN HIEROGLYPH A160"}, +{0x144BC,"ANATOLIAN HIEROGLYPH A161"}, +{0x144BD,"ANATOLIAN HIEROGLYPH A162"}, +{0x144BE,"ANATOLIAN HIEROGLYPH A163"}, +{0x144BF,"ANATOLIAN HIEROGLYPH A164"}, +{0x144C0,"ANATOLIAN HIEROGLYPH A165"}, +{0x144C1,"ANATOLIAN HIEROGLYPH A166"}, +{0x144C2,"ANATOLIAN HIEROGLYPH A167"}, +{0x144C3,"ANATOLIAN HIEROGLYPH A168"}, +{0x144C4,"ANATOLIAN HIEROGLYPH A169"}, +{0x144C5,"ANATOLIAN HIEROGLYPH A170"}, +{0x144C6,"ANATOLIAN HIEROGLYPH A171"}, +{0x144C7,"ANATOLIAN HIEROGLYPH A172"}, +{0x144C8,"ANATOLIAN HIEROGLYPH A173"}, +{0x144C9,"ANATOLIAN HIEROGLYPH A174"}, +{0x144CA,"ANATOLIAN HIEROGLYPH A175"}, +{0x144CB,"ANATOLIAN HIEROGLYPH A176"}, +{0x144CC,"ANATOLIAN HIEROGLYPH A177"}, +{0x144CD,"ANATOLIAN HIEROGLYPH A178"}, +{0x144CE,"ANATOLIAN HIEROGLYPH A179"}, +{0x144CF,"ANATOLIAN HIEROGLYPH A180"}, +{0x144D0,"ANATOLIAN HIEROGLYPH A181"}, +{0x144D1,"ANATOLIAN HIEROGLYPH A182"}, +{0x144D2,"ANATOLIAN HIEROGLYPH A183"}, +{0x144D3,"ANATOLIAN HIEROGLYPH A184"}, +{0x144D4,"ANATOLIAN HIEROGLYPH A185"}, +{0x144D5,"ANATOLIAN HIEROGLYPH A186"}, +{0x144D6,"ANATOLIAN HIEROGLYPH A187"}, +{0x144D7,"ANATOLIAN HIEROGLYPH A188"}, +{0x144D8,"ANATOLIAN HIEROGLYPH A189"}, +{0x144D9,"ANATOLIAN HIEROGLYPH A190"}, +{0x144DA,"ANATOLIAN HIEROGLYPH A191"}, +{0x144DB,"ANATOLIAN HIEROGLYPH A192"}, +{0x144DC,"ANATOLIAN HIEROGLYPH A193"}, +{0x144DD,"ANATOLIAN HIEROGLYPH A194"}, +{0x144DE,"ANATOLIAN HIEROGLYPH A195"}, +{0x144DF,"ANATOLIAN HIEROGLYPH A196"}, +{0x144E0,"ANATOLIAN HIEROGLYPH A197"}, +{0x144E1,"ANATOLIAN HIEROGLYPH A198"}, +{0x144E2,"ANATOLIAN HIEROGLYPH A199"}, +{0x144E3,"ANATOLIAN HIEROGLYPH A200"}, +{0x144E4,"ANATOLIAN HIEROGLYPH A201"}, +{0x144E5,"ANATOLIAN HIEROGLYPH A202"}, +{0x144E6,"ANATOLIAN HIEROGLYPH A202A"}, +{0x144E7,"ANATOLIAN HIEROGLYPH A202B"}, +{0x144E8,"ANATOLIAN HIEROGLYPH A203"}, +{0x144E9,"ANATOLIAN HIEROGLYPH A204"}, +{0x144EA,"ANATOLIAN HIEROGLYPH A205"}, +{0x144EB,"ANATOLIAN HIEROGLYPH A206"}, +{0x144EC,"ANATOLIAN HIEROGLYPH A207"}, +{0x144ED,"ANATOLIAN HIEROGLYPH A207A"}, +{0x144EE,"ANATOLIAN HIEROGLYPH A208"}, +{0x144EF,"ANATOLIAN HIEROGLYPH A209"}, +{0x144F0,"ANATOLIAN HIEROGLYPH A209A"}, +{0x144F1,"ANATOLIAN HIEROGLYPH A210"}, +{0x144F2,"ANATOLIAN HIEROGLYPH A211"}, +{0x144F3,"ANATOLIAN HIEROGLYPH A212"}, +{0x144F4,"ANATOLIAN HIEROGLYPH A213"}, +{0x144F5,"ANATOLIAN HIEROGLYPH A214"}, +{0x144F6,"ANATOLIAN HIEROGLYPH A215"}, +{0x144F7,"ANATOLIAN HIEROGLYPH A215A"}, +{0x144F8,"ANATOLIAN HIEROGLYPH A216"}, +{0x144F9,"ANATOLIAN HIEROGLYPH A216A"}, +{0x144FA,"ANATOLIAN HIEROGLYPH A217"}, +{0x144FB,"ANATOLIAN HIEROGLYPH A218"}, +{0x144FC,"ANATOLIAN HIEROGLYPH A219"}, +{0x144FD,"ANATOLIAN HIEROGLYPH A220"}, +{0x144FE,"ANATOLIAN HIEROGLYPH A221"}, +{0x144FF,"ANATOLIAN HIEROGLYPH A222"}, +{0x14500,"ANATOLIAN HIEROGLYPH A223"}, +{0x14501,"ANATOLIAN HIEROGLYPH A224"}, +{0x14502,"ANATOLIAN HIEROGLYPH A225"}, +{0x14503,"ANATOLIAN HIEROGLYPH A226"}, +{0x14504,"ANATOLIAN HIEROGLYPH A227"}, +{0x14505,"ANATOLIAN HIEROGLYPH A227A"}, +{0x14506,"ANATOLIAN HIEROGLYPH A228"}, +{0x14507,"ANATOLIAN HIEROGLYPH A229"}, +{0x14508,"ANATOLIAN HIEROGLYPH A230"}, +{0x14509,"ANATOLIAN HIEROGLYPH A231"}, +{0x1450A,"ANATOLIAN HIEROGLYPH A232"}, +{0x1450B,"ANATOLIAN HIEROGLYPH A233"}, +{0x1450C,"ANATOLIAN HIEROGLYPH A234"}, +{0x1450D,"ANATOLIAN HIEROGLYPH A235"}, +{0x1450E,"ANATOLIAN HIEROGLYPH A236"}, +{0x1450F,"ANATOLIAN HIEROGLYPH A237"}, +{0x14510,"ANATOLIAN HIEROGLYPH A238"}, +{0x14511,"ANATOLIAN HIEROGLYPH A239"}, +{0x14512,"ANATOLIAN HIEROGLYPH A240"}, +{0x14513,"ANATOLIAN HIEROGLYPH A241"}, +{0x14514,"ANATOLIAN HIEROGLYPH A242"}, +{0x14515,"ANATOLIAN HIEROGLYPH A243"}, +{0x14516,"ANATOLIAN HIEROGLYPH A244"}, +{0x14517,"ANATOLIAN HIEROGLYPH A245"}, +{0x14518,"ANATOLIAN HIEROGLYPH A246"}, +{0x14519,"ANATOLIAN HIEROGLYPH A247"}, +{0x1451A,"ANATOLIAN HIEROGLYPH A248"}, +{0x1451B,"ANATOLIAN HIEROGLYPH A249"}, +{0x1451C,"ANATOLIAN HIEROGLYPH A250"}, +{0x1451D,"ANATOLIAN HIEROGLYPH A251"}, +{0x1451E,"ANATOLIAN HIEROGLYPH A252"}, +{0x1451F,"ANATOLIAN HIEROGLYPH A253"}, +{0x14520,"ANATOLIAN HIEROGLYPH A254"}, +{0x14521,"ANATOLIAN HIEROGLYPH A255"}, +{0x14522,"ANATOLIAN HIEROGLYPH A256"}, +{0x14523,"ANATOLIAN HIEROGLYPH A257"}, +{0x14524,"ANATOLIAN HIEROGLYPH A258"}, +{0x14525,"ANATOLIAN HIEROGLYPH A259"}, +{0x14526,"ANATOLIAN HIEROGLYPH A260"}, +{0x14527,"ANATOLIAN HIEROGLYPH A261"}, +{0x14528,"ANATOLIAN HIEROGLYPH A262"}, +{0x14529,"ANATOLIAN HIEROGLYPH A263"}, +{0x1452A,"ANATOLIAN HIEROGLYPH A264"}, +{0x1452B,"ANATOLIAN HIEROGLYPH A265"}, +{0x1452C,"ANATOLIAN HIEROGLYPH A266"}, +{0x1452D,"ANATOLIAN HIEROGLYPH A267"}, +{0x1452E,"ANATOLIAN HIEROGLYPH A267A"}, +{0x1452F,"ANATOLIAN HIEROGLYPH A268"}, +{0x14530,"ANATOLIAN HIEROGLYPH A269"}, +{0x14531,"ANATOLIAN HIEROGLYPH A270"}, +{0x14532,"ANATOLIAN HIEROGLYPH A271"}, +{0x14533,"ANATOLIAN HIEROGLYPH A272"}, +{0x14534,"ANATOLIAN HIEROGLYPH A273"}, +{0x14535,"ANATOLIAN HIEROGLYPH A274"}, +{0x14536,"ANATOLIAN HIEROGLYPH A275"}, +{0x14537,"ANATOLIAN HIEROGLYPH A276"}, +{0x14538,"ANATOLIAN HIEROGLYPH A277"}, +{0x14539,"ANATOLIAN HIEROGLYPH A278"}, +{0x1453A,"ANATOLIAN HIEROGLYPH A279"}, +{0x1453B,"ANATOLIAN HIEROGLYPH A280"}, +{0x1453C,"ANATOLIAN HIEROGLYPH A281"}, +{0x1453D,"ANATOLIAN HIEROGLYPH A282"}, +{0x1453E,"ANATOLIAN HIEROGLYPH A283"}, +{0x1453F,"ANATOLIAN HIEROGLYPH A284"}, +{0x14540,"ANATOLIAN HIEROGLYPH A285"}, +{0x14541,"ANATOLIAN HIEROGLYPH A286"}, +{0x14542,"ANATOLIAN HIEROGLYPH A287"}, +{0x14543,"ANATOLIAN HIEROGLYPH A288"}, +{0x14544,"ANATOLIAN HIEROGLYPH A289"}, +{0x14545,"ANATOLIAN HIEROGLYPH A289A"}, +{0x14546,"ANATOLIAN HIEROGLYPH A290"}, +{0x14547,"ANATOLIAN HIEROGLYPH A291"}, +{0x14548,"ANATOLIAN HIEROGLYPH A292"}, +{0x14549,"ANATOLIAN HIEROGLYPH A293"}, +{0x1454A,"ANATOLIAN HIEROGLYPH A294"}, +{0x1454B,"ANATOLIAN HIEROGLYPH A294A"}, +{0x1454C,"ANATOLIAN HIEROGLYPH A295"}, +{0x1454D,"ANATOLIAN HIEROGLYPH A296"}, +{0x1454E,"ANATOLIAN HIEROGLYPH A297"}, +{0x1454F,"ANATOLIAN HIEROGLYPH A298"}, +{0x14550,"ANATOLIAN HIEROGLYPH A299"}, +{0x14551,"ANATOLIAN HIEROGLYPH A299A"}, +{0x14552,"ANATOLIAN HIEROGLYPH A300"}, +{0x14553,"ANATOLIAN HIEROGLYPH A301"}, +{0x14554,"ANATOLIAN HIEROGLYPH A302"}, +{0x14555,"ANATOLIAN HIEROGLYPH A303"}, +{0x14556,"ANATOLIAN HIEROGLYPH A304"}, +{0x14557,"ANATOLIAN HIEROGLYPH A305"}, +{0x14558,"ANATOLIAN HIEROGLYPH A306"}, +{0x14559,"ANATOLIAN HIEROGLYPH A307"}, +{0x1455A,"ANATOLIAN HIEROGLYPH A308"}, +{0x1455B,"ANATOLIAN HIEROGLYPH A309"}, +{0x1455C,"ANATOLIAN HIEROGLYPH A309A"}, +{0x1455D,"ANATOLIAN HIEROGLYPH A310"}, +{0x1455E,"ANATOLIAN HIEROGLYPH A311"}, +{0x1455F,"ANATOLIAN HIEROGLYPH A312"}, +{0x14560,"ANATOLIAN HIEROGLYPH A313"}, +{0x14561,"ANATOLIAN HIEROGLYPH A314"}, +{0x14562,"ANATOLIAN HIEROGLYPH A315"}, +{0x14563,"ANATOLIAN HIEROGLYPH A316"}, +{0x14564,"ANATOLIAN HIEROGLYPH A317"}, +{0x14565,"ANATOLIAN HIEROGLYPH A318"}, +{0x14566,"ANATOLIAN HIEROGLYPH A319"}, +{0x14567,"ANATOLIAN HIEROGLYPH A320"}, +{0x14568,"ANATOLIAN HIEROGLYPH A321"}, +{0x14569,"ANATOLIAN HIEROGLYPH A322"}, +{0x1456A,"ANATOLIAN HIEROGLYPH A323"}, +{0x1456B,"ANATOLIAN HIEROGLYPH A324"}, +{0x1456C,"ANATOLIAN HIEROGLYPH A325"}, +{0x1456D,"ANATOLIAN HIEROGLYPH A326"}, +{0x1456E,"ANATOLIAN HIEROGLYPH A327"}, +{0x1456F,"ANATOLIAN HIEROGLYPH A328"}, +{0x14570,"ANATOLIAN HIEROGLYPH A329"}, +{0x14571,"ANATOLIAN HIEROGLYPH A329A"}, +{0x14572,"ANATOLIAN HIEROGLYPH A330"}, +{0x14573,"ANATOLIAN HIEROGLYPH A331"}, +{0x14574,"ANATOLIAN HIEROGLYPH A332A"}, +{0x14575,"ANATOLIAN HIEROGLYPH A332B"}, +{0x14576,"ANATOLIAN HIEROGLYPH A332C"}, +{0x14577,"ANATOLIAN HIEROGLYPH A333"}, +{0x14578,"ANATOLIAN HIEROGLYPH A334"}, +{0x14579,"ANATOLIAN HIEROGLYPH A335"}, +{0x1457A,"ANATOLIAN HIEROGLYPH A336"}, +{0x1457B,"ANATOLIAN HIEROGLYPH A336A"}, +{0x1457C,"ANATOLIAN HIEROGLYPH A336B"}, +{0x1457D,"ANATOLIAN HIEROGLYPH A336C"}, +{0x1457E,"ANATOLIAN HIEROGLYPH A337"}, +{0x1457F,"ANATOLIAN HIEROGLYPH A338"}, +{0x14580,"ANATOLIAN HIEROGLYPH A339"}, +{0x14581,"ANATOLIAN HIEROGLYPH A340"}, +{0x14582,"ANATOLIAN HIEROGLYPH A341"}, +{0x14583,"ANATOLIAN HIEROGLYPH A342"}, +{0x14584,"ANATOLIAN HIEROGLYPH A343"}, +{0x14585,"ANATOLIAN HIEROGLYPH A344"}, +{0x14586,"ANATOLIAN HIEROGLYPH A345"}, +{0x14587,"ANATOLIAN HIEROGLYPH A346"}, +{0x14588,"ANATOLIAN HIEROGLYPH A347"}, +{0x14589,"ANATOLIAN HIEROGLYPH A348"}, +{0x1458A,"ANATOLIAN HIEROGLYPH A349"}, +{0x1458B,"ANATOLIAN HIEROGLYPH A350"}, +{0x1458C,"ANATOLIAN HIEROGLYPH A351"}, +{0x1458D,"ANATOLIAN HIEROGLYPH A352"}, +{0x1458E,"ANATOLIAN HIEROGLYPH A353"}, +{0x1458F,"ANATOLIAN HIEROGLYPH A354"}, +{0x14590,"ANATOLIAN HIEROGLYPH A355"}, +{0x14591,"ANATOLIAN HIEROGLYPH A356"}, +{0x14592,"ANATOLIAN HIEROGLYPH A357"}, +{0x14593,"ANATOLIAN HIEROGLYPH A358"}, +{0x14594,"ANATOLIAN HIEROGLYPH A359"}, +{0x14595,"ANATOLIAN HIEROGLYPH A359A"}, +{0x14596,"ANATOLIAN HIEROGLYPH A360"}, +{0x14597,"ANATOLIAN HIEROGLYPH A361"}, +{0x14598,"ANATOLIAN HIEROGLYPH A362"}, +{0x14599,"ANATOLIAN HIEROGLYPH A363"}, +{0x1459A,"ANATOLIAN HIEROGLYPH A364"}, +{0x1459B,"ANATOLIAN HIEROGLYPH A364A"}, +{0x1459C,"ANATOLIAN HIEROGLYPH A365"}, +{0x1459D,"ANATOLIAN HIEROGLYPH A366"}, +{0x1459E,"ANATOLIAN HIEROGLYPH A367"}, +{0x1459F,"ANATOLIAN HIEROGLYPH A368"}, +{0x145A0,"ANATOLIAN HIEROGLYPH A368A"}, +{0x145A1,"ANATOLIAN HIEROGLYPH A369"}, +{0x145A2,"ANATOLIAN HIEROGLYPH A370"}, +{0x145A3,"ANATOLIAN HIEROGLYPH A371"}, +{0x145A4,"ANATOLIAN HIEROGLYPH A371A"}, +{0x145A5,"ANATOLIAN HIEROGLYPH A372"}, +{0x145A6,"ANATOLIAN HIEROGLYPH A373"}, +{0x145A7,"ANATOLIAN HIEROGLYPH A374"}, +{0x145A8,"ANATOLIAN HIEROGLYPH A375"}, +{0x145A9,"ANATOLIAN HIEROGLYPH A376"}, +{0x145AA,"ANATOLIAN HIEROGLYPH A377"}, +{0x145AB,"ANATOLIAN HIEROGLYPH A378"}, +{0x145AC,"ANATOLIAN HIEROGLYPH A379"}, +{0x145AD,"ANATOLIAN HIEROGLYPH A380"}, +{0x145AE,"ANATOLIAN HIEROGLYPH A381"}, +{0x145AF,"ANATOLIAN HIEROGLYPH A381A"}, +{0x145B0,"ANATOLIAN HIEROGLYPH A382"}, +{0x145B1,"ANATOLIAN HIEROGLYPH A383 RA OR RI"}, +{0x145B2,"ANATOLIAN HIEROGLYPH A383A"}, +{0x145B3,"ANATOLIAN HIEROGLYPH A384"}, +{0x145B4,"ANATOLIAN HIEROGLYPH A385"}, +{0x145B5,"ANATOLIAN HIEROGLYPH A386"}, +{0x145B6,"ANATOLIAN HIEROGLYPH A386A"}, +{0x145B7,"ANATOLIAN HIEROGLYPH A387"}, +{0x145B8,"ANATOLIAN HIEROGLYPH A388"}, +{0x145B9,"ANATOLIAN HIEROGLYPH A389"}, +{0x145BA,"ANATOLIAN HIEROGLYPH A390"}, +{0x145BB,"ANATOLIAN HIEROGLYPH A391"}, +{0x145BC,"ANATOLIAN HIEROGLYPH A392"}, +{0x145BD,"ANATOLIAN HIEROGLYPH A393 EIGHT"}, +{0x145BE,"ANATOLIAN HIEROGLYPH A394"}, +{0x145BF,"ANATOLIAN HIEROGLYPH A395"}, +{0x145C0,"ANATOLIAN HIEROGLYPH A396"}, +{0x145C1,"ANATOLIAN HIEROGLYPH A397"}, +{0x145C2,"ANATOLIAN HIEROGLYPH A398"}, +{0x145C3,"ANATOLIAN HIEROGLYPH A399"}, +{0x145C4,"ANATOLIAN HIEROGLYPH A400"}, +{0x145C5,"ANATOLIAN HIEROGLYPH A401"}, +{0x145C6,"ANATOLIAN HIEROGLYPH A402"}, +{0x145C7,"ANATOLIAN HIEROGLYPH A403"}, +{0x145C8,"ANATOLIAN HIEROGLYPH A404"}, +{0x145C9,"ANATOLIAN HIEROGLYPH A405"}, +{0x145CA,"ANATOLIAN HIEROGLYPH A406"}, +{0x145CB,"ANATOLIAN HIEROGLYPH A407"}, +{0x145CC,"ANATOLIAN HIEROGLYPH A408"}, +{0x145CD,"ANATOLIAN HIEROGLYPH A409"}, +{0x145CE,"ANATOLIAN HIEROGLYPH A410 BEGIN LOGOGRAM MARK"}, +{0x145CF,"ANATOLIAN HIEROGLYPH A410A END LOGOGRAM MARK"}, +{0x145D0,"ANATOLIAN HIEROGLYPH A411"}, +{0x145D1,"ANATOLIAN HIEROGLYPH A412"}, +{0x145D2,"ANATOLIAN HIEROGLYPH A413"}, +{0x145D3,"ANATOLIAN HIEROGLYPH A414"}, +{0x145D4,"ANATOLIAN HIEROGLYPH A415"}, +{0x145D5,"ANATOLIAN HIEROGLYPH A416"}, +{0x145D6,"ANATOLIAN HIEROGLYPH A417"}, +{0x145D7,"ANATOLIAN HIEROGLYPH A418"}, +{0x145D8,"ANATOLIAN HIEROGLYPH A419"}, +{0x145D9,"ANATOLIAN HIEROGLYPH A420"}, +{0x145DA,"ANATOLIAN HIEROGLYPH A421"}, +{0x145DB,"ANATOLIAN HIEROGLYPH A422"}, +{0x145DC,"ANATOLIAN HIEROGLYPH A423"}, +{0x145DD,"ANATOLIAN HIEROGLYPH A424"}, +{0x145DE,"ANATOLIAN HIEROGLYPH A425"}, +{0x145DF,"ANATOLIAN HIEROGLYPH A426"}, +{0x145E0,"ANATOLIAN HIEROGLYPH A427"}, +{0x145E1,"ANATOLIAN HIEROGLYPH A428"}, +{0x145E2,"ANATOLIAN HIEROGLYPH A429"}, +{0x145E3,"ANATOLIAN HIEROGLYPH A430"}, +{0x145E4,"ANATOLIAN HIEROGLYPH A431"}, +{0x145E5,"ANATOLIAN HIEROGLYPH A432"}, +{0x145E6,"ANATOLIAN HIEROGLYPH A433"}, +{0x145E7,"ANATOLIAN HIEROGLYPH A434"}, +{0x145E8,"ANATOLIAN HIEROGLYPH A435"}, +{0x145E9,"ANATOLIAN HIEROGLYPH A436"}, +{0x145EA,"ANATOLIAN HIEROGLYPH A437"}, +{0x145EB,"ANATOLIAN HIEROGLYPH A438"}, +{0x145EC,"ANATOLIAN HIEROGLYPH A439"}, +{0x145ED,"ANATOLIAN HIEROGLYPH A440"}, +{0x145EE,"ANATOLIAN HIEROGLYPH A441"}, +{0x145EF,"ANATOLIAN HIEROGLYPH A442"}, +{0x145F0,"ANATOLIAN HIEROGLYPH A443"}, +{0x145F1,"ANATOLIAN HIEROGLYPH A444"}, +{0x145F2,"ANATOLIAN HIEROGLYPH A445"}, +{0x145F3,"ANATOLIAN HIEROGLYPH A446"}, +{0x145F4,"ANATOLIAN HIEROGLYPH A447"}, +{0x145F5,"ANATOLIAN HIEROGLYPH A448"}, +{0x145F6,"ANATOLIAN HIEROGLYPH A449"}, +{0x145F7,"ANATOLIAN HIEROGLYPH A450"}, +{0x145F8,"ANATOLIAN HIEROGLYPH A450A"}, +{0x145F9,"ANATOLIAN HIEROGLYPH A451"}, +{0x145FA,"ANATOLIAN HIEROGLYPH A452"}, +{0x145FB,"ANATOLIAN HIEROGLYPH A453"}, +{0x145FC,"ANATOLIAN HIEROGLYPH A454"}, +{0x145FD,"ANATOLIAN HIEROGLYPH A455"}, +{0x145FE,"ANATOLIAN HIEROGLYPH A456"}, +{0x145FF,"ANATOLIAN HIEROGLYPH A457"}, +{0x14600,"ANATOLIAN HIEROGLYPH A457A"}, +{0x14601,"ANATOLIAN HIEROGLYPH A458"}, +{0x14602,"ANATOLIAN HIEROGLYPH A459"}, +{0x14603,"ANATOLIAN HIEROGLYPH A460"}, +{0x14604,"ANATOLIAN HIEROGLYPH A461"}, +{0x14605,"ANATOLIAN HIEROGLYPH A462"}, +{0x14606,"ANATOLIAN HIEROGLYPH A463"}, +{0x14607,"ANATOLIAN HIEROGLYPH A464"}, +{0x14608,"ANATOLIAN HIEROGLYPH A465"}, +{0x14609,"ANATOLIAN HIEROGLYPH A466"}, +{0x1460A,"ANATOLIAN HIEROGLYPH A467"}, +{0x1460B,"ANATOLIAN HIEROGLYPH A468"}, +{0x1460C,"ANATOLIAN HIEROGLYPH A469"}, +{0x1460D,"ANATOLIAN HIEROGLYPH A470"}, +{0x1460E,"ANATOLIAN HIEROGLYPH A471"}, +{0x1460F,"ANATOLIAN HIEROGLYPH A472"}, +{0x14610,"ANATOLIAN HIEROGLYPH A473"}, +{0x14611,"ANATOLIAN HIEROGLYPH A474"}, +{0x14612,"ANATOLIAN HIEROGLYPH A475"}, +{0x14613,"ANATOLIAN HIEROGLYPH A476"}, +{0x14614,"ANATOLIAN HIEROGLYPH A477"}, +{0x14615,"ANATOLIAN HIEROGLYPH A478"}, +{0x14616,"ANATOLIAN HIEROGLYPH A479"}, +{0x14617,"ANATOLIAN HIEROGLYPH A480"}, +{0x14618,"ANATOLIAN HIEROGLYPH A481"}, +{0x14619,"ANATOLIAN HIEROGLYPH A482"}, +{0x1461A,"ANATOLIAN HIEROGLYPH A483"}, +{0x1461B,"ANATOLIAN HIEROGLYPH A484"}, +{0x1461C,"ANATOLIAN HIEROGLYPH A485"}, +{0x1461D,"ANATOLIAN HIEROGLYPH A486"}, +{0x1461E,"ANATOLIAN HIEROGLYPH A487"}, +{0x1461F,"ANATOLIAN HIEROGLYPH A488"}, +{0x14620,"ANATOLIAN HIEROGLYPH A489"}, +{0x14621,"ANATOLIAN HIEROGLYPH A490"}, +{0x14622,"ANATOLIAN HIEROGLYPH A491"}, +{0x14623,"ANATOLIAN HIEROGLYPH A492"}, +{0x14624,"ANATOLIAN HIEROGLYPH A493"}, +{0x14625,"ANATOLIAN HIEROGLYPH A494"}, +{0x14626,"ANATOLIAN HIEROGLYPH A495"}, +{0x14627,"ANATOLIAN HIEROGLYPH A496"}, +{0x14628,"ANATOLIAN HIEROGLYPH A497"}, +{0x14629,"ANATOLIAN HIEROGLYPH A501"}, +{0x1462A,"ANATOLIAN HIEROGLYPH A502"}, +{0x1462B,"ANATOLIAN HIEROGLYPH A503"}, +{0x1462C,"ANATOLIAN HIEROGLYPH A504"}, +{0x1462D,"ANATOLIAN HIEROGLYPH A505"}, +{0x1462E,"ANATOLIAN HIEROGLYPH A506"}, +{0x1462F,"ANATOLIAN HIEROGLYPH A507"}, +{0x14630,"ANATOLIAN HIEROGLYPH A508"}, +{0x14631,"ANATOLIAN HIEROGLYPH A509"}, +{0x14632,"ANATOLIAN HIEROGLYPH A510"}, +{0x14633,"ANATOLIAN HIEROGLYPH A511"}, +{0x14634,"ANATOLIAN HIEROGLYPH A512"}, +{0x14635,"ANATOLIAN HIEROGLYPH A513"}, +{0x14636,"ANATOLIAN HIEROGLYPH A514"}, +{0x14637,"ANATOLIAN HIEROGLYPH A515"}, +{0x14638,"ANATOLIAN HIEROGLYPH A516"}, +{0x14639,"ANATOLIAN HIEROGLYPH A517"}, +{0x1463A,"ANATOLIAN HIEROGLYPH A518"}, +{0x1463B,"ANATOLIAN HIEROGLYPH A519"}, +{0x1463C,"ANATOLIAN HIEROGLYPH A520"}, +{0x1463D,"ANATOLIAN HIEROGLYPH A521"}, +{0x1463E,"ANATOLIAN HIEROGLYPH A522"}, +{0x1463F,"ANATOLIAN HIEROGLYPH A523"}, +{0x14640,"ANATOLIAN HIEROGLYPH A524"}, +{0x14641,"ANATOLIAN HIEROGLYPH A525"}, +{0x14642,"ANATOLIAN HIEROGLYPH A526"}, +{0x14643,"ANATOLIAN HIEROGLYPH A527"}, +{0x14644,"ANATOLIAN HIEROGLYPH A528"}, +{0x14645,"ANATOLIAN HIEROGLYPH A529"}, +{0x14646,"ANATOLIAN HIEROGLYPH A530"}, {0x2693,"ANCHOR"}, {0x27D1,"AND WITH DOT"}, {0x1F4A2,"ANGER SYMBOL"}, @@ -298,6 +1030,7 @@ {0x2351,"APL FUNCTIONAL SYMBOL UP TACK OVERBAR"}, {0x234F,"APL FUNCTIONAL SYMBOL UPWARDS VANE"}, {0x236C,"APL FUNCTIONAL SYMBOL ZILDE"}, +{0x2BE4,"APOLLON"}, {0x0027,"APOSTROPHE"}, {0x2250,"APPROACHES THE LIMIT"}, {0x2246,"APPROXIMATELY BUT NOT ACTUALLY EQUAL TO"}, @@ -320,6 +1053,7 @@ {0xFE72,"ARABIC DAMMATAN ISOLATED FORM"}, {0x060D,"ARABIC DATE SEPARATOR"}, {0x066B,"ARABIC DECIMAL SEPARATOR"}, +{0x08E2,"ARABIC DISPUTED END OF AYAH"}, {0x08FB,"ARABIC DOUBLE RIGHT ARROWHEAD ABOVE"}, {0x08FC,"ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT"}, {0x06EB,"ARABIC EMPTY CENTRE HIGH STOP"}, @@ -348,12 +1082,16 @@ {0x08F7,"ARABIC LEFT ARROWHEAD ABOVE"}, {0x08F9,"ARABIC LEFT ARROWHEAD BELOW"}, {0x06D5,"ARABIC LETTER AE"}, +{0x08BB,"ARABIC LETTER AFRICAN FEH"}, +{0x08BD,"ARABIC LETTER AFRICAN NOON"}, +{0x08BC,"ARABIC LETTER AFRICAN QAF"}, {0x0639,"ARABIC LETTER AIN"}, {0xFECA,"ARABIC LETTER AIN FINAL FORM"}, {0xFECB,"ARABIC LETTER AIN INITIAL FORM"}, {0xFEC9,"ARABIC LETTER AIN ISOLATED FORM"}, {0xFECC,"ARABIC LETTER AIN MEDIAL FORM"}, {0x06A0,"ARABIC LETTER AIN WITH THREE DOTS ABOVE"}, +{0x08B3,"ARABIC LETTER AIN WITH THREE DOTS BELOW"}, {0x075E,"ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE"}, {0x075D,"ARABIC LETTER AIN WITH TWO DOTS ABOVE"}, {0x075F,"ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE"}, @@ -392,6 +1130,7 @@ {0x0751,"ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE"}, {0x08A1,"ARABIC LETTER BEH WITH HAMZA ABOVE"}, {0x0755,"ARABIC LETTER BEH WITH INVERTED SMALL V BELOW"}, +{0x08B6,"ARABIC LETTER BEH WITH SMALL MEEM ABOVE"}, {0x0756,"ARABIC LETTER BEH WITH SMALL V"}, {0x08A0,"ARABIC LETTER BEH WITH SMALL V BELOW"}, {0x0750,"ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW"}, @@ -543,6 +1282,7 @@ {0xFED9,"ARABIC LETTER KAF ISOLATED FORM"}, {0xFEDC,"ARABIC LETTER KAF MEDIAL FORM"}, {0x06AC,"ARABIC LETTER KAF WITH DOT ABOVE"}, +{0x08B4,"ARABIC LETTER KAF WITH DOT BELOW"}, {0x06AB,"ARABIC LETTER KAF WITH RING"}, {0x06AE,"ARABIC LETTER KAF WITH THREE DOTS BELOW"}, {0x077F,"ARABIC LETTER KAF WITH TWO DOTS ABOVE"}, @@ -626,6 +1366,7 @@ {0xFB58,"ARABIC LETTER PEH INITIAL FORM"}, {0xFB56,"ARABIC LETTER PEH ISOLATED FORM"}, {0xFB59,"ARABIC LETTER PEH MEDIAL FORM"}, +{0x08B7,"ARABIC LETTER PEH WITH SMALL MEEM ABOVE"}, {0x06A6,"ARABIC LETTER PEHEH"}, {0xFB6F,"ARABIC LETTER PEHEH FINAL FORM"}, {0xFB70,"ARABIC LETTER PEHEH INITIAL FORM"}, @@ -650,6 +1391,7 @@ {0x08AA,"ARABIC LETTER REH WITH LOOP"}, {0x0693,"ARABIC LETTER REH WITH RING"}, {0x0771,"ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS"}, +{0x08B9,"ARABIC LETTER REH WITH SMALL NOON ABOVE"}, {0x0692,"ARABIC LETTER REH WITH SMALL V"}, {0x0695,"ARABIC LETTER REH WITH SMALL V BELOW"}, {0x075B,"ARABIC LETTER REH WITH STROKE"}, @@ -722,6 +1464,7 @@ {0xFE93,"ARABIC LETTER TEH MARBUTA ISOLATED FORM"}, {0xFE98,"ARABIC LETTER TEH MEDIAL FORM"}, {0x067C,"ARABIC LETTER TEH WITH RING"}, +{0x08B8,"ARABIC LETTER TEH WITH SMALL TEH ABOVE"}, {0x067D,"ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS"}, {0x067F,"ARABIC LETTER TEHEH"}, {0xFB63,"ARABIC LETTER TEHEH FINAL FORM"}, @@ -796,6 +1539,7 @@ {0x06D1,"ARABIC LETTER YEH WITH THREE DOTS BELOW"}, {0x08A9,"ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE"}, {0x08A8,"ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE"}, +{0x08BA,"ARABIC LETTER YEH WITH TWO DOTS BELOW AND SMALL NOON ABOVE"}, {0x06C8,"ARABIC LETTER YU"}, {0xFBDC,"ARABIC LETTER YU FINAL FORM"}, {0xFBDB,"ARABIC LETTER YU ISOLATED FORM"}, @@ -1461,7 +2205,9 @@ {0x0614,"ARABIC SIGN TAKHALLUS"}, {0x0619,"ARABIC SMALL DAMMA"}, {0x0618,"ARABIC SMALL FATHA"}, +{0x08D6,"ARABIC SMALL HIGH AIN"}, {0x06E1,"ARABIC SMALL HIGH DOTLESS HEAD OF KHAH"}, +{0x08E0,"ARABIC SMALL HIGH FOOTNOTE MARKER"}, {0x06DA,"ARABIC SMALL HIGH JEEM"}, {0x06D9,"ARABIC SMALL HIGH LAM ALEF"}, {0x0616,"ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH"}, @@ -1471,17 +2217,30 @@ {0x06D8,"ARABIC SMALL HIGH MEEM INITIAL FORM"}, {0x06E2,"ARABIC SMALL HIGH MEEM ISOLATED FORM"}, {0x06E8,"ARABIC SMALL HIGH NOON"}, +{0x08D8,"ARABIC SMALL HIGH NOON WITH KASRA"}, +{0x08D7,"ARABIC SMALL HIGH QAF"}, {0x06DF,"ARABIC SMALL HIGH ROUNDED ZERO"}, +{0x08D5,"ARABIC SMALL HIGH SAD"}, {0x06DC,"ARABIC SMALL HIGH SEEN"}, +{0x08E1,"ARABIC SMALL HIGH SIGN SAFHA"}, {0x0615,"ARABIC SMALL HIGH TAH"}, {0x06DB,"ARABIC SMALL HIGH THREE DOTS"}, {0x06E0,"ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO"}, {0x08F3,"ARABIC SMALL HIGH WAW"}, +{0x08DC,"ARABIC SMALL HIGH WORD AN-NISF"}, +{0x08D4,"ARABIC SMALL HIGH WORD AR-RUB"}, +{0x08DB,"ARABIC SMALL HIGH WORD AS-SAJDA"}, +{0x08DA,"ARABIC SMALL HIGH WORD ATH-THALATHA"}, +{0x08DE,"ARABIC SMALL HIGH WORD QIF"}, +{0x08DD,"ARABIC SMALL HIGH WORD SAKTA"}, +{0x08DF,"ARABIC SMALL HIGH WORD WAQFA"}, {0x06E7,"ARABIC SMALL HIGH YEH"}, {0x0617,"ARABIC SMALL HIGH ZAIN"}, {0x061A,"ARABIC SMALL KASRA"}, {0x06ED,"ARABIC SMALL LOW MEEM"}, +{0x08D9,"ARABIC SMALL LOW NOON WITH KASRA"}, {0x06E3,"ARABIC SMALL LOW SEEN"}, +{0x08D3,"ARABIC SMALL LOW WAW"}, {0x06E5,"ARABIC SMALL WAW"}, {0x06E6,"ARABIC SMALL YEH"}, {0x06DE,"ARABIC START OF RUB EL HIZB"}, @@ -1516,6 +2275,7 @@ {0x08EB,"ARABIC TONE TWO DOTS ABOVE"}, {0x08EE,"ARABIC TONE TWO DOTS BELOW"}, {0x061E,"ARABIC TRIPLE DOT PUNCTUATION MARK"}, +{0x08E3,"ARABIC TURNED DAMMA BELOW"}, {0x065C,"ARABIC VOWEL SIGN DOT BELOW"}, {0x065B,"ARABIC VOWEL SIGN INVERTED SMALL V ABOVE"}, {0x065A,"ARABIC VOWEL SIGN SMALL V ABOVE"}, @@ -1616,10 +2376,12 @@ {0x0577,"ARMENIAN SMALL LETTER SHA"}, {0x057F,"ARMENIAN SMALL LETTER TIWN"}, {0x0569,"ARMENIAN SMALL LETTER TO"}, +{0x0560,"ARMENIAN SMALL LETTER TURNED AYB"}, {0x057E,"ARMENIAN SMALL LETTER VEW"}, {0x0578,"ARMENIAN SMALL LETTER VO"}, {0x056D,"ARMENIAN SMALL LETTER XEH"}, {0x0575,"ARMENIAN SMALL LETTER YI"}, +{0x0588,"ARMENIAN SMALL LETTER YI WITH STROKE"}, {0x0582,"ARMENIAN SMALL LETTER YIWN"}, {0x0566,"ARMENIAN SMALL LETTER ZA"}, {0x056A,"ARMENIAN SMALL LETTER ZHE"}, @@ -1641,6 +2403,7 @@ {0x2217,"ASTERISK OPERATOR"}, {0x2042,"ASTERISM"}, {0x1F632,"ASTONISHED FACE"}, +{0x2BD9,"ASTRAEA"}, {0x26E2,"ASTRONOMICAL SYMBOL FOR URANUS"}, {0x2243,"ASYMPTOTICALLY EQUAL TO"}, {0x1F45F,"ATHLETIC SHOE"}, @@ -1704,6 +2467,7 @@ {0x10B2A,"AVESTAN LETTER YYE"}, {0x10B30,"AVESTAN LETTER ZE"}, {0x10B32,"AVESTAN LETTER ZHE"}, +{0x1F951,"AVOCADO"}, {0x1F476,"BABY"}, {0x1F47C,"BABY ANGEL"}, {0x1F37C,"BABY BOTTLE"}, @@ -1714,8 +2478,13 @@ {0x27AB,"BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW"}, {0x2B5B,"BACKSLANTED SOUTH ARROW WITH HOOKED TAIL"}, {0x2B5D,"BACKSLANTED SOUTH ARROW WITH HORIZONTAL TAIL"}, +{0x1F953,"BACON"}, {0x1F42B,"BACTRIAN CAMEL"}, +{0x1F9A1,"BADGER"}, +{0x1F3F8,"BADMINTON RACQUET AND SHUTTLECOCK"}, +{0x1F96F,"BAGEL"}, {0x1F6C4,"BAGGAGE CLAIM"}, +{0x1F956,"BAGUETTE BREAD"}, {0x1B44,"BALINESE ADEG ADEG"}, {0x1B5D,"BALINESE CARIK PAMUNGKAH"}, {0x1B5F,"BALINESE CARIK PAREREN"}, @@ -1837,6 +2606,7 @@ {0x1B36,"BALINESE VOWEL SIGN ULU"}, {0x1B37,"BALINESE VOWEL SIGN ULU SARI"}, {0x1B5C,"BALINESE WINDU"}, +{0x1F9F6,"BALL OF YARN"}, {0x1F388,"BALLOON"}, {0x2749,"BALLOON-SPOKED ASTERISK"}, {0x1F5F6,"BALLOT BOLD SCRIPT X"}, @@ -2514,8 +3284,10 @@ {0x1F4B7,"BANKNOTE WITH POUND SIGN"}, {0x1F4B4,"BANKNOTE WITH YEN SIGN"}, {0x1F4CA,"BAR CHART"}, +{0x1F9FC,"BAR OF SOAP"}, {0x1F488,"BARBER POLE"}, {0x26BE,"BASEBALL"}, +{0x1F9FA,"BASKET"}, {0x1F3C0,"BASKETBALL AND HOOP"}, {0x16AF0,"BASSA VAH COMBINING HIGH TONE"}, {0x16AF4,"BASSA VAH COMBINING HIGH-LOW TONE"}, @@ -2553,6 +3325,7 @@ {0x16AE4,"BASSA VAH LETTER YEIN"}, {0x16AD5,"BASSA VAH LETTER YIE"}, {0x16ADC,"BASSA VAH LETTER ZO"}, +{0x1F987,"BAT"}, {0x1BF1,"BATAK CONSONANT SIGN H"}, {0x1BF0,"BATAK CONSONANT SIGN NG"}, {0x1BC0,"BATAK LETTER A"}, @@ -2618,6 +3391,7 @@ {0x266B,"BEAMED EIGHTH NOTES"}, {0x266C,"BEAMED SIXTEENTH NOTES"}, {0x1F43B,"BEAR FACE"}, +{0x1F9D4,"BEARDED PERSON"}, {0x1F493,"BEATING HEART"}, {0x2235,"BECAUSE"}, {0x1F6CF,"BED"}, @@ -2626,6 +3400,7 @@ {0x237E,"BELL SYMBOL"}, {0x1F515,"BELL WITH CANCELLATION STROKE"}, {0x1F6CE,"BELLHOP BELL"}, +{0x09FD,"BENGALI ABBREVIATION SIGN"}, {0x0980,"BENGALI ANJI"}, {0x09D7,"BENGALI AU LENGTH MARK"}, {0x09F9,"BENGALI CURRENCY DENOMINATOR SIXTEEN"}, @@ -2692,6 +3467,7 @@ {0x09A0,"BENGALI LETTER TTHA"}, {0x0989,"BENGALI LETTER U"}, {0x098A,"BENGALI LETTER UU"}, +{0x09FC,"BENGALI LETTER VEDIC ANUSVARA"}, {0x098C,"BENGALI LETTER VOCALIC L"}, {0x09E1,"BENGALI LETTER VOCALIC LL"}, {0x098B,"BENGALI LETTER VOCALIC R"}, @@ -2700,6 +3476,7 @@ {0x09DF,"BENGALI LETTER YYA"}, {0x09F2,"BENGALI RUPEE MARK"}, {0x09F3,"BENGALI RUPEE SIGN"}, +{0x09FE,"BENGALI SANDHI MARK"}, {0x0982,"BENGALI SIGN ANUSVARA"}, {0x09BD,"BENGALI SIGN AVAGRAHA"}, {0x0981,"BENGALI SIGN CANDRABINDU"}, @@ -2725,15 +3502,114 @@ {0x23E3,"BENZENE RING WITH CIRCLE"}, {0x2136,"BET SYMBOL"}, {0x226C,"BETWEEN"}, +{0x11C41,"BHAIKSUKI DANDA"}, +{0x11C58,"BHAIKSUKI DIGIT EIGHT"}, +{0x11C55,"BHAIKSUKI DIGIT FIVE"}, +{0x11C54,"BHAIKSUKI DIGIT FOUR"}, +{0x11C59,"BHAIKSUKI DIGIT NINE"}, +{0x11C51,"BHAIKSUKI DIGIT ONE"}, +{0x11C57,"BHAIKSUKI DIGIT SEVEN"}, +{0x11C56,"BHAIKSUKI DIGIT SIX"}, +{0x11C53,"BHAIKSUKI DIGIT THREE"}, +{0x11C52,"BHAIKSUKI DIGIT TWO"}, +{0x11C50,"BHAIKSUKI DIGIT ZERO"}, +{0x11C42,"BHAIKSUKI DOUBLE DANDA"}, +{0x11C44,"BHAIKSUKI GAP FILLER-1"}, +{0x11C45,"BHAIKSUKI GAP FILLER-2"}, +{0x11C6C,"BHAIKSUKI HUNDREDS UNIT MARK"}, +{0x11C00,"BHAIKSUKI LETTER A"}, +{0x11C01,"BHAIKSUKI LETTER AA"}, +{0x11C0B,"BHAIKSUKI LETTER AI"}, +{0x11C0D,"BHAIKSUKI LETTER AU"}, +{0x11C24,"BHAIKSUKI LETTER BA"}, +{0x11C25,"BHAIKSUKI LETTER BHA"}, +{0x11C13,"BHAIKSUKI LETTER CA"}, +{0x11C14,"BHAIKSUKI LETTER CHA"}, +{0x11C1F,"BHAIKSUKI LETTER DA"}, +{0x11C1A,"BHAIKSUKI LETTER DDA"}, +{0x11C1B,"BHAIKSUKI LETTER DDHA"}, +{0x11C20,"BHAIKSUKI LETTER DHA"}, +{0x11C0A,"BHAIKSUKI LETTER E"}, +{0x11C10,"BHAIKSUKI LETTER GA"}, +{0x11C11,"BHAIKSUKI LETTER GHA"}, +{0x11C2E,"BHAIKSUKI LETTER HA"}, +{0x11C02,"BHAIKSUKI LETTER I"}, +{0x11C03,"BHAIKSUKI LETTER II"}, +{0x11C15,"BHAIKSUKI LETTER JA"}, +{0x11C16,"BHAIKSUKI LETTER JHA"}, +{0x11C0E,"BHAIKSUKI LETTER KA"}, +{0x11C0F,"BHAIKSUKI LETTER KHA"}, +{0x11C29,"BHAIKSUKI LETTER LA"}, +{0x11C26,"BHAIKSUKI LETTER MA"}, +{0x11C21,"BHAIKSUKI LETTER NA"}, +{0x11C12,"BHAIKSUKI LETTER NGA"}, +{0x11C1C,"BHAIKSUKI LETTER NNA"}, +{0x11C17,"BHAIKSUKI LETTER NYA"}, +{0x11C0C,"BHAIKSUKI LETTER O"}, +{0x11C22,"BHAIKSUKI LETTER PA"}, +{0x11C23,"BHAIKSUKI LETTER PHA"}, +{0x11C28,"BHAIKSUKI LETTER RA"}, +{0x11C2D,"BHAIKSUKI LETTER SA"}, +{0x11C2B,"BHAIKSUKI LETTER SHA"}, +{0x11C2C,"BHAIKSUKI LETTER SSA"}, +{0x11C1D,"BHAIKSUKI LETTER TA"}, +{0x11C1E,"BHAIKSUKI LETTER THA"}, +{0x11C18,"BHAIKSUKI LETTER TTA"}, +{0x11C19,"BHAIKSUKI LETTER TTHA"}, +{0x11C04,"BHAIKSUKI LETTER U"}, +{0x11C05,"BHAIKSUKI LETTER UU"}, +{0x11C2A,"BHAIKSUKI LETTER VA"}, +{0x11C08,"BHAIKSUKI LETTER VOCALIC L"}, +{0x11C06,"BHAIKSUKI LETTER VOCALIC R"}, +{0x11C07,"BHAIKSUKI LETTER VOCALIC RR"}, +{0x11C27,"BHAIKSUKI LETTER YA"}, +{0x11C61,"BHAIKSUKI NUMBER EIGHT"}, +{0x11C6A,"BHAIKSUKI NUMBER EIGHTY"}, +{0x11C67,"BHAIKSUKI NUMBER FIFTY"}, +{0x11C5E,"BHAIKSUKI NUMBER FIVE"}, +{0x11C66,"BHAIKSUKI NUMBER FORTY"}, +{0x11C5D,"BHAIKSUKI NUMBER FOUR"}, +{0x11C62,"BHAIKSUKI NUMBER NINE"}, +{0x11C6B,"BHAIKSUKI NUMBER NINETY"}, +{0x11C5A,"BHAIKSUKI NUMBER ONE"}, +{0x11C60,"BHAIKSUKI NUMBER SEVEN"}, +{0x11C69,"BHAIKSUKI NUMBER SEVENTY"}, +{0x11C5F,"BHAIKSUKI NUMBER SIX"}, +{0x11C68,"BHAIKSUKI NUMBER SIXTY"}, +{0x11C63,"BHAIKSUKI NUMBER TEN"}, +{0x11C65,"BHAIKSUKI NUMBER THIRTY"}, +{0x11C5C,"BHAIKSUKI NUMBER THREE"}, +{0x11C64,"BHAIKSUKI NUMBER TWENTY"}, +{0x11C5B,"BHAIKSUKI NUMBER TWO"}, +{0x11C3D,"BHAIKSUKI SIGN ANUSVARA"}, +{0x11C40,"BHAIKSUKI SIGN AVAGRAHA"}, +{0x11C3C,"BHAIKSUKI SIGN CANDRABINDU"}, +{0x11C3F,"BHAIKSUKI SIGN VIRAMA"}, +{0x11C3E,"BHAIKSUKI SIGN VISARGA"}, +{0x11C2F,"BHAIKSUKI VOWEL SIGN AA"}, +{0x11C39,"BHAIKSUKI VOWEL SIGN AI"}, +{0x11C3B,"BHAIKSUKI VOWEL SIGN AU"}, +{0x11C38,"BHAIKSUKI VOWEL SIGN E"}, +{0x11C30,"BHAIKSUKI VOWEL SIGN I"}, +{0x11C31,"BHAIKSUKI VOWEL SIGN II"}, +{0x11C3A,"BHAIKSUKI VOWEL SIGN O"}, +{0x11C32,"BHAIKSUKI VOWEL SIGN U"}, +{0x11C33,"BHAIKSUKI VOWEL SIGN UU"}, +{0x11C36,"BHAIKSUKI VOWEL SIGN VOCALIC L"}, +{0x11C34,"BHAIKSUKI VOWEL SIGN VOCALIC R"}, +{0x11C35,"BHAIKSUKI VOWEL SIGN VOCALIC RR"}, +{0x11C43,"BHAIKSUKI WORD SEPARATOR"}, {0x1F6B2,"BICYCLE"}, {0x1F6B4,"BICYCLIST"}, {0x29F9,"BIG REVERSE SOLIDUS"}, {0x29F8,"BIG SOLIDUS"}, {0x1F459,"BIKINI"}, +{0x1F9E2,"BILLED CAP"}, {0x1F3B1,"BILLIARDS"}, {0x2623,"BIOHAZARD SIGN"}, {0x1F426,"BIRD"}, {0x1F382,"BIRTHDAY CAKE"}, +{0x20BF,"BITCOIN SIGN"}, {0x29D3,"BLACK BOWTIE"}, {0x272C,"BLACK CENTRE WHITE STAR"}, {0x265D,"BLACK CHESS BISHOP"}, @@ -2760,6 +3636,7 @@ {0x25C6,"BLACK DIAMOND"}, {0x2BC1,"BLACK DIAMOND CENTRED"}, {0x2756,"BLACK DIAMOND MINUS WHITE X"}, +{0x2BDE,"BLACK DIAMOND ON CROSS"}, {0x2666,"BLACK DIAMOND SUIT"}, {0x29EA,"BLACK DIAMOND WITH DOWN ARROW"}, {0x1F5A3,"BLACK DOWN POINTING BACKHAND INDEX"}, @@ -2776,6 +3653,7 @@ {0x1F5BF,"BLACK FOLDER"}, {0x2726,"BLACK FOUR POINTED STAR"}, {0x1F5AA,"BLACK HARD SHELL FLOPPY DISK"}, +{0x1F5A4,"BLACK HEART"}, {0x2665,"BLACK HEART SUIT"}, {0x2B22,"BLACK HEXAGON"}, {0x2B2C,"BLACK HORIZONTAL ELLIPSE"}, @@ -2896,6 +3774,7 @@ {0x1F786,"BOLD WHITE CIRCLE"}, {0x1F790,"BOLD WHITE SQUARE"}, {0x1F4A3,"BOMB"}, +{0x1F9B4,"BONE"}, {0x1F56E,"BOOK"}, {0x1F516,"BOOKMARK"}, {0x1F4D1,"BOOKMARK TABS"}, @@ -2948,7 +3827,9 @@ {0x310B,"BOPOMOFO LETTER N"}, {0x312B,"BOPOMOFO LETTER NG"}, {0x31AD,"BOPOMOFO LETTER NGG"}, +{0x312F,"BOPOMOFO LETTER NN"}, {0x311B,"BOPOMOFO LETTER O"}, +{0x312E,"BOPOMOFO LETTER O WITH DOT ABOVE"}, {0x31B1,"BOPOMOFO LETTER OM"}, {0x31B2,"BOPOMOFO LETTER ONG"}, {0x31A7,"BOPOMOFO LETTER ONN"}, @@ -2968,6 +3849,7 @@ {0x3113,"BOPOMOFO LETTER ZH"}, {0x31A1,"BOPOMOFO LETTER ZI"}, {0x31BA,"BOPOMOFO LETTER ZY"}, +{0x1F37E,"BOTTLE WITH POPPING CORK"}, {0x293B,"BOTTOM ARC ANTICLOCKWISE ARROW"}, {0x23DF,"BOTTOM CURLY BRACKET"}, {0x2BCB,"BOTTOM HALF BLACK CIRCLE"}, @@ -2984,6 +3866,9 @@ {0x23E1,"BOTTOM TORTOISE SHELL BRACKET"}, {0x1F490,"BOUQUET"}, {0x1F395,"BOUQUET OF FLOWERS"}, +{0x1F3F9,"BOW AND ARROW"}, +{0x1F54F,"BOWL OF HYGIEIA"}, +{0x1F963,"BOWL WITH SPOON"}, {0x1F3B3,"BOWLING"}, {0x22C8,"BOWTIE"}, {0x29D1,"BOWTIE WITH LEFT HALF BLACK"}, @@ -3116,6 +4001,7 @@ {0x256A,"BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE"}, {0x2561,"BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE"}, {0x255E,"BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE"}, +{0x1F94A,"BOXING GLOVE"}, {0x1F466,"BOY"}, {0x1F6C9,"BOYS SYMBOL"}, {0x11047,"BRAHMI DANDA"}, @@ -3483,14 +4369,19 @@ {0x2840,"BRAILLE PATTERN DOTS-7"}, {0x28C0,"BRAILLE PATTERN DOTS-78"}, {0x2880,"BRAILLE PATTERN DOTS-8"}, +{0x1F9E0,"BRAIN"}, {0x1F35E,"BREAD"}, +{0x1F931,"BREAST-FEEDING"}, {0x02D8,"BREVE"}, +{0x1F9F1,"BRICK"}, {0x1F470,"BRIDE WITH VEIL"}, {0x1F309,"BRIDGE AT NIGHT"}, {0x1F4BC,"BRIEFCASE"}, +{0x1F966,"BROCCOLI"}, {0x00A6,"BROKEN BAR"}, {0x238B,"BROKEN CIRCLE WITH NORTHWEST ARROW"}, {0x1F494,"BROKEN HEART"}, +{0x1F9F9,"BROOM"}, {0x1F41B,"BUG"}, {0x1A1F,"BUGINESE END OF SECTION"}, {0x1A15,"BUGINESE LETTER A"}, @@ -3548,10 +4439,12 @@ {0x1F56B,"BULLHORN"}, {0x1F56C,"BULLHORN WITH SOUND WAVES"}, {0x25CE,"BULLSEYE"}, +{0x1F32F,"BURRITO"}, {0x1F68C,"BUS"}, {0x1F68F,"BUS STOP"}, {0x1F464,"BUST IN SILHOUETTE"}, {0x1F465,"BUSTS IN SILHOUETTE"}, +{0x1F98B,"BUTTERFLY"}, {0x1D09C,"BYZANTINE MUSICAL SYMBOL AGOGI ARGI"}, {0x1D09B,"BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI"}, {0x1D09F,"BYZANTINE MUSICAL SYMBOL AGOGI GORGI"}, @@ -3802,6 +4695,7 @@ {0x2106,"CADA UNA"}, {0x2624,"CADUCEUS"}, {0x1F4C5,"CALENDAR"}, +{0x1F919,"CALL ME HAND"}, {0x1F4F7,"CAMERA"}, {0x1F4F8,"CAMERA WITH FLASH"}, {0x1F3D5,"CAMPING"}, @@ -4520,6 +5414,8 @@ {0x264B,"CANCER"}, {0x1F56F,"CANDLE"}, {0x1F36C,"CANDY"}, +{0x1F96B,"CANNED FOOD"}, +{0x1F6F6,"CANOE"}, {0x2E3F,"CAPITULUM"}, {0x2651,"CAPRICORN"}, {0x26D0,"CAR SLIDING"}, @@ -4581,6 +5477,7 @@ {0x02C7,"CARON"}, {0x1F3A0,"CAROUSEL HORSE"}, {0x1F38F,"CARP STREAMER"}, +{0x1F955,"CARROT"}, {0x26EB,"CASTLE"}, {0x1F408,"CAT"}, {0x1F431,"CAT FACE"}, @@ -4681,6 +5578,7 @@ {0x11107,"CHAKMA LETTER KAA"}, {0x11108,"CHAKMA LETTER KHAA"}, {0x11123,"CHAKMA LETTER LAA"}, +{0x11144,"CHAKMA LETTER LHAA"}, {0x1111F,"CHAKMA LETTER MAA"}, {0x1111A,"CHAKMA LETTER NAA"}, {0x1110B,"CHAKMA LETTER NGAA"}, @@ -4707,9 +5605,11 @@ {0x11102,"CHAKMA SIGN VISARGA"}, {0x11133,"CHAKMA VIRAMA"}, {0x11127,"CHAKMA VOWEL SIGN A"}, +{0x11145,"CHAKMA VOWEL SIGN AA"}, {0x1112D,"CHAKMA VOWEL SIGN AI"}, {0x1112F,"CHAKMA VOWEL SIGN AU"}, {0x1112C,"CHAKMA VOWEL SIGN E"}, +{0x11146,"CHAKMA VOWEL SIGN EI"}, {0x11128,"CHAKMA VOWEL SIGN I"}, {0x11129,"CHAKMA VOWEL SIGN II"}, {0x1112E,"CHAKMA VOWEL SIGN O"}, @@ -4806,6 +5706,7 @@ {0x2713,"CHECK MARK"}, {0x1F67E,"CHECKER BOARD"}, {0x1F4E3,"CHEERING MEGAPHONE"}, +{0x1F9C0,"CHEESE WEDGE"}, {0x1F3C1,"CHEQUERED FLAG"}, {0x13A0,"CHEROKEE LETTER A"}, {0x13D3,"CHEROKEE LETTER DA"}, @@ -4842,6 +5743,7 @@ {0x13BB,"CHEROKEE LETTER MI"}, {0x13BC,"CHEROKEE LETTER MO"}, {0x13BD,"CHEROKEE LETTER MU"}, +{0x13F5,"CHEROKEE LETTER MV"}, {0x13BE,"CHEROKEE LETTER NA"}, {0x13C0,"CHEROKEE LETTER NAH"}, {0x13C1,"CHEROKEE LETTER NE"}, @@ -4892,15 +5794,103 @@ {0x13F2,"CHEROKEE LETTER YO"}, {0x13F3,"CHEROKEE LETTER YU"}, {0x13F4,"CHEROKEE LETTER YV"}, +{0xAB70,"CHEROKEE SMALL LETTER A"}, +{0xABA3,"CHEROKEE SMALL LETTER DA"}, +{0xABA5,"CHEROKEE SMALL LETTER DE"}, +{0xABA7,"CHEROKEE SMALL LETTER DI"}, +{0xABAC,"CHEROKEE SMALL LETTER DLA"}, +{0xABA9,"CHEROKEE SMALL LETTER DO"}, +{0xABAA,"CHEROKEE SMALL LETTER DU"}, +{0xABAB,"CHEROKEE SMALL LETTER DV"}, +{0xAB71,"CHEROKEE SMALL LETTER E"}, +{0xAB76,"CHEROKEE SMALL LETTER GA"}, +{0xAB78,"CHEROKEE SMALL LETTER GE"}, +{0xAB79,"CHEROKEE SMALL LETTER GI"}, +{0xAB7A,"CHEROKEE SMALL LETTER GO"}, +{0xAB7B,"CHEROKEE SMALL LETTER GU"}, +{0xAB7C,"CHEROKEE SMALL LETTER GV"}, +{0xAB7D,"CHEROKEE SMALL LETTER HA"}, +{0xAB7E,"CHEROKEE SMALL LETTER HE"}, +{0xAB7F,"CHEROKEE SMALL LETTER HI"}, +{0xAB8F,"CHEROKEE SMALL LETTER HNA"}, +{0xAB80,"CHEROKEE SMALL LETTER HO"}, +{0xAB81,"CHEROKEE SMALL LETTER HU"}, +{0xAB82,"CHEROKEE SMALL LETTER HV"}, +{0xAB72,"CHEROKEE SMALL LETTER I"}, +{0xAB77,"CHEROKEE SMALL LETTER KA"}, +{0xAB83,"CHEROKEE SMALL LETTER LA"}, +{0xAB84,"CHEROKEE SMALL LETTER LE"}, +{0xAB85,"CHEROKEE SMALL LETTER LI"}, +{0xAB86,"CHEROKEE SMALL LETTER LO"}, +{0xAB87,"CHEROKEE SMALL LETTER LU"}, +{0xAB88,"CHEROKEE SMALL LETTER LV"}, +{0xAB89,"CHEROKEE SMALL LETTER MA"}, +{0xAB8A,"CHEROKEE SMALL LETTER ME"}, +{0xAB8B,"CHEROKEE SMALL LETTER MI"}, +{0xAB8C,"CHEROKEE SMALL LETTER MO"}, +{0xAB8D,"CHEROKEE SMALL LETTER MU"}, +{0x13FD,"CHEROKEE SMALL LETTER MV"}, +{0xAB8E,"CHEROKEE SMALL LETTER NA"}, +{0xAB90,"CHEROKEE SMALL LETTER NAH"}, +{0xAB91,"CHEROKEE SMALL LETTER NE"}, +{0xAB92,"CHEROKEE SMALL LETTER NI"}, +{0xAB93,"CHEROKEE SMALL LETTER NO"}, +{0xAB94,"CHEROKEE SMALL LETTER NU"}, +{0xAB95,"CHEROKEE SMALL LETTER NV"}, +{0xAB73,"CHEROKEE SMALL LETTER O"}, +{0xAB96,"CHEROKEE SMALL LETTER QUA"}, +{0xAB97,"CHEROKEE SMALL LETTER QUE"}, +{0xAB98,"CHEROKEE SMALL LETTER QUI"}, +{0xAB99,"CHEROKEE SMALL LETTER QUO"}, +{0xAB9A,"CHEROKEE SMALL LETTER QUU"}, +{0xAB9B,"CHEROKEE SMALL LETTER QUV"}, +{0xAB9D,"CHEROKEE SMALL LETTER S"}, +{0xAB9C,"CHEROKEE SMALL LETTER SA"}, +{0xAB9E,"CHEROKEE SMALL LETTER SE"}, +{0xAB9F,"CHEROKEE SMALL LETTER SI"}, +{0xABA0,"CHEROKEE SMALL LETTER SO"}, +{0xABA1,"CHEROKEE SMALL LETTER SU"}, +{0xABA2,"CHEROKEE SMALL LETTER SV"}, +{0xABA4,"CHEROKEE SMALL LETTER TA"}, +{0xABA6,"CHEROKEE SMALL LETTER TE"}, +{0xABA8,"CHEROKEE SMALL LETTER TI"}, +{0xABAD,"CHEROKEE SMALL LETTER TLA"}, +{0xABAE,"CHEROKEE SMALL LETTER TLE"}, +{0xABAF,"CHEROKEE SMALL LETTER TLI"}, +{0xABB0,"CHEROKEE SMALL LETTER TLO"}, +{0xABB1,"CHEROKEE SMALL LETTER TLU"}, +{0xABB2,"CHEROKEE SMALL LETTER TLV"}, +{0xABB3,"CHEROKEE SMALL LETTER TSA"}, +{0xABB4,"CHEROKEE SMALL LETTER TSE"}, +{0xABB5,"CHEROKEE SMALL LETTER TSI"}, +{0xABB6,"CHEROKEE SMALL LETTER TSO"}, +{0xABB7,"CHEROKEE SMALL LETTER TSU"}, +{0xABB8,"CHEROKEE SMALL LETTER TSV"}, +{0xAB74,"CHEROKEE SMALL LETTER U"}, +{0xAB75,"CHEROKEE SMALL LETTER V"}, +{0xABB9,"CHEROKEE SMALL LETTER WA"}, +{0xABBA,"CHEROKEE SMALL LETTER WE"}, +{0xABBB,"CHEROKEE SMALL LETTER WI"}, +{0xABBC,"CHEROKEE SMALL LETTER WO"}, +{0xABBD,"CHEROKEE SMALL LETTER WU"}, +{0xABBE,"CHEROKEE SMALL LETTER WV"}, +{0xABBF,"CHEROKEE SMALL LETTER YA"}, +{0x13F8,"CHEROKEE SMALL LETTER YE"}, +{0x13F9,"CHEROKEE SMALL LETTER YI"}, +{0x13FA,"CHEROKEE SMALL LETTER YO"}, +{0x13FB,"CHEROKEE SMALL LETTER YU"}, +{0x13FC,"CHEROKEE SMALL LETTER YV"}, {0x1F352,"CHERRIES"}, {0x1F338,"CHERRY BLOSSOM"}, {0x1F330,"CHESTNUT"}, {0x2627,"CHI RHO"}, {0x1F414,"CHICKEN"}, +{0x1F9D2,"CHILD"}, {0x1F6B8,"CHILDREN CROSSING"}, {0x1F43F,"CHIPMUNK"}, {0x26B7,"CHIRON"}, {0x1F36B,"CHOCOLATE BAR"}, +{0x1F962,"CHOPSTICKS"}, {0x1F384,"CHRISTMAS TREE"}, {0x26EA,"CHURCH"}, {0x1F3A6,"CINEMA"}, @@ -4921,6 +5911,9 @@ {0x2BBF,"CIRCLED BOLD X"}, {0x29BF,"CIRCLED BULLET"}, {0x1F12D,"CIRCLED CD"}, +{0x1F902,"CIRCLED CROSS FORMEE"}, +{0x1F900,"CIRCLED CROSS FORMEE WITH FOUR DOTS"}, +{0x1F901,"CIRCLED CROSS FORMEE WITH TWO DOTS"}, {0x1F540,"CIRCLED CROSS POMMEE"}, {0x26D2,"CIRCLED CROSSING LANES"}, {0x229D,"CIRCLED DASH"}, @@ -5188,7 +6181,9 @@ {0x3036,"CIRCLED POSTAL MARK"}, {0x29B8,"CIRCLED REVERSE SOLIDUS"}, {0x229A,"CIRCLED RING OPERATOR"}, +{0x1F7D7,"CIRCLED SQUARE"}, {0x2297,"CIRCLED TIMES"}, +{0x1F7D5,"CIRCLED TRIANGLE"}, {0x238A,"CIRCLED TRIANGLE DOWN"}, {0x29B6,"CIRCLED VERTICAL BAR"}, {0x29BE,"CIRCLED WHITE BULLET"}, @@ -6371,6 +7366,7 @@ {0x1F3DB,"CLASSICAL BUILDING"}, {0x239A,"CLEAR SCREEN SYMBOL"}, {0x1F37B,"CLINKING BEER MUGS"}, +{0x1F942,"CLINKING GLASSES"}, {0x1F4CB,"CLIPBOARD"}, {0x1F557,"CLOCK FACE EIGHT OCLOCK"}, {0x1F563,"CLOCK FACE EIGHT-THIRTY"}, @@ -6425,7 +7421,10 @@ {0x1F327,"CLOUD WITH RAIN"}, {0x1F328,"CLOUD WITH SNOW"}, {0x1F32A,"CLOUD WITH TORNADO"}, +{0x1F921,"CLOWN FACE"}, +{0x1F9E5,"COAT"}, {0x1F378,"COCKTAIL GLASS"}, +{0x1F965,"COCONUT"}, {0x26B0,"COFFIN"}, {0x1F4A5,"COLLISION SYMBOL"}, {0x003A,"COLON"}, @@ -6443,6 +7442,7 @@ {0x20DA,"COMBINING ANTICLOCKWISE RING OVERLAY"}, {0x20F0,"COMBINING ASTERISK ABOVE"}, {0x0359,"COMBINING ASTERISK BELOW"}, +{0x1133B,"COMBINING BINDU BELOW"}, {0x0306,"COMBINING BREVE"}, {0x032E,"COMBINING BREVE BELOW"}, {0x1DCB,"COMBINING BREVE-MACRON"}, @@ -6471,6 +7471,7 @@ {0x2DF1,"COMBINING CYRILLIC LETTER CHE"}, {0x2DE3,"COMBINING CYRILLIC LETTER DE"}, {0x2DF8,"COMBINING CYRILLIC LETTER DJERV"}, +{0xA69E,"COMBINING CYRILLIC LETTER EF"}, {0x2DE7,"COMBINING CYRILLIC LETTER EL"}, {0x2DE8,"COMBINING CYRILLIC LETTER EM"}, {0x2DE9,"COMBINING CYRILLIC LETTER EN"}, @@ -6514,7 +7515,10 @@ {0xA670,"COMBINING CYRILLIC TEN MILLIONS SIGN"}, {0xA672,"COMBINING CYRILLIC THOUSAND MILLIONS SIGN"}, {0x0483,"COMBINING CYRILLIC TITLO"}, +{0xFE2E,"COMBINING CYRILLIC TITLO LEFT HALF"}, +{0xFE2F,"COMBINING CYRILLIC TITLO RIGHT HALF"}, {0xA66F,"COMBINING CYRILLIC VZMET"}, +{0x1DFB,"COMBINING DELETION MARK"}, {0xA8E8,"COMBINING DEVANAGARI DIGIT EIGHT"}, {0xA8E5,"COMBINING DEVANAGARI DIGIT FIVE"}, {0xA8E4,"COMBINING DEVANAGARI DIGIT FOUR"}, @@ -6537,6 +7541,7 @@ {0x0324,"COMBINING DIAERESIS BELOW"}, {0x1AB1,"COMBINING DIAERESIS-RING"}, {0x0307,"COMBINING DOT ABOVE"}, +{0x1DF8,"COMBINING DOT ABOVE LEFT"}, {0x0358,"COMBINING DOT ABOVE RIGHT"}, {0x0323,"COMBINING DOT BELOW"}, {0x1DC1,"COMBINING DOTTED ACUTE ACCENT"}, @@ -6575,6 +7580,44 @@ {0x0347,"COMBINING EQUALS SIGN BELOW"}, {0x0352,"COMBINING FERMATA"}, {0x20DC,"COMBINING FOUR DOTS ABOVE"}, +{0x1E000,"COMBINING GLAGOLITIC LETTER AZU"}, +{0x1E028,"COMBINING GLAGOLITIC LETTER BIG YUS"}, +{0x1E001,"COMBINING GLAGOLITIC LETTER BUKY"}, +{0x1E01D,"COMBINING GLAGOLITIC LETTER CHRIVI"}, +{0x1E00C,"COMBINING GLAGOLITIC LETTER DJERVI"}, +{0x1E004,"COMBINING GLAGOLITIC LETTER DOBRO"}, +{0x1E02A,"COMBINING GLAGOLITIC LETTER FITA"}, +{0x1E017,"COMBINING GLAGOLITIC LETTER FRITU"}, +{0x1E003,"COMBINING GLAGOLITIC LETTER GLAGOLI"}, +{0x1E018,"COMBINING GLAGOLITIC LETTER HERU"}, +{0x1E00B,"COMBINING GLAGOLITIC LETTER I"}, +{0x1E00A,"COMBINING GLAGOLITIC LETTER INITIAL IZHE"}, +{0x1E029,"COMBINING GLAGOLITIC LETTER IOTATED BIG YUS"}, +{0x1E027,"COMBINING GLAGOLITIC LETTER IOTATED SMALL YUS"}, +{0x1E009,"COMBINING GLAGOLITIC LETTER IZHE"}, +{0x1E00D,"COMBINING GLAGOLITIC LETTER KAKO"}, +{0x1E00E,"COMBINING GLAGOLITIC LETTER LJUDIJE"}, +{0x1E00F,"COMBINING GLAGOLITIC LETTER MYSLITE"}, +{0x1E010,"COMBINING GLAGOLITIC LETTER NASHI"}, +{0x1E011,"COMBINING GLAGOLITIC LETTER ONU"}, +{0x1E012,"COMBINING GLAGOLITIC LETTER POKOJI"}, +{0x1E013,"COMBINING GLAGOLITIC LETTER RITSI"}, +{0x1E01E,"COMBINING GLAGOLITIC LETTER SHA"}, +{0x1E01B,"COMBINING GLAGOLITIC LETTER SHTA"}, +{0x1E014,"COMBINING GLAGOLITIC LETTER SLOVO"}, +{0x1E024,"COMBINING GLAGOLITIC LETTER SMALL YUS"}, +{0x1E01C,"COMBINING GLAGOLITIC LETTER TSI"}, +{0x1E015,"COMBINING GLAGOLITIC LETTER TVRIDO"}, +{0x1E016,"COMBINING GLAGOLITIC LETTER UKU"}, +{0x1E002,"COMBINING GLAGOLITIC LETTER VEDE"}, +{0x1E021,"COMBINING GLAGOLITIC LETTER YATI"}, +{0x1E020,"COMBINING GLAGOLITIC LETTER YERI"}, +{0x1E01F,"COMBINING GLAGOLITIC LETTER YERU"}, +{0x1E005,"COMBINING GLAGOLITIC LETTER YESTU"}, +{0x1E026,"COMBINING GLAGOLITIC LETTER YO"}, +{0x1E023,"COMBINING GLAGOLITIC LETTER YU"}, +{0x1E008,"COMBINING GLAGOLITIC LETTER ZEMLJA"}, +{0x1E006,"COMBINING GLAGOLITIC LETTER ZHIVETE"}, {0x1136B,"COMBINING GRANTHA DIGIT FIVE"}, {0x1136A,"COMBINING GRANTHA DIGIT FOUR"}, {0x11367,"COMBINING GRANTHA DIGIT ONE"}, @@ -6611,6 +7654,8 @@ {0x1DD0,"COMBINING IS BELOW"}, {0x309A,"COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK"}, {0x3099,"COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK"}, +{0x1DF7,"COMBINING KAVYKA ABOVE LEFT"}, +{0x1DF6,"COMBINING KAVYKA ABOVE RIGHT"}, {0x1DDB,"COMBINING LATIN LETTER SMALL CAPITAL G"}, {0x1DDE,"COMBINING LATIN LETTER SMALL CAPITAL L"}, {0x1DDF,"COMBINING LATIN LETTER SMALL CAPITAL M"}, @@ -6751,6 +7796,7 @@ {0x0329,"COMBINING VERTICAL LINE BELOW"}, {0x033E,"COMBINING VERTICAL TILDE"}, {0x20E9,"COMBINING WIDE BRIDGE ABOVE"}, +{0x1DF9,"COMBINING WIDE INVERTED BRIDGE BELOW"}, {0x1AB6,"COMBINING WIGGLY LINE BELOW"}, {0x033D,"COMBINING X ABOVE"}, {0x0353,"COMBINING X BELOW"}, @@ -6761,6 +7807,7 @@ {0x002C,"COMMA"}, {0x0040,"COMMERCIAL AT"}, {0x2052,"COMMERCIAL MINUS SIGN"}, +{0x1F9ED,"COMPASS"}, {0x2201,"COMPLEMENT"}, {0x2384,"COMPOSITION SYMBOL"}, {0x1F5DC,"COMPRESSION"}, @@ -6950,6 +7997,7 @@ {0x2CEA,"COPTIC SYMBOL SHIMA SIMA"}, {0x2CE7,"COPTIC SYMBOL STAUROS"}, {0x2CE8,"COPTIC SYMBOL TAU RO"}, +{0x1F12F,"COPYLEFT SYMBOL"}, {0x00A9,"COPYRIGHT SIGN"}, {0x2258,"CORRESPONDS TO"}, {0x1F6CB,"COUCH AND LAMP"}, @@ -6976,9 +8024,13 @@ {0x1F491,"COUPLE WITH HEART"}, {0x1F404,"COW"}, {0x1F42E,"COW FACE"}, +{0x1F980,"CRAB"}, {0x1F4B3,"CREDIT CARD"}, {0x1F319,"CRESCENT MOON"}, +{0x1F997,"CRICKET"}, +{0x1F3CF,"CRICKET BAT AND BALL"}, {0x1F40A,"CROCODILE"}, +{0x1F950,"CROISSANT"}, {0x274C,"CROSS MARK"}, {0x2629,"CROSS OF JERUSALEM"}, {0x2628,"CROSS OF LORRAINE"}, @@ -6994,6 +8046,7 @@ {0x1F622,"CRYING FACE"}, {0x1F52E,"CRYSTAL BALL"}, {0x221B,"CUBE ROOT"}, +{0x1F952,"CUCUMBER"}, {0x12406,"CUNEIFORM NUMERIC SIGN EIGHT ASH"}, {0x1240D,"CUNEIFORM NUMERIC SIGN EIGHT DISH"}, {0x1241C,"CUNEIFORM NUMERIC SIGN EIGHT GESH2"}, @@ -7131,7 +8184,9 @@ {0x12011,"CUNEIFORM SIGN AB TIMES IMIN"}, {0x12012,"CUNEIFORM SIGN AB TIMES LAGAB"}, {0x12370,"CUNEIFORM SIGN AB TIMES NUN"}, +{0x12480,"CUNEIFORM SIGN AB TIMES NUN TENU"}, {0x12013,"CUNEIFORM SIGN AB TIMES SHESH"}, +{0x12481,"CUNEIFORM SIGN AB TIMES SHU2"}, {0x12014,"CUNEIFORM SIGN AB TIMES U PLUS U PLUS U"}, {0x12016,"CUNEIFORM SIGN AB2"}, {0x12371,"CUNEIFORM SIGN AB2 TIMES A"}, @@ -7141,6 +8196,7 @@ {0x1201A,"CUNEIFORM SIGN AB2 TIMES SHA3"}, {0x1201B,"CUNEIFORM SIGN AB2 TIMES TAK4"}, {0x1201C,"CUNEIFORM SIGN AD"}, +{0x12482,"CUNEIFORM SIGN AD TIMES ESH2"}, {0x1201D,"CUNEIFORM SIGN AK"}, {0x1201E,"CUNEIFORM SIGN AK TIMES ERIN2"}, {0x1201F,"CUNEIFORM SIGN AK TIMES SHITA PLUS GISH"}, @@ -7179,8 +8235,12 @@ {0x1203F,"CUNEIFORM SIGN ASHGAB"}, {0x12040,"CUNEIFORM SIGN BA"}, {0x12041,"CUNEIFORM SIGN BAD"}, +{0x12483,"CUNEIFORM SIGN BAD TIMES DISH TENU"}, {0x12042,"CUNEIFORM SIGN BAG3"}, {0x12043,"CUNEIFORM SIGN BAHAR2"}, +{0x12484,"CUNEIFORM SIGN BAHAR2 TIMES AB2"}, +{0x12485,"CUNEIFORM SIGN BAHAR2 TIMES NI"}, +{0x12486,"CUNEIFORM SIGN BAHAR2 TIMES ZA"}, {0x12044,"CUNEIFORM SIGN BAL"}, {0x12045,"CUNEIFORM SIGN BAL OVER BAL"}, {0x12046,"CUNEIFORM SIGN BALAG"}, @@ -7193,12 +8253,14 @@ {0x1204D,"CUNEIFORM SIGN BU"}, {0x12050,"CUNEIFORM SIGN BU CROSSING BU"}, {0x1204E,"CUNEIFORM SIGN BU OVER BU AB"}, +{0x12487,"CUNEIFORM SIGN BU OVER BU TIMES NA2"}, {0x1204F,"CUNEIFORM SIGN BU OVER BU UN"}, {0x12051,"CUNEIFORM SIGN BULUG"}, {0x12052,"CUNEIFORM SIGN BULUG OVER BULUG"}, {0x12053,"CUNEIFORM SIGN BUR"}, {0x12054,"CUNEIFORM SIGN BUR2"}, {0x12055,"CUNEIFORM SIGN DA"}, +{0x12488,"CUNEIFORM SIGN DA TIMES TAK4"}, {0x12056,"CUNEIFORM SIGN DAG"}, {0x12057,"CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH"}, {0x12058,"CUNEIFORM SIGN DAG KISIM5 TIMES AMAR"}, @@ -7224,6 +8286,7 @@ {0x1206C,"CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2"}, {0x12373,"CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS MASH"}, {0x1206D,"CUNEIFORM SIGN DAG KISIM5 TIMES USH"}, +{0x12489,"CUNEIFORM SIGN DAG TIMES KUR"}, {0x12374,"CUNEIFORM SIGN DAG3"}, {0x1206E,"CUNEIFORM SIGN DAM"}, {0x1206F,"CUNEIFORM SIGN DAR"}, @@ -7232,8 +8295,11 @@ {0x12072,"CUNEIFORM SIGN DI"}, {0x12073,"CUNEIFORM SIGN DIB"}, {0x12074,"CUNEIFORM SIGN DIM"}, +{0x1248A,"CUNEIFORM SIGN DIM TIMES IGI"}, {0x12075,"CUNEIFORM SIGN DIM TIMES SHE"}, +{0x1248B,"CUNEIFORM SIGN DIM TIMES U U U"}, {0x12076,"CUNEIFORM SIGN DIM2"}, +{0x1248C,"CUNEIFORM SIGN DIM2 TIMES UD"}, {0x12077,"CUNEIFORM SIGN DIN"}, {0x12078,"CUNEIFORM SIGN DIN KASKAL U GUNU DISH"}, {0x12079,"CUNEIFORM SIGN DISH"}, @@ -7247,6 +8313,34 @@ {0x12376,"CUNEIFORM SIGN DUB TIMES SHE"}, {0x12080,"CUNEIFORM SIGN DUB2"}, {0x12081,"CUNEIFORM SIGN DUG"}, +{0x1248D,"CUNEIFORM SIGN DUG TIMES ANSHE"}, +{0x1248E,"CUNEIFORM SIGN DUG TIMES ASH"}, +{0x1248F,"CUNEIFORM SIGN DUG TIMES ASH AT LEFT"}, +{0x12490,"CUNEIFORM SIGN DUG TIMES DIN"}, +{0x12491,"CUNEIFORM SIGN DUG TIMES DUN"}, +{0x12492,"CUNEIFORM SIGN DUG TIMES ERIN2"}, +{0x12493,"CUNEIFORM SIGN DUG TIMES GA"}, +{0x12494,"CUNEIFORM SIGN DUG TIMES GI"}, +{0x12495,"CUNEIFORM SIGN DUG TIMES GIR2 GUNU"}, +{0x12496,"CUNEIFORM SIGN DUG TIMES GISH"}, +{0x12497,"CUNEIFORM SIGN DUG TIMES HA"}, +{0x12498,"CUNEIFORM SIGN DUG TIMES HI"}, +{0x12499,"CUNEIFORM SIGN DUG TIMES IGI GUNU"}, +{0x1249A,"CUNEIFORM SIGN DUG TIMES KASKAL"}, +{0x1249B,"CUNEIFORM SIGN DUG TIMES KUR"}, +{0x1249C,"CUNEIFORM SIGN DUG TIMES KUSHU2"}, +{0x1249D,"CUNEIFORM SIGN DUG TIMES KUSHU2 PLUS KASKAL"}, +{0x1249E,"CUNEIFORM SIGN DUG TIMES LAK-020"}, +{0x1249F,"CUNEIFORM SIGN DUG TIMES LAM"}, +{0x124A0,"CUNEIFORM SIGN DUG TIMES LAM TIMES KUR"}, +{0x124A1,"CUNEIFORM SIGN DUG TIMES LUH PLUS GISH"}, +{0x124A2,"CUNEIFORM SIGN DUG TIMES MASH"}, +{0x124A3,"CUNEIFORM SIGN DUG TIMES MES"}, +{0x124A4,"CUNEIFORM SIGN DUG TIMES MI"}, +{0x124A5,"CUNEIFORM SIGN DUG TIMES NI"}, +{0x124A6,"CUNEIFORM SIGN DUG TIMES PI"}, +{0x124A7,"CUNEIFORM SIGN DUG TIMES SHE"}, +{0x124A8,"CUNEIFORM SIGN DUG TIMES SI GUNU"}, {0x12082,"CUNEIFORM SIGN DUGUD"}, {0x12083,"CUNEIFORM SIGN DUH"}, {0x12084,"CUNEIFORM SIGN DUN"}, @@ -7261,7 +8355,9 @@ {0x1208D,"CUNEIFORM SIGN E2"}, {0x1208E,"CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA"}, {0x1208F,"CUNEIFORM SIGN E2 TIMES GAR"}, +{0x124A9,"CUNEIFORM SIGN E2 TIMES KUR"}, {0x12090,"CUNEIFORM SIGN E2 TIMES MI"}, +{0x124AA,"CUNEIFORM SIGN E2 TIMES PAP"}, {0x12091,"CUNEIFORM SIGN E2 TIMES SAL"}, {0x12092,"CUNEIFORM SIGN E2 TIMES SHE"}, {0x12093,"CUNEIFORM SIGN E2 TIMES U"}, @@ -7277,8 +8373,18 @@ {0x1209A,"CUNEIFORM SIGN EN TIMES ME"}, {0x1209E,"CUNEIFORM SIGN EREN"}, {0x1209F,"CUNEIFORM SIGN ERIN2"}, +{0x124AB,"CUNEIFORM SIGN ERIN2 X"}, {0x120A0,"CUNEIFORM SIGN ESH2"}, +{0x124AC,"CUNEIFORM SIGN ESH2 CROSSING ESH2"}, {0x120A1,"CUNEIFORM SIGN EZEN"}, +{0x124AD,"CUNEIFORM SIGN EZEN SHESHIG TIMES ASH"}, +{0x124AE,"CUNEIFORM SIGN EZEN SHESHIG TIMES HI"}, +{0x124AF,"CUNEIFORM SIGN EZEN SHESHIG TIMES IGI GUNU"}, +{0x124B0,"CUNEIFORM SIGN EZEN SHESHIG TIMES LA"}, +{0x124B1,"CUNEIFORM SIGN EZEN SHESHIG TIMES LAL"}, +{0x124B2,"CUNEIFORM SIGN EZEN SHESHIG TIMES ME"}, +{0x124B3,"CUNEIFORM SIGN EZEN SHESHIG TIMES MES"}, +{0x124B4,"CUNEIFORM SIGN EZEN SHESHIG TIMES SU"}, {0x120A2,"CUNEIFORM SIGN EZEN TIMES A"}, {0x120A3,"CUNEIFORM SIGN EZEN TIMES A PLUS LAL"}, {0x120A4,"CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL"}, @@ -7298,6 +8404,7 @@ {0x120B1,"CUNEIFORM SIGN EZEN TIMES LI"}, {0x120B2,"CUNEIFORM SIGN EZEN TIMES LU"}, {0x12378,"CUNEIFORM SIGN EZEN TIMES SHE"}, +{0x124B5,"CUNEIFORM SIGN EZEN TIMES SU"}, {0x120B3,"CUNEIFORM SIGN EZEN TIMES U2"}, {0x120B4,"CUNEIFORM SIGN EZEN TIMES UD"}, {0x120B5,"CUNEIFORM SIGN GA"}, @@ -7314,23 +8421,32 @@ {0x1237A,"CUNEIFORM SIGN GA2 TIMES ASH2"}, {0x120BE,"CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL"}, {0x120BF,"CUNEIFORM SIGN GA2 TIMES BAD"}, +{0x124B6,"CUNEIFORM SIGN GA2 TIMES BAHAR2"}, {0x120C0,"CUNEIFORM SIGN GA2 TIMES BAR PLUS RA"}, {0x120C1,"CUNEIFORM SIGN GA2 TIMES BUR"}, {0x120C2,"CUNEIFORM SIGN GA2 TIMES BUR PLUS RA"}, {0x120C3,"CUNEIFORM SIGN GA2 TIMES DA"}, {0x120C4,"CUNEIFORM SIGN GA2 TIMES DI"}, +{0x124B7,"CUNEIFORM SIGN GA2 TIMES DIM GUNU"}, {0x120C5,"CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE"}, {0x120C6,"CUNEIFORM SIGN GA2 TIMES DUB"}, +{0x124B8,"CUNEIFORM SIGN GA2 TIMES DUG TIMES IGI GUNU"}, +{0x124B9,"CUNEIFORM SIGN GA2 TIMES DUG TIMES KASKAL"}, {0x120C7,"CUNEIFORM SIGN GA2 TIMES EL"}, {0x120C8,"CUNEIFORM SIGN GA2 TIMES EL PLUS LA"}, {0x120C9,"CUNEIFORM SIGN GA2 TIMES EN"}, {0x120CA,"CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU"}, +{0x124BA,"CUNEIFORM SIGN GA2 TIMES EREN"}, +{0x124BB,"CUNEIFORM SIGN GA2 TIMES GA"}, {0x120CB,"CUNEIFORM SIGN GA2 TIMES GAN2 TENU"}, {0x120CC,"CUNEIFORM SIGN GA2 TIMES GAR"}, +{0x124BC,"CUNEIFORM SIGN GA2 TIMES GAR PLUS DI"}, +{0x124BD,"CUNEIFORM SIGN GA2 TIMES GAR PLUS NE"}, {0x120CD,"CUNEIFORM SIGN GA2 TIMES GI"}, {0x120CE,"CUNEIFORM SIGN GA2 TIMES GI4"}, {0x120CF,"CUNEIFORM SIGN GA2 TIMES GI4 PLUS A"}, {0x120D0,"CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU"}, +{0x124BE,"CUNEIFORM SIGN GA2 TIMES HA PLUS A"}, {0x120D1,"CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2"}, {0x120D2,"CUNEIFORM SIGN GA2 TIMES HAL"}, {0x120D3,"CUNEIFORM SIGN GA2 TIMES HAL PLUS LA"}, @@ -7343,9 +8459,17 @@ {0x120DA,"CUNEIFORM SIGN GA2 TIMES KID"}, {0x120DB,"CUNEIFORM SIGN GA2 TIMES KID PLUS LAL"}, {0x120DC,"CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN"}, +{0x124BF,"CUNEIFORM SIGN GA2 TIMES KUSHU2 PLUS KASKAL"}, {0x120DD,"CUNEIFORM SIGN GA2 TIMES LA"}, +{0x124C0,"CUNEIFORM SIGN GA2 TIMES LAM"}, +{0x124C1,"CUNEIFORM SIGN GA2 TIMES LAM TIMES KUR"}, +{0x124C2,"CUNEIFORM SIGN GA2 TIMES LUH"}, {0x120DE,"CUNEIFORM SIGN GA2 TIMES ME PLUS EN"}, {0x120DF,"CUNEIFORM SIGN GA2 TIMES MI"}, +{0x124C3,"CUNEIFORM SIGN GA2 TIMES MUSH"}, +{0x124C4,"CUNEIFORM SIGN GA2 TIMES NE"}, +{0x124C5,"CUNEIFORM SIGN GA2 TIMES NE PLUS E2"}, +{0x124C6,"CUNEIFORM SIGN GA2 TIMES NE PLUS GI"}, {0x120E0,"CUNEIFORM SIGN GA2 TIMES NUN"}, {0x120E1,"CUNEIFORM SIGN GA2 TIMES NUN OVER NUN"}, {0x120E2,"CUNEIFORM SIGN GA2 TIMES PA"}, @@ -7354,13 +8478,16 @@ {0x120E5,"CUNEIFORM SIGN GA2 TIMES SHE"}, {0x120E6,"CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR"}, {0x120E7,"CUNEIFORM SIGN GA2 TIMES SHID"}, +{0x124C7,"CUNEIFORM SIGN GA2 TIMES SHIM"}, {0x120E8,"CUNEIFORM SIGN GA2 TIMES SUM"}, {0x120E9,"CUNEIFORM SIGN GA2 TIMES TAK4"}, {0x120EA,"CUNEIFORM SIGN GA2 TIMES U"}, {0x120EB,"CUNEIFORM SIGN GA2 TIMES UD"}, {0x120EC,"CUNEIFORM SIGN GA2 TIMES UD PLUS DU"}, +{0x124C8,"CUNEIFORM SIGN GA2 TIMES ZIZ2"}, {0x120EE,"CUNEIFORM SIGN GABA"}, {0x120EF,"CUNEIFORM SIGN GABA CROSSING GABA"}, +{0x124C9,"CUNEIFORM SIGN GABA ROTATED NINETY DEGREES"}, {0x120F0,"CUNEIFORM SIGN GAD"}, {0x120F1,"CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR"}, {0x120F2,"CUNEIFORM SIGN GAL"}, @@ -7378,6 +8505,7 @@ {0x1237B,"CUNEIFORM SIGN GE22"}, {0x120FE,"CUNEIFORM SIGN GESHTIN"}, {0x120FF,"CUNEIFORM SIGN GESHTIN TIMES KUR"}, +{0x124CA,"CUNEIFORM SIGN GESHTIN TIMES U"}, {0x12100,"CUNEIFORM SIGN GI"}, {0x12103,"CUNEIFORM SIGN GI CROSSING GI"}, {0x12101,"CUNEIFORM SIGN GI TIMES E"}, @@ -7400,17 +8528,20 @@ {0x12112,"CUNEIFORM SIGN GISH CROSSING GISH"}, {0x12115,"CUNEIFORM SIGN GISH TENU"}, {0x12113,"CUNEIFORM SIGN GISH TIMES BAD"}, +{0x124CB,"CUNEIFORM SIGN GISH TIMES GISH CROSSING GISH"}, {0x12114,"CUNEIFORM SIGN GISH TIMES TAK4"}, {0x12116,"CUNEIFORM SIGN GU"}, {0x12117,"CUNEIFORM SIGN GU CROSSING GU"}, {0x12118,"CUNEIFORM SIGN GU2"}, {0x1211D,"CUNEIFORM SIGN GU2 GUNU"}, +{0x124CC,"CUNEIFORM SIGN GU2 TIMES IGI GUNU"}, {0x12119,"CUNEIFORM SIGN GU2 TIMES KAK"}, {0x1211A,"CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU"}, {0x1211B,"CUNEIFORM SIGN GU2 TIMES NUN"}, {0x1211C,"CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2"}, {0x1211E,"CUNEIFORM SIGN GUD"}, {0x12121,"CUNEIFORM SIGN GUD OVER GUD LUGAL"}, +{0x124CD,"CUNEIFORM SIGN GUD PLUS GISH TIMES TAK4"}, {0x1211F,"CUNEIFORM SIGN GUD TIMES A PLUS KUR"}, {0x12120,"CUNEIFORM SIGN GUD TIMES KUR"}, {0x12122,"CUNEIFORM SIGN GUL"}, @@ -7423,9 +8554,11 @@ {0x12129,"CUNEIFORM SIGN HA"}, {0x1212B,"CUNEIFORM SIGN HA GUNU"}, {0x1212A,"CUNEIFORM SIGN HA TENU"}, +{0x124CE,"CUNEIFORM SIGN HA TENU GUNU"}, {0x1212C,"CUNEIFORM SIGN HAL"}, {0x1212D,"CUNEIFORM SIGN HI"}, {0x1212E,"CUNEIFORM SIGN HI TIMES ASH"}, +{0x124CF,"CUNEIFORM SIGN HI TIMES ASH OVER HI TIMES ASH"}, {0x1212F,"CUNEIFORM SIGN HI TIMES ASH2"}, {0x12130,"CUNEIFORM SIGN HI TIMES BAD"}, {0x12131,"CUNEIFORM SIGN HI TIMES DISH"}, @@ -7478,6 +8611,7 @@ {0x1215D,"CUNEIFORM SIGN KA TIMES BALAG"}, {0x1215E,"CUNEIFORM SIGN KA TIMES BAR"}, {0x1215F,"CUNEIFORM SIGN KA TIMES BI"}, +{0x124D0,"CUNEIFORM SIGN KA TIMES BU"}, {0x12160,"CUNEIFORM SIGN KA TIMES ERIN2"}, {0x12161,"CUNEIFORM SIGN KA TIMES ESH2"}, {0x12162,"CUNEIFORM SIGN KA TIMES GA"}, @@ -7496,6 +8630,7 @@ {0x12382,"CUNEIFORM SIGN KA TIMES HI TIMES ASH2"}, {0x1216D,"CUNEIFORM SIGN KA TIMES IGI"}, {0x1216E,"CUNEIFORM SIGN KA TIMES IM"}, +{0x124D1,"CUNEIFORM SIGN KA TIMES KA"}, {0x1216F,"CUNEIFORM SIGN KA TIMES KAK"}, {0x12170,"CUNEIFORM SIGN KA TIMES KI"}, {0x12171,"CUNEIFORM SIGN KA TIMES KID"}, @@ -7525,9 +8660,11 @@ {0x12186,"CUNEIFORM SIGN KA TIMES TAR"}, {0x12386,"CUNEIFORM SIGN KA TIMES TU"}, {0x12187,"CUNEIFORM SIGN KA TIMES U"}, +{0x124D2,"CUNEIFORM SIGN KA TIMES U U U"}, {0x12188,"CUNEIFORM SIGN KA TIMES U2"}, {0x12189,"CUNEIFORM SIGN KA TIMES UD"}, {0x1218A,"CUNEIFORM SIGN KA TIMES UMUM TIMES PA"}, +{0x124D3,"CUNEIFORM SIGN KA TIMES UR"}, {0x12387,"CUNEIFORM SIGN KA TIMES UR2"}, {0x1218B,"CUNEIFORM SIGN KA TIMES USH"}, {0x1218C,"CUNEIFORM SIGN KA TIMES ZI"}, @@ -7628,12 +8765,81 @@ {0x121E8,"CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH"}, {0x121E9,"CUNEIFORM SIGN LAGAB TIMES UD"}, {0x121EA,"CUNEIFORM SIGN LAGAB TIMES USH"}, +{0x124D4,"CUNEIFORM SIGN LAGAB TIMES ZU OVER ZU"}, {0x121EC,"CUNEIFORM SIGN LAGAR"}, {0x121EF,"CUNEIFORM SIGN LAGAR GUNU"}, {0x121F0,"CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE"}, {0x121ED,"CUNEIFORM SIGN LAGAR TIMES SHE"}, {0x121EE,"CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM"}, {0x121F1,"CUNEIFORM SIGN LAHSHU"}, +{0x124D5,"CUNEIFORM SIGN LAK-003"}, +{0x124D6,"CUNEIFORM SIGN LAK-021"}, +{0x124D7,"CUNEIFORM SIGN LAK-025"}, +{0x124D8,"CUNEIFORM SIGN LAK-030"}, +{0x124D9,"CUNEIFORM SIGN LAK-050"}, +{0x124DA,"CUNEIFORM SIGN LAK-051"}, +{0x124DB,"CUNEIFORM SIGN LAK-062"}, +{0x124DC,"CUNEIFORM SIGN LAK-079 OVER LAK-079 GUNU"}, +{0x124DD,"CUNEIFORM SIGN LAK-080"}, +{0x124DE,"CUNEIFORM SIGN LAK-081 OVER LAK-081"}, +{0x124DF,"CUNEIFORM SIGN LAK-092"}, +{0x124E0,"CUNEIFORM SIGN LAK-130"}, +{0x124E1,"CUNEIFORM SIGN LAK-142"}, +{0x124E2,"CUNEIFORM SIGN LAK-210"}, +{0x124E3,"CUNEIFORM SIGN LAK-219"}, +{0x124E4,"CUNEIFORM SIGN LAK-220"}, +{0x124E5,"CUNEIFORM SIGN LAK-225"}, +{0x124E6,"CUNEIFORM SIGN LAK-228"}, +{0x124E7,"CUNEIFORM SIGN LAK-238"}, +{0x124E8,"CUNEIFORM SIGN LAK-265"}, +{0x124E9,"CUNEIFORM SIGN LAK-266"}, +{0x124EA,"CUNEIFORM SIGN LAK-343"}, +{0x124EB,"CUNEIFORM SIGN LAK-347"}, +{0x124EC,"CUNEIFORM SIGN LAK-348"}, +{0x124ED,"CUNEIFORM SIGN LAK-383"}, +{0x124EE,"CUNEIFORM SIGN LAK-384"}, +{0x124EF,"CUNEIFORM SIGN LAK-390"}, +{0x124F0,"CUNEIFORM SIGN LAK-441"}, +{0x124F1,"CUNEIFORM SIGN LAK-449"}, +{0x124F2,"CUNEIFORM SIGN LAK-449 TIMES GU"}, +{0x124F3,"CUNEIFORM SIGN LAK-449 TIMES IGI"}, +{0x124F4,"CUNEIFORM SIGN LAK-449 TIMES PAP PLUS LU3"}, +{0x124F5,"CUNEIFORM SIGN LAK-449 TIMES PAP PLUS PAP PLUS LU3"}, +{0x124F6,"CUNEIFORM SIGN LAK-449 TIMES U2 PLUS BA"}, +{0x124F7,"CUNEIFORM SIGN LAK-450"}, +{0x124F8,"CUNEIFORM SIGN LAK-457"}, +{0x124F9,"CUNEIFORM SIGN LAK-470"}, +{0x124FA,"CUNEIFORM SIGN LAK-483"}, +{0x124FB,"CUNEIFORM SIGN LAK-490"}, +{0x124FC,"CUNEIFORM SIGN LAK-492"}, +{0x124FD,"CUNEIFORM SIGN LAK-493"}, +{0x124FE,"CUNEIFORM SIGN LAK-495"}, +{0x124FF,"CUNEIFORM SIGN LAK-550"}, +{0x12500,"CUNEIFORM SIGN LAK-608"}, +{0x12501,"CUNEIFORM SIGN LAK-617"}, +{0x12502,"CUNEIFORM SIGN LAK-617 TIMES ASH"}, +{0x12503,"CUNEIFORM SIGN LAK-617 TIMES BAD"}, +{0x12504,"CUNEIFORM SIGN LAK-617 TIMES DUN3 GUNU GUNU"}, +{0x12505,"CUNEIFORM SIGN LAK-617 TIMES KU3"}, +{0x12506,"CUNEIFORM SIGN LAK-617 TIMES LA"}, +{0x12507,"CUNEIFORM SIGN LAK-617 TIMES TAR"}, +{0x12508,"CUNEIFORM SIGN LAK-617 TIMES TE"}, +{0x12509,"CUNEIFORM SIGN LAK-617 TIMES U2"}, +{0x1250A,"CUNEIFORM SIGN LAK-617 TIMES UD"}, +{0x1250B,"CUNEIFORM SIGN LAK-617 TIMES URUDA"}, +{0x1250C,"CUNEIFORM SIGN LAK-636"}, +{0x1250D,"CUNEIFORM SIGN LAK-648"}, +{0x1250E,"CUNEIFORM SIGN LAK-648 TIMES DUB"}, +{0x1250F,"CUNEIFORM SIGN LAK-648 TIMES GA"}, +{0x12510,"CUNEIFORM SIGN LAK-648 TIMES IGI"}, +{0x12511,"CUNEIFORM SIGN LAK-648 TIMES IGI GUNU"}, +{0x12512,"CUNEIFORM SIGN LAK-648 TIMES NI"}, +{0x12513,"CUNEIFORM SIGN LAK-648 TIMES PAP PLUS PAP PLUS LU3"}, +{0x12514,"CUNEIFORM SIGN LAK-648 TIMES SHESH PLUS KI"}, +{0x12515,"CUNEIFORM SIGN LAK-648 TIMES UD"}, +{0x12516,"CUNEIFORM SIGN LAK-648 TIMES URUDA"}, +{0x12517,"CUNEIFORM SIGN LAK-724"}, +{0x12518,"CUNEIFORM SIGN LAK-749"}, {0x121F2,"CUNEIFORM SIGN LAL"}, {0x121F3,"CUNEIFORM SIGN LAL TIMES LAL"}, {0x121F4,"CUNEIFORM SIGN LAM"}, @@ -7647,6 +8853,7 @@ {0x121FC,"CUNEIFORM SIGN LU TIMES BAD"}, {0x121FD,"CUNEIFORM SIGN LU2"}, {0x12212,"CUNEIFORM SIGN LU2 CROSSING LU2"}, +{0x12519,"CUNEIFORM SIGN LU2 GUNU TIMES ASH"}, {0x12213,"CUNEIFORM SIGN LU2 OPPOSING LU2"}, {0x12215,"CUNEIFORM SIGN LU2 SHESHIG"}, {0x12389,"CUNEIFORM SIGN LU2 SHESHIG TIMES BAD"}, @@ -7654,10 +8861,12 @@ {0x12211,"CUNEIFORM SIGN LU2 TENU"}, {0x121FE,"CUNEIFORM SIGN LU2 TIMES AL"}, {0x121FF,"CUNEIFORM SIGN LU2 TIMES BAD"}, +{0x1251A,"CUNEIFORM SIGN LU2 TIMES DISH"}, {0x12200,"CUNEIFORM SIGN LU2 TIMES ESH2"}, {0x1238A,"CUNEIFORM SIGN LU2 TIMES ESH2 PLUS LAL"}, {0x12201,"CUNEIFORM SIGN LU2 TIMES ESH2 TENU"}, {0x12202,"CUNEIFORM SIGN LU2 TIMES GAN2 TENU"}, +{0x1251B,"CUNEIFORM SIGN LU2 TIMES HAL"}, {0x12203,"CUNEIFORM SIGN LU2 TIMES HI TIMES BAD"}, {0x12204,"CUNEIFORM SIGN LU2 TIMES IM"}, {0x12205,"CUNEIFORM SIGN LU2 TIMES KAD2"}, @@ -7669,9 +8878,12 @@ {0x1220B,"CUNEIFORM SIGN LU2 TIMES ME PLUS EN"}, {0x1220C,"CUNEIFORM SIGN LU2 TIMES NE"}, {0x1220D,"CUNEIFORM SIGN LU2 TIMES NU"}, +{0x1251C,"CUNEIFORM SIGN LU2 TIMES PAP"}, +{0x1251D,"CUNEIFORM SIGN LU2 TIMES PAP PLUS PAP PLUS LU3"}, {0x1238B,"CUNEIFORM SIGN LU2 TIMES SHU"}, {0x1220E,"CUNEIFORM SIGN LU2 TIMES SI PLUS ASH"}, {0x1220F,"CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU"}, +{0x1251E,"CUNEIFORM SIGN LU2 TIMES TAK4"}, {0x12210,"CUNEIFORM SIGN LU2 TIMES TUG2"}, {0x12216,"CUNEIFORM SIGN LU3"}, {0x12217,"CUNEIFORM SIGN LUGAL"}, @@ -7695,6 +8907,7 @@ {0x12229,"CUNEIFORM SIGN MES"}, {0x1238C,"CUNEIFORM SIGN MESH"}, {0x1222A,"CUNEIFORM SIGN MI"}, +{0x1251F,"CUNEIFORM SIGN MI PLUS ZA7"}, {0x1222B,"CUNEIFORM SIGN MIN"}, {0x1222C,"CUNEIFORM SIGN MU"}, {0x1222D,"CUNEIFORM SIGN MU OVER MU"}, @@ -7706,6 +8919,8 @@ {0x12238,"CUNEIFORM SIGN MUSH CROSSING MUSH"}, {0x12236,"CUNEIFORM SIGN MUSH OVER MUSH"}, {0x12237,"CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA"}, +{0x12520,"CUNEIFORM SIGN MUSH OVER MUSH TIMES GA"}, +{0x12521,"CUNEIFORM SIGN MUSH OVER MUSH TIMES KAK"}, {0x12233,"CUNEIFORM SIGN MUSH TIMES A"}, {0x12234,"CUNEIFORM SIGN MUSH TIMES KUR"}, {0x12235,"CUNEIFORM SIGN MUSH TIMES ZA"}, @@ -7743,16 +8958,27 @@ {0x12254,"CUNEIFORM SIGN NINDA2 TIMES ASH"}, {0x12255,"CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH"}, {0x12391,"CUNEIFORM SIGN NINDA2 TIMES BAL"}, +{0x12522,"CUNEIFORM SIGN NINDA2 TIMES DIM GUNU"}, {0x12392,"CUNEIFORM SIGN NINDA2 TIMES GI"}, +{0x12523,"CUNEIFORM SIGN NINDA2 TIMES GISH"}, {0x12256,"CUNEIFORM SIGN NINDA2 TIMES GUD"}, +{0x12524,"CUNEIFORM SIGN NINDA2 TIMES GUL"}, +{0x12525,"CUNEIFORM SIGN NINDA2 TIMES HI"}, +{0x12526,"CUNEIFORM SIGN NINDA2 TIMES KESH2"}, +{0x12527,"CUNEIFORM SIGN NINDA2 TIMES LAK-050"}, +{0x12528,"CUNEIFORM SIGN NINDA2 TIMES MASH"}, {0x12257,"CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU"}, {0x12258,"CUNEIFORM SIGN NINDA2 TIMES NE"}, {0x12259,"CUNEIFORM SIGN NINDA2 TIMES NUN"}, +{0x12529,"CUNEIFORM SIGN NINDA2 TIMES PAP PLUS PAP"}, {0x1225A,"CUNEIFORM SIGN NINDA2 TIMES SHE"}, {0x1225B,"CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN"}, {0x1225C,"CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH"}, {0x1225D,"CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH"}, +{0x1252A,"CUNEIFORM SIGN NINDA2 TIMES U"}, +{0x1252B,"CUNEIFORM SIGN NINDA2 TIMES U PLUS U"}, {0x1225E,"CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH"}, +{0x1252C,"CUNEIFORM SIGN NINDA2 TIMES URUDA"}, {0x1225F,"CUNEIFORM SIGN NINDA2 TIMES USH"}, {0x12260,"CUNEIFORM SIGN NISAG"}, {0x12261,"CUNEIFORM SIGN NU"}, @@ -7811,11 +9037,13 @@ {0x12293,"CUNEIFORM SIGN SA"}, {0x12295,"CUNEIFORM SIGN SAG"}, {0x122A8,"CUNEIFORM SIGN SAG GUNU"}, +{0x1252D,"CUNEIFORM SIGN SAG GUNU TIMES HA"}, {0x12294,"CUNEIFORM SIGN SAG NUTILLU"}, {0x122A7,"CUNEIFORM SIGN SAG OVER SAG"}, {0x12296,"CUNEIFORM SIGN SAG TIMES A"}, {0x12297,"CUNEIFORM SIGN SAG TIMES DU"}, {0x12298,"CUNEIFORM SIGN SAG TIMES DUB"}, +{0x1252E,"CUNEIFORM SIGN SAG TIMES EN"}, {0x12299,"CUNEIFORM SIGN SAG TIMES HA"}, {0x12396,"CUNEIFORM SIGN SAG TIMES IGI GUNU"}, {0x1229A,"CUNEIFORM SIGN SAG TIMES KAK"}, @@ -7824,8 +9052,10 @@ {0x1229D,"CUNEIFORM SIGN SAG TIMES MI"}, {0x1229E,"CUNEIFORM SIGN SAG TIMES NUN"}, {0x1229F,"CUNEIFORM SIGN SAG TIMES SAL"}, +{0x1252F,"CUNEIFORM SIGN SAG TIMES SHE AT LEFT"}, {0x122A0,"CUNEIFORM SIGN SAG TIMES SHID"}, {0x122A1,"CUNEIFORM SIGN SAG TIMES TAB"}, +{0x12530,"CUNEIFORM SIGN SAG TIMES TAK4"}, {0x122A2,"CUNEIFORM SIGN SAG TIMES U2"}, {0x122A3,"CUNEIFORM SIGN SAG TIMES UB"}, {0x122A4,"CUNEIFORM SIGN SAG TIMES UM"}, @@ -7846,12 +9076,17 @@ {0x122B5,"CUNEIFORM SIGN SHA3 TIMES U"}, {0x122B6,"CUNEIFORM SIGN SHA3 TIMES U PLUS A"}, {0x122B7,"CUNEIFORM SIGN SHA6"}, +{0x12531,"CUNEIFORM SIGN SHA6 TENU"}, {0x122B8,"CUNEIFORM SIGN SHAB6"}, {0x122B9,"CUNEIFORM SIGN SHAR2"}, {0x122BA,"CUNEIFORM SIGN SHE"}, {0x122BB,"CUNEIFORM SIGN SHE HU"}, +{0x12532,"CUNEIFORM SIGN SHE OVER SHE"}, {0x122BC,"CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR"}, {0x122BD,"CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR"}, +{0x12533,"CUNEIFORM SIGN SHE PLUS HUB2"}, +{0x12534,"CUNEIFORM SIGN SHE PLUS NAM2"}, +{0x12535,"CUNEIFORM SIGN SHE PLUS SAR"}, {0x122BE,"CUNEIFORM SIGN SHEG9"}, {0x122BF,"CUNEIFORM SIGN SHEN"}, {0x122C0,"CUNEIFORM SIGN SHESH"}, @@ -7880,9 +9115,12 @@ {0x122D7,"CUNEIFORM SIGN SHU"}, {0x122D8,"CUNEIFORM SIGN SHU OVER INVERTED SHU"}, {0x122D9,"CUNEIFORM SIGN SHU2"}, +{0x12536,"CUNEIFORM SIGN SHU2 PLUS DUG TIMES NI"}, +{0x12537,"CUNEIFORM SIGN SHU2 PLUS E2 TIMES AN"}, {0x122DA,"CUNEIFORM SIGN SHUBUR"}, {0x122DB,"CUNEIFORM SIGN SI"}, {0x122DC,"CUNEIFORM SIGN SI GUNU"}, +{0x12538,"CUNEIFORM SIGN SI TIMES TAK4"}, {0x122DD,"CUNEIFORM SIGN SIG"}, {0x122DE,"CUNEIFORM SIGN SIG4"}, {0x122DF,"CUNEIFORM SIGN SIG4 OVER SIG4 SHU2"}, @@ -7913,6 +9151,7 @@ {0x122F8,"CUNEIFORM SIGN TAG TIMES TUG2"}, {0x122F9,"CUNEIFORM SIGN TAG TIMES UD"}, {0x122FA,"CUNEIFORM SIGN TAK4"}, +{0x12539,"CUNEIFORM SIGN TAK4 PLUS SAG"}, {0x122FB,"CUNEIFORM SIGN TAR"}, {0x122FC,"CUNEIFORM SIGN TE"}, {0x122FD,"CUNEIFORM SIGN TE GUNU"}, @@ -7928,6 +9167,8 @@ {0x12306,"CUNEIFORM SIGN TUG2"}, {0x12307,"CUNEIFORM SIGN TUK"}, {0x12308,"CUNEIFORM SIGN TUM"}, +{0x1253A,"CUNEIFORM SIGN TUM TIMES GAN2 TENU"}, +{0x1253B,"CUNEIFORM SIGN TUM TIMES THREE DISH"}, {0x12309,"CUNEIFORM SIGN TUR"}, {0x1230A,"CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA"}, {0x1230B,"CUNEIFORM SIGN U"}, @@ -7935,6 +9176,7 @@ {0x1230E,"CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR"}, {0x1230F,"CUNEIFORM SIGN U OVER U SUR OVER SUR"}, {0x12310,"CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED"}, +{0x12399,"CUNEIFORM SIGN U U"}, {0x1230D,"CUNEIFORM SIGN U U U"}, {0x12311,"CUNEIFORM SIGN U2"}, {0x12312,"CUNEIFORM SIGN UB"}, @@ -7964,6 +9206,7 @@ {0x12329,"CUNEIFORM SIGN UR CROSSING UR"}, {0x1232A,"CUNEIFORM SIGN UR SHESHIG"}, {0x1232B,"CUNEIFORM SIGN UR2"}, +{0x1253C,"CUNEIFORM SIGN UR2 INVERTED"}, {0x1232C,"CUNEIFORM SIGN UR2 TIMES A PLUS HA"}, {0x1232D,"CUNEIFORM SIGN UR2 TIMES A PLUS NA"}, {0x1232E,"CUNEIFORM SIGN UR2 TIMES AL"}, @@ -7972,6 +9215,7 @@ {0x12331,"CUNEIFORM SIGN UR2 TIMES U2"}, {0x12332,"CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH"}, {0x12333,"CUNEIFORM SIGN UR2 TIMES U2 PLUS BI"}, +{0x1253D,"CUNEIFORM SIGN UR2 TIMES UD"}, {0x12334,"CUNEIFORM SIGN UR4"}, {0x12335,"CUNEIFORM SIGN URI"}, {0x12336,"CUNEIFORM SIGN URI3"}, @@ -7979,6 +9223,7 @@ {0x12338,"CUNEIFORM SIGN URU TIMES A"}, {0x12339,"CUNEIFORM SIGN URU TIMES ASHGAB"}, {0x1233A,"CUNEIFORM SIGN URU TIMES BAR"}, +{0x1253E,"CUNEIFORM SIGN URU TIMES DARA3"}, {0x1233B,"CUNEIFORM SIGN URU TIMES DUN"}, {0x1233C,"CUNEIFORM SIGN URU TIMES GA"}, {0x1233D,"CUNEIFORM SIGN URU TIMES GAL"}, @@ -7990,6 +9235,8 @@ {0x12343,"CUNEIFORM SIGN URU TIMES IM"}, {0x12344,"CUNEIFORM SIGN URU TIMES ISH"}, {0x12345,"CUNEIFORM SIGN URU TIMES KI"}, +{0x1253F,"CUNEIFORM SIGN URU TIMES LAK-668"}, +{0x12540,"CUNEIFORM SIGN URU TIMES LU3"}, {0x12346,"CUNEIFORM SIGN URU TIMES LUM"}, {0x12347,"CUNEIFORM SIGN URU TIMES MIN"}, {0x12348,"CUNEIFORM SIGN URU TIMES PA"}, @@ -8016,6 +9263,7 @@ {0x1235D,"CUNEIFORM SIGN ZA"}, {0x1235F,"CUNEIFORM SIGN ZA SQUARED TIMES KUR"}, {0x1235E,"CUNEIFORM SIGN ZA TENU"}, +{0x12541,"CUNEIFORM SIGN ZA7"}, {0x12360,"CUNEIFORM SIGN ZAG"}, {0x12361,"CUNEIFORM SIGN ZAMX"}, {0x12362,"CUNEIFORM SIGN ZE2"}, @@ -8027,11 +9275,17 @@ {0x12368,"CUNEIFORM SIGN ZIG"}, {0x12369,"CUNEIFORM SIGN ZIZ2"}, {0x1236A,"CUNEIFORM SIGN ZU"}, +{0x12542,"CUNEIFORM SIGN ZU OVER ZU PLUS SAR"}, {0x1236B,"CUNEIFORM SIGN ZU5"}, {0x1236C,"CUNEIFORM SIGN ZU5 TIMES A"}, +{0x12543,"CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU"}, {0x1236D,"CUNEIFORM SIGN ZUBUR"}, {0x1236E,"CUNEIFORM SIGN ZUM"}, {0x26FE,"CUP ON BLACK SQUARE"}, +{0x1F964,"CUP WITH STRAW"}, +{0x1F9C1,"CUPCAKE"}, +{0x2BE0,"CUPIDO"}, +{0x1F94C,"CURLING STONE"}, {0x23AA,"CURLY BRACKET EXTENSION"}, {0x22CF,"CURLY LOGICAL AND"}, {0x22CE,"CURLY LOGICAL OR"}, @@ -8042,6 +9296,7 @@ {0x2761,"CURVED STEM PARAGRAPH SIGN ORNAMENT"}, {0x1F36E,"CUSTARD"}, {0x1F6C3,"CUSTOMS"}, +{0x1F969,"CUT OF MEAT"}, {0x1F300,"CYCLONE"}, {0x232D,"CYLINDRICITY"}, {0x10800,"CYPRIOT SYLLABLE A"}, @@ -8397,8 +9652,10 @@ {0x0515,"CYRILLIC SMALL LETTER LHA"}, {0x0467,"CYRILLIC SMALL LETTER LITTLE YUS"}, {0x0459,"CYRILLIC SMALL LETTER LJE"}, +{0x1C81,"CYRILLIC SMALL LETTER LONG-LEGGED DE"}, {0xA669,"CYRILLIC SMALL LETTER MONOCULAR O"}, {0xA64B,"CYRILLIC SMALL LETTER MONOGRAPH UK"}, +{0x1C82,"CYRILLIC SMALL LETTER NARROW O"}, {0xA64F,"CYRILLIC SMALL LETTER NEUTRAL YER"}, {0x045A,"CYRILLIC SMALL LETTER NJE"}, {0x043E,"CYRILLIC SMALL LETTER O"}, @@ -8418,6 +9675,7 @@ {0x0511,"CYRILLIC SMALL LETTER REVERSED ZE"}, {0x0517,"CYRILLIC SMALL LETTER RHA"}, {0x047B,"CYRILLIC SMALL LETTER ROUND OMEGA"}, +{0x1C80,"CYRILLIC SMALL LETTER ROUNDED VE"}, {0x04D9,"CYRILLIC SMALL LETTER SCHWA"}, {0x04DB,"CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS"}, {0x048D,"CYRILLIC SMALL LETTER SEMISOFT SIGN"}, @@ -8435,10 +9693,14 @@ {0x044C,"CYRILLIC SMALL LETTER SOFT SIGN"}, {0x04AF,"CYRILLIC SMALL LETTER STRAIGHT U"}, {0x04B1,"CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE"}, +{0x1C86,"CYRILLIC SMALL LETTER TALL HARD SIGN"}, +{0x1C84,"CYRILLIC SMALL LETTER TALL TE"}, +{0x1C87,"CYRILLIC SMALL LETTER TALL YAT"}, {0xA693,"CYRILLIC SMALL LETTER TCHE"}, {0x0442,"CYRILLIC SMALL LETTER TE"}, {0x04AD,"CYRILLIC SMALL LETTER TE WITH DESCENDER"}, {0xA68B,"CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK"}, +{0x1C85,"CYRILLIC SMALL LETTER THREE-LEGGED TE"}, {0x0446,"CYRILLIC SMALL LETTER TSE"}, {0x045B,"CYRILLIC SMALL LETTER TSHE"}, {0xA691,"CYRILLIC SMALL LETTER TSSE"}, @@ -8450,8 +9712,10 @@ {0x04EF,"CYRILLIC SMALL LETTER U WITH MACRON"}, {0x0479,"CYRILLIC SMALL LETTER UK"}, {0x0454,"CYRILLIC SMALL LETTER UKRAINIAN IE"}, +{0x1C88,"CYRILLIC SMALL LETTER UNBLENDED UK"}, {0x0432,"CYRILLIC SMALL LETTER VE"}, {0x051D,"CYRILLIC SMALL LETTER WE"}, +{0x1C83,"CYRILLIC SMALL LETTER WIDE ES"}, {0x044F,"CYRILLIC SMALL LETTER YA"}, {0x0519,"CYRILLIC SMALL LETTER YAE"}, {0x0463,"CYRILLIC SMALL LETTER YAT"}, @@ -8484,6 +9748,7 @@ {0x2593,"DARK SHADE"}, {0x1F576,"DARK SUNGLASSES"}, {0x1F4A8,"DASH SYMBOL"}, +{0x2E43,"DASH WITH LEFT UPTURN"}, {0xFE4D,"DASHED LOW LINE"}, {0xFE49,"DASHED OVERLINE"}, {0x279F,"DASHED TRIANGLE-HEADED RIGHTWARDS ARROW"}, @@ -8491,6 +9756,7 @@ {0x23E8,"DECIMAL EXPONENT SYMBOL"}, {0x2396,"DECIMAL SEPARATOR KEY SYMBOL"}, {0x1F5DB,"DECREASE FONT SIZE SYMBOL"}, +{0x1F98C,"DEER"}, {0x2103,"DEGREE CELSIUS"}, {0x2109,"DEGREE FAHRENHEIT"}, {0x00B0,"DEGREE SIGN"}, @@ -8616,11 +9882,13 @@ {0xA8F9,"DEVANAGARI GAP FILLER"}, {0x0953,"DEVANAGARI GRAVE ACCENT"}, {0xA8FB,"DEVANAGARI HEADSTROKE"}, +{0xA8FD,"DEVANAGARI JAIN OM"}, {0x0905,"DEVANAGARI LETTER A"}, {0x0906,"DEVANAGARI LETTER AA"}, {0x0910,"DEVANAGARI LETTER AI"}, {0x0914,"DEVANAGARI LETTER AU"}, {0x0975,"DEVANAGARI LETTER AW"}, +{0xA8FE,"DEVANAGARI LETTER AY"}, {0x092C,"DEVANAGARI LETTER BA"}, {0x097F,"DEVANAGARI LETTER BBA"}, {0x092D,"DEVANAGARI LETTER BHA"}, @@ -8707,6 +9975,7 @@ {0x0900,"DEVANAGARI SIGN INVERTED CANDRABINDU"}, {0x093C,"DEVANAGARI SIGN NUKTA"}, {0xA8F8,"DEVANAGARI SIGN PUSHPIKA"}, +{0xA8FC,"DEVANAGARI SIGN SIDDHAM"}, {0xA8F2,"DEVANAGARI SIGN SPACING CANDRABINDU"}, {0x094D,"DEVANAGARI SIGN VIRAMA"}, {0x0903,"DEVANAGARI SIGN VISARGA"}, @@ -8716,6 +9985,7 @@ {0x0948,"DEVANAGARI VOWEL SIGN AI"}, {0x094C,"DEVANAGARI VOWEL SIGN AU"}, {0x094F,"DEVANAGARI VOWEL SIGN AW"}, +{0xA8FF,"DEVANAGARI VOWEL SIGN AY"}, {0x0945,"DEVANAGARI VOWEL SIGN CANDRA E"}, {0x0955,"DEVANAGARI VOWEL SIGN CANDRA LONG E"}, {0x0949,"DEVANAGARI VOWEL SIGN CANDRA O"}, @@ -8839,6 +10109,7 @@ {0x26AE,"DIVORCE SYMBOL"}, {0x1F635,"DIZZY FACE"}, {0x1F4AB,"DIZZY SYMBOL"}, +{0x1F9EC,"DNA DOUBLE HELIX"}, {0x1F6AF,"DO NOT LITTER SYMBOL"}, {0x1F5CE,"DOCUMENT"}, {0x1F5BB,"DOCUMENT WITH PICTURE"}, @@ -8857,6 +10128,66 @@ {0x22E1,"DOES NOT SUCCEED OR EQUAL"}, {0x1F415,"DOG"}, {0x1F436,"DOG FACE"}, +{0x1183B,"DOGRA ABBREVIATION SIGN"}, +{0x11800,"DOGRA LETTER A"}, +{0x11801,"DOGRA LETTER AA"}, +{0x11807,"DOGRA LETTER AI"}, +{0x11809,"DOGRA LETTER AU"}, +{0x11820,"DOGRA LETTER BA"}, +{0x11821,"DOGRA LETTER BHA"}, +{0x1180F,"DOGRA LETTER CA"}, +{0x11810,"DOGRA LETTER CHA"}, +{0x1181B,"DOGRA LETTER DA"}, +{0x11816,"DOGRA LETTER DDA"}, +{0x11817,"DOGRA LETTER DDHA"}, +{0x1181C,"DOGRA LETTER DHA"}, +{0x11806,"DOGRA LETTER E"}, +{0x1180C,"DOGRA LETTER GA"}, +{0x1180D,"DOGRA LETTER GHA"}, +{0x1182A,"DOGRA LETTER HA"}, +{0x11802,"DOGRA LETTER I"}, +{0x11803,"DOGRA LETTER II"}, +{0x11811,"DOGRA LETTER JA"}, +{0x11812,"DOGRA LETTER JHA"}, +{0x1180A,"DOGRA LETTER KA"}, +{0x1180B,"DOGRA LETTER KHA"}, +{0x11825,"DOGRA LETTER LA"}, +{0x11822,"DOGRA LETTER MA"}, +{0x1181D,"DOGRA LETTER NA"}, +{0x1180E,"DOGRA LETTER NGA"}, +{0x11818,"DOGRA LETTER NNA"}, +{0x11813,"DOGRA LETTER NYA"}, +{0x11808,"DOGRA LETTER O"}, +{0x1181E,"DOGRA LETTER PA"}, +{0x1181F,"DOGRA LETTER PHA"}, +{0x11824,"DOGRA LETTER RA"}, +{0x1182B,"DOGRA LETTER RRA"}, +{0x11829,"DOGRA LETTER SA"}, +{0x11827,"DOGRA LETTER SHA"}, +{0x11828,"DOGRA LETTER SSA"}, +{0x11819,"DOGRA LETTER TA"}, +{0x1181A,"DOGRA LETTER THA"}, +{0x11814,"DOGRA LETTER TTA"}, +{0x11815,"DOGRA LETTER TTHA"}, +{0x11804,"DOGRA LETTER U"}, +{0x11805,"DOGRA LETTER UU"}, +{0x11826,"DOGRA LETTER VA"}, +{0x11823,"DOGRA LETTER YA"}, +{0x11837,"DOGRA SIGN ANUSVARA"}, +{0x1183A,"DOGRA SIGN NUKTA"}, +{0x11839,"DOGRA SIGN VIRAMA"}, +{0x11838,"DOGRA SIGN VISARGA"}, +{0x1182C,"DOGRA VOWEL SIGN AA"}, +{0x11834,"DOGRA VOWEL SIGN AI"}, +{0x11836,"DOGRA VOWEL SIGN AU"}, +{0x11833,"DOGRA VOWEL SIGN E"}, +{0x1182D,"DOGRA VOWEL SIGN I"}, +{0x1182E,"DOGRA VOWEL SIGN II"}, +{0x11835,"DOGRA VOWEL SIGN O"}, +{0x1182F,"DOGRA VOWEL SIGN U"}, +{0x11830,"DOGRA VOWEL SIGN UU"}, +{0x11831,"DOGRA VOWEL SIGN VOCALIC R"}, +{0x11832,"DOGRA VOWEL SIGN VOCALIC RR"}, {0x0024,"DOLLAR SIGN"}, {0x1F42C,"DOLPHIN"}, {0x1F030,"DOMINO TILE HORIZONTAL BACK"}, @@ -8970,6 +10301,7 @@ {0x2999,"DOTTED FENCE"}, {0x2E13,"DOTTED OBELOS"}, {0x2E16,"DOTTED RIGHT-POINTING ANGLE"}, +{0x2E4A,"DOTTED SOLIDUS"}, {0x2B1A,"DOTTED SQUARE"}, {0x2E08,"DOTTED TRANSPOSITION MARKER"}, {0x02DD,"DOUBLE ACUTE ACCENT"}, @@ -9011,10 +10343,12 @@ {0x2AFD,"DOUBLE SOLIDUS OPERATOR"}, {0x2A4E,"DOUBLE SQUARE INTERSECTION"}, {0x2A4F,"DOUBLE SQUARE UNION"}, +{0x2E49,"DOUBLE STACKED COMMA"}, {0x2AEC,"DOUBLE STROKE NOT SIGN"}, {0x22D0,"DOUBLE SUBSET"}, {0x2ABC,"DOUBLE SUCCEEDS"}, {0x22D1,"DOUBLE SUPERSET"}, +{0x2E44,"DOUBLE SUSPENSION MARK"}, {0x22D3,"DOUBLE UNION"}, {0x2AEB,"DOUBLE UP TACK"}, {0x23F8,"DOUBLE VERTICAL BAR"}, @@ -9049,6 +10383,7 @@ {0x213C,"DOUBLE-STRUCK SMALL PI"}, {0x26A2,"DOUBLED FEMALE SIGN"}, {0x26A3,"DOUBLED MALE SIGN"}, +{0x2BFC,"DOUBLED SYMBOL"}, {0x1F369,"DOUGHNUT"}, {0x1F54A,"DOVE OF PEACE"}, {0x2304,"DOWN ARROWHEAD"}, @@ -9060,6 +10395,10 @@ {0x1F53D,"DOWN-POINTING SMALL RED TRIANGLE"}, {0x29E8,"DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK"}, {0x29E9,"DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK"}, +{0x1F908,"DOWNWARD FACING HOOK"}, +{0x1F90A,"DOWNWARD FACING HOOK WITH DOT"}, +{0x1F909,"DOWNWARD FACING NOTCHED HOOK"}, +{0x1F90B,"DOWNWARD FACING NOTCHED HOOK WITH DOT"}, {0x2E14,"DOWNWARDS ANCORA"}, {0x2193,"DOWNWARDS ARROW"}, {0x21A7,"DOWNWARDS ARROW FROM BAR"}, @@ -9114,6 +10453,7 @@ {0x2B4D,"DOWNWARDS TRIANGLE-HEADED ZIGZAG ARROW"}, {0x290B,"DOWNWARDS TRIPLE ARROW"}, {0x21A1,"DOWNWARDS TWO HEADED ARROW"}, +{0x2BEF,"DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS"}, {0x21E9,"DOWNWARDS WHITE ARROW"}, {0x1F897,"DOWNWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD"}, {0x21AF,"DOWNWARDS ZIGZAG ARROW"}, @@ -9124,7 +10464,11 @@ {0x1F457,"DRESS"}, {0x26DA,"DRIVE SLOW SIGN"}, {0x1F42A,"DROMEDARY CAMEL"}, +{0x1F924,"DROOLING FACE"}, {0x1F4A7,"DROPLET"}, +{0x1F941,"DRUM WITH DRUMSTICKS"}, +{0x1F986,"DUCK"}, +{0x1F95F,"DUMPLING"}, {0x1BC7A,"DUPLOYAN AFFIX ATTACHED E HOOK"}, {0x1BC7B,"DUPLOYAN AFFIX ATTACHED I HOOK"}, {0x1BC77,"DUPLOYAN AFFIX ATTACHED LEFT-TO-RIGHT SECANT"}, @@ -9270,6 +10614,7 @@ {0x1BC9D,"DUPLOYAN THICK LETTER SELECTOR"}, {0x1F4C0,"DVD"}, {0x1F4E7,"E-MAIL SYMBOL"}, +{0x1F985,"EAGLE"}, {0x1F442,"EAR"}, {0x1F33D,"EAR OF MAIZE"}, {0x1F33E,"EAR OF RICE"}, @@ -9280,6 +10625,7 @@ {0x23DA,"EARTH GROUND"}, {0x2671,"EAST SYRIAC CROSS"}, {0x2E0E,"EDITORIAL CORONIS"}, +{0x1F95A,"EGG"}, {0x13000,"EGYPTIAN HIEROGLYPH A001"}, {0x13001,"EGYPTIAN HIEROGLYPH A002"}, {0x13002,"EGYPTIAN HIEROGLYPH A003"}, @@ -10414,9 +11760,19 @@ {0x22F8,"ELEMENT OF WITH UNDERBAR"}, {0x22F3,"ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE"}, {0x1F418,"ELEPHANT"}, +{0x1F9DD,"ELF"}, {0x2014,"EM DASH"}, {0x2001,"EM QUAD"}, {0x2003,"EM SPACE"}, +{0x1F9B2,"EMOJI COMPONENT BALD"}, +{0x1F9B1,"EMOJI COMPONENT CURLY HAIR"}, +{0x1F9B0,"EMOJI COMPONENT RED HAIR"}, +{0x1F9B3,"EMOJI COMPONENT WHITE HAIR"}, +{0x1F3FB,"EMOJI MODIFIER FITZPATRICK TYPE-1-2"}, +{0x1F3FC,"EMOJI MODIFIER FITZPATRICK TYPE-3"}, +{0x1F3FD,"EMOJI MODIFIER FITZPATRICK TYPE-4"}, +{0x1F3FE,"EMOJI MODIFIER FITZPATRICK TYPE-5"}, +{0x1F3FF,"EMOJI MODIFIER FITZPATRICK TYPE-6"}, {0x2383,"EMPHASIS SYMBOL"}, {0x1F5CB,"EMPTY DOCUMENT"}, {0x1F5C5,"EMPTY NOTE"}, @@ -10454,6 +11810,7 @@ {0x29E4,"EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE"}, {0x2AAE,"EQUALS SIGN WITH BUMPY ABOVE"}, {0x2A66,"EQUALS SIGN WITH DOT BELOW"}, +{0x2BF9,"EQUALS SIGN WITH INFINITY BELOW"}, {0x2A77,"EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW"}, {0x2A6E,"EQUALS WITH ASTERISK"}, {0x225A,"EQUIANGULAR TO"}, @@ -10461,6 +11818,8 @@ {0x2A78,"EQUIVALENT WITH FOUR DOTS ABOVE"}, {0x232B,"ERASE TO THE LEFT"}, {0x2326,"ERASE TO THE RIGHT"}, +{0x2BF0,"ERIS FORM ONE"}, +{0x2BF1,"ERIS FORM TWO"}, {0x29F3,"ERROR-BARRED BLACK CIRCLE"}, {0x29F1,"ERROR-BARRED BLACK DIAMOND"}, {0x29EF,"ERROR-BARRED BLACK SQUARE"}, @@ -10995,23 +12354,36 @@ {0x1F453,"EYEGLASSES"}, {0x1F440,"EYES"}, {0x1F486,"FACE MASSAGE"}, +{0x1F926,"FACE PALM"}, {0x1F60B,"FACE SAVOURING DELICIOUS FOOD"}, {0x1F631,"FACE SCREAMING IN FEAR"}, {0x1F618,"FACE THROWING A KISS"}, {0x1F613,"FACE WITH COLD SWEAT"}, +{0x1F920,"FACE WITH COWBOY HAT"}, +{0x1F92B,"FACE WITH FINGER COVERING CLOSED LIPS"}, +{0x1F915,"FACE WITH HEAD-BANDAGE"}, {0x1F624,"FACE WITH LOOK OF TRIUMPH"}, {0x1F637,"FACE WITH MEDICAL MASK"}, +{0x1F9D0,"FACE WITH MONOCLE"}, {0x1F645,"FACE WITH NO GOOD GESTURE"}, {0x1F646,"FACE WITH OK GESTURE"}, +{0x1F928,"FACE WITH ONE EYEBROW RAISED"}, {0x1F62E,"FACE WITH OPEN MOUTH"}, {0x1F630,"FACE WITH OPEN MOUTH AND COLD SWEAT"}, +{0x1F92E,"FACE WITH OPEN MOUTH VOMITING"}, +{0x1F973,"FACE WITH PARTY HORN AND PARTY HAT"}, +{0x1F97A,"FACE WITH PLEADING EYES"}, +{0x1F644,"FACE WITH ROLLING EYES"}, {0x1F61B,"FACE WITH STUCK-OUT TONGUE"}, {0x1F61D,"FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES"}, {0x1F61C,"FACE WITH STUCK-OUT TONGUE AND WINKING EYE"}, {0x1F602,"FACE WITH TEARS OF JOY"}, +{0x1F912,"FACE WITH THERMOMETER"}, +{0x1F974,"FACE WITH UNEVEN EYES AND WAVY MOUTH"}, {0x1F636,"FACE WITHOUT MOUTH"}, {0x213B,"FACSIMILE SIGN"}, {0x1F3ED,"FACTORY"}, +{0x1F9DA,"FAIRY"}, {0x1F342,"FALLEN LEAF"}, {0x292F,"FALLING DIAGONAL CROSSING NORTH EAST ARROW"}, {0x292C,"FALLING DIAGONAL CROSSING RISING DIAGONAL"}, @@ -11024,8 +12396,10 @@ {0x1F628,"FEARFUL FACE"}, {0x2640,"FEMALE SIGN"}, {0x00AA,"FEMININE ORDINAL INDICATOR"}, +{0x1F93A,"FENCER"}, {0x1F3A1,"FERRIS WHEEL"}, {0x26F4,"FERRY"}, +{0x1F3D1,"FIELD HOCKEY STICK AND BALL"}, {0x2012,"FIGURE DASH"}, {0x2007,"FIGURE SPACE"}, {0x1F5C4,"FILE CABINET"}, @@ -11035,8 +12409,11 @@ {0x2A0D,"FINITE PART INTEGRAL"}, {0x1F525,"FIRE"}, {0x1F692,"FIRE ENGINE"}, +{0x1F9EF,"FIRE EXTINGUISHER"}, +{0x1F9E8,"FIRECRACKER"}, {0x1F387,"FIREWORK SPARKLER"}, {0x1F386,"FIREWORKS"}, +{0x1F947,"FIRST PLACE MEDAL"}, {0x263D,"FIRST QUARTER MOON"}, {0x1F313,"FIRST QUARTER MOON SYMBOL"}, {0x1F31B,"FIRST QUARTER MOON WITH FACE"}, @@ -11049,6 +12426,7 @@ {0x2E2D,"FIVE DOT MARK"}, {0x2059,"FIVE DOT PUNCTUATION"}, {0x26F3,"FLAG IN HOLE"}, +{0x1F97F,"FLAT SHOE"}, {0x23E5,"FLATNESS"}, {0x269C,"FLEUR-DE-LIS"}, {0x1F4AA,"FLEXED BICEPS"}, @@ -11058,10 +12436,13 @@ {0x1F3B4,"FLOWER PLAYING CARDS"}, {0x2055,"FLOWER PUNCTUATION MARK"}, {0x1F633,"FLUSHED FACE"}, +{0x1F94F,"FLYING DISC"}, {0x1F585,"FLYING ENVELOPE"}, +{0x1F6F8,"FLYING SAUCER"}, {0x1F32B,"FOG"}, {0x1F301,"FOGGY"}, {0x1F5C0,"FOLDER"}, +{0x1F9B6,"FOOT"}, {0x1F463,"FOOTPRINTS"}, {0x2200,"FOR ALL"}, {0x22A9,"FORCES"}, @@ -11069,6 +12450,7 @@ {0x1F37D,"FORK AND KNIFE WITH PLATE"}, {0x2E10,"FORKED PARAGRAPHOS"}, {0x2ADC,"FORKING"}, +{0x1F960,"FORTUNE COOKIE"}, {0x26F2,"FOUNTAIN"}, {0x2723,"FOUR BALLOON-SPOKED ASTERISK"}, {0x2725,"FOUR CLUB-SPOKED ASTERISK"}, @@ -11080,11 +12462,13 @@ {0x2722,"FOUR TEARDROP-SPOKED ASTERISK"}, {0x2005,"FOUR-PER-EM SPACE"}, {0x221C,"FOURTH ROOT"}, +{0x1F98A,"FOX FACE"}, {0x215F,"FRACTION NUMERATOR ONE"}, {0x2044,"FRACTION SLASH"}, {0x1F5BE,"FRAME WITH AN X"}, {0x1F5BC,"FRAME WITH PICTURE"}, {0x1F5BD,"FRAME WITH TILES"}, +{0x1F976,"FREEZING FACE"}, {0x20A3,"FRENCH FRANC SIGN"}, {0x1F35F,"FRENCH FRIES"}, {0x1F364,"FRIED SHRIMP"}, @@ -11211,6 +12595,7 @@ {0x26ED,"GEAR WITHOUT HUB"}, {0x1F48E,"GEM STONE"}, {0x264A,"GEMINI"}, +{0x1F9DE,"GENIE"}, {0x223A,"GEOMETRIC PROPORTION"}, {0x2251,"GEOMETRICALLY EQUAL TO"}, {0x224E,"GEOMETRICALLY EQUIVALENT TO"}, @@ -11300,6 +12685,52 @@ {0x10F7,"GEORGIAN LETTER YN"}, {0x10D6,"GEORGIAN LETTER ZEN"}, {0x10DF,"GEORGIAN LETTER ZHAR"}, +{0x1CBD,"GEORGIAN MTAVRULI CAPITAL LETTER AEN"}, +{0x1CBA,"GEORGIAN MTAVRULI CAPITAL LETTER AIN"}, +{0x1C90,"GEORGIAN MTAVRULI CAPITAL LETTER AN"}, +{0x1C91,"GEORGIAN MTAVRULI CAPITAL LETTER BAN"}, +{0x1CAA,"GEORGIAN MTAVRULI CAPITAL LETTER CAN"}, +{0x1CAD,"GEORGIAN MTAVRULI CAPITAL LETTER CHAR"}, +{0x1CA9,"GEORGIAN MTAVRULI CAPITAL LETTER CHIN"}, +{0x1CAC,"GEORGIAN MTAVRULI CAPITAL LETTER CIL"}, +{0x1C93,"GEORGIAN MTAVRULI CAPITAL LETTER DON"}, +{0x1CB8,"GEORGIAN MTAVRULI CAPITAL LETTER ELIFI"}, +{0x1C94,"GEORGIAN MTAVRULI CAPITAL LETTER EN"}, +{0x1CB6,"GEORGIAN MTAVRULI CAPITAL LETTER FI"}, +{0x1C92,"GEORGIAN MTAVRULI CAPITAL LETTER GAN"}, +{0x1CA6,"GEORGIAN MTAVRULI CAPITAL LETTER GHAN"}, +{0x1CB0,"GEORGIAN MTAVRULI CAPITAL LETTER HAE"}, +{0x1CB4,"GEORGIAN MTAVRULI CAPITAL LETTER HAR"}, +{0x1CBE,"GEORGIAN MTAVRULI CAPITAL LETTER HARD SIGN"}, +{0x1CB1,"GEORGIAN MTAVRULI CAPITAL LETTER HE"}, +{0x1CB2,"GEORGIAN MTAVRULI CAPITAL LETTER HIE"}, +{0x1CB5,"GEORGIAN MTAVRULI CAPITAL LETTER HOE"}, +{0x1C98,"GEORGIAN MTAVRULI CAPITAL LETTER IN"}, +{0x1CAF,"GEORGIAN MTAVRULI CAPITAL LETTER JHAN"}, +{0x1CAB,"GEORGIAN MTAVRULI CAPITAL LETTER JIL"}, +{0x1C99,"GEORGIAN MTAVRULI CAPITAL LETTER KAN"}, +{0x1CA5,"GEORGIAN MTAVRULI CAPITAL LETTER KHAR"}, +{0x1CBF,"GEORGIAN MTAVRULI CAPITAL LETTER LABIAL SIGN"}, +{0x1C9A,"GEORGIAN MTAVRULI CAPITAL LETTER LAS"}, +{0x1C9B,"GEORGIAN MTAVRULI CAPITAL LETTER MAN"}, +{0x1C9C,"GEORGIAN MTAVRULI CAPITAL LETTER NAR"}, +{0x1C9D,"GEORGIAN MTAVRULI CAPITAL LETTER ON"}, +{0x1C9E,"GEORGIAN MTAVRULI CAPITAL LETTER PAR"}, +{0x1CA4,"GEORGIAN MTAVRULI CAPITAL LETTER PHAR"}, +{0x1CA7,"GEORGIAN MTAVRULI CAPITAL LETTER QAR"}, +{0x1CA0,"GEORGIAN MTAVRULI CAPITAL LETTER RAE"}, +{0x1CA1,"GEORGIAN MTAVRULI CAPITAL LETTER SAN"}, +{0x1CA8,"GEORGIAN MTAVRULI CAPITAL LETTER SHIN"}, +{0x1C97,"GEORGIAN MTAVRULI CAPITAL LETTER TAN"}, +{0x1CA2,"GEORGIAN MTAVRULI CAPITAL LETTER TAR"}, +{0x1CB9,"GEORGIAN MTAVRULI CAPITAL LETTER TURNED GAN"}, +{0x1CA3,"GEORGIAN MTAVRULI CAPITAL LETTER UN"}, +{0x1C95,"GEORGIAN MTAVRULI CAPITAL LETTER VIN"}, +{0x1CB3,"GEORGIAN MTAVRULI CAPITAL LETTER WE"}, +{0x1CAE,"GEORGIAN MTAVRULI CAPITAL LETTER XAN"}, +{0x1CB7,"GEORGIAN MTAVRULI CAPITAL LETTER YN"}, +{0x1C96,"GEORGIAN MTAVRULI CAPITAL LETTER ZEN"}, +{0x1C9F,"GEORGIAN MTAVRULI CAPITAL LETTER ZHAR"}, {0x10FB,"GEORGIAN PARAGRAPH SEPARATOR"}, {0x2D2D,"GEORGIAN SMALL LETTER AEN"}, {0x2D00,"GEORGIAN SMALL LETTER AN"}, @@ -11345,6 +12776,7 @@ {0x3013,"GETA MARK"}, {0x1F47B,"GHOST"}, {0x2137,"GIMEL SYMBOL"}, +{0x1F992,"GIRAFFE FACE"}, {0x1F467,"GIRL"}, {0x1F6CA,"GIRLS SYMBOL"}, {0x2C00,"GLAGOLITIC CAPITAL LETTER AZU"}, @@ -11441,11 +12873,16 @@ {0x2C53,"GLAGOLITIC SMALL LETTER YU"}, {0x2C38,"GLAGOLITIC SMALL LETTER ZEMLJA"}, {0x2C36,"GLAGOLITIC SMALL LETTER ZHIVETE"}, +{0x1F95B,"GLASS OF MILK"}, {0x29E6,"GLEICH STARK"}, {0x1F310,"GLOBE WITH MERIDIANS"}, +{0x1F9E4,"GLOVES"}, {0x1F31F,"GLOWING STAR"}, +{0x1F945,"GOAL NET"}, {0x1F410,"GOAT"}, +{0x1F97D,"GOGGLES"}, {0x1F3CC,"GOLFER"}, +{0x1F98D,"GORILLA"}, {0x10330,"GOTHIC LETTER AHSA"}, {0x10334,"GOTHIC LETTER AIHVUS"}, {0x10331,"GOTHIC LETTER BAIRKAN"}, @@ -11525,9 +12962,11 @@ {0x1130B,"GRANTHA LETTER VOCALIC R"}, {0x11360,"GRANTHA LETTER VOCALIC RR"}, {0x1132F,"GRANTHA LETTER YA"}, +{0x11350,"GRANTHA OM"}, {0x11302,"GRANTHA SIGN ANUSVARA"}, {0x1133D,"GRANTHA SIGN AVAGRAHA"}, {0x11301,"GRANTHA SIGN CANDRABINDU"}, +{0x11300,"GRANTHA SIGN COMBINING ANUSVARA ABOVE"}, {0x1133C,"GRANTHA SIGN NUKTA"}, {0x1135D,"GRANTHA SIGN PLUTA"}, {0x1134D,"GRANTHA SIGN VIRAMA"}, @@ -11785,6 +13224,7 @@ {0x10180,"GREEK FIVE OBOLS SIGN"}, {0x1017F,"GREEK FOUR OBOLS SIGN"}, {0x10188,"GREEK GRAMMA SIGN"}, +{0x1018D,"GREEK INDICTION SIGN"}, {0x1D21D,"GREEK INSTRUMENTAL NOTATION SYMBOL-1"}, {0x1D223,"GREEK INSTRUMENTAL NOTATION SYMBOL-11"}, {0x1D224,"GREEK INSTRUMENTAL NOTATION SYMBOL-12"}, @@ -12088,10 +13528,14 @@ {0x1F34F,"GREEN APPLE"}, {0x1F4D7,"GREEN BOOK"}, {0x1F49A,"GREEN HEART"}, +{0x1F957,"GREEN SALAD"}, {0x1F62C,"GRIMACING FACE"}, {0x1F638,"GRINNING CAT FACE WITH SMILING EYES"}, {0x1F600,"GRINNING FACE"}, +{0x1F92A,"GRINNING FACE WITH ONE LARGE AND ONE SMALL EYE"}, {0x1F601,"GRINNING FACE WITH SMILING EYES"}, +{0x1F929,"GRINNING FACE WITH STAR EYES"}, +{0x2BD2,"GROUP MARK"}, {0x1F497,"GROWING HEART"}, {0x20B2,"GUARANI SIGN"}, {0x1F482,"GUARDSMAN"}, @@ -12155,12 +13599,19 @@ {0x0A8B,"GUJARATI LETTER VOCALIC R"}, {0x0AE0,"GUJARATI LETTER VOCALIC RR"}, {0x0AAF,"GUJARATI LETTER YA"}, +{0x0AF9,"GUJARATI LETTER ZHA"}, {0x0AD0,"GUJARATI OM"}, {0x0AF1,"GUJARATI RUPEE SIGN"}, {0x0A82,"GUJARATI SIGN ANUSVARA"}, {0x0ABD,"GUJARATI SIGN AVAGRAHA"}, {0x0A81,"GUJARATI SIGN CANDRABINDU"}, +{0x0AFE,"GUJARATI SIGN CIRCLE NUKTA ABOVE"}, +{0x0AFC,"GUJARATI SIGN MADDAH"}, {0x0ABC,"GUJARATI SIGN NUKTA"}, +{0x0AFB,"GUJARATI SIGN SHADDA"}, +{0x0AFA,"GUJARATI SIGN SUKUN"}, +{0x0AFD,"GUJARATI SIGN THREE-DOT NUKTA ABOVE"}, +{0x0AFF,"GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE"}, {0x0ACD,"GUJARATI SIGN VIRAMA"}, {0x0A83,"GUJARATI SIGN VISARGA"}, {0x0A8D,"GUJARATI VOWEL CANDRA E"}, @@ -12180,6 +13631,70 @@ {0x0AE3,"GUJARATI VOWEL SIGN VOCALIC LL"}, {0x0AC3,"GUJARATI VOWEL SIGN VOCALIC R"}, {0x0AC4,"GUJARATI VOWEL SIGN VOCALIC RR"}, +{0x11DA8,"GUNJALA GONDI DIGIT EIGHT"}, +{0x11DA5,"GUNJALA GONDI DIGIT FIVE"}, +{0x11DA4,"GUNJALA GONDI DIGIT FOUR"}, +{0x11DA9,"GUNJALA GONDI DIGIT NINE"}, +{0x11DA1,"GUNJALA GONDI DIGIT ONE"}, +{0x11DA7,"GUNJALA GONDI DIGIT SEVEN"}, +{0x11DA6,"GUNJALA GONDI DIGIT SIX"}, +{0x11DA3,"GUNJALA GONDI DIGIT THREE"}, +{0x11DA2,"GUNJALA GONDI DIGIT TWO"}, +{0x11DA0,"GUNJALA GONDI DIGIT ZERO"}, +{0x11D60,"GUNJALA GONDI LETTER A"}, +{0x11D61,"GUNJALA GONDI LETTER AA"}, +{0x11D68,"GUNJALA GONDI LETTER AI"}, +{0x11D6B,"GUNJALA GONDI LETTER AU"}, +{0x11D6E,"GUNJALA GONDI LETTER BA"}, +{0x11D6F,"GUNJALA GONDI LETTER BHA"}, +{0x11D7B,"GUNJALA GONDI LETTER CA"}, +{0x11D7C,"GUNJALA GONDI LETTER CHA"}, +{0x11D78,"GUNJALA GONDI LETTER DA"}, +{0x11D82,"GUNJALA GONDI LETTER DDA"}, +{0x11D83,"GUNJALA GONDI LETTER DDHA"}, +{0x11D79,"GUNJALA GONDI LETTER DHA"}, +{0x11D67,"GUNJALA GONDI LETTER EE"}, +{0x11D76,"GUNJALA GONDI LETTER GA"}, +{0x11D77,"GUNJALA GONDI LETTER GHA"}, +{0x11D87,"GUNJALA GONDI LETTER HA"}, +{0x11D62,"GUNJALA GONDI LETTER I"}, +{0x11D63,"GUNJALA GONDI LETTER II"}, +{0x11D80,"GUNJALA GONDI LETTER JA"}, +{0x11D81,"GUNJALA GONDI LETTER JHA"}, +{0x11D71,"GUNJALA GONDI LETTER KA"}, +{0x11D72,"GUNJALA GONDI LETTER KHA"}, +{0x11D75,"GUNJALA GONDI LETTER LA"}, +{0x11D7F,"GUNJALA GONDI LETTER LLA"}, +{0x11D70,"GUNJALA GONDI LETTER MA"}, +{0x11D7A,"GUNJALA GONDI LETTER NA"}, +{0x11D84,"GUNJALA GONDI LETTER NGA"}, +{0x11D6A,"GUNJALA GONDI LETTER OO"}, +{0x11D85,"GUNJALA GONDI LETTER PA"}, +{0x11D86,"GUNJALA GONDI LETTER PHA"}, +{0x11D88,"GUNJALA GONDI LETTER RA"}, +{0x11D89,"GUNJALA GONDI LETTER SA"}, +{0x11D73,"GUNJALA GONDI LETTER TA"}, +{0x11D74,"GUNJALA GONDI LETTER THA"}, +{0x11D7D,"GUNJALA GONDI LETTER TTA"}, +{0x11D7E,"GUNJALA GONDI LETTER TTHA"}, +{0x11D64,"GUNJALA GONDI LETTER U"}, +{0x11D65,"GUNJALA GONDI LETTER UU"}, +{0x11D6D,"GUNJALA GONDI LETTER VA"}, +{0x11D6C,"GUNJALA GONDI LETTER YA"}, +{0x11D98,"GUNJALA GONDI OM"}, +{0x11D95,"GUNJALA GONDI SIGN ANUSVARA"}, +{0x11D96,"GUNJALA GONDI SIGN VISARGA"}, +{0x11D97,"GUNJALA GONDI VIRAMA"}, +{0x11D8A,"GUNJALA GONDI VOWEL SIGN AA"}, +{0x11D91,"GUNJALA GONDI VOWEL SIGN AI"}, +{0x11D94,"GUNJALA GONDI VOWEL SIGN AU"}, +{0x11D90,"GUNJALA GONDI VOWEL SIGN EE"}, +{0x11D8B,"GUNJALA GONDI VOWEL SIGN I"}, +{0x11D8C,"GUNJALA GONDI VOWEL SIGN II"}, +{0x11D93,"GUNJALA GONDI VOWEL SIGN OO"}, +{0x11D8D,"GUNJALA GONDI VOWEL SIGN U"}, +{0x11D8E,"GUNJALA GONDI VOWEL SIGN UU"}, +{0x0A76,"GURMUKHI ABBREVIATION SIGN"}, {0x0A71,"GURMUKHI ADDAK"}, {0x0A6E,"GURMUKHI DIGIT EIGHT"}, {0x0A6B,"GURMUKHI DIGIT FIVE"}, @@ -12259,6 +13774,7 @@ {0x0A4B,"GURMUKHI VOWEL SIGN OO"}, {0x0A41,"GURMUKHI VOWEL SIGN U"}, {0x0A42,"GURMUKHI VOWEL SIGN UU"}, +{0x2BE1,"HADES"}, {0x200A,"HAIR SPACE"}, {0x1F487,"HAIRCUT"}, {0xFFED,"HALFWIDTH BLACK SQUARE"}, @@ -12389,7 +13905,10 @@ {0x262D,"HAMMER AND SICKLE"}, {0x1F6E0,"HAMMER AND WRENCH"}, {0x1F439,"HAMSTER FACE"}, +{0x1F91E,"HAND WITH INDEX AND MIDDLE FINGERS CROSSED"}, {0x1F45C,"HANDBAG"}, +{0x1F93E,"HANDBALL"}, +{0x1F91D,"HANDSHAKE"}, {0x1155,"HANGUL CHOSEONG CEONGCHIEUMCHIEUCH"}, {0x1150,"HANGUL CHOSEONG CEONGCHIEUMCIEUC"}, {0x113E,"HANGUL CHOSEONG CEONGCHIEUMSIOS"}, @@ -12855,6 +14374,56 @@ {0x3023,"HANGZHOU NUMERAL THREE"}, {0x3039,"HANGZHOU NUMERAL TWENTY"}, {0x3022,"HANGZHOU NUMERAL TWO"}, +{0x10D38,"HANIFI ROHINGYA DIGIT EIGHT"}, +{0x10D35,"HANIFI ROHINGYA DIGIT FIVE"}, +{0x10D34,"HANIFI ROHINGYA DIGIT FOUR"}, +{0x10D39,"HANIFI ROHINGYA DIGIT NINE"}, +{0x10D31,"HANIFI ROHINGYA DIGIT ONE"}, +{0x10D37,"HANIFI ROHINGYA DIGIT SEVEN"}, +{0x10D36,"HANIFI ROHINGYA DIGIT SIX"}, +{0x10D33,"HANIFI ROHINGYA DIGIT THREE"}, +{0x10D32,"HANIFI ROHINGYA DIGIT TWO"}, +{0x10D30,"HANIFI ROHINGYA DIGIT ZERO"}, +{0x10D00,"HANIFI ROHINGYA LETTER A"}, +{0x10D01,"HANIFI ROHINGYA LETTER BA"}, +{0x10D06,"HANIFI ROHINGYA LETTER CA"}, +{0x10D0A,"HANIFI ROHINGYA LETTER DA"}, +{0x10D0B,"HANIFI ROHINGYA LETTER DDA"}, +{0x10D09,"HANIFI ROHINGYA LETTER FA"}, +{0x10D12,"HANIFI ROHINGYA LETTER GA"}, +{0x10D07,"HANIFI ROHINGYA LETTER HA"}, +{0x10D05,"HANIFI ROHINGYA LETTER JA"}, +{0x10D11,"HANIFI ROHINGYA LETTER KA"}, +{0x10D08,"HANIFI ROHINGYA LETTER KHA"}, +{0x10D17,"HANIFI ROHINGYA LETTER KINNA WA"}, +{0x10D19,"HANIFI ROHINGYA LETTER KINNA YA"}, +{0x10D13,"HANIFI ROHINGYA LETTER LA"}, +{0x10D14,"HANIFI ROHINGYA LETTER MA"}, +{0x10D15,"HANIFI ROHINGYA LETTER NA"}, +{0x10D1A,"HANIFI ROHINGYA LETTER NGA"}, +{0x10D1B,"HANIFI ROHINGYA LETTER NYA"}, +{0x10D02,"HANIFI ROHINGYA LETTER PA"}, +{0x10D0C,"HANIFI ROHINGYA LETTER RA"}, +{0x10D0D,"HANIFI ROHINGYA LETTER RRA"}, +{0x10D0F,"HANIFI ROHINGYA LETTER SA"}, +{0x10D10,"HANIFI ROHINGYA LETTER SHA"}, +{0x10D03,"HANIFI ROHINGYA LETTER TA"}, +{0x10D04,"HANIFI ROHINGYA LETTER TTA"}, +{0x10D1C,"HANIFI ROHINGYA LETTER VA"}, +{0x10D16,"HANIFI ROHINGYA LETTER WA"}, +{0x10D18,"HANIFI ROHINGYA LETTER YA"}, +{0x10D0E,"HANIFI ROHINGYA LETTER ZA"}, +{0x10D23,"HANIFI ROHINGYA MARK NA KHONNA"}, +{0x10D22,"HANIFI ROHINGYA MARK SAKIN"}, +{0x10D24,"HANIFI ROHINGYA SIGN HARBAHAY"}, +{0x10D25,"HANIFI ROHINGYA SIGN TAHALA"}, +{0x10D26,"HANIFI ROHINGYA SIGN TANA"}, +{0x10D27,"HANIFI ROHINGYA SIGN TASSI"}, +{0x10D1D,"HANIFI ROHINGYA VOWEL A"}, +{0x10D20,"HANIFI ROHINGYA VOWEL E"}, +{0x10D1E,"HANIFI ROHINGYA VOWEL I"}, +{0x10D21,"HANIFI ROHINGYA VOWEL O"}, +{0x10D1F,"HANIFI ROHINGYA VOWEL U"}, {0x1720,"HANUNOO LETTER A"}, {0x172A,"HANUNOO LETTER BA"}, {0x1727,"HANUNOO LETTER DA"}, @@ -12879,6 +14448,32 @@ {0x1F64B,"HAPPY PERSON RAISING ONE HAND"}, {0x1F5B4,"HARD DISK"}, {0x1F423,"HATCHING CHICK"}, +{0x108E0,"HATRAN LETTER ALEPH"}, +{0x108EF,"HATRAN LETTER AYN"}, +{0x108E1,"HATRAN LETTER BETH"}, +{0x108E3,"HATRAN LETTER DALETH-RESH"}, +{0x108E2,"HATRAN LETTER GIMEL"}, +{0x108E4,"HATRAN LETTER HE"}, +{0x108E7,"HATRAN LETTER HETH"}, +{0x108EA,"HATRAN LETTER KAPH"}, +{0x108EB,"HATRAN LETTER LAMEDH"}, +{0x108EC,"HATRAN LETTER MEM"}, +{0x108ED,"HATRAN LETTER NUN"}, +{0x108F0,"HATRAN LETTER PE"}, +{0x108F2,"HATRAN LETTER QOPH"}, +{0x108F1,"HATRAN LETTER SADHE"}, +{0x108EE,"HATRAN LETTER SAMEKH"}, +{0x108F4,"HATRAN LETTER SHIN"}, +{0x108F5,"HATRAN LETTER TAW"}, +{0x108E8,"HATRAN LETTER TETH"}, +{0x108E5,"HATRAN LETTER WAW"}, +{0x108E9,"HATRAN LETTER YODH"}, +{0x108E6,"HATRAN LETTER ZAYN"}, +{0x108FC,"HATRAN NUMBER FIVE"}, +{0x108FB,"HATRAN NUMBER ONE"}, +{0x108FF,"HATRAN NUMBER ONE HUNDRED"}, +{0x108FD,"HATRAN NUMBER TEN"}, +{0x108FE,"HATRAN NUMBER TWENTY"}, {0x1F3A7,"HEADPHONE"}, {0x26FC,"HEADSTONE GRAVEYARD SYMBOL"}, {0x1F649,"HEAR-NO-EVIL MONKEY"}, @@ -13114,9 +14709,296 @@ {0x05C6,"HEBREW PUNCTUATION NUN HAFUKHA"}, {0x05C0,"HEBREW PUNCTUATION PASEQ"}, {0x05C3,"HEBREW PUNCTUATION SOF PASUQ"}, +{0x05EF,"HEBREW YOD TRIANGLE"}, +{0x1F994,"HEDGEHOG"}, {0x1F681,"HELICOPTER"}, {0x2388,"HELM SYMBOL"}, {0x26D1,"HELMET WITH WHITE CROSS"}, +{0x1B002,"HENTAIGANA LETTER A-1"}, +{0x1B003,"HENTAIGANA LETTER A-2"}, +{0x1B004,"HENTAIGANA LETTER A-3"}, +{0x1B005,"HENTAIGANA LETTER A-WO"}, +{0x1B00F,"HENTAIGANA LETTER E-2"}, +{0x1B010,"HENTAIGANA LETTER E-3"}, +{0x1B011,"HENTAIGANA LETTER E-4"}, +{0x1B012,"HENTAIGANA LETTER E-5"}, +{0x1B013,"HENTAIGANA LETTER E-6"}, +{0x1B09E,"HENTAIGANA LETTER HA-1"}, +{0x1B0A7,"HENTAIGANA LETTER HA-10"}, +{0x1B0A8,"HENTAIGANA LETTER HA-11"}, +{0x1B09F,"HENTAIGANA LETTER HA-2"}, +{0x1B0A0,"HENTAIGANA LETTER HA-3"}, +{0x1B0A1,"HENTAIGANA LETTER HA-4"}, +{0x1B0A2,"HENTAIGANA LETTER HA-5"}, +{0x1B0A3,"HENTAIGANA LETTER HA-6"}, +{0x1B0A4,"HENTAIGANA LETTER HA-7"}, +{0x1B0A5,"HENTAIGANA LETTER HA-8"}, +{0x1B0A6,"HENTAIGANA LETTER HA-9"}, +{0x1B0B3,"HENTAIGANA LETTER HE-1"}, +{0x1B0B4,"HENTAIGANA LETTER HE-2"}, +{0x1B0B5,"HENTAIGANA LETTER HE-3"}, +{0x1B0B6,"HENTAIGANA LETTER HE-4"}, +{0x1B0B7,"HENTAIGANA LETTER HE-5"}, +{0x1B0B8,"HENTAIGANA LETTER HE-6"}, +{0x1B0B9,"HENTAIGANA LETTER HE-7"}, +{0x1B0A9,"HENTAIGANA LETTER HI-1"}, +{0x1B0AA,"HENTAIGANA LETTER HI-2"}, +{0x1B0AB,"HENTAIGANA LETTER HI-3"}, +{0x1B0AC,"HENTAIGANA LETTER HI-4"}, +{0x1B0AD,"HENTAIGANA LETTER HI-5"}, +{0x1B0AE,"HENTAIGANA LETTER HI-6"}, +{0x1B0AF,"HENTAIGANA LETTER HI-7"}, +{0x1B0BA,"HENTAIGANA LETTER HO-1"}, +{0x1B0BB,"HENTAIGANA LETTER HO-2"}, +{0x1B0BC,"HENTAIGANA LETTER HO-3"}, +{0x1B0BD,"HENTAIGANA LETTER HO-4"}, +{0x1B0BE,"HENTAIGANA LETTER HO-5"}, +{0x1B0BF,"HENTAIGANA LETTER HO-6"}, +{0x1B0C0,"HENTAIGANA LETTER HO-7"}, +{0x1B0C1,"HENTAIGANA LETTER HO-8"}, +{0x1B0B0,"HENTAIGANA LETTER HU-1"}, +{0x1B0B1,"HENTAIGANA LETTER HU-2"}, +{0x1B0B2,"HENTAIGANA LETTER HU-3"}, +{0x1B006,"HENTAIGANA LETTER I-1"}, +{0x1B007,"HENTAIGANA LETTER I-2"}, +{0x1B008,"HENTAIGANA LETTER I-3"}, +{0x1B009,"HENTAIGANA LETTER I-4"}, +{0x1B017,"HENTAIGANA LETTER KA-1"}, +{0x1B020,"HENTAIGANA LETTER KA-10"}, +{0x1B021,"HENTAIGANA LETTER KA-11"}, +{0x1B018,"HENTAIGANA LETTER KA-2"}, +{0x1B019,"HENTAIGANA LETTER KA-3"}, +{0x1B01A,"HENTAIGANA LETTER KA-4"}, +{0x1B01B,"HENTAIGANA LETTER KA-5"}, +{0x1B01C,"HENTAIGANA LETTER KA-6"}, +{0x1B01D,"HENTAIGANA LETTER KA-7"}, +{0x1B01E,"HENTAIGANA LETTER KA-8"}, +{0x1B01F,"HENTAIGANA LETTER KA-9"}, +{0x1B022,"HENTAIGANA LETTER KA-KE"}, +{0x1B032,"HENTAIGANA LETTER KE-1"}, +{0x1B033,"HENTAIGANA LETTER KE-2"}, +{0x1B034,"HENTAIGANA LETTER KE-3"}, +{0x1B035,"HENTAIGANA LETTER KE-4"}, +{0x1B036,"HENTAIGANA LETTER KE-5"}, +{0x1B037,"HENTAIGANA LETTER KE-6"}, +{0x1B023,"HENTAIGANA LETTER KI-1"}, +{0x1B024,"HENTAIGANA LETTER KI-2"}, +{0x1B025,"HENTAIGANA LETTER KI-3"}, +{0x1B026,"HENTAIGANA LETTER KI-4"}, +{0x1B027,"HENTAIGANA LETTER KI-5"}, +{0x1B028,"HENTAIGANA LETTER KI-6"}, +{0x1B029,"HENTAIGANA LETTER KI-7"}, +{0x1B02A,"HENTAIGANA LETTER KI-8"}, +{0x1B038,"HENTAIGANA LETTER KO-1"}, +{0x1B039,"HENTAIGANA LETTER KO-2"}, +{0x1B03A,"HENTAIGANA LETTER KO-3"}, +{0x1B03B,"HENTAIGANA LETTER KO-KI"}, +{0x1B02B,"HENTAIGANA LETTER KU-1"}, +{0x1B02C,"HENTAIGANA LETTER KU-2"}, +{0x1B02D,"HENTAIGANA LETTER KU-3"}, +{0x1B02E,"HENTAIGANA LETTER KU-4"}, +{0x1B02F,"HENTAIGANA LETTER KU-5"}, +{0x1B030,"HENTAIGANA LETTER KU-6"}, +{0x1B031,"HENTAIGANA LETTER KU-7"}, +{0x1B0C2,"HENTAIGANA LETTER MA-1"}, +{0x1B0C3,"HENTAIGANA LETTER MA-2"}, +{0x1B0C4,"HENTAIGANA LETTER MA-3"}, +{0x1B0C5,"HENTAIGANA LETTER MA-4"}, +{0x1B0C6,"HENTAIGANA LETTER MA-5"}, +{0x1B0C7,"HENTAIGANA LETTER MA-6"}, +{0x1B0C8,"HENTAIGANA LETTER MA-7"}, +{0x1B0D4,"HENTAIGANA LETTER ME-1"}, +{0x1B0D5,"HENTAIGANA LETTER ME-2"}, +{0x1B0D6,"HENTAIGANA LETTER ME-MA"}, +{0x1B0C9,"HENTAIGANA LETTER MI-1"}, +{0x1B0CA,"HENTAIGANA LETTER MI-2"}, +{0x1B0CB,"HENTAIGANA LETTER MI-3"}, +{0x1B0CC,"HENTAIGANA LETTER MI-4"}, +{0x1B0CD,"HENTAIGANA LETTER MI-5"}, +{0x1B0CE,"HENTAIGANA LETTER MI-6"}, +{0x1B0CF,"HENTAIGANA LETTER MI-7"}, +{0x1B0D7,"HENTAIGANA LETTER MO-1"}, +{0x1B0D8,"HENTAIGANA LETTER MO-2"}, +{0x1B0D9,"HENTAIGANA LETTER MO-3"}, +{0x1B0DA,"HENTAIGANA LETTER MO-4"}, +{0x1B0DB,"HENTAIGANA LETTER MO-5"}, +{0x1B0DC,"HENTAIGANA LETTER MO-6"}, +{0x1B0D0,"HENTAIGANA LETTER MU-1"}, +{0x1B0D1,"HENTAIGANA LETTER MU-2"}, +{0x1B0D2,"HENTAIGANA LETTER MU-3"}, +{0x1B0D3,"HENTAIGANA LETTER MU-4"}, +{0x1B11D,"HENTAIGANA LETTER N-MU-MO-1"}, +{0x1B11E,"HENTAIGANA LETTER N-MU-MO-2"}, +{0x1B07E,"HENTAIGANA LETTER NA-1"}, +{0x1B07F,"HENTAIGANA LETTER NA-2"}, +{0x1B080,"HENTAIGANA LETTER NA-3"}, +{0x1B081,"HENTAIGANA LETTER NA-4"}, +{0x1B082,"HENTAIGANA LETTER NA-5"}, +{0x1B083,"HENTAIGANA LETTER NA-6"}, +{0x1B084,"HENTAIGANA LETTER NA-7"}, +{0x1B085,"HENTAIGANA LETTER NA-8"}, +{0x1B086,"HENTAIGANA LETTER NA-9"}, +{0x1B092,"HENTAIGANA LETTER NE-1"}, +{0x1B093,"HENTAIGANA LETTER NE-2"}, +{0x1B094,"HENTAIGANA LETTER NE-3"}, +{0x1B095,"HENTAIGANA LETTER NE-4"}, +{0x1B096,"HENTAIGANA LETTER NE-5"}, +{0x1B097,"HENTAIGANA LETTER NE-6"}, +{0x1B098,"HENTAIGANA LETTER NE-KO"}, +{0x1B087,"HENTAIGANA LETTER NI-1"}, +{0x1B088,"HENTAIGANA LETTER NI-2"}, +{0x1B089,"HENTAIGANA LETTER NI-3"}, +{0x1B08A,"HENTAIGANA LETTER NI-4"}, +{0x1B08B,"HENTAIGANA LETTER NI-5"}, +{0x1B08C,"HENTAIGANA LETTER NI-6"}, +{0x1B08D,"HENTAIGANA LETTER NI-7"}, +{0x1B08E,"HENTAIGANA LETTER NI-TE"}, +{0x1B099,"HENTAIGANA LETTER NO-1"}, +{0x1B09A,"HENTAIGANA LETTER NO-2"}, +{0x1B09B,"HENTAIGANA LETTER NO-3"}, +{0x1B09C,"HENTAIGANA LETTER NO-4"}, +{0x1B09D,"HENTAIGANA LETTER NO-5"}, +{0x1B08F,"HENTAIGANA LETTER NU-1"}, +{0x1B090,"HENTAIGANA LETTER NU-2"}, +{0x1B091,"HENTAIGANA LETTER NU-3"}, +{0x1B014,"HENTAIGANA LETTER O-1"}, +{0x1B015,"HENTAIGANA LETTER O-2"}, +{0x1B016,"HENTAIGANA LETTER O-3"}, +{0x1B0ED,"HENTAIGANA LETTER RA-1"}, +{0x1B0EE,"HENTAIGANA LETTER RA-2"}, +{0x1B0EF,"HENTAIGANA LETTER RA-3"}, +{0x1B0F0,"HENTAIGANA LETTER RA-4"}, +{0x1B0FE,"HENTAIGANA LETTER RE-1"}, +{0x1B0FF,"HENTAIGANA LETTER RE-2"}, +{0x1B100,"HENTAIGANA LETTER RE-3"}, +{0x1B101,"HENTAIGANA LETTER RE-4"}, +{0x1B0F1,"HENTAIGANA LETTER RI-1"}, +{0x1B0F2,"HENTAIGANA LETTER RI-2"}, +{0x1B0F3,"HENTAIGANA LETTER RI-3"}, +{0x1B0F4,"HENTAIGANA LETTER RI-4"}, +{0x1B0F5,"HENTAIGANA LETTER RI-5"}, +{0x1B0F6,"HENTAIGANA LETTER RI-6"}, +{0x1B0F7,"HENTAIGANA LETTER RI-7"}, +{0x1B102,"HENTAIGANA LETTER RO-1"}, +{0x1B103,"HENTAIGANA LETTER RO-2"}, +{0x1B104,"HENTAIGANA LETTER RO-3"}, +{0x1B105,"HENTAIGANA LETTER RO-4"}, +{0x1B106,"HENTAIGANA LETTER RO-5"}, +{0x1B107,"HENTAIGANA LETTER RO-6"}, +{0x1B0F8,"HENTAIGANA LETTER RU-1"}, +{0x1B0F9,"HENTAIGANA LETTER RU-2"}, +{0x1B0FA,"HENTAIGANA LETTER RU-3"}, +{0x1B0FB,"HENTAIGANA LETTER RU-4"}, +{0x1B0FC,"HENTAIGANA LETTER RU-5"}, +{0x1B0FD,"HENTAIGANA LETTER RU-6"}, +{0x1B03C,"HENTAIGANA LETTER SA-1"}, +{0x1B03D,"HENTAIGANA LETTER SA-2"}, +{0x1B03E,"HENTAIGANA LETTER SA-3"}, +{0x1B03F,"HENTAIGANA LETTER SA-4"}, +{0x1B040,"HENTAIGANA LETTER SA-5"}, +{0x1B041,"HENTAIGANA LETTER SA-6"}, +{0x1B042,"HENTAIGANA LETTER SA-7"}, +{0x1B043,"HENTAIGANA LETTER SA-8"}, +{0x1B052,"HENTAIGANA LETTER SE-1"}, +{0x1B053,"HENTAIGANA LETTER SE-2"}, +{0x1B054,"HENTAIGANA LETTER SE-3"}, +{0x1B055,"HENTAIGANA LETTER SE-4"}, +{0x1B056,"HENTAIGANA LETTER SE-5"}, +{0x1B044,"HENTAIGANA LETTER SI-1"}, +{0x1B045,"HENTAIGANA LETTER SI-2"}, +{0x1B046,"HENTAIGANA LETTER SI-3"}, +{0x1B047,"HENTAIGANA LETTER SI-4"}, +{0x1B048,"HENTAIGANA LETTER SI-5"}, +{0x1B049,"HENTAIGANA LETTER SI-6"}, +{0x1B057,"HENTAIGANA LETTER SO-1"}, +{0x1B058,"HENTAIGANA LETTER SO-2"}, +{0x1B059,"HENTAIGANA LETTER SO-3"}, +{0x1B05A,"HENTAIGANA LETTER SO-4"}, +{0x1B05B,"HENTAIGANA LETTER SO-5"}, +{0x1B05C,"HENTAIGANA LETTER SO-6"}, +{0x1B05D,"HENTAIGANA LETTER SO-7"}, +{0x1B04A,"HENTAIGANA LETTER SU-1"}, +{0x1B04B,"HENTAIGANA LETTER SU-2"}, +{0x1B04C,"HENTAIGANA LETTER SU-3"}, +{0x1B04D,"HENTAIGANA LETTER SU-4"}, +{0x1B04E,"HENTAIGANA LETTER SU-5"}, +{0x1B04F,"HENTAIGANA LETTER SU-6"}, +{0x1B050,"HENTAIGANA LETTER SU-7"}, +{0x1B051,"HENTAIGANA LETTER SU-8"}, +{0x1B05E,"HENTAIGANA LETTER TA-1"}, +{0x1B05F,"HENTAIGANA LETTER TA-2"}, +{0x1B060,"HENTAIGANA LETTER TA-3"}, +{0x1B061,"HENTAIGANA LETTER TA-4"}, +{0x1B06E,"HENTAIGANA LETTER TE-1"}, +{0x1B06F,"HENTAIGANA LETTER TE-2"}, +{0x1B070,"HENTAIGANA LETTER TE-3"}, +{0x1B071,"HENTAIGANA LETTER TE-4"}, +{0x1B072,"HENTAIGANA LETTER TE-5"}, +{0x1B073,"HENTAIGANA LETTER TE-6"}, +{0x1B074,"HENTAIGANA LETTER TE-7"}, +{0x1B075,"HENTAIGANA LETTER TE-8"}, +{0x1B076,"HENTAIGANA LETTER TE-9"}, +{0x1B062,"HENTAIGANA LETTER TI-1"}, +{0x1B063,"HENTAIGANA LETTER TI-2"}, +{0x1B064,"HENTAIGANA LETTER TI-3"}, +{0x1B065,"HENTAIGANA LETTER TI-4"}, +{0x1B066,"HENTAIGANA LETTER TI-5"}, +{0x1B067,"HENTAIGANA LETTER TI-6"}, +{0x1B068,"HENTAIGANA LETTER TI-7"}, +{0x1B077,"HENTAIGANA LETTER TO-1"}, +{0x1B078,"HENTAIGANA LETTER TO-2"}, +{0x1B079,"HENTAIGANA LETTER TO-3"}, +{0x1B07A,"HENTAIGANA LETTER TO-4"}, +{0x1B07B,"HENTAIGANA LETTER TO-5"}, +{0x1B07C,"HENTAIGANA LETTER TO-6"}, +{0x1B07D,"HENTAIGANA LETTER TO-RA"}, +{0x1B069,"HENTAIGANA LETTER TU-1"}, +{0x1B06A,"HENTAIGANA LETTER TU-2"}, +{0x1B06B,"HENTAIGANA LETTER TU-3"}, +{0x1B06C,"HENTAIGANA LETTER TU-4"}, +{0x1B06D,"HENTAIGANA LETTER TU-TO"}, +{0x1B00A,"HENTAIGANA LETTER U-1"}, +{0x1B00B,"HENTAIGANA LETTER U-2"}, +{0x1B00C,"HENTAIGANA LETTER U-3"}, +{0x1B00D,"HENTAIGANA LETTER U-4"}, +{0x1B00E,"HENTAIGANA LETTER U-5"}, +{0x1B108,"HENTAIGANA LETTER WA-1"}, +{0x1B109,"HENTAIGANA LETTER WA-2"}, +{0x1B10A,"HENTAIGANA LETTER WA-3"}, +{0x1B10B,"HENTAIGANA LETTER WA-4"}, +{0x1B10C,"HENTAIGANA LETTER WA-5"}, +{0x1B112,"HENTAIGANA LETTER WE-1"}, +{0x1B113,"HENTAIGANA LETTER WE-2"}, +{0x1B114,"HENTAIGANA LETTER WE-3"}, +{0x1B115,"HENTAIGANA LETTER WE-4"}, +{0x1B10D,"HENTAIGANA LETTER WI-1"}, +{0x1B10E,"HENTAIGANA LETTER WI-2"}, +{0x1B10F,"HENTAIGANA LETTER WI-3"}, +{0x1B110,"HENTAIGANA LETTER WI-4"}, +{0x1B111,"HENTAIGANA LETTER WI-5"}, +{0x1B116,"HENTAIGANA LETTER WO-1"}, +{0x1B117,"HENTAIGANA LETTER WO-2"}, +{0x1B118,"HENTAIGANA LETTER WO-3"}, +{0x1B119,"HENTAIGANA LETTER WO-4"}, +{0x1B11A,"HENTAIGANA LETTER WO-5"}, +{0x1B11B,"HENTAIGANA LETTER WO-6"}, +{0x1B11C,"HENTAIGANA LETTER WO-7"}, +{0x1B0DD,"HENTAIGANA LETTER YA-1"}, +{0x1B0DE,"HENTAIGANA LETTER YA-2"}, +{0x1B0DF,"HENTAIGANA LETTER YA-3"}, +{0x1B0E0,"HENTAIGANA LETTER YA-4"}, +{0x1B0E1,"HENTAIGANA LETTER YA-5"}, +{0x1B0E2,"HENTAIGANA LETTER YA-YO"}, +{0x1B0E7,"HENTAIGANA LETTER YO-1"}, +{0x1B0E8,"HENTAIGANA LETTER YO-2"}, +{0x1B0E9,"HENTAIGANA LETTER YO-3"}, +{0x1B0EA,"HENTAIGANA LETTER YO-4"}, +{0x1B0EB,"HENTAIGANA LETTER YO-5"}, +{0x1B0EC,"HENTAIGANA LETTER YO-6"}, +{0x1B0E3,"HENTAIGANA LETTER YU-1"}, +{0x1B0E4,"HENTAIGANA LETTER YU-2"}, +{0x1B0E5,"HENTAIGANA LETTER YU-3"}, +{0x1B0E6,"HENTAIGANA LETTER YU-4"}, {0x1F33F,"HERB"}, {0x22B9,"HERMITIAN CONJUGATE MATRIX"}, {0x4DF6,"HEXAGRAM FOR ABUNDANCE"}, @@ -13189,6 +15071,8 @@ {0x1F460,"HIGH-HEELED SHOE"}, {0x1F684,"HIGH-SPEED TRAIN"}, {0x1F685,"HIGH-SPEED TRAIN WITH BULLET NOSE"}, +{0x1F97E,"HIKING BOOT"}, +{0x1F99B,"HIPPOPOTAMUS"}, {0x309F,"HIRAGANA DIGRAPH YORI"}, {0x309D,"HIRAGANA ITERATION MARK"}, {0x3042,"HIRAGANA LETTER A"}, @@ -13304,6 +15188,7 @@ {0x1F3C7,"HORSE RACING"}, {0x1F3E5,"HOSPITAL"}, {0x2615,"HOT BEVERAGE"}, +{0x1F32D,"HOT DOG"}, {0x1F336,"HOT PEPPER"}, {0x2668,"HOT SPRINGS"}, {0x1F3E8,"HOTEL"}, @@ -13314,8 +15199,10 @@ {0x1F3D8,"HOUSE BUILDINGS"}, {0x1F3E1,"HOUSE WITH GARDEN"}, {0x20B4,"HRYVNIA SIGN"}, +{0x1F917,"HUGGING FACE"}, {0x1F4AF,"HUNDRED POINTS SYMBOL"}, {0x1F62F,"HUSHED FACE"}, +{0x2BDA,"HYGIEA"}, {0x2010,"HYPHEN"}, {0x2043,"HYPHEN BULLET"}, {0x2E1A,"HYPHEN WITH DIAERESIS"}, @@ -13323,7 +15210,9 @@ {0x2027,"HYPHENATION POINT"}, {0x2E12,"HYPODIASTOLE"}, {0x238E,"HYSTERESIS SYMBOL"}, +{0x1F91F,"I LOVE YOU HAND SIGN"}, {0x1F368,"ICE CREAM"}, +{0x1F3D2,"ICE HOCKEY STICK AND PUCK"}, {0x26F8,"ICE SKATE"}, {0x2261,"IDENTICAL TO"}, {0x29E5,"IDENTICAL TO AND SLANTED PARALLEL"}, @@ -13367,6 +15256,11 @@ {0x3007,"IDEOGRAPHIC NUMBER ZERO"}, {0x302B,"IDEOGRAPHIC RISING TONE MARK"}, {0x3000,"IDEOGRAPHIC SPACE"}, +{0x1D376,"IDEOGRAPHIC TALLY MARK FIVE"}, +{0x1D375,"IDEOGRAPHIC TALLY MARK FOUR"}, +{0x1D372,"IDEOGRAPHIC TALLY MARK ONE"}, +{0x1D374,"IDEOGRAPHIC TALLY MARK THREE"}, +{0x1D373,"IDEOGRAPHIC TALLY MARK TWO"}, {0x3037,"IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL"}, {0x32C3,"IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL"}, {0x32C7,"IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST"}, @@ -13478,6 +15372,74 @@ {0x29E1,"INCREASES AS"}, {0x2206,"INCREMENT"}, {0x20B9,"INDIAN RUPEE SIGN"}, +{0x1ECB4,"INDIC SIYAQ ALTERNATE LAKH MARK"}, +{0x1ECAE,"INDIC SIYAQ FRACTION ONE HALF"}, +{0x1ECAD,"INDIC SIYAQ FRACTION ONE QUARTER"}, +{0x1ECAF,"INDIC SIYAQ FRACTION THREE QUARTERS"}, +{0x1ECA0,"INDIC SIYAQ LAKH MARK"}, +{0x1ECB1,"INDIC SIYAQ NUMBER ALTERNATE ONE"}, +{0x1ECB3,"INDIC SIYAQ NUMBER ALTERNATE TEN THOUSAND"}, +{0x1ECB2,"INDIC SIYAQ NUMBER ALTERNATE TWO"}, +{0x1EC78,"INDIC SIYAQ NUMBER EIGHT"}, +{0x1EC8A,"INDIC SIYAQ NUMBER EIGHT HUNDRED"}, +{0x1EC93,"INDIC SIYAQ NUMBER EIGHT THOUSAND"}, +{0x1EC81,"INDIC SIYAQ NUMBER EIGHTY"}, +{0x1EC9C,"INDIC SIYAQ NUMBER EIGHTY THOUSAND"}, +{0x1EC7E,"INDIC SIYAQ NUMBER FIFTY"}, +{0x1EC99,"INDIC SIYAQ NUMBER FIFTY THOUSAND"}, +{0x1EC75,"INDIC SIYAQ NUMBER FIVE"}, +{0x1EC87,"INDIC SIYAQ NUMBER FIVE HUNDRED"}, +{0x1EC90,"INDIC SIYAQ NUMBER FIVE THOUSAND"}, +{0x1EC7D,"INDIC SIYAQ NUMBER FORTY"}, +{0x1EC98,"INDIC SIYAQ NUMBER FORTY THOUSAND"}, +{0x1EC74,"INDIC SIYAQ NUMBER FOUR"}, +{0x1EC86,"INDIC SIYAQ NUMBER FOUR HUNDRED"}, +{0x1EC8F,"INDIC SIYAQ NUMBER FOUR THOUSAND"}, +{0x1ECA1,"INDIC SIYAQ NUMBER KAROR"}, +{0x1ECA2,"INDIC SIYAQ NUMBER KARORAN"}, +{0x1EC9E,"INDIC SIYAQ NUMBER LAKH"}, +{0x1EC9F,"INDIC SIYAQ NUMBER LAKHAN"}, +{0x1EC79,"INDIC SIYAQ NUMBER NINE"}, +{0x1EC8B,"INDIC SIYAQ NUMBER NINE HUNDRED"}, +{0x1EC94,"INDIC SIYAQ NUMBER NINE THOUSAND"}, +{0x1EC82,"INDIC SIYAQ NUMBER NINETY"}, +{0x1EC9D,"INDIC SIYAQ NUMBER NINETY THOUSAND"}, +{0x1EC71,"INDIC SIYAQ NUMBER ONE"}, +{0x1EC83,"INDIC SIYAQ NUMBER ONE HUNDRED"}, +{0x1EC8C,"INDIC SIYAQ NUMBER ONE THOUSAND"}, +{0x1ECAA,"INDIC SIYAQ NUMBER PREFIXED EIGHT"}, +{0x1ECA7,"INDIC SIYAQ NUMBER PREFIXED FIVE"}, +{0x1ECA6,"INDIC SIYAQ NUMBER PREFIXED FOUR"}, +{0x1ECAB,"INDIC SIYAQ NUMBER PREFIXED NINE"}, +{0x1ECA3,"INDIC SIYAQ NUMBER PREFIXED ONE"}, +{0x1ECA9,"INDIC SIYAQ NUMBER PREFIXED SEVEN"}, +{0x1ECA8,"INDIC SIYAQ NUMBER PREFIXED SIX"}, +{0x1ECA5,"INDIC SIYAQ NUMBER PREFIXED THREE"}, +{0x1ECA4,"INDIC SIYAQ NUMBER PREFIXED TWO"}, +{0x1EC77,"INDIC SIYAQ NUMBER SEVEN"}, +{0x1EC89,"INDIC SIYAQ NUMBER SEVEN HUNDRED"}, +{0x1EC92,"INDIC SIYAQ NUMBER SEVEN THOUSAND"}, +{0x1EC80,"INDIC SIYAQ NUMBER SEVENTY"}, +{0x1EC9B,"INDIC SIYAQ NUMBER SEVENTY THOUSAND"}, +{0x1EC76,"INDIC SIYAQ NUMBER SIX"}, +{0x1EC88,"INDIC SIYAQ NUMBER SIX HUNDRED"}, +{0x1EC91,"INDIC SIYAQ NUMBER SIX THOUSAND"}, +{0x1EC7F,"INDIC SIYAQ NUMBER SIXTY"}, +{0x1EC9A,"INDIC SIYAQ NUMBER SIXTY THOUSAND"}, +{0x1EC7A,"INDIC SIYAQ NUMBER TEN"}, +{0x1EC95,"INDIC SIYAQ NUMBER TEN THOUSAND"}, +{0x1EC7C,"INDIC SIYAQ NUMBER THIRTY"}, +{0x1EC97,"INDIC SIYAQ NUMBER THIRTY THOUSAND"}, +{0x1EC73,"INDIC SIYAQ NUMBER THREE"}, +{0x1EC85,"INDIC SIYAQ NUMBER THREE HUNDRED"}, +{0x1EC8E,"INDIC SIYAQ NUMBER THREE THOUSAND"}, +{0x1EC7B,"INDIC SIYAQ NUMBER TWENTY"}, +{0x1EC96,"INDIC SIYAQ NUMBER TWENTY THOUSAND"}, +{0x1EC72,"INDIC SIYAQ NUMBER TWO"}, +{0x1EC84,"INDIC SIYAQ NUMBER TWO HUNDRED"}, +{0x1EC8D,"INDIC SIYAQ NUMBER TWO THOUSAND"}, +{0x1ECAC,"INDIC SIYAQ PLACEHOLDER"}, +{0x1ECB0,"INDIC SIYAQ RUPEE MARK"}, {0x221E,"INFINITY"}, {0x29DE,"INFINITY NEGATED WITH VERTICAL BAR"}, {0x1F481,"INFORMATION DESK PERSON"}, @@ -13577,6 +15539,8 @@ {0x00A1,"INVERTED EXCLAMATION MARK"}, {0x2E18,"INVERTED INTERROBANG"}, {0x223E,"INVERTED LAZY S"}, +{0x2E45,"INVERTED LOW KAVYKA"}, +{0x2E46,"INVERTED LOW KAVYKA WITH KAVYKA ABOVE"}, {0x2127,"INVERTED OHM SIGN"}, {0x26E7,"INVERTED PENTAGRAM"}, {0x00BF,"INVERTED QUESTION MARK"}, @@ -13686,10 +15650,13 @@ {0xA9B6,"JAVANESE VOWEL SIGN WULU"}, {0xA9B7,"JAVANESE VOWEL SIGN WULU MELIK"}, {0x1F456,"JEANS"}, +{0x1F9E9,"JIGSAW PUZZLE PIECE"}, {0x2A1D,"JOIN"}, {0x1F579,"JOYSTICK"}, +{0x1F939,"JUGGLING"}, {0x26B5,"JUNO"}, {0x2643,"JUPITER"}, +{0x1F54B,"KAABA"}, {0x110BB,"KAITHI ABBREVIATION SIGN"}, {0x110C0,"KAITHI DANDA"}, {0x110C1,"KAITHI DOUBLE DANDA"}, @@ -13741,6 +15708,7 @@ {0x110AB,"KAITHI LETTER VA"}, {0x110A8,"KAITHI LETTER YA"}, {0x110BD,"KAITHI NUMBER SIGN"}, +{0x110CD,"KAITHI NUMBER SIGN ABOVE"}, {0x110BE,"KAITHI SECTION MARK"}, {0x11081,"KAITHI SIGN ANUSVARA"}, {0x11080,"KAITHI SIGN CANDRABINDU"}, @@ -13756,6 +15724,7 @@ {0x110B7,"KAITHI VOWEL SIGN O"}, {0x110B3,"KAITHI VOWEL SIGN U"}, {0x110B4,"KAITHI VOWEL SIGN UU"}, +{0x1F998,"KANGAROO"}, {0x2F1C,"KANGXI RADICAL AGAIN"}, {0x2F7D,"KANGXI RADICAL AND"}, {0x2F84,"KANGXI RADICAL ARRIVE"}, @@ -14039,6 +16008,8 @@ {0x0C81,"KANNADA SIGN CANDRABINDU"}, {0x0CF1,"KANNADA SIGN JIHVAMULIYA"}, {0x0CBC,"KANNADA SIGN NUKTA"}, +{0x0C84,"KANNADA SIGN SIDDHAM"}, +{0x0C80,"KANNADA SIGN SPACING CANDRABINDU"}, {0x0CF2,"KANNADA SIGN UPADHMANIYA"}, {0x0CCD,"KANNADA SIGN VIRAMA"}, {0x0C83,"KANNADA SIGN VISARGA"}, @@ -14229,6 +16200,7 @@ {0x10A40,"KHAROSHTHI DIGIT ONE"}, {0x10A42,"KHAROSHTHI DIGIT THREE"}, {0x10A41,"KHAROSHTHI DIGIT TWO"}, +{0x10A48,"KHAROSHTHI FRACTION ONE HALF"}, {0x10A00,"KHAROSHTHI LETTER A"}, {0x10A26,"KHAROSHTHI LETTER BA"}, {0x10A27,"KHAROSHTHI LETTER BHA"}, @@ -14260,8 +16232,10 @@ {0x10A20,"KHAROSHTHI LETTER THA"}, {0x10A1A,"KHAROSHTHI LETTER TTA"}, {0x10A1B,"KHAROSHTHI LETTER TTHA"}, +{0x10A34,"KHAROSHTHI LETTER TTTA"}, {0x10A33,"KHAROSHTHI LETTER TTTHA"}, {0x10A2C,"KHAROSHTHI LETTER VA"}, +{0x10A35,"KHAROSHTHI LETTER VHA"}, {0x10A29,"KHAROSHTHI LETTER YA"}, {0x10A30,"KHAROSHTHI LETTER ZA"}, {0x10A46,"KHAROSHTHI NUMBER ONE HUNDRED"}, @@ -14487,6 +16461,7 @@ {0x11234,"KHOJKI SIGN ANUSVARA"}, {0x11236,"KHOJKI SIGN NUKTA"}, {0x11237,"KHOJKI SIGN SHADDA"}, +{0x1123E,"KHOJKI SIGN SUKUN"}, {0x11235,"KHOJKI SIGN VIRAMA"}, {0x1122C,"KHOJKI VOWEL SIGN AA"}, {0x11231,"KHOJKI VOWEL SIGN AI"}, @@ -14574,10 +16549,14 @@ {0x1F617,"KISSING FACE"}, {0x1F61A,"KISSING FACE WITH CLOSED EYES"}, {0x1F619,"KISSING FACE WITH SMILING EYES"}, +{0x1F95D,"KIWIFRUIT"}, {0x1F428,"KOALA"}, {0x327F,"KOREAN STANDARD SYMBOL"}, +{0x2BE3,"KRONOS"}, {0x2114,"L B BAR SYMBOL"}, +{0x1F97C,"LAB COAT"}, {0x1F3F7,"LABEL"}, +{0x1F94D,"LACROSSE STICK AND BALL"}, {0x1F41E,"LADY BEETLE"}, {0xE0001,"LANGUAGE TAG"}, {0x0ECC,"LAO CANCELLATION MARK"}, @@ -14662,6 +16641,7 @@ {0x27D8,"LARGE UP TACK"}, {0x2AAB,"LARGER THAN"}, {0x2AAD,"LARGER THAN OR EQUAL TO"}, +{0x20BE,"LARI SIGN"}, {0x263E,"LAST QUARTER MOON"}, {0x1F317,"LAST QUARTER MOON SYMBOL"}, {0x1F31C,"LAST QUARTER MOON WITH FACE"}, @@ -14715,6 +16695,7 @@ {0x1E06,"LATIN CAPITAL LETTER B WITH LINE BELOW"}, {0x0243,"LATIN CAPITAL LETTER B WITH STROKE"}, {0x0182,"LATIN CAPITAL LETTER B WITH TOPBAR"}, +{0xA7B4,"LATIN CAPITAL LETTER BETA"}, {0xA746,"LATIN CAPITAL LETTER BROKEN L"}, {0x0043,"LATIN CAPITAL LETTER C"}, {0x0106,"LATIN CAPITAL LETTER C WITH ACUTE"}, @@ -14726,6 +16707,7 @@ {0x010A,"LATIN CAPITAL LETTER C WITH DOT ABOVE"}, {0x0187,"LATIN CAPITAL LETTER C WITH HOOK"}, {0x023B,"LATIN CAPITAL LETTER C WITH STROKE"}, +{0xA7B3,"LATIN CAPITAL LETTER CHI"}, {0xA76E,"LATIN CAPITAL LETTER CON"}, {0xA72C,"LATIN CAPITAL LETTER CUATRILLO"}, {0xA72E,"LATIN CAPITAL LETTER CUATRILLO WITH COMMA"}, @@ -14838,6 +16820,7 @@ {0xA76C,"LATIN CAPITAL LETTER IS"}, {0x004A,"LATIN CAPITAL LETTER J"}, {0x0134,"LATIN CAPITAL LETTER J WITH CIRCUMFLEX"}, +{0xA7B2,"LATIN CAPITAL LETTER J WITH CROSSED-TAIL"}, {0x0248,"LATIN CAPITAL LETTER J WITH STROKE"}, {0x004B,"LATIN CAPITAL LETTER K"}, {0x1E30,"LATIN CAPITAL LETTER K WITH ACUTE"}, @@ -14932,6 +16915,7 @@ {0x1E4E,"LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS"}, {0x022C,"LATIN CAPITAL LETTER O WITH TILDE AND MACRON"}, {0x01A2,"LATIN CAPITAL LETTER OI"}, +{0xA7B6,"LATIN CAPITAL LETTER OMEGA"}, {0xA74E,"LATIN CAPITAL LETTER OO"}, {0x0190,"LATIN CAPITAL LETTER OPEN E"}, {0x0186,"LATIN CAPITAL LETTER OPEN O"}, @@ -14982,6 +16966,7 @@ {0x018F,"LATIN CAPITAL LETTER SCHWA"}, {0xA7AC,"LATIN CAPITAL LETTER SCRIPT G"}, {0x1E9E,"LATIN CAPITAL LETTER SHARP S"}, +{0xA7AE,"LATIN CAPITAL LETTER SMALL CAPITAL I"}, {0x024A,"LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL"}, {0x0054,"LATIN CAPITAL LETTER T"}, {0x0164,"LATIN CAPITAL LETTER T WITH CARON"}, @@ -15041,6 +17026,7 @@ {0x1E7A,"LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS"}, {0x0172,"LATIN CAPITAL LETTER U WITH OGONEK"}, {0x016E,"LATIN CAPITAL LETTER U WITH RING ABOVE"}, +{0xA7B8,"LATIN CAPITAL LETTER U WITH STROKE"}, {0x0168,"LATIN CAPITAL LETTER U WITH TILDE"}, {0x1E78,"LATIN CAPITAL LETTER U WITH TILDE AND ACUTE"}, {0x1E74,"LATIN CAPITAL LETTER U WITH TILDE BELOW"}, @@ -15117,6 +17103,7 @@ {0x01C3,"LATIN LETTER RETROFLEX CLICK"}, {0x01AA,"LATIN LETTER REVERSED ESH LOOP"}, {0x02A2,"LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE"}, +{0xA78F,"LATIN LETTER SINOLOGICAL DOT"}, {0x1D00,"LATIN LETTER SMALL CAPITAL A"}, {0x1D01,"LATIN LETTER SMALL CAPITAL AE"}, {0x0299,"LATIN LETTER SMALL CAPITAL B"}, @@ -15143,6 +17130,7 @@ {0x1D10,"LATIN LETTER SMALL CAPITAL OPEN O"}, {0x1D15,"LATIN LETTER SMALL CAPITAL OU"}, {0x1D18,"LATIN LETTER SMALL CAPITAL P"}, +{0xA7AF,"LATIN LETTER SMALL CAPITAL Q"}, {0x0280,"LATIN LETTER SMALL CAPITAL R"}, {0xAB46,"LATIN LETTER SMALL CAPITAL R WITH RIGHT LEG"}, {0x1D0E,"LATIN LETTER SMALL CAPITAL REVERSED N"}, @@ -15224,6 +17212,7 @@ {0xAB33,"LATIN SMALL LETTER BARRED E"}, {0x0275,"LATIN SMALL LETTER BARRED O"}, {0xAB4D,"LATIN SMALL LETTER BASELINE ESH"}, +{0xA7B5,"LATIN SMALL LETTER BETA"}, {0xAB32,"LATIN SMALL LETTER BLACKLETTER E"}, {0xAB3D,"LATIN SMALL LETTER BLACKLETTER O"}, {0xAB3E,"LATIN SMALL LETTER BLACKLETTER O WITH STROKE"}, @@ -15391,6 +17380,7 @@ {0xAB40,"LATIN SMALL LETTER INVERTED OE"}, {0x0269,"LATIN SMALL LETTER IOTA"}, {0x1D7C,"LATIN SMALL LETTER IOTA WITH STROKE"}, +{0xAB61,"LATIN SMALL LETTER IOTIFIED E"}, {0xA76D,"LATIN SMALL LETTER IS"}, {0x006A,"LATIN SMALL LETTER J"}, {0x01F0,"LATIN SMALL LETTER J WITH CARON"}, @@ -15518,12 +17508,14 @@ {0x1E4F,"LATIN SMALL LETTER O WITH TILDE AND DIAERESIS"}, {0x022D,"LATIN SMALL LETTER O WITH TILDE AND MACRON"}, {0x01A3,"LATIN SMALL LETTER OI"}, +{0xA7B7,"LATIN SMALL LETTER OMEGA"}, {0xA74F,"LATIN SMALL LETTER OO"}, {0x025B,"LATIN SMALL LETTER OPEN E"}, {0x1D93,"LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK"}, {0x0254,"LATIN SMALL LETTER OPEN O"}, {0x1D97,"LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK"}, {0xAB3F,"LATIN SMALL LETTER OPEN O WITH STROKE"}, +{0xAB62,"LATIN SMALL LETTER OPEN OE"}, {0x0223,"LATIN SMALL LETTER OU"}, {0x0070,"LATIN SMALL LETTER P"}, {0x1E55,"LATIN SMALL LETTER P WITH ACUTE"}, @@ -15589,6 +17581,7 @@ {0xA7A9,"LATIN SMALL LETTER S WITH OBLIQUE STROKE"}, {0x1D8A,"LATIN SMALL LETTER S WITH PALATAL HOOK"}, {0x023F,"LATIN SMALL LETTER S WITH SWASH TAIL"}, +{0xAB60,"LATIN SMALL LETTER SAKHA YAT"}, {0xA78C,"LATIN SMALL LETTER SALTILLO"}, {0x0259,"LATIN SMALL LETTER SCHWA"}, {0x025A,"LATIN SMALL LETTER SCHWA WITH HOOK"}, @@ -15700,12 +17693,14 @@ {0x1D99,"LATIN SMALL LETTER U WITH RETROFLEX HOOK"}, {0x016F,"LATIN SMALL LETTER U WITH RING ABOVE"}, {0xAB4E,"LATIN SMALL LETTER U WITH SHORT RIGHT LEG"}, +{0xA7B9,"LATIN SMALL LETTER U WITH STROKE"}, {0x0169,"LATIN SMALL LETTER U WITH TILDE"}, {0x1E79,"LATIN SMALL LETTER U WITH TILDE AND ACUTE"}, {0x1E75,"LATIN SMALL LETTER U WITH TILDE BELOW"}, {0x1D6B,"LATIN SMALL LETTER UE"}, {0xAB50,"LATIN SMALL LETTER UI"}, {0xA778,"LATIN SMALL LETTER UM"}, +{0xAB63,"LATIN SMALL LETTER UO"}, {0x028A,"LATIN SMALL LETTER UPSILON"}, {0x1D7F,"LATIN SMALL LETTER UPSILON WITH STROKE"}, {0x0076,"LATIN SMALL LETTER V"}, @@ -15798,6 +17793,7 @@ {0x1D65,"LATIN SUBSCRIPT SMALL LETTER V"}, {0x2093,"LATIN SUBSCRIPT SMALL LETTER X"}, {0x1F343,"LEAF FLUTTERING IN WIND"}, +{0x1F96C,"LEAFY GREEN"}, {0x1F4D2,"LEDGER"}, {0x27DA,"LEFT AND RIGHT DOUBLE TURNSTILE"}, {0x27DB,"LEFT AND RIGHT TACK"}, @@ -15829,7 +17825,13 @@ {0x258B,"LEFT FIVE EIGHTHS BLOCK"}, {0x230A,"LEFT FLOOR"}, {0x25D6,"LEFT HALF BLACK CIRCLE"}, +{0x2BE8,"LEFT HALF BLACK STAR"}, {0x258C,"LEFT HALF BLOCK"}, +{0x1F907,"LEFT HALF CIRCLE"}, +{0x1F906,"LEFT HALF CIRCLE WITH DOT"}, +{0x1F903,"LEFT HALF CIRCLE WITH FOUR DOTS"}, +{0x1F904,"LEFT HALF CIRCLE WITH THREE DOTS"}, +{0x1F905,"LEFT HALF CIRCLE WITH TWO DOTS"}, {0x1F57B,"LEFT HAND TELEPHONE RECEIVER"}, {0x2E1C,"LEFT LOW PARAPHRASE BRACKET"}, {0x1F6C5,"LEFT LUGGAGE"}, @@ -15890,6 +17892,7 @@ {0x29D8,"LEFT WIGGLY FENCE"}, {0x1F58E,"LEFT WRITING HAND"}, {0x058E,"LEFT-FACING ARMENIAN ETERNITY SIGN"}, +{0x1F91B,"LEFT-FACING FIST"}, {0x0FD6,"LEFT-FACING SVASTI SIGN"}, {0x0FD8,"LEFT-FACING SVASTI SIGN WITH DOTS"}, {0x26E6,"LEFT-HANDED INTERLACED PENTAGRAM"}, @@ -15997,11 +18000,13 @@ {0x2B3B,"LEFTWARDS TWO-HEADED ARROW WITH TAIL"}, {0x2B3D,"LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE"}, {0x2B3C,"LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE"}, +{0x2BEC,"LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS"}, {0x2B34,"LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE"}, {0x2B37,"LEFTWARDS TWO-HEADED TRIPLE DASH ARROW"}, {0x219C,"LEFTWARDS WAVE ARROW"}, {0x21E6,"LEFTWARDS WHITE ARROW"}, {0x1F894,"LEFTWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD"}, +{0x1F9B5,"LEG"}, {0x1F34B,"LEMON"}, {0x264C,"LEO"}, {0x1F406,"LEOPARD"}, @@ -16755,6 +18760,7 @@ {0x1005D,"LINEAR B SYMBOL B089"}, {0x1F517,"LINK SYMBOL"}, {0x1F587,"LINKED PAPERCLIPS"}, +{0x1F981,"LION FACE"}, {0x1F5E2,"LIPS"}, {0x1F484,"LIPSTICK"}, {0x20A4,"LIRA SIGN"}, @@ -16807,6 +18813,9 @@ {0xA4FE,"LISU PUNCTUATION COMMA"}, {0xA4FF,"LISU PUNCTUATION FULL STOP"}, {0x20B6,"LIVRE TOURNOIS SIGN"}, +{0x1F98E,"LIZARD"}, +{0x1F999,"LLAMA"}, +{0x1F99E,"LOBSTER"}, {0x1F512,"LOCK"}, {0x1F50F,"LOCK WITH INK PEN"}, {0x2227,"LOGICAL AND"}, @@ -16840,12 +18849,15 @@ {0x27F9,"LONG RIGHTWARDS DOUBLE ARROW"}, {0x27FE,"LONG RIGHTWARDS DOUBLE ARROW FROM BAR"}, {0x27FF,"LONG RIGHTWARDS SQUIGGLE ARROW"}, +{0x1F9F4,"LOTION BOTTLE"}, {0x1F62D,"LOUDLY CRYING FACE"}, {0x1F3E9,"LOVE HOTEL"}, {0x1F48C,"LOVE LETTER"}, {0x204E,"LOW ASTERISK"}, {0x1F505,"LOW BRIGHTNESS SYMBOL"}, {0x301F,"LOW DOUBLE PRIME QUOTATION MARK"}, +{0x2E47,"LOW KAVYKA"}, +{0x2E48,"LOW KAVYKA WITH DOT"}, {0x005F,"LOW LINE"}, {0x2703,"LOWER BLADE SCISSORS"}, {0x2585,"LOWER FIVE EIGHTHS BLOCK"}, @@ -16875,6 +18887,7 @@ {0x2586,"LOWER THREE QUARTERS BLOCK"}, {0x25CA,"LOZENGE"}, {0x27E0,"LOZENGE DIVIDED BY HORIZONTAL RULE"}, +{0x1F9F3,"LUGGAGE"}, {0x10280,"LYCIAN LETTER A"}, {0x10299,"LYCIAN LETTER AN"}, {0x10282,"LYCIAN LETTER B"}, @@ -16931,7 +18944,10 @@ {0x10925,"LYDIAN LETTER V"}, {0x10927,"LYDIAN LETTER Y"}, {0x1093F,"LYDIAN TRIANGULAR MARK"}, +{0x1F925,"LYING FACE"}, {0x00AF,"MACRON"}, +{0x1F9D9,"MAGE"}, +{0x1F9F2,"MAGNET"}, {0x11174,"MAHAJANI ABBREVIATION SIGN"}, {0x11150,"MAHAJANI LETTER A"}, {0x1116A,"MAHAJANI LETTER BA"}, @@ -17015,6 +19031,31 @@ {0x1F002,"MAHJONG TILE WEST WIND"}, {0x1F006,"MAHJONG TILE WHITE DRAGON"}, {0x1F029,"MAHJONG TILE WINTER"}, +{0x11EF2,"MAKASAR ANGKA"}, +{0x11EF8,"MAKASAR END OF SECTION"}, +{0x11EF1,"MAKASAR LETTER A"}, +{0x11EE4,"MAKASAR LETTER BA"}, +{0x11EE9,"MAKASAR LETTER CA"}, +{0x11EE7,"MAKASAR LETTER DA"}, +{0x11EE1,"MAKASAR LETTER GA"}, +{0x11EEA,"MAKASAR LETTER JA"}, +{0x11EE0,"MAKASAR LETTER KA"}, +{0x11EEE,"MAKASAR LETTER LA"}, +{0x11EE5,"MAKASAR LETTER MA"}, +{0x11EE8,"MAKASAR LETTER NA"}, +{0x11EE2,"MAKASAR LETTER NGA"}, +{0x11EEB,"MAKASAR LETTER NYA"}, +{0x11EE3,"MAKASAR LETTER PA"}, +{0x11EED,"MAKASAR LETTER RA"}, +{0x11EF0,"MAKASAR LETTER SA"}, +{0x11EE6,"MAKASAR LETTER TA"}, +{0x11EEF,"MAKASAR LETTER VA"}, +{0x11EEC,"MAKASAR LETTER YA"}, +{0x11EF7,"MAKASAR PASSIMBANG"}, +{0x11EF5,"MAKASAR VOWEL SIGN E"}, +{0x11EF3,"MAKASAR VOWEL SIGN I"}, +{0x11EF6,"MAKASAR VOWEL SIGN O"}, +{0x11EF4,"MAKASAR VOWEL SIGN U"}, {0x0D57,"MALAYALAM AU LENGTH MARK"}, {0x0D79,"MALAYALAM DATE MARK"}, {0x0D6E,"MALAYALAM DIGIT EIGHT"}, @@ -17027,12 +19068,23 @@ {0x0D69,"MALAYALAM DIGIT THREE"}, {0x0D68,"MALAYALAM DIGIT TWO"}, {0x0D66,"MALAYALAM DIGIT ZERO"}, +{0x0D77,"MALAYALAM FRACTION ONE EIGHTH"}, +{0x0D5E,"MALAYALAM FRACTION ONE FIFTH"}, +{0x0D59,"MALAYALAM FRACTION ONE FORTIETH"}, {0x0D74,"MALAYALAM FRACTION ONE HALF"}, +{0x0D58,"MALAYALAM FRACTION ONE ONE-HUNDRED-AND-SIXTIETH"}, {0x0D73,"MALAYALAM FRACTION ONE QUARTER"}, +{0x0D76,"MALAYALAM FRACTION ONE SIXTEENTH"}, +{0x0D5C,"MALAYALAM FRACTION ONE TENTH"}, +{0x0D5B,"MALAYALAM FRACTION ONE TWENTIETH"}, +{0x0D5A,"MALAYALAM FRACTION THREE EIGHTIETHS"}, {0x0D75,"MALAYALAM FRACTION THREE QUARTERS"}, +{0x0D78,"MALAYALAM FRACTION THREE SIXTEENTHS"}, +{0x0D5D,"MALAYALAM FRACTION THREE TWENTIETHS"}, {0x0D05,"MALAYALAM LETTER A"}, {0x0D06,"MALAYALAM LETTER AA"}, {0x0D10,"MALAYALAM LETTER AI"}, +{0x0D5F,"MALAYALAM LETTER ARCHAIC II"}, {0x0D14,"MALAYALAM LETTER AU"}, {0x0D2C,"MALAYALAM LETTER BA"}, {0x0D2D,"MALAYALAM LETTER BHA"}, @@ -17041,9 +19093,12 @@ {0x0D7F,"MALAYALAM LETTER CHILLU K"}, {0x0D7D,"MALAYALAM LETTER CHILLU L"}, {0x0D7E,"MALAYALAM LETTER CHILLU LL"}, +{0x0D56,"MALAYALAM LETTER CHILLU LLL"}, +{0x0D54,"MALAYALAM LETTER CHILLU M"}, {0x0D7B,"MALAYALAM LETTER CHILLU N"}, {0x0D7A,"MALAYALAM LETTER CHILLU NN"}, {0x0D7C,"MALAYALAM LETTER CHILLU RR"}, +{0x0D55,"MALAYALAM LETTER CHILLU Y"}, {0x0D26,"MALAYALAM LETTER DA"}, {0x0D21,"MALAYALAM LETTER DDA"}, {0x0D22,"MALAYALAM LETTER DDHA"}, @@ -17097,6 +19152,10 @@ {0x0D02,"MALAYALAM SIGN ANUSVARA"}, {0x0D3D,"MALAYALAM SIGN AVAGRAHA"}, {0x0D01,"MALAYALAM SIGN CANDRABINDU"}, +{0x0D3C,"MALAYALAM SIGN CIRCULAR VIRAMA"}, +{0x0D00,"MALAYALAM SIGN COMBINING ANUSVARA ABOVE"}, +{0x0D4F,"MALAYALAM SIGN PARA"}, +{0x0D3B,"MALAYALAM SIGN VERTICAL BAR VIRAMA"}, {0x0D4D,"MALAYALAM SIGN VIRAMA"}, {0x0D03,"MALAYALAM SIGN VISARGA"}, {0x0D3E,"MALAYALAM VOWEL SIGN AA"}, @@ -17121,7 +19180,9 @@ {0x2720,"MALTESE CROSS"}, {0x1F468,"MAN"}, {0x1F46B,"MAN AND WOMAN HOLDING HANDS"}, +{0x1F57A,"MAN DANCING"}, {0x1F574,"MAN IN BUSINESS SUIT LEVITATING"}, +{0x1F935,"MAN IN TUXEDO"}, {0x1F472,"MAN WITH GUA PI MAO"}, {0x1F473,"MAN WITH TURBAN"}, {0x20BC,"MANAT SIGN"}, @@ -17154,6 +19215,7 @@ {0x0845,"MANDAIC LETTER USHENNA"}, {0x085E,"MANDAIC PUNCTUATION"}, {0x085A,"MANDAIC VOCALIZATION MARK"}, +{0x1F96D,"MANGO"}, {0x10AE5,"MANICHAEAN ABBREVIATION MARK ABOVE"}, {0x10AE6,"MANICHAEAN ABBREVIATION MARK BELOW"}, {0x10ADA,"MANICHAEAN LETTER AAYIN"}, @@ -17209,7 +19271,151 @@ {0x1F570,"MANTELPIECE CLOCK"}, {0x26EF,"MAP SYMBOL FOR LIGHTHOUSE"}, {0x1F341,"MAPLE LEAF"}, +{0x11C70,"MARCHEN HEAD MARK"}, +{0x11C88,"MARCHEN LETTER -A"}, +{0x11C8F,"MARCHEN LETTER A"}, +{0x11C80,"MARCHEN LETTER BA"}, +{0x11C76,"MARCHEN LETTER CA"}, +{0x11C77,"MARCHEN LETTER CHA"}, +{0x11C7C,"MARCHEN LETTER DA"}, +{0x11C84,"MARCHEN LETTER DZA"}, +{0x11C74,"MARCHEN LETTER GA"}, +{0x11C8E,"MARCHEN LETTER HA"}, +{0x11C78,"MARCHEN LETTER JA"}, +{0x11C72,"MARCHEN LETTER KA"}, +{0x11C73,"MARCHEN LETTER KHA"}, +{0x11C8B,"MARCHEN LETTER LA"}, +{0x11C81,"MARCHEN LETTER MA"}, +{0x11C7D,"MARCHEN LETTER NA"}, +{0x11C75,"MARCHEN LETTER NGA"}, +{0x11C79,"MARCHEN LETTER NYA"}, +{0x11C7E,"MARCHEN LETTER PA"}, +{0x11C7F,"MARCHEN LETTER PHA"}, +{0x11C8A,"MARCHEN LETTER RA"}, +{0x11C8D,"MARCHEN LETTER SA"}, +{0x11C8C,"MARCHEN LETTER SHA"}, +{0x11C7A,"MARCHEN LETTER TA"}, +{0x11C7B,"MARCHEN LETTER THA"}, +{0x11C82,"MARCHEN LETTER TSA"}, +{0x11C83,"MARCHEN LETTER TSHA"}, +{0x11C85,"MARCHEN LETTER WA"}, +{0x11C89,"MARCHEN LETTER YA"}, +{0x11C87,"MARCHEN LETTER ZA"}, +{0x11C86,"MARCHEN LETTER ZHA"}, +{0x11C71,"MARCHEN MARK SHAD"}, +{0x11CB5,"MARCHEN SIGN ANUSVARA"}, +{0x11CB6,"MARCHEN SIGN CANDRABINDU"}, +{0x11CAF,"MARCHEN SUBJOINED LETTER A"}, +{0x11CA0,"MARCHEN SUBJOINED LETTER BA"}, +{0x11C96,"MARCHEN SUBJOINED LETTER CA"}, +{0x11C97,"MARCHEN SUBJOINED LETTER CHA"}, +{0x11C9C,"MARCHEN SUBJOINED LETTER DA"}, +{0x11CA4,"MARCHEN SUBJOINED LETTER DZA"}, +{0x11C94,"MARCHEN SUBJOINED LETTER GA"}, +{0x11CAE,"MARCHEN SUBJOINED LETTER HA"}, +{0x11C98,"MARCHEN SUBJOINED LETTER JA"}, +{0x11C92,"MARCHEN SUBJOINED LETTER KA"}, +{0x11C93,"MARCHEN SUBJOINED LETTER KHA"}, +{0x11CAB,"MARCHEN SUBJOINED LETTER LA"}, +{0x11CA1,"MARCHEN SUBJOINED LETTER MA"}, +{0x11C9D,"MARCHEN SUBJOINED LETTER NA"}, +{0x11C95,"MARCHEN SUBJOINED LETTER NGA"}, +{0x11C99,"MARCHEN SUBJOINED LETTER NYA"}, +{0x11C9E,"MARCHEN SUBJOINED LETTER PA"}, +{0x11C9F,"MARCHEN SUBJOINED LETTER PHA"}, +{0x11CAA,"MARCHEN SUBJOINED LETTER RA"}, +{0x11CAD,"MARCHEN SUBJOINED LETTER SA"}, +{0x11CAC,"MARCHEN SUBJOINED LETTER SHA"}, +{0x11C9A,"MARCHEN SUBJOINED LETTER TA"}, +{0x11C9B,"MARCHEN SUBJOINED LETTER THA"}, +{0x11CA2,"MARCHEN SUBJOINED LETTER TSA"}, +{0x11CA3,"MARCHEN SUBJOINED LETTER TSHA"}, +{0x11CA5,"MARCHEN SUBJOINED LETTER WA"}, +{0x11CA9,"MARCHEN SUBJOINED LETTER YA"}, +{0x11CA7,"MARCHEN SUBJOINED LETTER ZA"}, +{0x11CA6,"MARCHEN SUBJOINED LETTER ZHA"}, +{0x11CB0,"MARCHEN VOWEL SIGN AA"}, +{0x11CB3,"MARCHEN VOWEL SIGN E"}, +{0x11CB1,"MARCHEN VOWEL SIGN I"}, +{0x11CB4,"MARCHEN VOWEL SIGN O"}, +{0x11CB2,"MARCHEN VOWEL SIGN U"}, {0x26AD,"MARRIAGE SYMBOL"}, +{0x1F94B,"MARTIAL ARTS UNIFORM"}, +{0x11D58,"MASARAM GONDI DIGIT EIGHT"}, +{0x11D55,"MASARAM GONDI DIGIT FIVE"}, +{0x11D54,"MASARAM GONDI DIGIT FOUR"}, +{0x11D59,"MASARAM GONDI DIGIT NINE"}, +{0x11D51,"MASARAM GONDI DIGIT ONE"}, +{0x11D57,"MASARAM GONDI DIGIT SEVEN"}, +{0x11D56,"MASARAM GONDI DIGIT SIX"}, +{0x11D53,"MASARAM GONDI DIGIT THREE"}, +{0x11D52,"MASARAM GONDI DIGIT TWO"}, +{0x11D50,"MASARAM GONDI DIGIT ZERO"}, +{0x11D00,"MASARAM GONDI LETTER A"}, +{0x11D01,"MASARAM GONDI LETTER AA"}, +{0x11D08,"MASARAM GONDI LETTER AI"}, +{0x11D0B,"MASARAM GONDI LETTER AU"}, +{0x11D22,"MASARAM GONDI LETTER BA"}, +{0x11D23,"MASARAM GONDI LETTER BHA"}, +{0x11D11,"MASARAM GONDI LETTER CA"}, +{0x11D12,"MASARAM GONDI LETTER CHA"}, +{0x11D1D,"MASARAM GONDI LETTER DA"}, +{0x11D18,"MASARAM GONDI LETTER DDA"}, +{0x11D19,"MASARAM GONDI LETTER DDHA"}, +{0x11D1E,"MASARAM GONDI LETTER DHA"}, +{0x11D06,"MASARAM GONDI LETTER E"}, +{0x11D0E,"MASARAM GONDI LETTER GA"}, +{0x11D0F,"MASARAM GONDI LETTER GHA"}, +{0x11D2C,"MASARAM GONDI LETTER HA"}, +{0x11D02,"MASARAM GONDI LETTER I"}, +{0x11D03,"MASARAM GONDI LETTER II"}, +{0x11D13,"MASARAM GONDI LETTER JA"}, +{0x11D14,"MASARAM GONDI LETTER JHA"}, +{0x11D2F,"MASARAM GONDI LETTER JNYA"}, +{0x11D0C,"MASARAM GONDI LETTER KA"}, +{0x11D0D,"MASARAM GONDI LETTER KHA"}, +{0x11D2E,"MASARAM GONDI LETTER KSSA"}, +{0x11D27,"MASARAM GONDI LETTER LA"}, +{0x11D2D,"MASARAM GONDI LETTER LLA"}, +{0x11D24,"MASARAM GONDI LETTER MA"}, +{0x11D1F,"MASARAM GONDI LETTER NA"}, +{0x11D10,"MASARAM GONDI LETTER NGA"}, +{0x11D1A,"MASARAM GONDI LETTER NNA"}, +{0x11D15,"MASARAM GONDI LETTER NYA"}, +{0x11D09,"MASARAM GONDI LETTER O"}, +{0x11D20,"MASARAM GONDI LETTER PA"}, +{0x11D21,"MASARAM GONDI LETTER PHA"}, +{0x11D26,"MASARAM GONDI LETTER RA"}, +{0x11D2B,"MASARAM GONDI LETTER SA"}, +{0x11D29,"MASARAM GONDI LETTER SHA"}, +{0x11D2A,"MASARAM GONDI LETTER SSA"}, +{0x11D1B,"MASARAM GONDI LETTER TA"}, +{0x11D1C,"MASARAM GONDI LETTER THA"}, +{0x11D30,"MASARAM GONDI LETTER TRA"}, +{0x11D16,"MASARAM GONDI LETTER TTA"}, +{0x11D17,"MASARAM GONDI LETTER TTHA"}, +{0x11D04,"MASARAM GONDI LETTER U"}, +{0x11D05,"MASARAM GONDI LETTER UU"}, +{0x11D28,"MASARAM GONDI LETTER VA"}, +{0x11D25,"MASARAM GONDI LETTER YA"}, +{0x11D47,"MASARAM GONDI RA-KARA"}, +{0x11D46,"MASARAM GONDI REPHA"}, +{0x11D40,"MASARAM GONDI SIGN ANUSVARA"}, +{0x11D43,"MASARAM GONDI SIGN CANDRA"}, +{0x11D44,"MASARAM GONDI SIGN HALANTA"}, +{0x11D42,"MASARAM GONDI SIGN NUKTA"}, +{0x11D41,"MASARAM GONDI SIGN VISARGA"}, +{0x11D45,"MASARAM GONDI VIRAMA"}, +{0x11D31,"MASARAM GONDI VOWEL SIGN AA"}, +{0x11D3C,"MASARAM GONDI VOWEL SIGN AI"}, +{0x11D3F,"MASARAM GONDI VOWEL SIGN AU"}, +{0x11D3A,"MASARAM GONDI VOWEL SIGN E"}, +{0x11D32,"MASARAM GONDI VOWEL SIGN I"}, +{0x11D33,"MASARAM GONDI VOWEL SIGN II"}, +{0x11D3D,"MASARAM GONDI VOWEL SIGN O"}, +{0x11D34,"MASARAM GONDI VOWEL SIGN U"}, +{0x11D35,"MASARAM GONDI VOWEL SIGN UU"}, +{0x11D36,"MASARAM GONDI VOWEL SIGN VOCALIC R"}, {0x00BA,"MASCULINE ORDINAL INDICATOR"}, {0x303C,"MASU MARK"}, {0x1D400,"MATHEMATICAL BOLD CAPITAL A"}, @@ -18221,6 +20427,26 @@ {0x1D4CE,"MATHEMATICAL SCRIPT SMALL Y"}, {0x1D4CF,"MATHEMATICAL SCRIPT SMALL Z"}, {0x1F5D6,"MAXIMIZE"}, +{0x1D2E8,"MAYAN NUMERAL EIGHT"}, +{0x1D2F2,"MAYAN NUMERAL EIGHTEEN"}, +{0x1D2EB,"MAYAN NUMERAL ELEVEN"}, +{0x1D2EF,"MAYAN NUMERAL FIFTEEN"}, +{0x1D2E5,"MAYAN NUMERAL FIVE"}, +{0x1D2E4,"MAYAN NUMERAL FOUR"}, +{0x1D2EE,"MAYAN NUMERAL FOURTEEN"}, +{0x1D2E9,"MAYAN NUMERAL NINE"}, +{0x1D2F3,"MAYAN NUMERAL NINETEEN"}, +{0x1D2E1,"MAYAN NUMERAL ONE"}, +{0x1D2E7,"MAYAN NUMERAL SEVEN"}, +{0x1D2F1,"MAYAN NUMERAL SEVENTEEN"}, +{0x1D2E6,"MAYAN NUMERAL SIX"}, +{0x1D2F0,"MAYAN NUMERAL SIXTEEN"}, +{0x1D2EA,"MAYAN NUMERAL TEN"}, +{0x1D2ED,"MAYAN NUMERAL THIRTEEN"}, +{0x1D2E3,"MAYAN NUMERAL THREE"}, +{0x1D2EC,"MAYAN NUMERAL TWELVE"}, +{0x1D2E2,"MAYAN NUMERAL TWO"}, +{0x1D2E0,"MAYAN NUMERAL ZERO"}, {0x2221,"MEASURED ANGLE"}, {0x299B,"MEASURED ANGLE OPENING LEFT"}, {0x29AB,"MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT"}, @@ -18234,6 +20460,98 @@ {0x225E,"MEASURED BY"}, {0x299D,"MEASURED RIGHT ANGLE WITH DOT"}, {0x1F356,"MEAT ON BONE"}, +{0x16E4D,"MEDEFAIDRIN CAPITAL LETTER A"}, +{0x16E5E,"MEDEFAIDRIN CAPITAL LETTER AI"}, +{0x16E44,"MEDEFAIDRIN CAPITAL LETTER ATIU"}, +{0x16E50,"MEDEFAIDRIN CAPITAL LETTER B"}, +{0x16E51,"MEDEFAIDRIN CAPITAL LETTER C"}, +{0x16E59,"MEDEFAIDRIN CAPITAL LETTER D"}, +{0x16E4F,"MEDEFAIDRIN CAPITAL LETTER E"}, +{0x16E4A,"MEDEFAIDRIN CAPITAL LETTER F"}, +{0x16E49,"MEDEFAIDRIN CAPITAL LETTER G"}, +{0x16E56,"MEDEFAIDRIN CAPITAL LETTER HP"}, +{0x16E4B,"MEDEFAIDRIN CAPITAL LETTER I"}, +{0x16E4E,"MEDEFAIDRIN CAPITAL LETTER J"}, +{0x16E4C,"MEDEFAIDRIN CAPITAL LETTER K"}, +{0x16E46,"MEDEFAIDRIN CAPITAL LETTER KP"}, +{0x16E54,"MEDEFAIDRIN CAPITAL LETTER L"}, +{0x16E40,"MEDEFAIDRIN CAPITAL LETTER M"}, +{0x16E5B,"MEDEFAIDRIN CAPITAL LETTER N"}, +{0x16E57,"MEDEFAIDRIN CAPITAL LETTER NY"}, +{0x16E5D,"MEDEFAIDRIN CAPITAL LETTER O"}, +{0x16E5A,"MEDEFAIDRIN CAPITAL LETTER OE"}, +{0x16E47,"MEDEFAIDRIN CAPITAL LETTER P"}, +{0x16E55,"MEDEFAIDRIN CAPITAL LETTER Q"}, +{0x16E5C,"MEDEFAIDRIN CAPITAL LETTER R"}, +{0x16E41,"MEDEFAIDRIN CAPITAL LETTER S"}, +{0x16E48,"MEDEFAIDRIN CAPITAL LETTER T"}, +{0x16E52,"MEDEFAIDRIN CAPITAL LETTER U"}, +{0x16E42,"MEDEFAIDRIN CAPITAL LETTER V"}, +{0x16E43,"MEDEFAIDRIN CAPITAL LETTER W"}, +{0x16E58,"MEDEFAIDRIN CAPITAL LETTER X"}, +{0x16E5F,"MEDEFAIDRIN CAPITAL LETTER Y"}, +{0x16E53,"MEDEFAIDRIN CAPITAL LETTER YU"}, +{0x16E45,"MEDEFAIDRIN CAPITAL LETTER Z"}, +{0x16E97,"MEDEFAIDRIN COMMA"}, +{0x16E88,"MEDEFAIDRIN DIGIT EIGHT"}, +{0x16E85,"MEDEFAIDRIN DIGIT FIVE"}, +{0x16E84,"MEDEFAIDRIN DIGIT FOUR"}, +{0x16E89,"MEDEFAIDRIN DIGIT NINE"}, +{0x16E81,"MEDEFAIDRIN DIGIT ONE"}, +{0x16E94,"MEDEFAIDRIN DIGIT ONE ALTERNATE FORM"}, +{0x16E87,"MEDEFAIDRIN DIGIT SEVEN"}, +{0x16E86,"MEDEFAIDRIN DIGIT SIX"}, +{0x16E83,"MEDEFAIDRIN DIGIT THREE"}, +{0x16E96,"MEDEFAIDRIN DIGIT THREE ALTERNATE FORM"}, +{0x16E82,"MEDEFAIDRIN DIGIT TWO"}, +{0x16E95,"MEDEFAIDRIN DIGIT TWO ALTERNATE FORM"}, +{0x16E80,"MEDEFAIDRIN DIGIT ZERO"}, +{0x16E9A,"MEDEFAIDRIN EXCLAMATION OH"}, +{0x16E98,"MEDEFAIDRIN FULL STOP"}, +{0x16E92,"MEDEFAIDRIN NUMBER EIGHTEEN"}, +{0x16E8B,"MEDEFAIDRIN NUMBER ELEVEN"}, +{0x16E8F,"MEDEFAIDRIN NUMBER FIFTEEN"}, +{0x16E8E,"MEDEFAIDRIN NUMBER FOURTEEN"}, +{0x16E93,"MEDEFAIDRIN NUMBER NINETEEN"}, +{0x16E91,"MEDEFAIDRIN NUMBER SEVENTEEN"}, +{0x16E90,"MEDEFAIDRIN NUMBER SIXTEEN"}, +{0x16E8A,"MEDEFAIDRIN NUMBER TEN"}, +{0x16E8D,"MEDEFAIDRIN NUMBER THIRTEEN"}, +{0x16E8C,"MEDEFAIDRIN NUMBER TWELVE"}, +{0x16E6D,"MEDEFAIDRIN SMALL LETTER A"}, +{0x16E7E,"MEDEFAIDRIN SMALL LETTER AI"}, +{0x16E64,"MEDEFAIDRIN SMALL LETTER ATIU"}, +{0x16E70,"MEDEFAIDRIN SMALL LETTER B"}, +{0x16E71,"MEDEFAIDRIN SMALL LETTER C"}, +{0x16E79,"MEDEFAIDRIN SMALL LETTER D"}, +{0x16E6F,"MEDEFAIDRIN SMALL LETTER E"}, +{0x16E6A,"MEDEFAIDRIN SMALL LETTER F"}, +{0x16E69,"MEDEFAIDRIN SMALL LETTER G"}, +{0x16E76,"MEDEFAIDRIN SMALL LETTER HP"}, +{0x16E6B,"MEDEFAIDRIN SMALL LETTER I"}, +{0x16E6E,"MEDEFAIDRIN SMALL LETTER J"}, +{0x16E6C,"MEDEFAIDRIN SMALL LETTER K"}, +{0x16E66,"MEDEFAIDRIN SMALL LETTER KP"}, +{0x16E74,"MEDEFAIDRIN SMALL LETTER L"}, +{0x16E60,"MEDEFAIDRIN SMALL LETTER M"}, +{0x16E7B,"MEDEFAIDRIN SMALL LETTER N"}, +{0x16E77,"MEDEFAIDRIN SMALL LETTER NY"}, +{0x16E7D,"MEDEFAIDRIN SMALL LETTER O"}, +{0x16E7A,"MEDEFAIDRIN SMALL LETTER OE"}, +{0x16E67,"MEDEFAIDRIN SMALL LETTER P"}, +{0x16E75,"MEDEFAIDRIN SMALL LETTER Q"}, +{0x16E7C,"MEDEFAIDRIN SMALL LETTER R"}, +{0x16E61,"MEDEFAIDRIN SMALL LETTER S"}, +{0x16E68,"MEDEFAIDRIN SMALL LETTER T"}, +{0x16E72,"MEDEFAIDRIN SMALL LETTER U"}, +{0x16E62,"MEDEFAIDRIN SMALL LETTER V"}, +{0x16E63,"MEDEFAIDRIN SMALL LETTER W"}, +{0x16E78,"MEDEFAIDRIN SMALL LETTER X"}, +{0x16E7F,"MEDEFAIDRIN SMALL LETTER Y"}, +{0x16E73,"MEDEFAIDRIN SMALL LETTER YU"}, +{0x16E65,"MEDEFAIDRIN SMALL LETTER Z"}, +{0x16E99,"MEDEFAIDRIN SYMBOL AIVA"}, +{0x2E4C,"MEDIEVAL COMMA"}, {0x26AB,"MEDIUM BLACK CIRCLE"}, {0x1F785,"MEDIUM BOLD WHITE CIRCLE"}, {0x1F7CE,"MEDIUM EIGHT POINTED BLACK STAR"}, @@ -18555,8 +20873,21 @@ {0x1E82C,"MENDE KIKAKUI SYLLABLE M195 AN"}, {0x1E835,"MENDE KIKAKUI SYLLABLE M196 SIA"}, {0x1E861,"MENDE KIKAKUI SYLLABLE M197 FUA"}, +{0x1F54E,"MENORAH WITH NINE BRANCHES"}, {0x1F6B9,"MENS SYMBOL"}, {0x263F,"MERCURY"}, +{0x109FD,"MEROITIC CURSIVE FRACTION EIGHT TWELFTHS"}, +{0x109BC,"MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS"}, +{0x109FA,"MEROITIC CURSIVE FRACTION FIVE TWELFTHS"}, +{0x109F9,"MEROITIC CURSIVE FRACTION FOUR TWELFTHS"}, +{0x109FE,"MEROITIC CURSIVE FRACTION NINE TWELFTHS"}, +{0x109BD,"MEROITIC CURSIVE FRACTION ONE HALF"}, +{0x109F6,"MEROITIC CURSIVE FRACTION ONE TWELFTH"}, +{0x109FC,"MEROITIC CURSIVE FRACTION SEVEN TWELFTHS"}, +{0x109FB,"MEROITIC CURSIVE FRACTION SIX TWELFTHS"}, +{0x109FF,"MEROITIC CURSIVE FRACTION TEN TWELFTHS"}, +{0x109F8,"MEROITIC CURSIVE FRACTION THREE TWELFTHS"}, +{0x109F7,"MEROITIC CURSIVE FRACTION TWO TWELFTHS"}, {0x109A0,"MEROITIC CURSIVE LETTER A"}, {0x109B0,"MEROITIC CURSIVE LETTER ARCHAIC SA"}, {0x109A6,"MEROITIC CURSIVE LETTER BA"}, @@ -18583,6 +20914,58 @@ {0x109A4,"MEROITIC CURSIVE LETTER YA"}, {0x109BF,"MEROITIC CURSIVE LOGOGRAM IMN"}, {0x109BE,"MEROITIC CURSIVE LOGOGRAM RMT"}, +{0x109C7,"MEROITIC CURSIVE NUMBER EIGHT"}, +{0x109D9,"MEROITIC CURSIVE NUMBER EIGHT HUNDRED"}, +{0x109F4,"MEROITIC CURSIVE NUMBER EIGHT HUNDRED THOUSAND"}, +{0x109E2,"MEROITIC CURSIVE NUMBER EIGHT THOUSAND"}, +{0x109EB,"MEROITIC CURSIVE NUMBER EIGHTY THOUSAND"}, +{0x109CD,"MEROITIC CURSIVE NUMBER FIFTY"}, +{0x109E8,"MEROITIC CURSIVE NUMBER FIFTY THOUSAND"}, +{0x109C4,"MEROITIC CURSIVE NUMBER FIVE"}, +{0x109D6,"MEROITIC CURSIVE NUMBER FIVE HUNDRED"}, +{0x109F1,"MEROITIC CURSIVE NUMBER FIVE HUNDRED THOUSAND"}, +{0x109DF,"MEROITIC CURSIVE NUMBER FIVE THOUSAND"}, +{0x109CC,"MEROITIC CURSIVE NUMBER FORTY"}, +{0x109E7,"MEROITIC CURSIVE NUMBER FORTY THOUSAND"}, +{0x109C3,"MEROITIC CURSIVE NUMBER FOUR"}, +{0x109D5,"MEROITIC CURSIVE NUMBER FOUR HUNDRED"}, +{0x109F0,"MEROITIC CURSIVE NUMBER FOUR HUNDRED THOUSAND"}, +{0x109DE,"MEROITIC CURSIVE NUMBER FOUR THOUSAND"}, +{0x109C8,"MEROITIC CURSIVE NUMBER NINE"}, +{0x109DA,"MEROITIC CURSIVE NUMBER NINE HUNDRED"}, +{0x109F5,"MEROITIC CURSIVE NUMBER NINE HUNDRED THOUSAND"}, +{0x109E3,"MEROITIC CURSIVE NUMBER NINE THOUSAND"}, +{0x109EC,"MEROITIC CURSIVE NUMBER NINETY THOUSAND"}, +{0x109C0,"MEROITIC CURSIVE NUMBER ONE"}, +{0x109D2,"MEROITIC CURSIVE NUMBER ONE HUNDRED"}, +{0x109ED,"MEROITIC CURSIVE NUMBER ONE HUNDRED THOUSAND"}, +{0x109DB,"MEROITIC CURSIVE NUMBER ONE THOUSAND"}, +{0x109C6,"MEROITIC CURSIVE NUMBER SEVEN"}, +{0x109D8,"MEROITIC CURSIVE NUMBER SEVEN HUNDRED"}, +{0x109F3,"MEROITIC CURSIVE NUMBER SEVEN HUNDRED THOUSAND"}, +{0x109E1,"MEROITIC CURSIVE NUMBER SEVEN THOUSAND"}, +{0x109CF,"MEROITIC CURSIVE NUMBER SEVENTY"}, +{0x109EA,"MEROITIC CURSIVE NUMBER SEVENTY THOUSAND"}, +{0x109C5,"MEROITIC CURSIVE NUMBER SIX"}, +{0x109D7,"MEROITIC CURSIVE NUMBER SIX HUNDRED"}, +{0x109F2,"MEROITIC CURSIVE NUMBER SIX HUNDRED THOUSAND"}, +{0x109E0,"MEROITIC CURSIVE NUMBER SIX THOUSAND"}, +{0x109CE,"MEROITIC CURSIVE NUMBER SIXTY"}, +{0x109E9,"MEROITIC CURSIVE NUMBER SIXTY THOUSAND"}, +{0x109C9,"MEROITIC CURSIVE NUMBER TEN"}, +{0x109E4,"MEROITIC CURSIVE NUMBER TEN THOUSAND"}, +{0x109CB,"MEROITIC CURSIVE NUMBER THIRTY"}, +{0x109E6,"MEROITIC CURSIVE NUMBER THIRTY THOUSAND"}, +{0x109C2,"MEROITIC CURSIVE NUMBER THREE"}, +{0x109D4,"MEROITIC CURSIVE NUMBER THREE HUNDRED"}, +{0x109EF,"MEROITIC CURSIVE NUMBER THREE HUNDRED THOUSAND"}, +{0x109DD,"MEROITIC CURSIVE NUMBER THREE THOUSAND"}, +{0x109CA,"MEROITIC CURSIVE NUMBER TWENTY"}, +{0x109E5,"MEROITIC CURSIVE NUMBER TWENTY THOUSAND"}, +{0x109C1,"MEROITIC CURSIVE NUMBER TWO"}, +{0x109D3,"MEROITIC CURSIVE NUMBER TWO HUNDRED"}, +{0x109EE,"MEROITIC CURSIVE NUMBER TWO HUNDRED THOUSAND"}, +{0x109DC,"MEROITIC CURSIVE NUMBER TWO THOUSAND"}, {0x10980,"MEROITIC HIEROGLYPHIC LETTER A"}, {0x10986,"MEROITIC HIEROGLYPHIC LETTER BA"}, {0x10987,"MEROITIC HIEROGLYPHIC LETTER BA-2"}, @@ -18615,6 +20998,7 @@ {0x10984,"MEROITIC HIEROGLYPHIC LETTER YA"}, {0x1099E,"MEROITIC HIEROGLYPHIC SYMBOL VIDJ"}, {0x1099F,"MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2"}, +{0x1F9DC,"MERPERSON"}, {0x23D1,"METRICAL BREVE"}, {0x23D2,"METRICAL LONG OVER SHORT"}, {0x23D4,"METRICAL LONG OVER TWO SHORTS"}, @@ -18759,6 +21143,7 @@ {0x16F71,"MIAO VOWEL SIGN Y"}, {0x16F72,"MIAO VOWEL SIGN YI"}, {0x00B5,"MICRO SIGN"}, +{0x1F9A0,"MICROBE"}, {0x1F3A4,"MICROPHONE"}, {0x1F52C,"MICROSCOPE"}, {0x00B7,"MIDDLE DOT"}, @@ -18782,6 +21167,7 @@ {0x1F4F4,"MOBILE PHONE OFF"}, {0x1F4F2,"MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT"}, {0x22A7,"MODELS"}, +{0x1F93B,"MODERN PENTATHLON"}, {0x11643,"MODI ABBREVIATION SIGN"}, {0x11641,"MODI DANDA"}, {0x11658,"MODI DIGIT EIGHT"}, @@ -19078,7 +21464,10 @@ {0x2A0A,"MODULO TWO SUM"}, {0x1F4B0,"MONEY BAG"}, {0x1F4B8,"MONEY WITH WINGS"}, +{0x1F911,"MONEY-MOUTH FACE"}, {0x1800,"MONGOLIAN BIRGA"}, +{0x11664,"MONGOLIAN BIRGA WITH DOUBLE ORNAMENT"}, +{0x11660,"MONGOLIAN BIRGA WITH ORNAMENT"}, {0x1804,"MONGOLIAN COLON"}, {0x1802,"MONGOLIAN COMMA"}, {0x1818,"MONGOLIAN DIGIT EIGHT"}, @@ -19091,12 +21480,15 @@ {0x1813,"MONGOLIAN DIGIT THREE"}, {0x1812,"MONGOLIAN DIGIT TWO"}, {0x1810,"MONGOLIAN DIGIT ZERO"}, +{0x11662,"MONGOLIAN DOUBLE BIRGA WITH ORNAMENT"}, {0x1801,"MONGOLIAN ELLIPSIS"}, {0x1805,"MONGOLIAN FOUR DOTS"}, {0x180B,"MONGOLIAN FREE VARIATION SELECTOR ONE"}, {0x180D,"MONGOLIAN FREE VARIATION SELECTOR THREE"}, {0x180C,"MONGOLIAN FREE VARIATION SELECTOR TWO"}, {0x1803,"MONGOLIAN FULL STOP"}, +{0x11667,"MONGOLIAN INVERTED BIRGA"}, +{0x11668,"MONGOLIAN INVERTED BIRGA WITH DOUBLE ORNAMENT"}, {0x1820,"MONGOLIAN LETTER A"}, {0x1887,"MONGOLIAN LETTER ALI GALI A"}, {0x1897,"MONGOLIAN LETTER ALI GALI AH"}, @@ -19128,6 +21520,7 @@ {0x1829,"MONGOLIAN LETTER ANG"}, {0x182A,"MONGOLIAN LETTER BA"}, {0x1834,"MONGOLIAN LETTER CHA"}, +{0x1878,"MONGOLIAN LETTER CHA WITH TWO DOTS"}, {0x1842,"MONGOLIAN LETTER CHI"}, {0x1833,"MONGOLIAN LETTER DA"}, {0x1821,"MONGOLIAN LETTER E"}, @@ -19231,8 +21624,16 @@ {0x1808,"MONGOLIAN MANCHU COMMA"}, {0x1809,"MONGOLIAN MANCHU FULL STOP"}, {0x180A,"MONGOLIAN NIRUGU"}, +{0x11661,"MONGOLIAN ROTATED BIRGA"}, +{0x11666,"MONGOLIAN ROTATED BIRGA WITH DOUBLE ORNAMENT"}, +{0x11665,"MONGOLIAN ROTATED BIRGA WITH ORNAMENT"}, {0x1807,"MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER"}, +{0x11669,"MONGOLIAN SWIRL BIRGA"}, +{0x1166B,"MONGOLIAN SWIRL BIRGA WITH DOUBLE ORNAMENT"}, +{0x1166A,"MONGOLIAN SWIRL BIRGA WITH ORNAMENT"}, {0x1806,"MONGOLIAN TODO SOFT HYPHEN"}, +{0x11663,"MONGOLIAN TRIPLE BIRGA WITH ORNAMENT"}, +{0x1166C,"MONGOLIAN TURNED SWIRL BIRGA WITH DOUBLE ORNAMENT"}, {0x180E,"MONGOLIAN VOWEL SEPARATOR"}, {0x1F412,"MONKEY"}, {0x1F435,"MONKEY FACE"}, @@ -19242,8 +21643,13 @@ {0x1F69D,"MONORAIL"}, {0x238D,"MONOSTABLE SYMBOL"}, {0x1F5F0,"MOOD BUBBLE"}, +{0x1F96E,"MOON CAKE"}, {0x1F391,"MOON VIEWING CEREMONY"}, +{0x1F54C,"MOSQUE"}, +{0x1F99F,"MOSQUITO"}, +{0x1F936,"MOTHER CHRISTMAS"}, {0x1F6E5,"MOTOR BOAT"}, +{0x1F6F5,"MOTOR SCOOTER"}, {0x1F6E3,"MOTORWAY"}, {0x1F5FB,"MOUNT FUJI"}, {0x26F0,"MOUNTAIN"}, @@ -19300,6 +21706,44 @@ {0x16A42,"MRO LETTER YO"}, {0x226B,"MUCH GREATER-THAN"}, {0x226A,"MUCH LESS-THAN"}, +{0x11280,"MULTANI LETTER A"}, +{0x1129D,"MULTANI LETTER BA"}, +{0x1129F,"MULTANI LETTER BHA"}, +{0x1128A,"MULTANI LETTER CA"}, +{0x1128B,"MULTANI LETTER CHA"}, +{0x11298,"MULTANI LETTER DA"}, +{0x11292,"MULTANI LETTER DDA"}, +{0x11293,"MULTANI LETTER DDDA"}, +{0x11294,"MULTANI LETTER DDHA"}, +{0x11299,"MULTANI LETTER DHA"}, +{0x11283,"MULTANI LETTER E"}, +{0x11286,"MULTANI LETTER GA"}, +{0x11288,"MULTANI LETTER GHA"}, +{0x112A6,"MULTANI LETTER HA"}, +{0x11281,"MULTANI LETTER I"}, +{0x1128C,"MULTANI LETTER JA"}, +{0x1128D,"MULTANI LETTER JJA"}, +{0x11284,"MULTANI LETTER KA"}, +{0x11285,"MULTANI LETTER KHA"}, +{0x112A3,"MULTANI LETTER LA"}, +{0x112A0,"MULTANI LETTER MA"}, +{0x1129A,"MULTANI LETTER NA"}, +{0x11295,"MULTANI LETTER NNA"}, +{0x1128F,"MULTANI LETTER NYA"}, +{0x1129B,"MULTANI LETTER PA"}, +{0x1129C,"MULTANI LETTER PHA"}, +{0x112A2,"MULTANI LETTER RA"}, +{0x112A8,"MULTANI LETTER RHA"}, +{0x112A7,"MULTANI LETTER RRA"}, +{0x112A5,"MULTANI LETTER SA"}, +{0x11296,"MULTANI LETTER TA"}, +{0x11297,"MULTANI LETTER THA"}, +{0x11290,"MULTANI LETTER TTA"}, +{0x11291,"MULTANI LETTER TTHA"}, +{0x11282,"MULTANI LETTER U"}, +{0x112A4,"MULTANI LETTER VA"}, +{0x112A1,"MULTANI LETTER YA"}, +{0x112A9,"MULTANI SECTION MARK"}, {0x22B8,"MULTIMAP"}, {0x1F3B6,"MULTIPLE MUSICAL NOTES"}, {0x00D7,"MULTIPLICATION SIGN"}, @@ -19425,6 +21869,17 @@ {0x1D13C,"MUSICAL SYMBOL HALF REST"}, {0x1D1A6,"MUSICAL SYMBOL HAUPTSTIMME"}, {0x1D198,"MUSICAL SYMBOL INVERTED TURN"}, +{0x1D1DE,"MUSICAL SYMBOL KIEVAN C CLEF"}, +{0x1D1E6,"MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM DOWN"}, +{0x1D1E7,"MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM UP"}, +{0x1D1DF,"MUSICAL SYMBOL KIEVAN END OF PIECE"}, +{0x1D1E0,"MUSICAL SYMBOL KIEVAN FINAL NOTE"}, +{0x1D1E8,"MUSICAL SYMBOL KIEVAN FLAT SIGN"}, +{0x1D1E3,"MUSICAL SYMBOL KIEVAN HALF NOTE"}, +{0x1D1E4,"MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM DOWN"}, +{0x1D1E5,"MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM UP"}, +{0x1D1E1,"MUSICAL SYMBOL KIEVAN RECITATIVE MARK"}, +{0x1D1E2,"MUSICAL SYMBOL KIEVAN WHOLE NOTE"}, {0x1D106,"MUSICAL SYMBOL LEFT REPEAT SIGN"}, {0x1D1B7,"MUSICAL SYMBOL LONGA"}, {0x1D1C2,"MUSICAL SYMBOL LONGA IMPERFECTA REST"}, @@ -19828,6 +22283,8 @@ {0x202F,"NARROW NO-BREAK SPACE"}, {0x206E,"NATIONAL DIGIT SHAPES"}, {0x1F3DE,"NATIONAL PARK"}, +{0x1F922,"NAUSEATED FACE"}, +{0x1F9FF,"NAZAR AMULET"}, {0x1F454,"NECKTIE"}, {0x22AF,"NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE"}, {0x24FF,"NEGATIVE CIRCLED DIGIT ZERO"}, @@ -19867,6 +22324,8 @@ {0x24ED,"NEGATIVE CIRCLED NUMBER THIRTEEN"}, {0x24EC,"NEGATIVE CIRCLED NUMBER TWELVE"}, {0x24F4,"NEGATIVE CIRCLED NUMBER TWENTY"}, +{0x1F7D8,"NEGATIVE CIRCLED SQUARE"}, +{0x1F7D6,"NEGATIVE CIRCLED TRIANGLE"}, {0x1F18E,"NEGATIVE SQUARED AB"}, {0x274E,"NEGATIVE SQUARED CROSS MARK"}, {0x1F18B,"NEGATIVE SQUARED IC"}, @@ -19909,6 +22368,8 @@ {0x2274,"NEITHER LESS-THAN NOR EQUIVALENT TO"}, {0x2278,"NEITHER LESS-THAN NOR GREATER-THAN"}, {0x2646,"NEPTUNE"}, +{0x1F913,"NERD FACE"}, +{0x2BDC,"NESSUS"}, {0x26B2,"NEUTER"}, {0x1F610,"NEUTRAL FACE"}, {0x1F311,"NEW MOON SYMBOL"}, @@ -19997,6 +22458,99 @@ {0x19B4,"NEW TAI LUE VOWEL SIGN UU"}, {0x19BC,"NEW TAI LUE VOWEL SIGN UY"}, {0x19B0,"NEW TAI LUE VOWEL SIGN VOWEL SHORTENER"}, +{0x1144F,"NEWA ABBREVIATION SIGN"}, +{0x1144D,"NEWA COMMA"}, +{0x1144B,"NEWA DANDA"}, +{0x11458,"NEWA DIGIT EIGHT"}, +{0x11455,"NEWA DIGIT FIVE"}, +{0x11454,"NEWA DIGIT FOUR"}, +{0x11459,"NEWA DIGIT NINE"}, +{0x11451,"NEWA DIGIT ONE"}, +{0x11457,"NEWA DIGIT SEVEN"}, +{0x11456,"NEWA DIGIT SIX"}, +{0x11453,"NEWA DIGIT THREE"}, +{0x11452,"NEWA DIGIT TWO"}, +{0x11450,"NEWA DIGIT ZERO"}, +{0x1144C,"NEWA DOUBLE DANDA"}, +{0x1144E,"NEWA GAP FILLER"}, +{0x1145D,"NEWA INSERTION SIGN"}, +{0x11400,"NEWA LETTER A"}, +{0x11401,"NEWA LETTER AA"}, +{0x1140B,"NEWA LETTER AI"}, +{0x1140D,"NEWA LETTER AU"}, +{0x11427,"NEWA LETTER BA"}, +{0x11428,"NEWA LETTER BHA"}, +{0x11414,"NEWA LETTER CA"}, +{0x11415,"NEWA LETTER CHA"}, +{0x11421,"NEWA LETTER DA"}, +{0x1141C,"NEWA LETTER DDA"}, +{0x1141D,"NEWA LETTER DDHA"}, +{0x11422,"NEWA LETTER DHA"}, +{0x1140A,"NEWA LETTER E"}, +{0x11410,"NEWA LETTER GA"}, +{0x11411,"NEWA LETTER GHA"}, +{0x11434,"NEWA LETTER HA"}, +{0x11402,"NEWA LETTER I"}, +{0x11403,"NEWA LETTER II"}, +{0x11416,"NEWA LETTER JA"}, +{0x11417,"NEWA LETTER JHA"}, +{0x1140E,"NEWA LETTER KA"}, +{0x1140F,"NEWA LETTER KHA"}, +{0x1142E,"NEWA LETTER LA"}, +{0x1142F,"NEWA LETTER LHA"}, +{0x11429,"NEWA LETTER MA"}, +{0x1142A,"NEWA LETTER MHA"}, +{0x11423,"NEWA LETTER NA"}, +{0x11412,"NEWA LETTER NGA"}, +{0x11413,"NEWA LETTER NGHA"}, +{0x11424,"NEWA LETTER NHA"}, +{0x1141E,"NEWA LETTER NNA"}, +{0x11418,"NEWA LETTER NYA"}, +{0x11419,"NEWA LETTER NYHA"}, +{0x1140C,"NEWA LETTER O"}, +{0x11425,"NEWA LETTER PA"}, +{0x11426,"NEWA LETTER PHA"}, +{0x1142C,"NEWA LETTER RA"}, +{0x1142D,"NEWA LETTER RHA"}, +{0x11433,"NEWA LETTER SA"}, +{0x11431,"NEWA LETTER SHA"}, +{0x11432,"NEWA LETTER SSA"}, +{0x1141F,"NEWA LETTER TA"}, +{0x11420,"NEWA LETTER THA"}, +{0x1141A,"NEWA LETTER TTA"}, +{0x1141B,"NEWA LETTER TTHA"}, +{0x11404,"NEWA LETTER U"}, +{0x11405,"NEWA LETTER UU"}, +{0x11408,"NEWA LETTER VOCALIC L"}, +{0x11409,"NEWA LETTER VOCALIC LL"}, +{0x11406,"NEWA LETTER VOCALIC R"}, +{0x11407,"NEWA LETTER VOCALIC RR"}, +{0x11430,"NEWA LETTER WA"}, +{0x1142B,"NEWA LETTER YA"}, +{0x11449,"NEWA OM"}, +{0x1145B,"NEWA PLACEHOLDER MARK"}, +{0x1145E,"NEWA SANDHI MARK"}, +{0x1144A,"NEWA SIDDHI"}, +{0x11444,"NEWA SIGN ANUSVARA"}, +{0x11447,"NEWA SIGN AVAGRAHA"}, +{0x11443,"NEWA SIGN CANDRABINDU"}, +{0x11448,"NEWA SIGN FINAL ANUSVARA"}, +{0x11446,"NEWA SIGN NUKTA"}, +{0x11442,"NEWA SIGN VIRAMA"}, +{0x11445,"NEWA SIGN VISARGA"}, +{0x11435,"NEWA VOWEL SIGN AA"}, +{0x1143F,"NEWA VOWEL SIGN AI"}, +{0x11441,"NEWA VOWEL SIGN AU"}, +{0x1143E,"NEWA VOWEL SIGN E"}, +{0x11436,"NEWA VOWEL SIGN I"}, +{0x11437,"NEWA VOWEL SIGN II"}, +{0x11440,"NEWA VOWEL SIGN O"}, +{0x11438,"NEWA VOWEL SIGN U"}, +{0x11439,"NEWA VOWEL SIGN UU"}, +{0x1143C,"NEWA VOWEL SIGN VOCALIC L"}, +{0x1143D,"NEWA VOWEL SIGN VOCALIC LL"}, +{0x1143A,"NEWA VOWEL SIGN VOCALIC R"}, +{0x1143B,"NEWA VOWEL SIGN VOCALIC RR"}, {0x2B92,"NEWLINE LEFT"}, {0x2B93,"NEWLINE RIGHT"}, {0x1F4F0,"NEWSPAPER"}, @@ -20012,6 +22566,7 @@ {0x07EC,"NKO COMBINING SHORT LOW TONE"}, {0x07ED,"NKO COMBINING SHORT RISING TONE"}, {0x07F8,"NKO COMMA"}, +{0x07FD,"NKO DANTAYALAN"}, {0x07C8,"NKO DIGIT EIGHT"}, {0x07C5,"NKO DIGIT FIVE"}, {0x07C4,"NKO DIGIT FOUR"}, @@ -20022,6 +22577,7 @@ {0x07C3,"NKO DIGIT THREE"}, {0x07C2,"NKO DIGIT TWO"}, {0x07C0,"NKO DIGIT ZERO"}, +{0x07FE,"NKO DOROME SIGN"}, {0x07F9,"NKO EXCLAMATION MARK"}, {0x07F4,"NKO HIGH TONE APOSTROPHE"}, {0x07FA,"NKO LAJANYALAN"}, @@ -20061,6 +22617,7 @@ {0x07F5,"NKO LOW TONE APOSTROPHE"}, {0x07F7,"NKO SYMBOL GBAKURUNEN"}, {0x07F6,"NKO SYMBOL OO DENNEN"}, +{0x07FF,"NKO TAMAN SIGN"}, {0x1F6B3,"NO BICYCLES"}, {0x26D4,"NO ENTRY"}, {0x1F6AB,"NO ENTRY SIGN"}, @@ -20071,6 +22628,7 @@ {0x1F6AD,"NO SMOKING SYMBOL"}, {0x00A0,"NO-BREAK SPACE"}, {0x206F,"NOMINAL DIGIT SHAPES"}, +{0x1018E,"NOMISMA SIGN"}, {0x2011,"NON-BREAKING HYPHEN"}, {0x1F6B1,"NON-POTABLE WATER SYMBOL"}, {0x2ADD,"NONFORKING"}, @@ -20162,10 +22720,408 @@ {0x2493,"NUMBER TWELVE FULL STOP"}, {0x249B,"NUMBER TWENTY FULL STOP"}, {0x2116,"NUMERO SIGN"}, +{0x1B170,"NUSHU CHARACTER-1B170"}, +{0x1B171,"NUSHU CHARACTER-1B171"}, +{0x1B172,"NUSHU CHARACTER-1B172"}, +{0x1B173,"NUSHU CHARACTER-1B173"}, +{0x1B174,"NUSHU CHARACTER-1B174"}, +{0x1B175,"NUSHU CHARACTER-1B175"}, +{0x1B176,"NUSHU CHARACTER-1B176"}, +{0x1B177,"NUSHU CHARACTER-1B177"}, +{0x1B178,"NUSHU CHARACTER-1B178"}, +{0x1B179,"NUSHU CHARACTER-1B179"}, +{0x1B17A,"NUSHU CHARACTER-1B17A"}, +{0x1B17B,"NUSHU CHARACTER-1B17B"}, +{0x1B17C,"NUSHU CHARACTER-1B17C"}, +{0x1B17D,"NUSHU CHARACTER-1B17D"}, +{0x1B17E,"NUSHU CHARACTER-1B17E"}, +{0x1B17F,"NUSHU CHARACTER-1B17F"}, +{0x1B180,"NUSHU CHARACTER-1B180"}, +{0x1B181,"NUSHU CHARACTER-1B181"}, +{0x1B182,"NUSHU CHARACTER-1B182"}, +{0x1B183,"NUSHU CHARACTER-1B183"}, +{0x1B184,"NUSHU CHARACTER-1B184"}, +{0x1B185,"NUSHU CHARACTER-1B185"}, +{0x1B186,"NUSHU CHARACTER-1B186"}, +{0x1B187,"NUSHU CHARACTER-1B187"}, +{0x1B188,"NUSHU CHARACTER-1B188"}, +{0x1B189,"NUSHU CHARACTER-1B189"}, +{0x1B18A,"NUSHU CHARACTER-1B18A"}, +{0x1B18B,"NUSHU CHARACTER-1B18B"}, +{0x1B18C,"NUSHU CHARACTER-1B18C"}, +{0x1B18D,"NUSHU CHARACTER-1B18D"}, +{0x1B18E,"NUSHU CHARACTER-1B18E"}, +{0x1B18F,"NUSHU CHARACTER-1B18F"}, +{0x1B190,"NUSHU CHARACTER-1B190"}, +{0x1B191,"NUSHU CHARACTER-1B191"}, +{0x1B192,"NUSHU CHARACTER-1B192"}, +{0x1B193,"NUSHU CHARACTER-1B193"}, +{0x1B194,"NUSHU CHARACTER-1B194"}, +{0x1B195,"NUSHU CHARACTER-1B195"}, +{0x1B196,"NUSHU CHARACTER-1B196"}, +{0x1B197,"NUSHU CHARACTER-1B197"}, +{0x1B198,"NUSHU CHARACTER-1B198"}, +{0x1B199,"NUSHU CHARACTER-1B199"}, +{0x1B19A,"NUSHU CHARACTER-1B19A"}, +{0x1B19B,"NUSHU CHARACTER-1B19B"}, +{0x1B19C,"NUSHU CHARACTER-1B19C"}, +{0x1B19D,"NUSHU CHARACTER-1B19D"}, +{0x1B19E,"NUSHU CHARACTER-1B19E"}, +{0x1B19F,"NUSHU CHARACTER-1B19F"}, +{0x1B1A0,"NUSHU CHARACTER-1B1A0"}, +{0x1B1A1,"NUSHU CHARACTER-1B1A1"}, +{0x1B1A2,"NUSHU CHARACTER-1B1A2"}, +{0x1B1A3,"NUSHU CHARACTER-1B1A3"}, +{0x1B1A4,"NUSHU CHARACTER-1B1A4"}, +{0x1B1A5,"NUSHU CHARACTER-1B1A5"}, +{0x1B1A6,"NUSHU CHARACTER-1B1A6"}, +{0x1B1A7,"NUSHU CHARACTER-1B1A7"}, +{0x1B1A8,"NUSHU CHARACTER-1B1A8"}, +{0x1B1A9,"NUSHU CHARACTER-1B1A9"}, +{0x1B1AA,"NUSHU CHARACTER-1B1AA"}, +{0x1B1AB,"NUSHU CHARACTER-1B1AB"}, +{0x1B1AC,"NUSHU CHARACTER-1B1AC"}, +{0x1B1AD,"NUSHU CHARACTER-1B1AD"}, +{0x1B1AE,"NUSHU CHARACTER-1B1AE"}, +{0x1B1AF,"NUSHU CHARACTER-1B1AF"}, +{0x1B1B0,"NUSHU CHARACTER-1B1B0"}, +{0x1B1B1,"NUSHU CHARACTER-1B1B1"}, +{0x1B1B2,"NUSHU CHARACTER-1B1B2"}, +{0x1B1B3,"NUSHU CHARACTER-1B1B3"}, +{0x1B1B4,"NUSHU CHARACTER-1B1B4"}, +{0x1B1B5,"NUSHU CHARACTER-1B1B5"}, +{0x1B1B6,"NUSHU CHARACTER-1B1B6"}, +{0x1B1B7,"NUSHU CHARACTER-1B1B7"}, +{0x1B1B8,"NUSHU CHARACTER-1B1B8"}, +{0x1B1B9,"NUSHU CHARACTER-1B1B9"}, +{0x1B1BA,"NUSHU CHARACTER-1B1BA"}, +{0x1B1BB,"NUSHU CHARACTER-1B1BB"}, +{0x1B1BC,"NUSHU CHARACTER-1B1BC"}, +{0x1B1BD,"NUSHU CHARACTER-1B1BD"}, +{0x1B1BE,"NUSHU CHARACTER-1B1BE"}, +{0x1B1BF,"NUSHU CHARACTER-1B1BF"}, +{0x1B1C0,"NUSHU CHARACTER-1B1C0"}, +{0x1B1C1,"NUSHU CHARACTER-1B1C1"}, +{0x1B1C2,"NUSHU CHARACTER-1B1C2"}, +{0x1B1C3,"NUSHU CHARACTER-1B1C3"}, +{0x1B1C4,"NUSHU CHARACTER-1B1C4"}, +{0x1B1C5,"NUSHU CHARACTER-1B1C5"}, +{0x1B1C6,"NUSHU CHARACTER-1B1C6"}, +{0x1B1C7,"NUSHU CHARACTER-1B1C7"}, +{0x1B1C8,"NUSHU CHARACTER-1B1C8"}, +{0x1B1C9,"NUSHU CHARACTER-1B1C9"}, +{0x1B1CA,"NUSHU CHARACTER-1B1CA"}, +{0x1B1CB,"NUSHU CHARACTER-1B1CB"}, +{0x1B1CC,"NUSHU CHARACTER-1B1CC"}, +{0x1B1CD,"NUSHU CHARACTER-1B1CD"}, +{0x1B1CE,"NUSHU CHARACTER-1B1CE"}, +{0x1B1CF,"NUSHU CHARACTER-1B1CF"}, +{0x1B1D0,"NUSHU CHARACTER-1B1D0"}, +{0x1B1D1,"NUSHU CHARACTER-1B1D1"}, +{0x1B1D2,"NUSHU CHARACTER-1B1D2"}, +{0x1B1D3,"NUSHU CHARACTER-1B1D3"}, +{0x1B1D4,"NUSHU CHARACTER-1B1D4"}, +{0x1B1D5,"NUSHU CHARACTER-1B1D5"}, +{0x1B1D6,"NUSHU CHARACTER-1B1D6"}, +{0x1B1D7,"NUSHU CHARACTER-1B1D7"}, +{0x1B1D8,"NUSHU CHARACTER-1B1D8"}, +{0x1B1D9,"NUSHU CHARACTER-1B1D9"}, +{0x1B1DA,"NUSHU CHARACTER-1B1DA"}, +{0x1B1DB,"NUSHU CHARACTER-1B1DB"}, +{0x1B1DC,"NUSHU CHARACTER-1B1DC"}, +{0x1B1DD,"NUSHU CHARACTER-1B1DD"}, +{0x1B1DE,"NUSHU CHARACTER-1B1DE"}, +{0x1B1DF,"NUSHU CHARACTER-1B1DF"}, +{0x1B1E0,"NUSHU CHARACTER-1B1E0"}, +{0x1B1E1,"NUSHU CHARACTER-1B1E1"}, +{0x1B1E2,"NUSHU CHARACTER-1B1E2"}, +{0x1B1E3,"NUSHU CHARACTER-1B1E3"}, +{0x1B1E4,"NUSHU CHARACTER-1B1E4"}, +{0x1B1E5,"NUSHU CHARACTER-1B1E5"}, +{0x1B1E6,"NUSHU CHARACTER-1B1E6"}, +{0x1B1E7,"NUSHU CHARACTER-1B1E7"}, +{0x1B1E8,"NUSHU CHARACTER-1B1E8"}, +{0x1B1E9,"NUSHU CHARACTER-1B1E9"}, +{0x1B1EA,"NUSHU CHARACTER-1B1EA"}, +{0x1B1EB,"NUSHU CHARACTER-1B1EB"}, +{0x1B1EC,"NUSHU CHARACTER-1B1EC"}, +{0x1B1ED,"NUSHU CHARACTER-1B1ED"}, +{0x1B1EE,"NUSHU CHARACTER-1B1EE"}, +{0x1B1EF,"NUSHU CHARACTER-1B1EF"}, +{0x1B1F0,"NUSHU CHARACTER-1B1F0"}, +{0x1B1F1,"NUSHU CHARACTER-1B1F1"}, +{0x1B1F2,"NUSHU CHARACTER-1B1F2"}, +{0x1B1F3,"NUSHU CHARACTER-1B1F3"}, +{0x1B1F4,"NUSHU CHARACTER-1B1F4"}, +{0x1B1F5,"NUSHU CHARACTER-1B1F5"}, +{0x1B1F6,"NUSHU CHARACTER-1B1F6"}, +{0x1B1F7,"NUSHU CHARACTER-1B1F7"}, +{0x1B1F8,"NUSHU CHARACTER-1B1F8"}, +{0x1B1F9,"NUSHU CHARACTER-1B1F9"}, +{0x1B1FA,"NUSHU CHARACTER-1B1FA"}, +{0x1B1FB,"NUSHU CHARACTER-1B1FB"}, +{0x1B1FC,"NUSHU CHARACTER-1B1FC"}, +{0x1B1FD,"NUSHU CHARACTER-1B1FD"}, +{0x1B1FE,"NUSHU CHARACTER-1B1FE"}, +{0x1B1FF,"NUSHU CHARACTER-1B1FF"}, +{0x1B200,"NUSHU CHARACTER-1B200"}, +{0x1B201,"NUSHU CHARACTER-1B201"}, +{0x1B202,"NUSHU CHARACTER-1B202"}, +{0x1B203,"NUSHU CHARACTER-1B203"}, +{0x1B204,"NUSHU CHARACTER-1B204"}, +{0x1B205,"NUSHU CHARACTER-1B205"}, +{0x1B206,"NUSHU CHARACTER-1B206"}, +{0x1B207,"NUSHU CHARACTER-1B207"}, +{0x1B208,"NUSHU CHARACTER-1B208"}, +{0x1B209,"NUSHU CHARACTER-1B209"}, +{0x1B20A,"NUSHU CHARACTER-1B20A"}, +{0x1B20B,"NUSHU CHARACTER-1B20B"}, +{0x1B20C,"NUSHU CHARACTER-1B20C"}, +{0x1B20D,"NUSHU CHARACTER-1B20D"}, +{0x1B20E,"NUSHU CHARACTER-1B20E"}, +{0x1B20F,"NUSHU CHARACTER-1B20F"}, +{0x1B210,"NUSHU CHARACTER-1B210"}, +{0x1B211,"NUSHU CHARACTER-1B211"}, +{0x1B212,"NUSHU CHARACTER-1B212"}, +{0x1B213,"NUSHU CHARACTER-1B213"}, +{0x1B214,"NUSHU CHARACTER-1B214"}, +{0x1B215,"NUSHU CHARACTER-1B215"}, +{0x1B216,"NUSHU CHARACTER-1B216"}, +{0x1B217,"NUSHU CHARACTER-1B217"}, +{0x1B218,"NUSHU CHARACTER-1B218"}, +{0x1B219,"NUSHU CHARACTER-1B219"}, +{0x1B21A,"NUSHU CHARACTER-1B21A"}, +{0x1B21B,"NUSHU CHARACTER-1B21B"}, +{0x1B21C,"NUSHU CHARACTER-1B21C"}, +{0x1B21D,"NUSHU CHARACTER-1B21D"}, +{0x1B21E,"NUSHU CHARACTER-1B21E"}, +{0x1B21F,"NUSHU CHARACTER-1B21F"}, +{0x1B220,"NUSHU CHARACTER-1B220"}, +{0x1B221,"NUSHU CHARACTER-1B221"}, +{0x1B222,"NUSHU CHARACTER-1B222"}, +{0x1B223,"NUSHU CHARACTER-1B223"}, +{0x1B224,"NUSHU CHARACTER-1B224"}, +{0x1B225,"NUSHU CHARACTER-1B225"}, +{0x1B226,"NUSHU CHARACTER-1B226"}, +{0x1B227,"NUSHU CHARACTER-1B227"}, +{0x1B228,"NUSHU CHARACTER-1B228"}, +{0x1B229,"NUSHU CHARACTER-1B229"}, +{0x1B22A,"NUSHU CHARACTER-1B22A"}, +{0x1B22B,"NUSHU CHARACTER-1B22B"}, +{0x1B22C,"NUSHU CHARACTER-1B22C"}, +{0x1B22D,"NUSHU CHARACTER-1B22D"}, +{0x1B22E,"NUSHU CHARACTER-1B22E"}, +{0x1B22F,"NUSHU CHARACTER-1B22F"}, +{0x1B230,"NUSHU CHARACTER-1B230"}, +{0x1B231,"NUSHU CHARACTER-1B231"}, +{0x1B232,"NUSHU CHARACTER-1B232"}, +{0x1B233,"NUSHU CHARACTER-1B233"}, +{0x1B234,"NUSHU CHARACTER-1B234"}, +{0x1B235,"NUSHU CHARACTER-1B235"}, +{0x1B236,"NUSHU CHARACTER-1B236"}, +{0x1B237,"NUSHU CHARACTER-1B237"}, +{0x1B238,"NUSHU CHARACTER-1B238"}, +{0x1B239,"NUSHU CHARACTER-1B239"}, +{0x1B23A,"NUSHU CHARACTER-1B23A"}, +{0x1B23B,"NUSHU CHARACTER-1B23B"}, +{0x1B23C,"NUSHU CHARACTER-1B23C"}, +{0x1B23D,"NUSHU CHARACTER-1B23D"}, +{0x1B23E,"NUSHU CHARACTER-1B23E"}, +{0x1B23F,"NUSHU CHARACTER-1B23F"}, +{0x1B240,"NUSHU CHARACTER-1B240"}, +{0x1B241,"NUSHU CHARACTER-1B241"}, +{0x1B242,"NUSHU CHARACTER-1B242"}, +{0x1B243,"NUSHU CHARACTER-1B243"}, +{0x1B244,"NUSHU CHARACTER-1B244"}, +{0x1B245,"NUSHU CHARACTER-1B245"}, +{0x1B246,"NUSHU CHARACTER-1B246"}, +{0x1B247,"NUSHU CHARACTER-1B247"}, +{0x1B248,"NUSHU CHARACTER-1B248"}, +{0x1B249,"NUSHU CHARACTER-1B249"}, +{0x1B24A,"NUSHU CHARACTER-1B24A"}, +{0x1B24B,"NUSHU CHARACTER-1B24B"}, +{0x1B24C,"NUSHU CHARACTER-1B24C"}, +{0x1B24D,"NUSHU CHARACTER-1B24D"}, +{0x1B24E,"NUSHU CHARACTER-1B24E"}, +{0x1B24F,"NUSHU CHARACTER-1B24F"}, +{0x1B250,"NUSHU CHARACTER-1B250"}, +{0x1B251,"NUSHU CHARACTER-1B251"}, +{0x1B252,"NUSHU CHARACTER-1B252"}, +{0x1B253,"NUSHU CHARACTER-1B253"}, +{0x1B254,"NUSHU CHARACTER-1B254"}, +{0x1B255,"NUSHU CHARACTER-1B255"}, +{0x1B256,"NUSHU CHARACTER-1B256"}, +{0x1B257,"NUSHU CHARACTER-1B257"}, +{0x1B258,"NUSHU CHARACTER-1B258"}, +{0x1B259,"NUSHU CHARACTER-1B259"}, +{0x1B25A,"NUSHU CHARACTER-1B25A"}, +{0x1B25B,"NUSHU CHARACTER-1B25B"}, +{0x1B25C,"NUSHU CHARACTER-1B25C"}, +{0x1B25D,"NUSHU CHARACTER-1B25D"}, +{0x1B25E,"NUSHU CHARACTER-1B25E"}, +{0x1B25F,"NUSHU CHARACTER-1B25F"}, +{0x1B260,"NUSHU CHARACTER-1B260"}, +{0x1B261,"NUSHU CHARACTER-1B261"}, +{0x1B262,"NUSHU CHARACTER-1B262"}, +{0x1B263,"NUSHU CHARACTER-1B263"}, +{0x1B264,"NUSHU CHARACTER-1B264"}, +{0x1B265,"NUSHU CHARACTER-1B265"}, +{0x1B266,"NUSHU CHARACTER-1B266"}, +{0x1B267,"NUSHU CHARACTER-1B267"}, +{0x1B268,"NUSHU CHARACTER-1B268"}, +{0x1B269,"NUSHU CHARACTER-1B269"}, +{0x1B26A,"NUSHU CHARACTER-1B26A"}, +{0x1B26B,"NUSHU CHARACTER-1B26B"}, +{0x1B26C,"NUSHU CHARACTER-1B26C"}, +{0x1B26D,"NUSHU CHARACTER-1B26D"}, +{0x1B26E,"NUSHU CHARACTER-1B26E"}, +{0x1B26F,"NUSHU CHARACTER-1B26F"}, +{0x1B270,"NUSHU CHARACTER-1B270"}, +{0x1B271,"NUSHU CHARACTER-1B271"}, +{0x1B272,"NUSHU CHARACTER-1B272"}, +{0x1B273,"NUSHU CHARACTER-1B273"}, +{0x1B274,"NUSHU CHARACTER-1B274"}, +{0x1B275,"NUSHU CHARACTER-1B275"}, +{0x1B276,"NUSHU CHARACTER-1B276"}, +{0x1B277,"NUSHU CHARACTER-1B277"}, +{0x1B278,"NUSHU CHARACTER-1B278"}, +{0x1B279,"NUSHU CHARACTER-1B279"}, +{0x1B27A,"NUSHU CHARACTER-1B27A"}, +{0x1B27B,"NUSHU CHARACTER-1B27B"}, +{0x1B27C,"NUSHU CHARACTER-1B27C"}, +{0x1B27D,"NUSHU CHARACTER-1B27D"}, +{0x1B27E,"NUSHU CHARACTER-1B27E"}, +{0x1B27F,"NUSHU CHARACTER-1B27F"}, +{0x1B280,"NUSHU CHARACTER-1B280"}, +{0x1B281,"NUSHU CHARACTER-1B281"}, +{0x1B282,"NUSHU CHARACTER-1B282"}, +{0x1B283,"NUSHU CHARACTER-1B283"}, +{0x1B284,"NUSHU CHARACTER-1B284"}, +{0x1B285,"NUSHU CHARACTER-1B285"}, +{0x1B286,"NUSHU CHARACTER-1B286"}, +{0x1B287,"NUSHU CHARACTER-1B287"}, +{0x1B288,"NUSHU CHARACTER-1B288"}, +{0x1B289,"NUSHU CHARACTER-1B289"}, +{0x1B28A,"NUSHU CHARACTER-1B28A"}, +{0x1B28B,"NUSHU CHARACTER-1B28B"}, +{0x1B28C,"NUSHU CHARACTER-1B28C"}, +{0x1B28D,"NUSHU CHARACTER-1B28D"}, +{0x1B28E,"NUSHU CHARACTER-1B28E"}, +{0x1B28F,"NUSHU CHARACTER-1B28F"}, +{0x1B290,"NUSHU CHARACTER-1B290"}, +{0x1B291,"NUSHU CHARACTER-1B291"}, +{0x1B292,"NUSHU CHARACTER-1B292"}, +{0x1B293,"NUSHU CHARACTER-1B293"}, +{0x1B294,"NUSHU CHARACTER-1B294"}, +{0x1B295,"NUSHU CHARACTER-1B295"}, +{0x1B296,"NUSHU CHARACTER-1B296"}, +{0x1B297,"NUSHU CHARACTER-1B297"}, +{0x1B298,"NUSHU CHARACTER-1B298"}, +{0x1B299,"NUSHU CHARACTER-1B299"}, +{0x1B29A,"NUSHU CHARACTER-1B29A"}, +{0x1B29B,"NUSHU CHARACTER-1B29B"}, +{0x1B29C,"NUSHU CHARACTER-1B29C"}, +{0x1B29D,"NUSHU CHARACTER-1B29D"}, +{0x1B29E,"NUSHU CHARACTER-1B29E"}, +{0x1B29F,"NUSHU CHARACTER-1B29F"}, +{0x1B2A0,"NUSHU CHARACTER-1B2A0"}, +{0x1B2A1,"NUSHU CHARACTER-1B2A1"}, +{0x1B2A2,"NUSHU CHARACTER-1B2A2"}, +{0x1B2A3,"NUSHU CHARACTER-1B2A3"}, +{0x1B2A4,"NUSHU CHARACTER-1B2A4"}, +{0x1B2A5,"NUSHU CHARACTER-1B2A5"}, +{0x1B2A6,"NUSHU CHARACTER-1B2A6"}, +{0x1B2A7,"NUSHU CHARACTER-1B2A7"}, +{0x1B2A8,"NUSHU CHARACTER-1B2A8"}, +{0x1B2A9,"NUSHU CHARACTER-1B2A9"}, +{0x1B2AA,"NUSHU CHARACTER-1B2AA"}, +{0x1B2AB,"NUSHU CHARACTER-1B2AB"}, +{0x1B2AC,"NUSHU CHARACTER-1B2AC"}, +{0x1B2AD,"NUSHU CHARACTER-1B2AD"}, +{0x1B2AE,"NUSHU CHARACTER-1B2AE"}, +{0x1B2AF,"NUSHU CHARACTER-1B2AF"}, +{0x1B2B0,"NUSHU CHARACTER-1B2B0"}, +{0x1B2B1,"NUSHU CHARACTER-1B2B1"}, +{0x1B2B2,"NUSHU CHARACTER-1B2B2"}, +{0x1B2B3,"NUSHU CHARACTER-1B2B3"}, +{0x1B2B4,"NUSHU CHARACTER-1B2B4"}, +{0x1B2B5,"NUSHU CHARACTER-1B2B5"}, +{0x1B2B6,"NUSHU CHARACTER-1B2B6"}, +{0x1B2B7,"NUSHU CHARACTER-1B2B7"}, +{0x1B2B8,"NUSHU CHARACTER-1B2B8"}, +{0x1B2B9,"NUSHU CHARACTER-1B2B9"}, +{0x1B2BA,"NUSHU CHARACTER-1B2BA"}, +{0x1B2BB,"NUSHU CHARACTER-1B2BB"}, +{0x1B2BC,"NUSHU CHARACTER-1B2BC"}, +{0x1B2BD,"NUSHU CHARACTER-1B2BD"}, +{0x1B2BE,"NUSHU CHARACTER-1B2BE"}, +{0x1B2BF,"NUSHU CHARACTER-1B2BF"}, +{0x1B2C0,"NUSHU CHARACTER-1B2C0"}, +{0x1B2C1,"NUSHU CHARACTER-1B2C1"}, +{0x1B2C2,"NUSHU CHARACTER-1B2C2"}, +{0x1B2C3,"NUSHU CHARACTER-1B2C3"}, +{0x1B2C4,"NUSHU CHARACTER-1B2C4"}, +{0x1B2C5,"NUSHU CHARACTER-1B2C5"}, +{0x1B2C6,"NUSHU CHARACTER-1B2C6"}, +{0x1B2C7,"NUSHU CHARACTER-1B2C7"}, +{0x1B2C8,"NUSHU CHARACTER-1B2C8"}, +{0x1B2C9,"NUSHU CHARACTER-1B2C9"}, +{0x1B2CA,"NUSHU CHARACTER-1B2CA"}, +{0x1B2CB,"NUSHU CHARACTER-1B2CB"}, +{0x1B2CC,"NUSHU CHARACTER-1B2CC"}, +{0x1B2CD,"NUSHU CHARACTER-1B2CD"}, +{0x1B2CE,"NUSHU CHARACTER-1B2CE"}, +{0x1B2CF,"NUSHU CHARACTER-1B2CF"}, +{0x1B2D0,"NUSHU CHARACTER-1B2D0"}, +{0x1B2D1,"NUSHU CHARACTER-1B2D1"}, +{0x1B2D2,"NUSHU CHARACTER-1B2D2"}, +{0x1B2D3,"NUSHU CHARACTER-1B2D3"}, +{0x1B2D4,"NUSHU CHARACTER-1B2D4"}, +{0x1B2D5,"NUSHU CHARACTER-1B2D5"}, +{0x1B2D6,"NUSHU CHARACTER-1B2D6"}, +{0x1B2D7,"NUSHU CHARACTER-1B2D7"}, +{0x1B2D8,"NUSHU CHARACTER-1B2D8"}, +{0x1B2D9,"NUSHU CHARACTER-1B2D9"}, +{0x1B2DA,"NUSHU CHARACTER-1B2DA"}, +{0x1B2DB,"NUSHU CHARACTER-1B2DB"}, +{0x1B2DC,"NUSHU CHARACTER-1B2DC"}, +{0x1B2DD,"NUSHU CHARACTER-1B2DD"}, +{0x1B2DE,"NUSHU CHARACTER-1B2DE"}, +{0x1B2DF,"NUSHU CHARACTER-1B2DF"}, +{0x1B2E0,"NUSHU CHARACTER-1B2E0"}, +{0x1B2E1,"NUSHU CHARACTER-1B2E1"}, +{0x1B2E2,"NUSHU CHARACTER-1B2E2"}, +{0x1B2E3,"NUSHU CHARACTER-1B2E3"}, +{0x1B2E4,"NUSHU CHARACTER-1B2E4"}, +{0x1B2E5,"NUSHU CHARACTER-1B2E5"}, +{0x1B2E6,"NUSHU CHARACTER-1B2E6"}, +{0x1B2E7,"NUSHU CHARACTER-1B2E7"}, +{0x1B2E8,"NUSHU CHARACTER-1B2E8"}, +{0x1B2E9,"NUSHU CHARACTER-1B2E9"}, +{0x1B2EA,"NUSHU CHARACTER-1B2EA"}, +{0x1B2EB,"NUSHU CHARACTER-1B2EB"}, +{0x1B2EC,"NUSHU CHARACTER-1B2EC"}, +{0x1B2ED,"NUSHU CHARACTER-1B2ED"}, +{0x1B2EE,"NUSHU CHARACTER-1B2EE"}, +{0x1B2EF,"NUSHU CHARACTER-1B2EF"}, +{0x1B2F0,"NUSHU CHARACTER-1B2F0"}, +{0x1B2F1,"NUSHU CHARACTER-1B2F1"}, +{0x1B2F2,"NUSHU CHARACTER-1B2F2"}, +{0x1B2F3,"NUSHU CHARACTER-1B2F3"}, +{0x1B2F4,"NUSHU CHARACTER-1B2F4"}, +{0x1B2F5,"NUSHU CHARACTER-1B2F5"}, +{0x1B2F6,"NUSHU CHARACTER-1B2F6"}, +{0x1B2F7,"NUSHU CHARACTER-1B2F7"}, +{0x1B2F8,"NUSHU CHARACTER-1B2F8"}, +{0x1B2F9,"NUSHU CHARACTER-1B2F9"}, +{0x1B2FA,"NUSHU CHARACTER-1B2FA"}, +{0x1B2FB,"NUSHU CHARACTER-1B2FB"}, +{0x16FE1,"NUSHU ITERATION MARK"}, {0x1F529,"NUT AND BOLT"}, {0xFFFC,"OBJECT REPLACEMENT CHARACTER"}, {0x29A7,"OBLIQUE ANGLE OPENING DOWN"}, {0x29A6,"OBLIQUE ANGLE OPENING UP"}, +{0x23FF,"OBSERVER EYE SYMBOL"}, {0x2447,"OCR AMOUNT OF CHECK"}, {0x2444,"OCR BELT BUCKLE"}, {0x2445,"OCR BOW TIE"}, @@ -20177,6 +23133,7 @@ {0x2442,"OCR FORK"}, {0x2440,"OCR HOOK"}, {0x2443,"OCR INVERTED FORK"}, +{0x1F6D1,"OCTAGONAL SIGN"}, {0x1F419,"OCTOPUS"}, {0x1F362,"ODEN"}, {0x1F3E2,"OFFICE BUILDING"}, @@ -20261,6 +23218,114 @@ {0x1C7F,"OL CHIKI PUNCTUATION DOUBLE MUCAAD"}, {0x1C7E,"OL CHIKI PUNCTUATION MUCAAD"}, {0x1C7B,"OL CHIKI RELAA"}, +{0x10C80,"OLD HUNGARIAN CAPITAL LETTER A"}, +{0x10C81,"OLD HUNGARIAN CAPITAL LETTER AA"}, +{0x10C94,"OLD HUNGARIAN CAPITAL LETTER AK"}, +{0x10C83,"OLD HUNGARIAN CAPITAL LETTER AMB"}, +{0x10C88,"OLD HUNGARIAN CAPITAL LETTER AND"}, +{0x10C8A,"OLD HUNGARIAN CAPITAL LETTER CLOSE E"}, +{0x10C89,"OLD HUNGARIAN CAPITAL LETTER E"}, +{0x10C82,"OLD HUNGARIAN CAPITAL LETTER EB"}, +{0x10C84,"OLD HUNGARIAN CAPITAL LETTER EC"}, +{0x10CA9,"OLD HUNGARIAN CAPITAL LETTER ECH"}, +{0x10C86,"OLD HUNGARIAN CAPITAL LETTER ECS"}, +{0x10C87,"OLD HUNGARIAN CAPITAL LETTER ED"}, +{0x10C8B,"OLD HUNGARIAN CAPITAL LETTER EE"}, +{0x10C8C,"OLD HUNGARIAN CAPITAL LETTER EF"}, +{0x10C8D,"OLD HUNGARIAN CAPITAL LETTER EG"}, +{0x10C8E,"OLD HUNGARIAN CAPITAL LETTER EGY"}, +{0x10C8F,"OLD HUNGARIAN CAPITAL LETTER EH"}, +{0x10C92,"OLD HUNGARIAN CAPITAL LETTER EJ"}, +{0x10C93,"OLD HUNGARIAN CAPITAL LETTER EK"}, +{0x10C96,"OLD HUNGARIAN CAPITAL LETTER EL"}, +{0x10C97,"OLD HUNGARIAN CAPITAL LETTER ELY"}, +{0x10C98,"OLD HUNGARIAN CAPITAL LETTER EM"}, +{0x10CA1,"OLD HUNGARIAN CAPITAL LETTER EMP"}, +{0x10C99,"OLD HUNGARIAN CAPITAL LETTER EN"}, +{0x10C85,"OLD HUNGARIAN CAPITAL LETTER ENC"}, +{0x10CA7,"OLD HUNGARIAN CAPITAL LETTER ENT"}, +{0x10CB1,"OLD HUNGARIAN CAPITAL LETTER ENT-SHAPED SIGN"}, +{0x10C9A,"OLD HUNGARIAN CAPITAL LETTER ENY"}, +{0x10CA0,"OLD HUNGARIAN CAPITAL LETTER EP"}, +{0x10CA2,"OLD HUNGARIAN CAPITAL LETTER ER"}, +{0x10CA4,"OLD HUNGARIAN CAPITAL LETTER ES"}, +{0x10CA5,"OLD HUNGARIAN CAPITAL LETTER ESZ"}, +{0x10CA6,"OLD HUNGARIAN CAPITAL LETTER ET"}, +{0x10CA8,"OLD HUNGARIAN CAPITAL LETTER ETY"}, +{0x10CAE,"OLD HUNGARIAN CAPITAL LETTER EV"}, +{0x10CAF,"OLD HUNGARIAN CAPITAL LETTER EZ"}, +{0x10CB0,"OLD HUNGARIAN CAPITAL LETTER EZS"}, +{0x10C90,"OLD HUNGARIAN CAPITAL LETTER I"}, +{0x10C91,"OLD HUNGARIAN CAPITAL LETTER II"}, +{0x10C9D,"OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG OE"}, +{0x10CAC,"OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG UE"}, +{0x10C9B,"OLD HUNGARIAN CAPITAL LETTER O"}, +{0x10C9F,"OLD HUNGARIAN CAPITAL LETTER OEE"}, +{0x10C9C,"OLD HUNGARIAN CAPITAL LETTER OO"}, +{0x10C9E,"OLD HUNGARIAN CAPITAL LETTER RUDIMENTA OE"}, +{0x10CAD,"OLD HUNGARIAN CAPITAL LETTER RUDIMENTA UE"}, +{0x10CA3,"OLD HUNGARIAN CAPITAL LETTER SHORT ER"}, +{0x10CAA,"OLD HUNGARIAN CAPITAL LETTER U"}, +{0x10C95,"OLD HUNGARIAN CAPITAL LETTER UNK"}, +{0x10CB2,"OLD HUNGARIAN CAPITAL LETTER US"}, +{0x10CAB,"OLD HUNGARIAN CAPITAL LETTER UU"}, +{0x10CFD,"OLD HUNGARIAN NUMBER FIFTY"}, +{0x10CFB,"OLD HUNGARIAN NUMBER FIVE"}, +{0x10CFA,"OLD HUNGARIAN NUMBER ONE"}, +{0x10CFE,"OLD HUNGARIAN NUMBER ONE HUNDRED"}, +{0x10CFF,"OLD HUNGARIAN NUMBER ONE THOUSAND"}, +{0x10CFC,"OLD HUNGARIAN NUMBER TEN"}, +{0x10CC0,"OLD HUNGARIAN SMALL LETTER A"}, +{0x10CC1,"OLD HUNGARIAN SMALL LETTER AA"}, +{0x10CD4,"OLD HUNGARIAN SMALL LETTER AK"}, +{0x10CC3,"OLD HUNGARIAN SMALL LETTER AMB"}, +{0x10CC8,"OLD HUNGARIAN SMALL LETTER AND"}, +{0x10CCA,"OLD HUNGARIAN SMALL LETTER CLOSE E"}, +{0x10CC9,"OLD HUNGARIAN SMALL LETTER E"}, +{0x10CC2,"OLD HUNGARIAN SMALL LETTER EB"}, +{0x10CC4,"OLD HUNGARIAN SMALL LETTER EC"}, +{0x10CE9,"OLD HUNGARIAN SMALL LETTER ECH"}, +{0x10CC6,"OLD HUNGARIAN SMALL LETTER ECS"}, +{0x10CC7,"OLD HUNGARIAN SMALL LETTER ED"}, +{0x10CCB,"OLD HUNGARIAN SMALL LETTER EE"}, +{0x10CCC,"OLD HUNGARIAN SMALL LETTER EF"}, +{0x10CCD,"OLD HUNGARIAN SMALL LETTER EG"}, +{0x10CCE,"OLD HUNGARIAN SMALL LETTER EGY"}, +{0x10CCF,"OLD HUNGARIAN SMALL LETTER EH"}, +{0x10CD2,"OLD HUNGARIAN SMALL LETTER EJ"}, +{0x10CD3,"OLD HUNGARIAN SMALL LETTER EK"}, +{0x10CD6,"OLD HUNGARIAN SMALL LETTER EL"}, +{0x10CD7,"OLD HUNGARIAN SMALL LETTER ELY"}, +{0x10CD8,"OLD HUNGARIAN SMALL LETTER EM"}, +{0x10CE1,"OLD HUNGARIAN SMALL LETTER EMP"}, +{0x10CD9,"OLD HUNGARIAN SMALL LETTER EN"}, +{0x10CC5,"OLD HUNGARIAN SMALL LETTER ENC"}, +{0x10CE7,"OLD HUNGARIAN SMALL LETTER ENT"}, +{0x10CF1,"OLD HUNGARIAN SMALL LETTER ENT-SHAPED SIGN"}, +{0x10CDA,"OLD HUNGARIAN SMALL LETTER ENY"}, +{0x10CE0,"OLD HUNGARIAN SMALL LETTER EP"}, +{0x10CE2,"OLD HUNGARIAN SMALL LETTER ER"}, +{0x10CE4,"OLD HUNGARIAN SMALL LETTER ES"}, +{0x10CE5,"OLD HUNGARIAN SMALL LETTER ESZ"}, +{0x10CE6,"OLD HUNGARIAN SMALL LETTER ET"}, +{0x10CE8,"OLD HUNGARIAN SMALL LETTER ETY"}, +{0x10CEE,"OLD HUNGARIAN SMALL LETTER EV"}, +{0x10CEF,"OLD HUNGARIAN SMALL LETTER EZ"}, +{0x10CF0,"OLD HUNGARIAN SMALL LETTER EZS"}, +{0x10CD0,"OLD HUNGARIAN SMALL LETTER I"}, +{0x10CD1,"OLD HUNGARIAN SMALL LETTER II"}, +{0x10CDD,"OLD HUNGARIAN SMALL LETTER NIKOLSBURG OE"}, +{0x10CEC,"OLD HUNGARIAN SMALL LETTER NIKOLSBURG UE"}, +{0x10CDB,"OLD HUNGARIAN SMALL LETTER O"}, +{0x10CDF,"OLD HUNGARIAN SMALL LETTER OEE"}, +{0x10CDC,"OLD HUNGARIAN SMALL LETTER OO"}, +{0x10CDE,"OLD HUNGARIAN SMALL LETTER RUDIMENTA OE"}, +{0x10CED,"OLD HUNGARIAN SMALL LETTER RUDIMENTA UE"}, +{0x10CE3,"OLD HUNGARIAN SMALL LETTER SHORT ER"}, +{0x10CEA,"OLD HUNGARIAN SMALL LETTER U"}, +{0x10CD5,"OLD HUNGARIAN SMALL LETTER UNK"}, +{0x10CF2,"OLD HUNGARIAN SMALL LETTER US"}, +{0x10CEB,"OLD HUNGARIAN SMALL LETTER UU"}, {0x10300,"OLD ITALIC LETTER A"}, {0x10301,"OLD ITALIC LETTER BE"}, {0x1031C,"OLD ITALIC LETTER CHE"}, @@ -20283,15 +23348,18 @@ {0x10302,"OLD ITALIC LETTER KE"}, {0x10319,"OLD ITALIC LETTER KHE"}, {0x10312,"OLD ITALIC LETTER KU"}, +{0x1032E,"OLD ITALIC LETTER NORTHERN TSE"}, {0x1030F,"OLD ITALIC LETTER O"}, {0x10310,"OLD ITALIC LETTER PE"}, {0x10318,"OLD ITALIC LETTER PHE"}, {0x10311,"OLD ITALIC LETTER SHE"}, +{0x1032F,"OLD ITALIC LETTER SOUTHERN TSE"}, {0x10315,"OLD ITALIC LETTER TE"}, {0x10308,"OLD ITALIC LETTER THE"}, {0x10316,"OLD ITALIC LETTER U"}, {0x1031E,"OLD ITALIC LETTER UU"}, {0x10305,"OLD ITALIC LETTER VE"}, +{0x1032D,"OLD ITALIC LETTER YE"}, {0x10306,"OLD ITALIC LETTER ZE"}, {0x10323,"OLD ITALIC NUMERAL FIFTY"}, {0x10321,"OLD ITALIC NUMERAL FIVE"}, @@ -20419,6 +23487,46 @@ {0x103C0,"OLD PERSIAN SIGN ZA"}, {0x103D0,"OLD PERSIAN WORD DIVIDER"}, {0x1F5B3,"OLD PERSONAL COMPUTER"}, +{0x10F26,"OLD SOGDIAN FRACTION ONE HALF"}, +{0x10F00,"OLD SOGDIAN LETTER ALEPH"}, +{0x10F13,"OLD SOGDIAN LETTER ALTERNATE AYIN"}, +{0x10F12,"OLD SOGDIAN LETTER AYIN"}, +{0x10F02,"OLD SOGDIAN LETTER BETH"}, +{0x10F01,"OLD SOGDIAN LETTER FINAL ALEPH"}, +{0x10F03,"OLD SOGDIAN LETTER FINAL BETH"}, +{0x10F06,"OLD SOGDIAN LETTER FINAL HE"}, +{0x10F0F,"OLD SOGDIAN LETTER FINAL NUN"}, +{0x10F10,"OLD SOGDIAN LETTER FINAL NUN WITH VERTICAL TAIL"}, +{0x10F16,"OLD SOGDIAN LETTER FINAL SADHE"}, +{0x10F17,"OLD SOGDIAN LETTER FINAL SADHE WITH VERTICAL TAIL"}, +{0x10F1B,"OLD SOGDIAN LETTER FINAL TAW"}, +{0x10F1C,"OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL"}, +{0x10F04,"OLD SOGDIAN LETTER GIMEL"}, +{0x10F05,"OLD SOGDIAN LETTER HE"}, +{0x10F09,"OLD SOGDIAN LETTER HETH"}, +{0x10F0B,"OLD SOGDIAN LETTER KAPH"}, +{0x10F0C,"OLD SOGDIAN LETTER LAMEDH"}, +{0x10F0D,"OLD SOGDIAN LETTER MEM"}, +{0x10F0E,"OLD SOGDIAN LETTER NUN"}, +{0x10F14,"OLD SOGDIAN LETTER PE"}, +{0x10F18,"OLD SOGDIAN LETTER RESH-AYIN-DALETH"}, +{0x10F15,"OLD SOGDIAN LETTER SADHE"}, +{0x10F11,"OLD SOGDIAN LETTER SAMEKH"}, +{0x10F19,"OLD SOGDIAN LETTER SHIN"}, +{0x10F1A,"OLD SOGDIAN LETTER TAW"}, +{0x10F07,"OLD SOGDIAN LETTER WAW"}, +{0x10F0A,"OLD SOGDIAN LETTER YODH"}, +{0x10F08,"OLD SOGDIAN LETTER ZAYIN"}, +{0x10F27,"OLD SOGDIAN LIGATURE AYIN-DALETH"}, +{0x10F21,"OLD SOGDIAN NUMBER FIVE"}, +{0x10F20,"OLD SOGDIAN NUMBER FOUR"}, +{0x10F1D,"OLD SOGDIAN NUMBER ONE"}, +{0x10F25,"OLD SOGDIAN NUMBER ONE HUNDRED"}, +{0x10F22,"OLD SOGDIAN NUMBER TEN"}, +{0x10F24,"OLD SOGDIAN NUMBER THIRTY"}, +{0x10F1F,"OLD SOGDIAN NUMBER THREE"}, +{0x10F23,"OLD SOGDIAN NUMBER TWENTY"}, +{0x10F1E,"OLD SOGDIAN NUMBER TWO"}, {0x10A71,"OLD SOUTH ARABIAN LETTER ALEF"}, {0x10A72,"OLD SOUTH ARABIAN LETTER AYN"}, {0x10A68,"OLD SOUTH ARABIAN LETTER BETH"}, @@ -20524,6 +23632,7 @@ {0x10C08,"OLD TURKIC LETTER YENISEI OE"}, {0x10C1D,"OLD TURKIC LETTER YENISEI OEK"}, {0x10C39,"OLD TURKIC LETTER YENISEI OQ"}, +{0x1F9D3,"OLDER ADULT"}, {0x1F474,"OLDER MAN"}, {0x1F475,"OLDER WOMAN"}, {0x1F549,"OM SYMBOL"}, @@ -20560,6 +23669,7 @@ {0x2325,"OPTION KEY"}, {0x27C7,"OR WITH DOT INSIDE"}, {0x1F4D9,"ORANGE BOOK"}, +{0x1F9E1,"ORANGE HEART"}, {0x22B6,"ORIGINAL OF"}, {0x0B56,"ORIYA AI LENGTH MARK"}, {0x0B57,"ORIYA AU LENGTH MARK"}, @@ -20654,6 +23764,78 @@ {0xFD3E,"ORNATE LEFT PARENTHESIS"}, {0xFD3F,"ORNATE RIGHT PARENTHESIS"}, {0x2626,"ORTHODOX CROSS"}, +{0x104B0,"OSAGE CAPITAL LETTER A"}, +{0x104B3,"OSAGE CAPITAL LETTER AH"}, +{0x104B1,"OSAGE CAPITAL LETTER AI"}, +{0x104B2,"OSAGE CAPITAL LETTER AIN"}, +{0x104B4,"OSAGE CAPITAL LETTER BRA"}, +{0x104B5,"OSAGE CAPITAL LETTER CHA"}, +{0x104CD,"OSAGE CAPITAL LETTER DHA"}, +{0x104B7,"OSAGE CAPITAL LETTER E"}, +{0x104B6,"OSAGE CAPITAL LETTER EHCHA"}, +{0x104BD,"OSAGE CAPITAL LETTER EHKA"}, +{0x104C5,"OSAGE CAPITAL LETTER EHPA"}, +{0x104C9,"OSAGE CAPITAL LETTER EHTA"}, +{0x104CB,"OSAGE CAPITAL LETTER EHTSA"}, +{0x104B8,"OSAGE CAPITAL LETTER EIN"}, +{0x104D1,"OSAGE CAPITAL LETTER GHA"}, +{0x104B9,"OSAGE CAPITAL LETTER HA"}, +{0x104BA,"OSAGE CAPITAL LETTER HYA"}, +{0x104BB,"OSAGE CAPITAL LETTER I"}, +{0x104BC,"OSAGE CAPITAL LETTER KA"}, +{0x104D0,"OSAGE CAPITAL LETTER KHA"}, +{0x104BE,"OSAGE CAPITAL LETTER KYA"}, +{0x104BF,"OSAGE CAPITAL LETTER LA"}, +{0x104C0,"OSAGE CAPITAL LETTER MA"}, +{0x104C1,"OSAGE CAPITAL LETTER NA"}, +{0x104C2,"OSAGE CAPITAL LETTER O"}, +{0x104C3,"OSAGE CAPITAL LETTER OIN"}, +{0x104C4,"OSAGE CAPITAL LETTER PA"}, +{0x104C6,"OSAGE CAPITAL LETTER SA"}, +{0x104C7,"OSAGE CAPITAL LETTER SHA"}, +{0x104C8,"OSAGE CAPITAL LETTER TA"}, +{0x104CA,"OSAGE CAPITAL LETTER TSA"}, +{0x104CC,"OSAGE CAPITAL LETTER TSHA"}, +{0x104CE,"OSAGE CAPITAL LETTER U"}, +{0x104CF,"OSAGE CAPITAL LETTER WA"}, +{0x104D2,"OSAGE CAPITAL LETTER ZA"}, +{0x104D3,"OSAGE CAPITAL LETTER ZHA"}, +{0x104D8,"OSAGE SMALL LETTER A"}, +{0x104DB,"OSAGE SMALL LETTER AH"}, +{0x104D9,"OSAGE SMALL LETTER AI"}, +{0x104DA,"OSAGE SMALL LETTER AIN"}, +{0x104DC,"OSAGE SMALL LETTER BRA"}, +{0x104DD,"OSAGE SMALL LETTER CHA"}, +{0x104F5,"OSAGE SMALL LETTER DHA"}, +{0x104DF,"OSAGE SMALL LETTER E"}, +{0x104DE,"OSAGE SMALL LETTER EHCHA"}, +{0x104E5,"OSAGE SMALL LETTER EHKA"}, +{0x104ED,"OSAGE SMALL LETTER EHPA"}, +{0x104F1,"OSAGE SMALL LETTER EHTA"}, +{0x104F3,"OSAGE SMALL LETTER EHTSA"}, +{0x104E0,"OSAGE SMALL LETTER EIN"}, +{0x104F9,"OSAGE SMALL LETTER GHA"}, +{0x104E1,"OSAGE SMALL LETTER HA"}, +{0x104E2,"OSAGE SMALL LETTER HYA"}, +{0x104E3,"OSAGE SMALL LETTER I"}, +{0x104E4,"OSAGE SMALL LETTER KA"}, +{0x104F8,"OSAGE SMALL LETTER KHA"}, +{0x104E6,"OSAGE SMALL LETTER KYA"}, +{0x104E7,"OSAGE SMALL LETTER LA"}, +{0x104E8,"OSAGE SMALL LETTER MA"}, +{0x104E9,"OSAGE SMALL LETTER NA"}, +{0x104EA,"OSAGE SMALL LETTER O"}, +{0x104EB,"OSAGE SMALL LETTER OIN"}, +{0x104EC,"OSAGE SMALL LETTER PA"}, +{0x104EE,"OSAGE SMALL LETTER SA"}, +{0x104EF,"OSAGE SMALL LETTER SHA"}, +{0x104F0,"OSAGE SMALL LETTER TA"}, +{0x104F2,"OSAGE SMALL LETTER TSA"}, +{0x104F4,"OSAGE SMALL LETTER TSHA"}, +{0x104F6,"OSAGE SMALL LETTER U"}, +{0x104F7,"OSAGE SMALL LETTER WA"}, +{0x104FA,"OSAGE SMALL LETTER ZA"}, +{0x104FB,"OSAGE SMALL LETTER ZHA"}, {0x104A8,"OSMANYA DIGIT EIGHT"}, {0x104A5,"OSMANYA DIGIT FIVE"}, {0x104A4,"OSMANYA DIGIT FOUR"}, @@ -20700,8 +23882,13 @@ {0x2719,"OUTLINED GREEK CROSS"}, {0x271F,"OUTLINED LATIN CROSS"}, {0x269D,"OUTLINED WHITE STAR"}, +{0x1F975,"OVERHEATED FACE"}, {0x1F5D7,"OVERLAP"}, +{0x2BBC,"OVERLAPPING BLACK SQUARES"}, +{0x2BBB,"OVERLAPPING WHITE AND BLACK SQUARES"}, +{0x2BBA,"OVERLAPPING WHITE SQUARES"}, {0x203E,"OVERLINE"}, +{0x1F989,"OWL"}, {0x1F402,"OX"}, {0x1F4E6,"PACKAGE"}, {0x1F5CF,"PAGE"}, @@ -20710,6 +23897,7 @@ {0x1F4C3,"PAGE WITH CURL"}, {0x1F4DF,"PAGER"}, {0x1F5D0,"PAGES"}, +{0x1F6D4,"PAGODA"}, {0x16B8B,"PAHAWH HMONG CLAN SIGN FAJ"}, {0x16B89,"PAHAWH HMONG CLAN SIGN HAM"}, {0x16B83,"PAHAWH HMONG CLAN SIGN HAWJ"}, @@ -20840,6 +24028,7 @@ {0x26B4,"PALLAS"}, {0x2E19,"PALM BRANCH"}, {0x1F334,"PALM TREE"}, +{0x1F932,"PALMS UP TOGETHER"}, {0x10877,"PALMYRENE LEFT-POINTING FLEURON"}, {0x10860,"PALMYRENE LETTER ALEPH"}, {0x10870,"PALMYRENE LETTER AYIN"}, @@ -20872,10 +24061,12 @@ {0x1087F,"PALMYRENE NUMBER TWENTY"}, {0x1087A,"PALMYRENE NUMBER TWO"}, {0x10878,"PALMYRENE RIGHT-POINTING FLEURON"}, +{0x1F95E,"PANCAKES"}, {0x1F43C,"PANDA FACE"}, {0x1F4CE,"PAPERCLIP"}, {0x2029,"PARAGRAPH SEPARATOR"}, {0x2E0F,"PARAGRAPHOS"}, +{0x2E4D,"PARAGRAPHUS MARK"}, {0x2225,"PARALLEL TO"}, {0x2AF2,"PARALLEL WITH HORIZONTAL STROKE"}, {0x2AF3,"PARALLEL WITH TILDE OPERATOR"}, @@ -21018,11 +24209,13 @@ {0x2480,"PARENTHESIZED NUMBER THIRTEEN"}, {0x247F,"PARENTHESIZED NUMBER TWELVE"}, {0x2487,"PARENTHESIZED NUMBER TWENTY"}, +{0x1F99C,"PARROT"}, {0x303D,"PART ALTERNATION MARK"}, {0x2202,"PARTIAL DIFFERENTIAL"}, {0x267D,"PARTIALLY-RECYCLED PAPER SYMBOL"}, {0x3250,"PARTNERSHIP SIGN"}, {0x1F389,"PARTY POPPER"}, +{0x2BFD,"PASSED SYMBOL"}, {0x1F6F3,"PASSENGER SHIP"}, {0x2391,"PASSIVE-PULL-DOWN-OUTPUT SYMBOL"}, {0x2392,"PASSIVE-PULL-UP-OUTPUT SYMBOL"}, @@ -21087,6 +24280,8 @@ {0x1F43E,"PAW PRINTS"}, {0x262E,"PEACE SYMBOL"}, {0x1F351,"PEACH"}, +{0x1F99A,"PEACOCK"}, +{0x1F95C,"PEANUTS"}, {0x1F350,"PEAR"}, {0x1F6B6,"PEDESTRIAN"}, {0x1F586,"PEN OVER STAMPED ENVELOPE"}, @@ -21104,16 +24299,22 @@ {0x2AE1,"PERPENDICULAR WITH S"}, {0x1F623,"PERSEVERING FACE"}, {0x1F647,"PERSON BOWING DEEPLY"}, +{0x1F9D7,"PERSON CLIMBING"}, +{0x1F938,"PERSON DOING CARTWHEEL"}, {0x1F64D,"PERSON FROWNING"}, +{0x1F9D8,"PERSON IN LOTUS POSITION"}, +{0x1F9D6,"PERSON IN STEAMY ROOM"}, {0x1F64C,"PERSON RAISING BOTH HANDS IN CELEBRATION"}, {0x26F9,"PERSON WITH BALL"}, {0x1F471,"PERSON WITH BLOND HAIR"}, {0x1F64F,"PERSON WITH FOLDED HANDS"}, +{0x1F9D5,"PERSON WITH HEADSCARF"}, {0x1F64E,"PERSON WITH POUTING FACE"}, {0x1F4BB,"PERSONAL COMPUTER"}, {0x2306,"PERSPECTIVE"}, {0x20A7,"PESETA SIGN"}, {0x20B1,"PESO SIGN"}, +{0x1F9EB,"PETRI DISH"}, {0xA875,"PHAGS-PA DOUBLE HEAD MARK"}, {0xA85D,"PHAGS-PA LETTER A"}, {0xA86D,"PHAGS-PA LETTER ALTERNATE YA"}, @@ -21247,7 +24448,9 @@ {0x10918,"PHOENICIAN NUMBER TWENTY"}, {0x1091A,"PHOENICIAN NUMBER TWO"}, {0x1091F,"PHOENICIAN WORD SEPARATOR"}, +{0x2BDB,"PHOLUS"}, {0x26CF,"PICK"}, +{0x1F967,"PIE"}, {0x1F416,"PIG"}, {0x1F437,"PIG FACE"}, {0x1F43D,"PIG NOSE"}, @@ -21262,6 +24465,7 @@ {0x22D4,"PITCHFORK"}, {0x2ADA,"PITCHFORK WITH TEE TOP"}, {0x2318,"PLACE OF INTEREST SIGN"}, +{0x1F6D0,"PLACE OF WORSHIP"}, {0x210E,"PLANCK CONSTANT"}, {0x210F,"PLANCK CONSTANT OVER TWO PI"}, {0x1F0D1,"PLAYING CARD ACE OF CLUBS"}, @@ -21360,6 +24564,10 @@ {0x2A26,"PLUS SIGN WITH TILDE BELOW"}, {0x00B1,"PLUS-MINUS SIGN"}, {0x2647,"PLUTO"}, +{0x2BD6,"PLUTO FORM FIVE"}, +{0x2BD5,"PLUTO FORM FOUR"}, +{0x2BD4,"PLUTO FORM THREE"}, +{0x2BD3,"PLUTO FORM TWO"}, {0x1F5A9,"POCKET CALCULATOR"}, {0x1F693,"POLICE CAR"}, {0x1F6A8,"POLICE CARS REVOLVING LIGHT"}, @@ -21367,7 +24575,9 @@ {0x1F429,"POODLE"}, {0x202C,"POP DIRECTIONAL FORMATTING"}, {0x2069,"POP DIRECTIONAL ISOLATE"}, +{0x1F37F,"POPCORN"}, {0x1F4FE,"PORTABLE STEREO"}, +{0x2BE7,"POSEIDON"}, {0x2316,"POSITION INDICATOR"}, {0x1F4EF,"POSTAL HORN"}, {0x3012,"POSTAL MARK"}, @@ -21375,11 +24585,17 @@ {0x1F4EE,"POSTBOX"}, {0x1F372,"POT OF FOOD"}, {0x1F6B0,"POTABLE WATER SYMBOL"}, +{0x1F954,"POTATO"}, {0x1F45D,"POUCH"}, {0x1F357,"POULTRY LEG"}, {0x00A3,"POUND SIGN"}, {0x1F63E,"POUTING CAT FACE"}, {0x1F621,"POUTING FACE"}, +{0x23FD,"POWER ON SYMBOL"}, +{0x23FC,"POWER ON-OFF SYMBOL"}, +{0x23FE,"POWER SLEEP SYMBOL"}, +{0x23FB,"POWER SYMBOL"}, +{0x1F4FF,"PRAYER BEADS"}, {0x227A,"PRECEDES"}, {0x2AB7,"PRECEDES ABOVE ALMOST EQUAL TO"}, {0x2AB3,"PRECEDES ABOVE EQUALS SIGN"}, @@ -21391,6 +24607,7 @@ {0x227C,"PRECEDES OR EQUAL TO"}, {0x227E,"PRECEDES OR EQUIVALENT TO"}, {0x22B0,"PRECEDES UNDER RELATION"}, +{0x1F930,"PREGNANT WOMAN"}, {0x211E,"PRESCRIPTION TAKE"}, {0xFE13,"PRESENTATION FORM FOR VERTICAL COLON"}, {0xFE10,"PRESENTATION FORM FOR VERTICAL COMMA"}, @@ -21425,8 +24642,10 @@ {0xFE14,"PRESENTATION FORM FOR VERTICAL SEMICOLON"}, {0xFE30,"PRESENTATION FORM FOR VERTICAL TWO DOT LEADER"}, {0xFE34,"PRESENTATION FORM FOR VERTICAL WAVY LOW LINE"}, +{0x1F968,"PRETZEL"}, {0x2397,"PREVIOUS PAGE"}, {0x2032,"PRIME"}, +{0x1F934,"PRINCE"}, {0x1F478,"PRINCESS"}, {0x2399,"PRINT SCREEN SYMBOL"}, {0x1F5A8,"PRINTER"}, @@ -21436,6 +24655,7 @@ {0x214A,"PROPERTY LINE"}, {0x2237,"PROPORTION"}, {0x221D,"PROPORTIONAL TO"}, +{0x2BD8,"PROSERPINA"}, {0x10B9B,"PSALTER PAHLAVI FOUR DOTS WITH CROSS"}, {0x10B9C,"PSALTER PAHLAVI FOUR DOTS WITH DOT"}, {0x10B80,"PSALTER PAHLAVI LETTER ALEPH"}, @@ -21467,6 +24687,7 @@ {0x10B9A,"PSALTER PAHLAVI TURNED SECTION MARK"}, {0x1F4E2,"PUBLIC ADDRESS LOUDSPEAKER"}, {0x2008,"PUNCTUATION SPACE"}, +{0x2E4E,"PUNCTUS ELEVATUS MARK"}, {0x1F49C,"PURPLE HEART"}, {0x1F45B,"PURSE"}, {0x1F4CC,"PUSHPIN"}, @@ -21492,6 +24713,7 @@ {0x0022,"QUOTATION MARK"}, {0x1F407,"RABBIT"}, {0x1F430,"RABBIT FACE"}, +{0x1F99D,"RACCOON"}, {0x1F3CE,"RACING CAR"}, {0x1F3CD,"RACING MOTORCYCLE"}, {0x23B7,"RADICAL SYMBOL BOTTOM"}, @@ -21502,6 +24724,7 @@ {0x1F6E4,"RAILWAY TRACK"}, {0x26C6,"RAIN"}, {0x1F308,"RAINBOW"}, +{0x1F91A,"RAISED BACK OF HAND"}, {0x2E34,"RAISED COMMA"}, {0x2E33,"RAISED DOT"}, {0x2E07,"RAISED DOTTED INTERPOLATION MARKER"}, @@ -21516,6 +24739,7 @@ {0x1F40F,"RAM"}, {0x1F400,"RAT"}, {0x2236,"RATIO"}, +{0x1F9FE,"RECEIPT"}, {0x1F699,"RECREATIONAL VEHICLE"}, {0x267C,"RECYCLED PAPER SYMBOL"}, {0x267A,"RECYCLING SYMBOL FOR GENERIC MATERIALS"}, @@ -21527,6 +24751,7 @@ {0x2678,"RECYCLING SYMBOL FOR TYPE-6 PLASTICS"}, {0x2679,"RECYCLING SYMBOL FOR TYPE-7 PLASTICS"}, {0x1F34E,"RED APPLE"}, +{0x1F9E7,"RED GIFT ENVELOPE"}, {0x203B,"REFERENCE MARK"}, {0x1F1E6,"REGIONAL INDICATOR SYMBOL LETTER A"}, {0x1F1E7,"REGIONAL INDICATOR SYMBOL LETTER B"}, @@ -21624,6 +24849,7 @@ {0x2035,"REVERSED PRIME"}, {0x2E2E,"REVERSED QUESTION MARK"}, {0x1F591,"REVERSED RAISED HAND WITH FINGERS SPLAYED"}, +{0x2BFE,"REVERSED RIGHT ANGLE"}, {0x2619,"REVERSED ROTATED FLORAL HEART BULLET"}, {0x2143,"REVERSED SANS-SERIF CAPITAL L"}, {0x204F,"REVERSED SEMICOLON"}, @@ -21634,6 +24860,7 @@ {0x2037,"REVERSED TRIPLE PRIME"}, {0x1F594,"REVERSED VICTORY HAND"}, {0x1F49E,"REVOLVING HEARTS"}, +{0x1F98F,"RHINOCEROS"}, {0xFDFC,"RIAL SIGN"}, {0x1F380,"RIBBON"}, {0x2BB0,"RIBBON ARROW DOWN LEFT"}, @@ -21646,6 +24873,7 @@ {0x2BB3,"RIBBON ARROW UP RIGHT"}, {0x1F359,"RICE BALL"}, {0x1F358,"RICE CRACKER"}, +{0x1F946,"RIFLE"}, {0x1F5EF,"RIGHT ANGER BUBBLE"}, {0x221F,"RIGHT ANGLE"}, {0x3009,"RIGHT ANGLE BRACKET"}, @@ -21675,6 +24903,7 @@ {0x297D,"RIGHT FISH TAIL"}, {0x230B,"RIGHT FLOOR"}, {0x25D7,"RIGHT HALF BLACK CIRCLE"}, +{0x2BE9,"RIGHT HALF BLACK STAR"}, {0x2590,"RIGHT HALF BLOCK"}, {0x1F57D,"RIGHT HAND TELEPHONE RECEIVER"}, {0x2E1D,"RIGHT LOW PARAPHRASE BRACKET"}, @@ -21719,6 +24948,7 @@ {0x3019,"RIGHT WHITE TORTOISE SHELL BRACKET"}, {0x29D9,"RIGHT WIGGLY FENCE"}, {0x058D,"RIGHT-FACING ARMENIAN ETERNITY SIGN"}, +{0x1F91C,"RIGHT-FACING FIST"}, {0x0FD5,"RIGHT-FACING SVASTI SIGN"}, {0x0FD7,"RIGHT-FACING SVASTI SIGN WITH DOTS"}, {0x26E5,"RIGHT-HANDED INTERLACED PENTAGRAM"}, @@ -21827,6 +25057,7 @@ {0x2916,"RIGHTWARDS TWO-HEADED ARROW WITH TAIL"}, {0x2918,"RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE"}, {0x2917,"RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE"}, +{0x2BEE,"RIGHTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS"}, {0x2900,"RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE"}, {0x2910,"RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW"}, {0x219D,"RIGHTWARDS WAVE ARROW"}, @@ -21843,9 +25074,12 @@ {0x292B,"RISING DIAGONAL CROSSING FALLING DIAGONAL"}, {0x2930,"RISING DIAGONAL CROSSING SOUTH EAST ARROW"}, {0x1F360,"ROASTED SWEET POTATO"}, +{0x1F916,"ROBOT FACE"}, {0x1F680,"ROCKET"}, +{0x1F9FB,"ROLL OF PAPER"}, {0x1F5DE,"ROLLED-UP NEWSPAPER"}, {0x1F3A2,"ROLLER COASTER"}, +{0x1F923,"ROLLING ON THE FLOOR LAUGHING"}, {0x1019A,"ROMAN AS SIGN"}, {0x1019B,"ROMAN CENTURIAL SIGN"}, {0x10196,"ROMAN DENARIUS SIGN"}, @@ -21892,6 +25126,12 @@ {0x2BCF,"ROTATED WHITE FOUR POINTED CUSP"}, {0x1F4CD,"ROUND PUSHPIN"}, {0x1F78B,"ROUND TARGET"}, +{0x1F265,"ROUNDED SYMBOL FOR CAI"}, +{0x1F260,"ROUNDED SYMBOL FOR FU"}, +{0x1F261,"ROUNDED SYMBOL FOR LU"}, +{0x1F262,"ROUNDED SYMBOL FOR SHOU"}, +{0x1F264,"ROUNDED SYMBOL FOR SHUANGXI"}, +{0x1F263,"ROUNDED SYMBOL FOR XI"}, {0x1F6A3,"ROWBOAT"}, {0x20BD,"RUBLE SIGN"}, {0x1F3C9,"RUGBY FOOTBALL"}, @@ -22019,10 +25259,18 @@ {0x1F3C3,"RUNNER"}, {0x1F3BD,"RUNNING SHIRT WITH SASH"}, {0x20A8,"RUPEE SIGN"}, +{0x2BF6,"RUSSIAN ASTROLOGICAL SYMBOL BINOVILE"}, +{0x2BF4,"RUSSIAN ASTROLOGICAL SYMBOL NOVILE"}, +{0x2BF5,"RUSSIAN ASTROLOGICAL SYMBOL QUINTILE"}, +{0x2BF7,"RUSSIAN ASTROLOGICAL SYMBOL SENTAGON"}, +{0x2BF8,"RUSSIAN ASTROLOGICAL SYMBOL TREDECILE"}, +{0x2BF3,"RUSSIAN ASTROLOGICAL SYMBOL VIGINTILE"}, {0x29CC,"S IN TRIANGLE"}, +{0x1F9F7,"SAFETY PIN"}, {0x2650,"SAGITTARIUS"}, {0x26F5,"SAILBOAT"}, {0x1F376,"SAKE BOTTLE AND CUP"}, +{0x1F9C2,"SALT SHAKER"}, {0x2613,"SALTIRE"}, {0x0836,"SAMARITAN ABBREVIATION MARK"}, {0x0800,"SAMARITAN LETTER ALAF"}, @@ -22085,6 +25333,7 @@ {0x0825,"SAMARITAN VOWEL SIGN SHORT A"}, {0x082C,"SAMARITAN VOWEL SIGN SUKUN"}, {0x0827,"SAMARITAN VOWEL SIGN U"}, +{0x1F96A,"SANDWICH"}, {0x1F677,"SANS-SERIF HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT"}, {0x1F676,"SANS-SERIF HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT"}, {0x1F678,"SANS-SERIF HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT"}, @@ -22156,6 +25405,7 @@ {0xA889,"SAURASHTRA LETTER VOCALIC RR"}, {0xA8AB,"SAURASHTRA LETTER YA"}, {0xA880,"SAURASHTRA SIGN ANUSVARA"}, +{0xA8C5,"SAURASHTRA SIGN CANDRABINDU"}, {0xA8C4,"SAURASHTRA SIGN VIRAMA"}, {0xA881,"SAURASHTRA SIGN VISARGA"}, {0xA8B5,"SAURASHTRA VOWEL SIGN AA"}, @@ -22173,10 +25423,14 @@ {0xA8BD,"SAURASHTRA VOWEL SIGN VOCALIC LL"}, {0xA8BA,"SAURASHTRA VOWEL SIGN VOCALIC R"}, {0xA8BB,"SAURASHTRA VOWEL SIGN VOCALIC RR"}, +{0x1F995,"SAUROPOD"}, {0x1F3B7,"SAXOPHONE"}, {0x2696,"SCALES"}, +{0x1F9E3,"SCARF"}, {0x1F3EB,"SCHOOL"}, {0x1F392,"SCHOOL SATCHEL"}, +{0x1F6F4,"SCOOTER"}, +{0x1F982,"SCORPION"}, {0x264F,"SCORPIUS"}, {0x1F5B5,"SCREEN"}, {0x212C,"SCRIPT CAPITAL B"}, @@ -22196,14 +25450,19 @@ {0x1F4DC,"SCROLL"}, {0x2108,"SCRUPLE"}, {0x1F4BA,"SEAT"}, +{0x1F948,"SECOND PLACE MEDAL"}, {0x00A7,"SECTION SIGN"}, {0x2314,"SECTOR"}, +{0x2BF2,"SEDNA"}, {0x1F648,"SEE-NO-EVIL MONKEY"}, {0x1F331,"SEEDLING"}, {0x2313,"SEGMENT"}, +{0x1F933,"SELFIE"}, {0x003B,"SEMICOLON"}, {0x2A32,"SEMIDIRECT PRODUCT WITH BOTTOM CLOSED"}, {0x26BA,"SEMISEXTILE"}, +{0x2BFB,"SEPARATED SYMBOL"}, +{0x1F92C,"SERIOUS FACE WITH SYMBOLS COVERING MOUTH"}, {0x2120,"SERVICE MARK"}, {0xFE45,"SESAME DOT"}, {0x26BC,"SESQUIQUADRATE"}, @@ -22212,8 +25471,10 @@ {0x274D,"SHADOWED WHITE CIRCLE"}, {0x271E,"SHADOWED WHITE LATIN CROSS"}, {0x2730,"SHADOWED WHITE STAR"}, +{0x1F958,"SHALLOW PAN OF FOOD"}, {0x2618,"SHAMROCK"}, {0x111C7,"SHARADA ABBREVIATION SIGN"}, +{0x111DD,"SHARADA CONTINUATION SIGN"}, {0x111C5,"SHARADA DANDA"}, {0x111D8,"SHARADA DIGIT EIGHT"}, {0x111D5,"SHARADA DIGIT FIVE"}, @@ -22227,6 +25488,8 @@ {0x111D0,"SHARADA DIGIT ZERO"}, {0x111C6,"SHARADA DOUBLE DANDA"}, {0x111DA,"SHARADA EKAM"}, +{0x111CC,"SHARADA EXTRA SHORT VOWEL MARK"}, +{0x111DC,"SHARADA HEADSTROKE"}, {0x11183,"SHARADA LETTER A"}, {0x11184,"SHARADA LETTER AA"}, {0x1118E,"SHARADA LETTER AI"}, @@ -22276,15 +25539,21 @@ {0x1118A,"SHARADA LETTER VOCALIC RR"}, {0x111AA,"SHARADA LETTER YA"}, {0x111C4,"SHARADA OM"}, +{0x111C9,"SHARADA SANDHI MARK"}, +{0x111DE,"SHARADA SECTION MARK-1"}, +{0x111DF,"SHARADA SECTION MARK-2"}, {0x111C8,"SHARADA SEPARATOR"}, {0x11181,"SHARADA SIGN ANUSVARA"}, {0x111C1,"SHARADA SIGN AVAGRAHA"}, {0x11180,"SHARADA SIGN CANDRABINDU"}, {0x111C2,"SHARADA SIGN JIHVAMULIYA"}, +{0x111CA,"SHARADA SIGN NUKTA"}, +{0x111DB,"SHARADA SIGN SIDDHAM"}, {0x111C3,"SHARADA SIGN UPADHMANIYA"}, {0x111C0,"SHARADA SIGN VIRAMA"}, {0x11182,"SHARADA SIGN VISARGA"}, {0x111CD,"SHARADA SUTRA MARK"}, +{0x111CB,"SHARADA VOWEL MODIFIER MARK"}, {0x111B3,"SHARADA VOWEL SIGN AA"}, {0x111BD,"SHARADA VOWEL SIGN AI"}, {0x111BF,"SHARADA VOWEL SIGN AU"}, @@ -22298,6 +25567,7 @@ {0x111BB,"SHARADA VOWEL SIGN VOCALIC LL"}, {0x111B8,"SHARADA VOWEL SIGN VOCALIC R"}, {0x111B9,"SHARADA VOWEL SIGN VOCALIC RR"}, +{0x1F988,"SHARK"}, {0x1F367,"SHAVED ICE"}, {0x10469,"SHAVIAN LETTER ADO"}, {0x10471,"SHAVIAN LETTER AGE"}, @@ -22351,8 +25621,10 @@ {0x1F6E1,"SHIELD"}, {0x26E9,"SHINTO SHRINE"}, {0x1F6A2,"SHIP"}, +{0x1F92F,"SHOCKED FACE WITH EXPLODING HEAD"}, {0x1F320,"SHOOTING STAR"}, {0x1F6CD,"SHOPPING BAGS"}, +{0x1F6D2,"SHOPPING TROLLEY"}, {0x2B4F,"SHORT BACKSLANTED SOUTH ARROW"}, {0x2B5F,"SHORT BENT ARROW POINTING DOWNWARDS THEN NORTH EAST"}, {0x2ADF,"SHORT DOWN TACK"}, @@ -22370,6 +25642,8 @@ {0x1BCA3,"SHORTHAND FORMAT UP STEP"}, {0x237D,"SHOULDERED OPEN BOX"}, {0x1F6BF,"SHOWER"}, +{0x1F990,"SHRIMP"}, +{0x1F937,"SHRUG"}, {0x29E2,"SHUFFLE PRODUCT"}, {0x115C2,"SIDDHAM DANDA"}, {0x115C3,"SIDDHAM DOUBLE DANDA"}, @@ -22377,6 +25651,7 @@ {0x11580,"SIDDHAM LETTER A"}, {0x11581,"SIDDHAM LETTER AA"}, {0x1158B,"SIDDHAM LETTER AI"}, +{0x115DB,"SIDDHAM LETTER ALTERNATE U"}, {0x1158D,"SIDDHAM LETTER AU"}, {0x115A4,"SIDDHAM LETTER BA"}, {0x115A5,"SIDDHAM LETTER BHA"}, @@ -22411,8 +25686,11 @@ {0x115AC,"SIDDHAM LETTER SSA"}, {0x1159D,"SIDDHAM LETTER TA"}, {0x1159E,"SIDDHAM LETTER THA"}, +{0x115D8,"SIDDHAM LETTER THREE-CIRCLE ALTERNATE I"}, {0x11598,"SIDDHAM LETTER TTA"}, {0x11599,"SIDDHAM LETTER TTHA"}, +{0x115D9,"SIDDHAM LETTER TWO-CIRCLE ALTERNATE I"}, +{0x115DA,"SIDDHAM LETTER TWO-CIRCLE ALTERNATE II"}, {0x11584,"SIDDHAM LETTER U"}, {0x11585,"SIDDHAM LETTER UU"}, {0x115AA,"SIDDHAM LETTER VA"}, @@ -22424,6 +25702,20 @@ {0x115C6,"SIDDHAM REPETITION MARK-1"}, {0x115C7,"SIDDHAM REPETITION MARK-2"}, {0x115C8,"SIDDHAM REPETITION MARK-3"}, +{0x115CF,"SIDDHAM SECTION MARK DOUBLE RING"}, +{0x115D0,"SIDDHAM SECTION MARK DOUBLE RING WITH RAYS"}, +{0x115D7,"SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES"}, +{0x115D5,"SIDDHAM SECTION MARK WITH CIRCLES AND RAYS"}, +{0x115D6,"SIDDHAM SECTION MARK WITH CIRCLES AND TWO ENCLOSURES"}, +{0x115D1,"SIDDHAM SECTION MARK WITH DOUBLE CRESCENTS"}, +{0x115D3,"SIDDHAM SECTION MARK WITH QUADRUPLE CRESCENTS"}, +{0x115CC,"SIDDHAM SECTION MARK WITH RAYS AND DOTTED CRESCENTS"}, +{0x115CD,"SIDDHAM SECTION MARK WITH RAYS AND DOTTED DOUBLE CRESCENTS"}, +{0x115CE,"SIDDHAM SECTION MARK WITH RAYS AND DOTTED TRIPLE CRESCENTS"}, +{0x115D4,"SIDDHAM SECTION MARK WITH SEPTUPLE CRESCENTS"}, +{0x115CB,"SIDDHAM SECTION MARK WITH TRIDENT AND DOTTED CRESCENTS"}, +{0x115CA,"SIDDHAM SECTION MARK WITH TRIDENT AND U-SHAPED ORNAMENTS"}, +{0x115D2,"SIDDHAM SECTION MARK WITH TRIPLE CRESCENTS"}, {0x115C5,"SIDDHAM SEPARATOR BAR"}, {0x115C4,"SIDDHAM SEPARATOR DOT"}, {0x115BD,"SIDDHAM SIGN ANUSVARA"}, @@ -22434,6 +25726,8 @@ {0x115BE,"SIDDHAM SIGN VISARGA"}, {0x115AF,"SIDDHAM VOWEL SIGN AA"}, {0x115B9,"SIDDHAM VOWEL SIGN AI"}, +{0x115DC,"SIDDHAM VOWEL SIGN ALTERNATE U"}, +{0x115DD,"SIDDHAM VOWEL SIGN ALTERNATE UU"}, {0x115BB,"SIDDHAM VOWEL SIGN AU"}, {0x115B8,"SIDDHAM VOWEL SIGN E"}, {0x115B0,"SIDDHAM VOWEL SIGN I"}, @@ -22451,6 +25745,679 @@ {0x1F598,"SIDEWAYS WHITE LEFT POINTING INDEX"}, {0x1F599,"SIDEWAYS WHITE RIGHT POINTING INDEX"}, {0x1F59E,"SIDEWAYS WHITE UP POINTING INDEX"}, +{0x1F918,"SIGN OF THE HORNS"}, +{0x1DA37,"SIGNWRITING AIR BLOW SMALL ROTATIONS"}, +{0x1DA35,"SIGNWRITING AIR BLOWING OUT"}, +{0x1DA38,"SIGNWRITING AIR SUCK SMALL ROTATIONS"}, +{0x1DA36,"SIGNWRITING AIR SUCKING IN"}, +{0x1DA3A,"SIGNWRITING BREATH EXHALE"}, +{0x1DA39,"SIGNWRITING BREATH INHALE"}, +{0x1D910,"SIGNWRITING BRUSH BETWEEN"}, +{0x1D90F,"SIGNWRITING BRUSH MULTIPLE"}, +{0x1D90E,"SIGNWRITING BRUSH SINGLE"}, +{0x1DA2B,"SIGNWRITING CHEEKS NEUTRAL"}, +{0x1DA2A,"SIGNWRITING CHEEKS PUFFED"}, +{0x1DA2C,"SIGNWRITING CHEEKS SUCKED"}, +{0x1DA8A,"SIGNWRITING COLON"}, +{0x1DA87,"SIGNWRITING COMMA"}, +{0x1DA0E,"SIGNWRITING DREAMY EYEBROWS DOWN NEUTRAL"}, +{0x1DA0D,"SIGNWRITING DREAMY EYEBROWS NEUTRAL DOWN"}, +{0x1DA10,"SIGNWRITING DREAMY EYEBROWS NEUTRAL UP"}, +{0x1DA0F,"SIGNWRITING DREAMY EYEBROWS UP NEUTRAL"}, +{0x1D9F6,"SIGNWRITING DYNAMIC ARROWHEAD LARGE"}, +{0x1D9F5,"SIGNWRITING DYNAMIC ARROWHEAD SMALL"}, +{0x1D9FD,"SIGNWRITING DYNAMIC EVERY OTHER TIME"}, +{0x1D9F7,"SIGNWRITING DYNAMIC FAST"}, +{0x1D9FE,"SIGNWRITING DYNAMIC GRADUAL"}, +{0x1D9FA,"SIGNWRITING DYNAMIC RELAXED"}, +{0x1D9FB,"SIGNWRITING DYNAMIC SIMULTANEOUS"}, +{0x1D9FC,"SIGNWRITING DYNAMIC SIMULTANEOUS ALTERNATING"}, +{0x1D9F8,"SIGNWRITING DYNAMIC SLOW"}, +{0x1D9F9,"SIGNWRITING DYNAMIC TENSE"}, +{0x1DA30,"SIGNWRITING EARS"}, +{0x1DA6C,"SIGNWRITING EXCITEMENT"}, +{0x1DA18,"SIGNWRITING EYE BLINK MULTIPLE"}, +{0x1DA17,"SIGNWRITING EYE BLINK SINGLE"}, +{0x1DA1D,"SIGNWRITING EYE WINK"}, +{0x1DA0C,"SIGNWRITING EYEBROWS STRAIGHT DOWN"}, +{0x1DA0B,"SIGNWRITING EYEBROWS STRAIGHT NEUTRAL"}, +{0x1DA0A,"SIGNWRITING EYEBROWS STRAIGHT UP"}, +{0x1DA28,"SIGNWRITING EYEGAZE-FLOORPLANE CURVED"}, +{0x1DA24,"SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT"}, +{0x1DA26,"SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT ALTERNATING"}, +{0x1DA25,"SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT DOUBLE"}, +{0x1DA29,"SIGNWRITING EYEGAZE-WALLPLANE CIRCLING"}, +{0x1DA27,"SIGNWRITING EYEGAZE-WALLPLANE CURVED"}, +{0x1DA21,"SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT"}, +{0x1DA23,"SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT ALTERNATING"}, +{0x1DA22,"SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT DOUBLE"}, +{0x1DA1F,"SIGNWRITING EYELASHES DOWN"}, +{0x1DA20,"SIGNWRITING EYELASHES FLUTTERING"}, +{0x1DA1E,"SIGNWRITING EYELASHES UP"}, +{0x1DA16,"SIGNWRITING EYES CLOSED"}, +{0x1DA1B,"SIGNWRITING EYES HALF CLOSED"}, +{0x1DA19,"SIGNWRITING EYES HALF OPEN"}, +{0x1DA14,"SIGNWRITING EYES OPEN"}, +{0x1DA15,"SIGNWRITING EYES SQUEEZED"}, +{0x1DA1A,"SIGNWRITING EYES WIDE OPEN"}, +{0x1DA1C,"SIGNWRITING EYES WIDENING MOVEMENT"}, +{0x1DA07,"SIGNWRITING FACE DIRECTION POSITION NOSE FORWARD TILTING"}, +{0x1DA08,"SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN"}, +{0x1DA09,"SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN TILTING"}, +{0x1DA9B,"SIGNWRITING FILL MODIFIER-2"}, +{0x1DA9C,"SIGNWRITING FILL MODIFIER-3"}, +{0x1DA9D,"SIGNWRITING FILL MODIFIER-4"}, +{0x1DA9E,"SIGNWRITING FILL MODIFIER-5"}, +{0x1DA9F,"SIGNWRITING FILL MODIFIER-6"}, +{0x1DA7E,"SIGNWRITING FINGER"}, +{0x1D91D,"SIGNWRITING FLICK LARGE MULTIPLE"}, +{0x1D91B,"SIGNWRITING FLICK LARGE SINGLE"}, +{0x1D91F,"SIGNWRITING FLICK SEQUENTIAL"}, +{0x1D91E,"SIGNWRITING FLICK SMALL MULTIPLE"}, +{0x1D91C,"SIGNWRITING FLICK SMALL SINGLE"}, +{0x1DA70,"SIGNWRITING FLOORPLANE SHOULDER HIP MOVE"}, +{0x1DA12,"SIGNWRITING FOREHEAD CONTACT"}, +{0x1DA11,"SIGNWRITING FOREHEAD NEUTRAL"}, +{0x1DA13,"SIGNWRITING FOREHEAD WRINKLED"}, +{0x1DA88,"SIGNWRITING FULL STOP"}, +{0x1D90A,"SIGNWRITING GRASP BETWEEN"}, +{0x1D909,"SIGNWRITING GRASP MULTIPLE"}, +{0x1D908,"SIGNWRITING GRASP SINGLE"}, +{0x1DA6B,"SIGNWRITING HAIR"}, +{0x1D885,"SIGNWRITING HAND-ANGLE"}, +{0x1D805,"SIGNWRITING HAND-ANGLE INDEX"}, +{0x1D8A8,"SIGNWRITING HAND-ANGLE INDEX MIDDLE LITTLE"}, +{0x1D889,"SIGNWRITING HAND-ANGLE INDEX MIDDLE RING"}, +{0x1D8C3,"SIGNWRITING HAND-ANGLE INDEX RING LITTLE"}, +{0x1D8C2,"SIGNWRITING HAND-ANGLE INDEX RING LITTLE OUT"}, +{0x1D8F4,"SIGNWRITING HAND-ANGLE INDEX THUMB"}, +{0x1D8F3,"SIGNWRITING HAND-ANGLE INDEX THUMB IN"}, +{0x1D8F2,"SIGNWRITING HAND-ANGLE INDEX THUMB OUT"}, +{0x1D8A3,"SIGNWRITING HAND-ANGLE LITTLE INDEX"}, +{0x1D89F,"SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB"}, +{0x1D89E,"SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB OUT"}, +{0x1D896,"SIGNWRITING HAND-ANGLE LITTLE UP"}, +{0x1D8D4,"SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE"}, +{0x1D8D3,"SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE IN"}, +{0x1D8D2,"SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE OUT"}, +{0x1D8AD,"SIGNWRITING HAND-ANGLE RING DOWN MIDDLE THUMB INDEX CROSS"}, +{0x1D8B3,"SIGNWRITING HAND-ANGLE RING LITTLE"}, +{0x1D876,"SIGNWRITING HAND-CIRCLE"}, +{0x1D801,"SIGNWRITING HAND-CIRCLE INDEX"}, +{0x1D807,"SIGNWRITING HAND-CIRCLE INDEX BENT"}, +{0x1D80D,"SIGNWRITING HAND-CIRCLE INDEX HINGE"}, +{0x1D80F,"SIGNWRITING HAND-CIRCLE INDEX MIDDLE"}, +{0x1D8AA,"SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSS LITTLE"}, +{0x1D81B,"SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSSED"}, +{0x1D8A5,"SIGNWRITING HAND-CIRCLE INDEX MIDDLE LITTLE"}, +{0x1D887,"SIGNWRITING HAND-CIRCLE INDEX MIDDLE RING"}, +{0x1D81F,"SIGNWRITING HAND-CIRCLE INDEX MIDDLE THUMB"}, +{0x1D8BB,"SIGNWRITING HAND-CIRCLE INDEX RING LITTLE"}, +{0x1D8A1,"SIGNWRITING HAND-CIRCLE LITTLE INDEX"}, +{0x1D894,"SIGNWRITING HAND-CIRCLE LITTLE UP"}, +{0x1D8CE,"SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE"}, +{0x1D8D5,"SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE BENT"}, +{0x1D8C7,"SIGNWRITING HAND-CIRCLE MIDDLE UP"}, +{0x1D8B1,"SIGNWRITING HAND-CIRCLE RING LITTLE"}, +{0x1D866,"SIGNWRITING HAND-CLAW"}, +{0x1D849,"SIGNWRITING HAND-CLAW FOUR FINGERS CONJOINED"}, +{0x1D8E9,"SIGNWRITING HAND-CLAW INDEX THUMB CURVE THUMB INSIDE"}, +{0x1D8D6,"SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED"}, +{0x1D8D7,"SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED SIDE"}, +{0x1D868,"SIGNWRITING HAND-CLAW NO THUMB"}, +{0x1D869,"SIGNWRITING HAND-CLAW THUMB FORWARD"}, +{0x1D867,"SIGNWRITING HAND-CLAW THUMB SIDE"}, +{0x1D86D,"SIGNWRITING HAND-CUP"}, +{0x1D853,"SIGNWRITING HAND-CUP FIVE FINGERS SPREAD"}, +{0x1D854,"SIGNWRITING HAND-CUP FIVE FINGERS SPREAD OPEN"}, +{0x1D802,"SIGNWRITING HAND-CUP INDEX"}, +{0x1D8C0,"SIGNWRITING HAND-CUP INDEX RING LITTLE"}, +{0x1D8EC,"SIGNWRITING HAND-CUP INDEX THUMB"}, +{0x1D8ED,"SIGNWRITING HAND-CUP INDEX THUMB OPEN"}, +{0x1D8D0,"SIGNWRITING HAND-CUP MIDDLE RING LITTLE"}, +{0x1D871,"SIGNWRITING HAND-CUP NO THUMB"}, +{0x1D86C,"SIGNWRITING HAND-CUP OPEN"}, +{0x1D870,"SIGNWRITING HAND-CUP OPEN NO THUMB"}, +{0x1D872,"SIGNWRITING HAND-CUP OPEN THUMB FORWARD"}, +{0x1D86E,"SIGNWRITING HAND-CUP OPEN THUMB SIDE"}, +{0x1D873,"SIGNWRITING HAND-CUP THUMB FORWARD"}, +{0x1D86F,"SIGNWRITING HAND-CUP THUMB SIDE"}, +{0x1D875,"SIGNWRITING HAND-CURLICUE"}, +{0x1D8BC,"SIGNWRITING HAND-CURLICUE INDEX RING LITTLE ON"}, +{0x1D8CF,"SIGNWRITING HAND-CURLICUE MIDDLE RING LITTLE ON"}, +{0x1D874,"SIGNWRITING HAND-CURLICUE OPEN"}, +{0x1D903,"SIGNWRITING HAND-FIST"}, +{0x1D84A,"SIGNWRITING HAND-FIST FOUR FINGERS CONJOINED BENT"}, +{0x1D904,"SIGNWRITING HAND-FIST HEEL"}, +{0x1D800,"SIGNWRITING HAND-FIST INDEX"}, +{0x1D806,"SIGNWRITING HAND-FIST INDEX BENT"}, +{0x1D81D,"SIGNWRITING HAND-FIST INDEX BENT OVER MIDDLE"}, +{0x1D80A,"SIGNWRITING HAND-FIST INDEX CUPPED"}, +{0x1D80B,"SIGNWRITING HAND-FIST INDEX HINGED"}, +{0x1D80C,"SIGNWRITING HAND-FIST INDEX HINGED LOW"}, +{0x1D814,"SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP"}, +{0x1D826,"SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP THUMB SIDE"}, +{0x1D80E,"SIGNWRITING HAND-FIST INDEX MIDDLE"}, +{0x1D810,"SIGNWRITING HAND-FIST INDEX MIDDLE BENT"}, +{0x1D821,"SIGNWRITING HAND-FIST INDEX MIDDLE BENT THUMB STRAIGHT"}, +{0x1D815,"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED"}, +{0x1D818,"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED"}, +{0x1D835,"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED THUMB FORWARD"}, +{0x1D819,"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED"}, +{0x1D832,"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED THUMB SIDE"}, +{0x1D816,"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED INDEX BENT"}, +{0x1D817,"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED MIDDLE BENT"}, +{0x1D834,"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB FORWARD"}, +{0x1D82D,"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE"}, +{0x1D82F,"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE BENT"}, +{0x1D82E,"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE CONJOINED"}, +{0x1D8A9,"SIGNWRITING HAND-FIST INDEX MIDDLE CROSS LITTLE"}, +{0x1D81A,"SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED"}, +{0x1D833,"SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED THUMB SIDE"}, +{0x1D812,"SIGNWRITING HAND-FIST INDEX MIDDLE HINGED"}, +{0x1D823,"SIGNWRITING HAND-FIST INDEX MIDDLE HINGED SPREAD THUMB SIDE"}, +{0x1D8A4,"SIGNWRITING HAND-FIST INDEX MIDDLE LITTLE"}, +{0x1D811,"SIGNWRITING HAND-FIST INDEX MIDDLE RAISED KNUCKLES"}, +{0x1D886,"SIGNWRITING HAND-FIST INDEX MIDDLE RING"}, +{0x1D88B,"SIGNWRITING HAND-FIST INDEX MIDDLE RING BENT"}, +{0x1D88C,"SIGNWRITING HAND-FIST INDEX MIDDLE RING CONJOINED"}, +{0x1D820,"SIGNWRITING HAND-FIST INDEX MIDDLE STRAIGHT THUMB BENT"}, +{0x1D81E,"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB"}, +{0x1D83F,"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED"}, +{0x1D83E,"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED OUT"}, +{0x1D822,"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB BENT"}, +{0x1D829,"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CIRCLED"}, +{0x1D83D,"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CONJOINED HINGED"}, +{0x1D828,"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CUPPED"}, +{0x1D82B,"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HINGED"}, +{0x1D82A,"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HOOKED"}, +{0x1D827,"SIGNWRITING HAND-FIST INDEX MIDDLE UP SPREAD THUMB FORWARD"}, +{0x1D809,"SIGNWRITING HAND-FIST INDEX RAISED KNUCKLE"}, +{0x1D8BA,"SIGNWRITING HAND-FIST INDEX RING LITTLE"}, +{0x1D83B,"SIGNWRITING HAND-FIST INDEX THUMB ANGLED IN MIDDLE UP"}, +{0x1D83A,"SIGNWRITING HAND-FIST INDEX THUMB ANGLED OUT MIDDLE UP"}, +{0x1D8EB,"SIGNWRITING HAND-FIST INDEX THUMB CIRCLE"}, +{0x1D83C,"SIGNWRITING HAND-FIST INDEX THUMB CIRCLED MIDDLE UP"}, +{0x1D837,"SIGNWRITING HAND-FIST INDEX THUMB CUPPED MIDDLE UP"}, +{0x1D8E7,"SIGNWRITING HAND-FIST INDEX THUMB CURLICUE"}, +{0x1D8E8,"SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB INSIDE"}, +{0x1D8EA,"SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB UNDER"}, +{0x1D8E5,"SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX BENT"}, +{0x1D8E4,"SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX STRAIGHT"}, +{0x1D8E6,"SIGNWRITING HAND-FIST INDEX THUMB HOOK"}, +{0x1D843,"SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE HINGED"}, +{0x1D831,"SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE UP"}, +{0x1D8DC,"SIGNWRITING HAND-FIST INDEX THUMB SIDE"}, +{0x1D8E2,"SIGNWRITING HAND-FIST INDEX THUMB SIDE BOTH BENT"}, +{0x1D8E1,"SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX BENT"}, +{0x1D8E3,"SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX HINGE"}, +{0x1D8E0,"SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB BENT"}, +{0x1D8DF,"SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB CONJOINED"}, +{0x1D8DE,"SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB DIAGONAL"}, +{0x1D813,"SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED"}, +{0x1D825,"SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB CONJOINED"}, +{0x1D824,"SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB SIDE"}, +{0x1D898,"SIGNWRITING HAND-FIST LITTLE BENT"}, +{0x1D88E,"SIGNWRITING HAND-FIST LITTLE DOWN"}, +{0x1D891,"SIGNWRITING HAND-FIST LITTLE DOWN OTHERS CIRCLED"}, +{0x1D890,"SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE CURVED"}, +{0x1D88F,"SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE STRAIGHT"}, +{0x1D8A0,"SIGNWRITING HAND-FIST LITTLE INDEX"}, +{0x1D89C,"SIGNWRITING HAND-FIST LITTLE INDEX THUMB"}, +{0x1D897,"SIGNWRITING HAND-FIST LITTLE RAISED KNUCKLE"}, +{0x1D89A,"SIGNWRITING HAND-FIST LITTLE THUMB"}, +{0x1D899,"SIGNWRITING HAND-FIST LITTLE TOUCHES THUMB"}, +{0x1D892,"SIGNWRITING HAND-FIST LITTLE UP"}, +{0x1D81C,"SIGNWRITING HAND-FIST MIDDLE BENT OVER INDEX"}, +{0x1D8C4,"SIGNWRITING HAND-FIST MIDDLE DOWN"}, +{0x1D8CC,"SIGNWRITING HAND-FIST MIDDLE LITTLE"}, +{0x1D8C8,"SIGNWRITING HAND-FIST MIDDLE RAISED KNUCKLE"}, +{0x1D8CD,"SIGNWRITING HAND-FIST MIDDLE RING LITTLE"}, +{0x1D842,"SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED INDEX UP"}, +{0x1D841,"SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX CROSSED"}, +{0x1D840,"SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX UP"}, +{0x1D839,"SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX HINGED"}, +{0x1D838,"SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX UP"}, +{0x1D836,"SIGNWRITING HAND-FIST MIDDLE THUMB CUPPED INDEX UP"}, +{0x1D830,"SIGNWRITING HAND-FIST MIDDLE THUMB HOOKED INDEX UP"}, +{0x1D8CB,"SIGNWRITING HAND-FIST MIDDLE THUMB LITTLE"}, +{0x1D8C6,"SIGNWRITING HAND-FIST MIDDLE UP"}, +{0x1D8C9,"SIGNWRITING HAND-FIST MIDDLE UP THUMB SIDE"}, +{0x1D8AB,"SIGNWRITING HAND-FIST RING DOWN"}, +{0x1D8B7,"SIGNWRITING HAND-FIST RING INDEX"}, +{0x1D8B0,"SIGNWRITING HAND-FIST RING LITTLE"}, +{0x1D8B4,"SIGNWRITING HAND-FIST RING MIDDLE"}, +{0x1D8B5,"SIGNWRITING HAND-FIST RING MIDDLE CONJOINED"}, +{0x1D8B6,"SIGNWRITING HAND-FIST RING MIDDLE RAISED KNUCKLES"}, +{0x1D8AF,"SIGNWRITING HAND-FIST RING RAISED KNUCKLE"}, +{0x1D8B8,"SIGNWRITING HAND-FIST RING THUMB"}, +{0x1D8AE,"SIGNWRITING HAND-FIST RING UP"}, +{0x1D8F5,"SIGNWRITING HAND-FIST THUMB"}, +{0x1D8FB,"SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE"}, +{0x1D82C,"SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE STRAIGHT"}, +{0x1D8FC,"SIGNWRITING HAND-FIST THUMB BETWEEN MIDDLE RING"}, +{0x1D8FD,"SIGNWRITING HAND-FIST THUMB BETWEEN RING LITTLE"}, +{0x1D8FA,"SIGNWRITING HAND-FIST THUMB FORWARD"}, +{0x1D8F6,"SIGNWRITING HAND-FIST THUMB HEEL"}, +{0x1D902,"SIGNWRITING HAND-FIST THUMB OVER FOUR RAISED KNUCKLES"}, +{0x1D8FF,"SIGNWRITING HAND-FIST THUMB OVER TWO FINGERS"}, +{0x1D8F9,"SIGNWRITING HAND-FIST THUMB SIDE BENT"}, +{0x1D8F8,"SIGNWRITING HAND-FIST THUMB SIDE CONJOINED"}, +{0x1D8F7,"SIGNWRITING HAND-FIST THUMB SIDE DIAGONAL"}, +{0x1D901,"SIGNWRITING HAND-FIST THUMB UNDER FOUR FINGERS"}, +{0x1D808,"SIGNWRITING HAND-FIST THUMB UNDER INDEX BENT"}, +{0x1D893,"SIGNWRITING HAND-FIST THUMB UNDER LITTLE UP"}, +{0x1D900,"SIGNWRITING HAND-FIST THUMB UNDER THREE FINGERS"}, +{0x1D8FE,"SIGNWRITING HAND-FIST THUMB UNDER TWO FINGERS"}, +{0x1D85A,"SIGNWRITING HAND-FLAT"}, +{0x1D85B,"SIGNWRITING HAND-FLAT BETWEEN PALM FACINGS"}, +{0x1D84C,"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD"}, +{0x1D850,"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD BENT"}, +{0x1D84E,"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD FOUR BENT"}, +{0x1D857,"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED"}, +{0x1D859,"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED NO THUMB"}, +{0x1D858,"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED THUMB SIDE"}, +{0x1D852,"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD THUMB FORWARD"}, +{0x1D844,"SIGNWRITING HAND-FLAT FOUR FINGERS"}, +{0x1D845,"SIGNWRITING HAND-FLAT FOUR FINGERS BENT"}, +{0x1D847,"SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED"}, +{0x1D848,"SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED SPLIT"}, +{0x1D846,"SIGNWRITING HAND-FLAT FOUR FINGERS HINGED"}, +{0x1D85C,"SIGNWRITING HAND-FLAT HEEL"}, +{0x1D84D,"SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD"}, +{0x1D851,"SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD BENT"}, +{0x1D84F,"SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD FOUR BENT"}, +{0x1D85E,"SIGNWRITING HAND-FLAT HEEL THUMB SIDE"}, +{0x1D862,"SIGNWRITING HAND-FLAT SPLIT CENTRE"}, +{0x1D863,"SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE"}, +{0x1D864,"SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE BENT"}, +{0x1D861,"SIGNWRITING HAND-FLAT SPLIT INDEX THUMB SIDE"}, +{0x1D865,"SIGNWRITING HAND-FLAT SPLIT LITTLE"}, +{0x1D85F,"SIGNWRITING HAND-FLAT THUMB BENT"}, +{0x1D860,"SIGNWRITING HAND-FLAT THUMB FORWARD"}, +{0x1D85D,"SIGNWRITING HAND-FLAT THUMB SIDE"}, +{0x1D87D,"SIGNWRITING HAND-HINGE"}, +{0x1D855,"SIGNWRITING HAND-HINGE FIVE FINGERS SPREAD OPEN"}, +{0x1D84B,"SIGNWRITING HAND-HINGE FOUR FINGERS CONJOINED"}, +{0x1D804,"SIGNWRITING HAND-HINGE INDEX"}, +{0x1D8DB,"SIGNWRITING HAND-HINGE INDEX HINGED"}, +{0x1D8A6,"SIGNWRITING HAND-HINGE INDEX MIDDLE LITTLE"}, +{0x1D888,"SIGNWRITING HAND-HINGE INDEX MIDDLE RING"}, +{0x1D88D,"SIGNWRITING HAND-HINGE INDEX MIDDLE RING CONJOINED"}, +{0x1D8C1,"SIGNWRITING HAND-HINGE INDEX RING LITTLE"}, +{0x1D8F0,"SIGNWRITING HAND-HINGE INDEX THUMB"}, +{0x1D8EF,"SIGNWRITING HAND-HINGE INDEX THUMB LARGE"}, +{0x1D8EE,"SIGNWRITING HAND-HINGE INDEX THUMB OPEN"}, +{0x1D8DD,"SIGNWRITING HAND-HINGE INDEX THUMB SIDE"}, +{0x1D8F1,"SIGNWRITING HAND-HINGE INDEX THUMB SMALL"}, +{0x1D88A,"SIGNWRITING HAND-HINGE LITTLE"}, +{0x1D8A2,"SIGNWRITING HAND-HINGE LITTLE INDEX"}, +{0x1D89D,"SIGNWRITING HAND-HINGE LITTLE INDEX THUMB"}, +{0x1D89B,"SIGNWRITING HAND-HINGE LITTLE THUMB"}, +{0x1D8C5,"SIGNWRITING HAND-HINGE MIDDLE"}, +{0x1D8D1,"SIGNWRITING HAND-HINGE MIDDLE RING LITTLE"}, +{0x1D882,"SIGNWRITING HAND-HINGE NO THUMB"}, +{0x1D87B,"SIGNWRITING HAND-HINGE OPEN"}, +{0x1D881,"SIGNWRITING HAND-HINGE OPEN NO THUMB"}, +{0x1D87C,"SIGNWRITING HAND-HINGE OPEN THUMB FORWARD"}, +{0x1D87F,"SIGNWRITING HAND-HINGE OPEN THUMB SIDE"}, +{0x1D8A7,"SIGNWRITING HAND-HINGE RING"}, +{0x1D8AC,"SIGNWRITING HAND-HINGE RING DOWN INDEX THUMB HOOK MIDDLE"}, +{0x1D87E,"SIGNWRITING HAND-HINGE SMALL"}, +{0x1D884,"SIGNWRITING HAND-HINGE THUMB BETWEEN MIDDLE RING"}, +{0x1D880,"SIGNWRITING HAND-HINGE THUMB SIDE"}, +{0x1D883,"SIGNWRITING HAND-HINGE THUMB SIDE TOUCHING INDEX"}, +{0x1D86B,"SIGNWRITING HAND-HOOK"}, +{0x1D86A,"SIGNWRITING HAND-HOOK CURLICUE"}, +{0x1D8BE,"SIGNWRITING HAND-HOOK INDEX RING LITTLE IN"}, +{0x1D8BD,"SIGNWRITING HAND-HOOK INDEX RING LITTLE OUT"}, +{0x1D8BF,"SIGNWRITING HAND-HOOK INDEX RING LITTLE UNDER"}, +{0x1D8DA,"SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED"}, +{0x1D8D9,"SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED IN"}, +{0x1D8D8,"SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED OUT"}, +{0x1D8CA,"SIGNWRITING HAND-HOOK MIDDLE THUMB"}, +{0x1D8B9,"SIGNWRITING HAND-HOOK RING THUMB"}, +{0x1D877,"SIGNWRITING HAND-OVAL"}, +{0x1D856,"SIGNWRITING HAND-OVAL FIVE FINGERS SPREAD"}, +{0x1D803,"SIGNWRITING HAND-OVAL INDEX"}, +{0x1D895,"SIGNWRITING HAND-OVAL LITTLE UP"}, +{0x1D879,"SIGNWRITING HAND-OVAL NO THUMB"}, +{0x1D8B2,"SIGNWRITING HAND-OVAL RING LITTLE"}, +{0x1D87A,"SIGNWRITING HAND-OVAL THUMB FORWARD"}, +{0x1D878,"SIGNWRITING HAND-OVAL THUMB SIDE"}, +{0x1D9FF,"SIGNWRITING HEAD"}, +{0x1DA06,"SIGNWRITING HEAD MOVEMENT CIRCLE"}, +{0x1DA05,"SIGNWRITING HEAD MOVEMENT-FLOORPLANE CURVE"}, +{0x1DA03,"SIGNWRITING HEAD MOVEMENT-FLOORPLANE STRAIGHT"}, +{0x1DA04,"SIGNWRITING HEAD MOVEMENT-WALLPLANE CURVE"}, +{0x1DA01,"SIGNWRITING HEAD MOVEMENT-WALLPLANE STRAIGHT"}, +{0x1DA02,"SIGNWRITING HEAD MOVEMENT-WALLPLANE TILT"}, +{0x1DA00,"SIGNWRITING HEAD RIM"}, +{0x1DA76,"SIGNWRITING LIMB COMBINATION"}, +{0x1DA77,"SIGNWRITING LIMB LENGTH-1"}, +{0x1DA78,"SIGNWRITING LIMB LENGTH-2"}, +{0x1DA79,"SIGNWRITING LIMB LENGTH-3"}, +{0x1DA7A,"SIGNWRITING LIMB LENGTH-4"}, +{0x1DA7B,"SIGNWRITING LIMB LENGTH-5"}, +{0x1DA7C,"SIGNWRITING LIMB LENGTH-6"}, +{0x1DA7D,"SIGNWRITING LIMB LENGTH-7"}, +{0x1DA54,"SIGNWRITING LIP LOWER OVER UPPER"}, +{0x1DA55,"SIGNWRITING LIP UPPER OVER LOWER"}, +{0x1DA53,"SIGNWRITING LIPS PRESSED TOGETHER"}, +{0x1DA83,"SIGNWRITING LOCATION DEPTH"}, +{0x1DA84,"SIGNWRITING LOCATION HEAD NECK"}, +{0x1DA81,"SIGNWRITING LOCATION HEIGHT"}, +{0x1DA86,"SIGNWRITING LOCATION LIMBS DIGITS"}, +{0x1DA85,"SIGNWRITING LOCATION TORSO"}, +{0x1DA82,"SIGNWRITING LOCATION WIDTH"}, +{0x1DA80,"SIGNWRITING LOCATION-FLOORPLANE SPACE"}, +{0x1DA7F,"SIGNWRITING LOCATION-WALLPLANE SPACE"}, +{0x1DA3D,"SIGNWRITING MOUTH CLOSED CONTACT"}, +{0x1DA3C,"SIGNWRITING MOUTH CLOSED FORWARD"}, +{0x1DA3B,"SIGNWRITING MOUTH CLOSED NEUTRAL"}, +{0x1DA56,"SIGNWRITING MOUTH CORNERS"}, +{0x1DA41,"SIGNWRITING MOUTH FROWN"}, +{0x1DA43,"SIGNWRITING MOUTH FROWN OPEN"}, +{0x1DA42,"SIGNWRITING MOUTH FROWN WRINKLED"}, +{0x1DA4D,"SIGNWRITING MOUTH KISS"}, +{0x1DA4E,"SIGNWRITING MOUTH KISS FORWARD"}, +{0x1DA4F,"SIGNWRITING MOUTH KISS WRINKLED"}, +{0x1DA44,"SIGNWRITING MOUTH OPEN CIRCLE"}, +{0x1DA45,"SIGNWRITING MOUTH OPEN FORWARD"}, +{0x1DA47,"SIGNWRITING MOUTH OPEN OVAL"}, +{0x1DA48,"SIGNWRITING MOUTH OPEN OVAL WRINKLED"}, +{0x1DA49,"SIGNWRITING MOUTH OPEN OVAL YAWN"}, +{0x1DA4A,"SIGNWRITING MOUTH OPEN RECTANGLE"}, +{0x1DA4B,"SIGNWRITING MOUTH OPEN RECTANGLE WRINKLED"}, +{0x1DA4C,"SIGNWRITING MOUTH OPEN RECTANGLE YAWN"}, +{0x1DA46,"SIGNWRITING MOUTH OPEN WRINKLED"}, +{0x1DA3E,"SIGNWRITING MOUTH SMILE"}, +{0x1DA40,"SIGNWRITING MOUTH SMILE OPEN"}, +{0x1DA3F,"SIGNWRITING MOUTH SMILE WRINKLED"}, +{0x1DA50,"SIGNWRITING MOUTH TENSE"}, +{0x1DA51,"SIGNWRITING MOUTH TENSE FORWARD"}, +{0x1DA52,"SIGNWRITING MOUTH TENSE SUCKED"}, +{0x1DA58,"SIGNWRITING MOUTH WRINKLES DOUBLE"}, +{0x1DA57,"SIGNWRITING MOUTH WRINKLES SINGLE"}, +{0x1D957,"SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGE"}, +{0x1D958,"SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGEST"}, +{0x1D956,"SIGNWRITING MOVEMENT-DIAGONAL AWAY MEDIUM"}, +{0x1D955,"SIGNWRITING MOVEMENT-DIAGONAL AWAY SMALL"}, +{0x1D95F,"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGE"}, +{0x1D960,"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGEST"}, +{0x1D95E,"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY MEDIUM"}, +{0x1D95D,"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY SMALL"}, +{0x1D963,"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGE"}, +{0x1D964,"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGEST"}, +{0x1D962,"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS MEDIUM"}, +{0x1D961,"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS SMALL"}, +{0x1D95B,"SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGE"}, +{0x1D95C,"SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGEST"}, +{0x1D95A,"SIGNWRITING MOVEMENT-DIAGONAL TOWARDS MEDIUM"}, +{0x1D959,"SIGNWRITING MOVEMENT-DIAGONAL TOWARDS SMALL"}, +{0x1D9EC,"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE DOUBLE"}, +{0x1D9E9,"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE SINGLE"}, +{0x1D9EB,"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM DOUBLE"}, +{0x1D9E8,"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM SINGLE"}, +{0x1D9EA,"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL DOUBLE"}, +{0x1D9E7,"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL SINGLE"}, +{0x1D973,"SIGNWRITING MOVEMENT-FLOORPLANE BEND"}, +{0x1D97A,"SIGNWRITING MOVEMENT-FLOORPLANE BOX LARGE"}, +{0x1D979,"SIGNWRITING MOVEMENT-FLOORPLANE BOX MEDIUM"}, +{0x1D978,"SIGNWRITING MOVEMENT-FLOORPLANE BOX SMALL"}, +{0x1D977,"SIGNWRITING MOVEMENT-FLOORPLANE CHECK"}, +{0x1D976,"SIGNWRITING MOVEMENT-FLOORPLANE CORNER LARGE"}, +{0x1D975,"SIGNWRITING MOVEMENT-FLOORPLANE CORNER MEDIUM"}, +{0x1D974,"SIGNWRITING MOVEMENT-FLOORPLANE CORNER SMALL"}, +{0x1D96E,"SIGNWRITING MOVEMENT-FLOORPLANE CROSS"}, +{0x1D9D9,"SIGNWRITING MOVEMENT-FLOORPLANE CURVE COMBINED"}, +{0x1D9B8,"SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING LARGE"}, +{0x1D9B7,"SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING SMALL"}, +{0x1D9C7,"SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR LARGE"}, +{0x1D9C6,"SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR SMALL"}, +{0x1D9D7,"SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGE"}, +{0x1D9D8,"SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGEST"}, +{0x1D9D6,"SIGNWRITING MOVEMENT-FLOORPLANE CURVE MEDIUM"}, +{0x1D9D5,"SIGNWRITING MOVEMENT-FLOORPLANE CURVE SMALL"}, +{0x1D96C,"SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING"}, +{0x1D96D,"SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING WRIST FLEX"}, +{0x1D96A,"SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE STRAIGHT"}, +{0x1D96B,"SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE WRIST FLEX"}, +{0x1D9F4,"SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL DOUBLE"}, +{0x1D9F3,"SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL SINGLE"}, +{0x1D929,"SIGNWRITING MOVEMENT-FLOORPLANE FINGER CONTACT"}, +{0x1D9BA,"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE DOUBLE"}, +{0x1D9BC,"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE TRIPLE"}, +{0x1D9B9,"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL DOUBLE"}, +{0x1D9BB,"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL TRIPLE"}, +{0x1D9C9,"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR LARGE DOUBLE"}, +{0x1D9C8,"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR SMALL DOUBLE"}, +{0x1D9CB,"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE LARGE TRIPLE"}, +{0x1D9CA,"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE SMALL TRIPLE"}, +{0x1D9DA,"SIGNWRITING MOVEMENT-FLOORPLANE HUMP SMALL"}, +{0x1DA69,"SIGNWRITING MOVEMENT-FLOORPLANE JAW"}, +{0x1D9C0,"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE DOUBLE"}, +{0x1D9BE,"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE SINGLE"}, +{0x1D9BF,"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL DOUBLE"}, +{0x1D9BD,"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL SINGLE"}, +{0x1D9CF,"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE DOUBLE"}, +{0x1D9CD,"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE SINGLE"}, +{0x1D9CE,"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL DOUBLE"}, +{0x1D9CC,"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL SINGLE"}, +{0x1D9DB,"SIGNWRITING MOVEMENT-FLOORPLANE LOOP SMALL"}, +{0x1D980,"SIGNWRITING MOVEMENT-FLOORPLANE PEAKS LARGE"}, +{0x1D97F,"SIGNWRITING MOVEMENT-FLOORPLANE PEAKS MEDIUM"}, +{0x1D97E,"SIGNWRITING MOVEMENT-FLOORPLANE PEAKS SMALL"}, +{0x1D9E2,"SIGNWRITING MOVEMENT-FLOORPLANE SHAKING PARALLEL"}, +{0x1D967,"SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGE"}, +{0x1D968,"SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGEST"}, +{0x1D966,"SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT MEDIUM"}, +{0x1D965,"SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT SMALL"}, +{0x1D969,"SIGNWRITING MOVEMENT-FLOORPLANE SINGLE WRIST FLEX"}, +{0x1D971,"SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING MOVEMENT"}, +{0x1D972,"SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING WRIST FLEX"}, +{0x1D96F,"SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE STRAIGHT MOVEMENT"}, +{0x1D970,"SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE WRIST FLEX"}, +{0x1D9C2,"SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING LARGE"}, +{0x1D9C1,"SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING SMALL"}, +{0x1D9D1,"SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR LARGE"}, +{0x1D9D0,"SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR SMALL"}, +{0x1D9DE,"SIGNWRITING MOVEMENT-FLOORPLANE WAVE LARGE"}, +{0x1D9DD,"SIGNWRITING MOVEMENT-FLOORPLANE WAVE SMALL"}, +{0x1D9DC,"SIGNWRITING MOVEMENT-FLOORPLANE WAVE SNAKE"}, +{0x1D9F0,"SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL DOUBLE"}, +{0x1D9EF,"SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL SINGLE"}, +{0x1D97D,"SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG LARGE"}, +{0x1D97C,"SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG MEDIUM"}, +{0x1D97B,"SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG SMALL"}, +{0x1D924,"SIGNWRITING MOVEMENT-HINGE DOWN SEQUENTIAL"}, +{0x1D927,"SIGNWRITING MOVEMENT-HINGE SIDE TO SIDE SCISSORS"}, +{0x1D925,"SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING LARGE"}, +{0x1D926,"SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING SMALL"}, +{0x1D921,"SIGNWRITING MOVEMENT-HINGE UP DOWN LARGE"}, +{0x1D922,"SIGNWRITING MOVEMENT-HINGE UP DOWN SMALL"}, +{0x1D923,"SIGNWRITING MOVEMENT-HINGE UP SEQUENTIAL"}, +{0x1D9E6,"SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM DOUBLE"}, +{0x1D9E4,"SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM SINGLE"}, +{0x1D9E5,"SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL DOUBLE"}, +{0x1D9E3,"SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL SINGLE"}, +{0x1D93A,"SIGNWRITING MOVEMENT-WALLPLANE BEND LARGE"}, +{0x1D939,"SIGNWRITING MOVEMENT-WALLPLANE BEND MEDIUM"}, +{0x1D938,"SIGNWRITING MOVEMENT-WALLPLANE BEND SMALL"}, +{0x1D944,"SIGNWRITING MOVEMENT-WALLPLANE BOX LARGE"}, +{0x1D943,"SIGNWRITING MOVEMENT-WALLPLANE BOX MEDIUM"}, +{0x1D942,"SIGNWRITING MOVEMENT-WALLPLANE BOX SMALL"}, +{0x1D941,"SIGNWRITING MOVEMENT-WALLPLANE CHECK LARGE"}, +{0x1D940,"SIGNWRITING MOVEMENT-WALLPLANE CHECK MEDIUM"}, +{0x1D93F,"SIGNWRITING MOVEMENT-WALLPLANE CHECK SMALL"}, +{0x1D93D,"SIGNWRITING MOVEMENT-WALLPLANE CORNER LARGE"}, +{0x1D93C,"SIGNWRITING MOVEMENT-WALLPLANE CORNER MEDIUM"}, +{0x1D93E,"SIGNWRITING MOVEMENT-WALLPLANE CORNER ROTATION"}, +{0x1D93B,"SIGNWRITING MOVEMENT-WALLPLANE CORNER SMALL"}, +{0x1D933,"SIGNWRITING MOVEMENT-WALLPLANE CROSS"}, +{0x1D98E,"SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGE"}, +{0x1D98F,"SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGEST"}, +{0x1D98D,"SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE MEDIUM"}, +{0x1D98C,"SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE SMALL"}, +{0x1D9AD,"SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING CHEST"}, +{0x1D9A6,"SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING FRONT WALL"}, +{0x1D98A,"SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGE"}, +{0x1D98B,"SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGEST"}, +{0x1D989,"SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER MEDIUM"}, +{0x1D988,"SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER SMALL"}, +{0x1D99F,"SIGNWRITING MOVEMENT-WALLPLANE CURVE THEN STRAIGHT"}, +{0x1D991,"SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE MEDIUM"}, +{0x1D990,"SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE SMALL"}, +{0x1D9A1,"SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS MEDIUM"}, +{0x1D9A0,"SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS SMALL"}, +{0x1D931,"SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING"}, +{0x1D932,"SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING WRIST FLEX"}, +{0x1D92F,"SIGNWRITING MOVEMENT-WALLPLANE DOUBLE STRAIGHT"}, +{0x1D930,"SIGNWRITING MOVEMENT-WALLPLANE DOUBLE WRIST FLEX"}, +{0x1D9F2,"SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES DOUBLE"}, +{0x1D9F1,"SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES SINGLE"}, +{0x1D928,"SIGNWRITING MOVEMENT-WALLPLANE FINGER CONTACT"}, +{0x1D9AE,"SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING CHEST"}, +{0x1D9A7,"SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING FRONT WALL"}, +{0x1D994,"SIGNWRITING MOVEMENT-WALLPLANE HUMP LARGE"}, +{0x1D993,"SIGNWRITING MOVEMENT-WALLPLANE HUMP MEDIUM"}, +{0x1D992,"SIGNWRITING MOVEMENT-WALLPLANE HUMP SMALL"}, +{0x1DA68,"SIGNWRITING MOVEMENT-WALLPLANE JAW"}, +{0x1D9AF,"SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING CHEST"}, +{0x1D9A8,"SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING FRONT WALL"}, +{0x1D997,"SIGNWRITING MOVEMENT-WALLPLANE LOOP LARGE"}, +{0x1D996,"SIGNWRITING MOVEMENT-WALLPLANE LOOP MEDIUM"}, +{0x1D995,"SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL"}, +{0x1D998,"SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL DOUBLE"}, +{0x1D94A,"SIGNWRITING MOVEMENT-WALLPLANE PEAKS LARGE"}, +{0x1D949,"SIGNWRITING MOVEMENT-WALLPLANE PEAKS MEDIUM"}, +{0x1D948,"SIGNWRITING MOVEMENT-WALLPLANE PEAKS SMALL"}, +{0x1D9A5,"SIGNWRITING MOVEMENT-WALLPLANE SHAKING"}, +{0x1D92C,"SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGE"}, +{0x1D92D,"SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGEST"}, +{0x1D92B,"SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT MEDIUM"}, +{0x1D92A,"SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT SMALL"}, +{0x1D92E,"SIGNWRITING MOVEMENT-WALLPLANE SINGLE WRIST FLEX"}, +{0x1D936,"SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING"}, +{0x1D937,"SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING WRIST FLEX"}, +{0x1D934,"SIGNWRITING MOVEMENT-WALLPLANE TRIPLE STRAIGHT MOVEMENT"}, +{0x1D935,"SIGNWRITING MOVEMENT-WALLPLANE TRIPLE WRIST FLEX"}, +{0x1D99B,"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE LARGE"}, +{0x1D99A,"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE MEDIUM"}, +{0x1D999,"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE SMALL"}, +{0x1D99E,"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE LARGE"}, +{0x1D99D,"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE MEDIUM"}, +{0x1D99C,"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE SMALL"}, +{0x1D9B6,"SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH LARGE"}, +{0x1D9B5,"SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH MEDIUM"}, +{0x1D9B4,"SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH SMALL"}, +{0x1D9B0,"SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING CHEST"}, +{0x1D9A9,"SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING FRONT WALL"}, +{0x1D9EE,"SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT DOUBLE"}, +{0x1D9ED,"SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT SINGLE"}, +{0x1D947,"SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG LARGE"}, +{0x1D946,"SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG MEDIUM"}, +{0x1D945,"SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG SMALL"}, +{0x1DA6A,"SIGNWRITING NECK"}, +{0x1DA32,"SIGNWRITING NOSE CONTACT"}, +{0x1DA31,"SIGNWRITING NOSE NEUTRAL"}, +{0x1DA34,"SIGNWRITING NOSE WIGGLES"}, +{0x1DA33,"SIGNWRITING NOSE WRINKLES"}, +{0x1DA8B,"SIGNWRITING PARENTHESIS"}, +{0x1DAA9,"SIGNWRITING ROTATION MODIFIER-10"}, +{0x1DAAA,"SIGNWRITING ROTATION MODIFIER-11"}, +{0x1DAAB,"SIGNWRITING ROTATION MODIFIER-12"}, +{0x1DAAC,"SIGNWRITING ROTATION MODIFIER-13"}, +{0x1DAAD,"SIGNWRITING ROTATION MODIFIER-14"}, +{0x1DAAE,"SIGNWRITING ROTATION MODIFIER-15"}, +{0x1DAAF,"SIGNWRITING ROTATION MODIFIER-16"}, +{0x1DAA1,"SIGNWRITING ROTATION MODIFIER-2"}, +{0x1DAA2,"SIGNWRITING ROTATION MODIFIER-3"}, +{0x1DAA3,"SIGNWRITING ROTATION MODIFIER-4"}, +{0x1DAA4,"SIGNWRITING ROTATION MODIFIER-5"}, +{0x1DAA5,"SIGNWRITING ROTATION MODIFIER-6"}, +{0x1DAA6,"SIGNWRITING ROTATION MODIFIER-7"}, +{0x1DAA7,"SIGNWRITING ROTATION MODIFIER-8"}, +{0x1DAA8,"SIGNWRITING ROTATION MODIFIER-9"}, +{0x1D9E1,"SIGNWRITING ROTATION-FLOORPLANE ALTERNATING"}, +{0x1D9C5,"SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING CEILING"}, +{0x1D9D4,"SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING FLOOR"}, +{0x1D9E0,"SIGNWRITING ROTATION-FLOORPLANE DOUBLE"}, +{0x1D9C4,"SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING CEILING"}, +{0x1D9D3,"SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING FLOOR"}, +{0x1D9DF,"SIGNWRITING ROTATION-FLOORPLANE SINGLE"}, +{0x1D9C3,"SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING CEILING"}, +{0x1D9D2,"SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING FLOOR"}, +{0x1D9A4,"SIGNWRITING ROTATION-WALLPLANE ALTERNATE"}, +{0x1D9B3,"SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING CHEST"}, +{0x1D9AC,"SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING FRONT WALL"}, +{0x1D9A3,"SIGNWRITING ROTATION-WALLPLANE DOUBLE"}, +{0x1D9B2,"SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING CHEST"}, +{0x1D9AB,"SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING FRONT WALL"}, +{0x1D9A2,"SIGNWRITING ROTATION-WALLPLANE SINGLE"}, +{0x1D9B1,"SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING CHEST"}, +{0x1D9AA,"SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING FRONT WALL"}, +{0x1D913,"SIGNWRITING RUB BETWEEN"}, +{0x1D912,"SIGNWRITING RUB MULTIPLE"}, +{0x1D911,"SIGNWRITING RUB SINGLE"}, +{0x1DA89,"SIGNWRITING SEMICOLON"}, +{0x1DA6E,"SIGNWRITING SHOULDER HIP POSITIONS"}, +{0x1DA6D,"SIGNWRITING SHOULDER HIP SPINE"}, +{0x1DA71,"SIGNWRITING SHOULDER TILTING FROM WAIST"}, +{0x1D920,"SIGNWRITING SQUEEZE FLICK ALTERNATING"}, +{0x1D918,"SIGNWRITING SQUEEZE LARGE MULTIPLE"}, +{0x1D916,"SIGNWRITING SQUEEZE LARGE SINGLE"}, +{0x1D91A,"SIGNWRITING SQUEEZE SEQUENTIAL"}, +{0x1D919,"SIGNWRITING SQUEEZE SMALL MULTIPLE"}, +{0x1D917,"SIGNWRITING SQUEEZE SMALL SINGLE"}, +{0x1D90D,"SIGNWRITING STRIKE BETWEEN"}, +{0x1D90C,"SIGNWRITING STRIKE MULTIPLE"}, +{0x1D90B,"SIGNWRITING STRIKE SINGLE"}, +{0x1D915,"SIGNWRITING SURFACE BETWEEN"}, +{0x1D914,"SIGNWRITING SURFACE SYMBOLS"}, +{0x1DA61,"SIGNWRITING TEETH"}, +{0x1DA67,"SIGNWRITING TEETH BITE LIPS"}, +{0x1DA62,"SIGNWRITING TEETH MOVEMENT"}, +{0x1DA65,"SIGNWRITING TEETH ON LIPS"}, +{0x1DA66,"SIGNWRITING TEETH ON LIPS MOVEMENT"}, +{0x1DA63,"SIGNWRITING TEETH ON TONGUE"}, +{0x1DA64,"SIGNWRITING TEETH ON TONGUE MOVEMENT"}, +{0x1DA2D,"SIGNWRITING TENSE CHEEKS HIGH"}, +{0x1DA2F,"SIGNWRITING TENSE CHEEKS LOW"}, +{0x1DA2E,"SIGNWRITING TENSE CHEEKS MIDDLE"}, +{0x1DA60,"SIGNWRITING TONGUE CENTRE INSIDE MOUTH"}, +{0x1DA5F,"SIGNWRITING TONGUE CENTRE STICKING OUT"}, +{0x1DA5D,"SIGNWRITING TONGUE INSIDE MOUTH RELAXED"}, +{0x1DA5A,"SIGNWRITING TONGUE LICKING LIPS"}, +{0x1DA5E,"SIGNWRITING TONGUE MOVES AGAINST CHEEK"}, +{0x1DA59,"SIGNWRITING TONGUE STICKING OUT FAR"}, +{0x1DA5B,"SIGNWRITING TONGUE TIP BETWEEN LIPS"}, +{0x1DA5C,"SIGNWRITING TONGUE TIP TOUCHING INSIDE MOUTH"}, +{0x1DA74,"SIGNWRITING TORSO-FLOORPLANE TWISTING"}, +{0x1DA73,"SIGNWRITING TORSO-WALLPLANE CURVED BEND"}, +{0x1DA72,"SIGNWRITING TORSO-WALLPLANE STRAIGHT STRETCH"}, +{0x1D907,"SIGNWRITING TOUCH BETWEEN"}, +{0x1D906,"SIGNWRITING TOUCH MULTIPLE"}, +{0x1D905,"SIGNWRITING TOUCH SINGLE"}, +{0x1D983,"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE ALTERNATING"}, +{0x1D982,"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE DOUBLE"}, +{0x1D981,"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE SINGLE"}, +{0x1D986,"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE ALTERNATING"}, +{0x1D985,"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE DOUBLE"}, +{0x1D984,"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE SINGLE"}, +{0x1D987,"SIGNWRITING TRAVEL-FLOORPLANE SHAKING"}, +{0x1D953,"SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL DOUBLE"}, +{0x1D952,"SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL SINGLE"}, +{0x1D954,"SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL TRIPLE"}, +{0x1D950,"SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE ALTERNATING"}, +{0x1D94F,"SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE DOUBLE"}, +{0x1D94E,"SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE SINGLE"}, +{0x1D94D,"SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE ALTERNATING"}, +{0x1D94C,"SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE DOUBLE"}, +{0x1D94B,"SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE SINGLE"}, +{0x1D951,"SIGNWRITING TRAVEL-WALLPLANE SHAKING"}, +{0x1DA75,"SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS"}, +{0x1DA6F,"SIGNWRITING WALLPLANE SHOULDER HIP MOVE"}, {0x1F5FE,"SILHOUETTE OF JAPAN"}, {0x2AA0,"SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN"}, {0x2A9F,"SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN"}, @@ -22578,6 +26545,7 @@ {0x1F52F,"SIX POINTED STAR WITH MIDDLE DOT"}, {0x2006,"SIX-PER-EM SPACE"}, {0x273A,"SIXTEEN POINTED ASTERISK"}, +{0x1F6F9,"SKATEBOARD"}, {0x1F3BF,"SKI AND SKI BOOT"}, {0x26F7,"SKIER"}, {0x1F480,"SKULL"}, @@ -22589,6 +26557,7 @@ {0x2B5A,"SLANTED NORTH ARROW WITH HOOKED HEAD"}, {0x2B5C,"SLANTED NORTH ARROW WITH HORIZONTAL TAIL"}, {0xA673,"SLAVONIC ASTERISK"}, +{0x1F6F7,"SLED"}, {0x1F6CC,"SLEEPING ACCOMMODATION"}, {0x1F634,"SLEEPING FACE"}, {0x1F4A4,"SLEEPING SYMBOL"}, @@ -22669,21 +26638,68 @@ {0x1F604,"SMILING FACE WITH OPEN MOUTH AND SMILING EYES"}, {0x1F606,"SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES"}, {0x1F60A,"SMILING FACE WITH SMILING EYES"}, +{0x1F92D,"SMILING FACE WITH SMILING EYES AND HAND COVERING MOUTH"}, +{0x1F970,"SMILING FACE WITH SMILING EYES AND THREE HEARTS"}, {0x1F60E,"SMILING FACE WITH SUNGLASSES"}, {0x1F60F,"SMIRKING FACE"}, {0x1F6AC,"SMOKING SYMBOL"}, {0x1F40C,"SNAIL"}, {0x1F40D,"SNAKE"}, +{0x1F927,"SNEEZING FACE"}, {0x1F3D4,"SNOW CAPPED MOUNTAIN"}, {0x1F3C2,"SNOWBOARDER"}, {0x2744,"SNOWFLAKE"}, {0x2603,"SNOWMAN"}, {0x26C4,"SNOWMAN WITHOUT SNOW"}, {0x26BD,"SOCCER BALL"}, +{0x1F9E6,"SOCKS"}, {0x00AD,"SOFT HYPHEN"}, {0x1F366,"SOFT ICE CREAM"}, {0x1F5AC,"SOFT SHELL FLOPPY DISK"}, +{0x1F94E,"SOFTBALL"}, {0x2394,"SOFTWARE-FUNCTION SYMBOL"}, +{0x10F4A,"SOGDIAN COMBINING CURVE ABOVE"}, +{0x10F4B,"SOGDIAN COMBINING CURVE BELOW"}, +{0x10F48,"SOGDIAN COMBINING DOT ABOVE"}, +{0x10F46,"SOGDIAN COMBINING DOT BELOW"}, +{0x10F4C,"SOGDIAN COMBINING HOOK ABOVE"}, +{0x10F4D,"SOGDIAN COMBINING HOOK BELOW"}, +{0x10F4E,"SOGDIAN COMBINING LONG HOOK BELOW"}, +{0x10F4F,"SOGDIAN COMBINING RESH BELOW"}, +{0x10F50,"SOGDIAN COMBINING STROKE BELOW"}, +{0x10F49,"SOGDIAN COMBINING TWO DOTS ABOVE"}, +{0x10F47,"SOGDIAN COMBINING TWO DOTS BELOW"}, +{0x10F45,"SOGDIAN INDEPENDENT SHIN"}, +{0x10F30,"SOGDIAN LETTER ALEPH"}, +{0x10F3D,"SOGDIAN LETTER AYIN"}, +{0x10F31,"SOGDIAN LETTER BETH"}, +{0x10F43,"SOGDIAN LETTER FETH"}, +{0x10F32,"SOGDIAN LETTER GIMEL"}, +{0x10F33,"SOGDIAN LETTER HE"}, +{0x10F36,"SOGDIAN LETTER HETH"}, +{0x10F38,"SOGDIAN LETTER KAPH"}, +{0x10F39,"SOGDIAN LETTER LAMEDH"}, +{0x10F44,"SOGDIAN LETTER LESH"}, +{0x10F3A,"SOGDIAN LETTER MEM"}, +{0x10F3B,"SOGDIAN LETTER NUN"}, +{0x10F3E,"SOGDIAN LETTER PE"}, +{0x10F40,"SOGDIAN LETTER RESH-AYIN"}, +{0x10F3F,"SOGDIAN LETTER SADHE"}, +{0x10F3C,"SOGDIAN LETTER SAMEKH"}, +{0x10F41,"SOGDIAN LETTER SHIN"}, +{0x10F42,"SOGDIAN LETTER TAW"}, +{0x10F34,"SOGDIAN LETTER WAW"}, +{0x10F37,"SOGDIAN LETTER YODH"}, +{0x10F35,"SOGDIAN LETTER ZAYIN"}, +{0x10F51,"SOGDIAN NUMBER ONE"}, +{0x10F54,"SOGDIAN NUMBER ONE HUNDRED"}, +{0x10F52,"SOGDIAN NUMBER TEN"}, +{0x10F53,"SOGDIAN NUMBER TWENTY"}, +{0x10F57,"SOGDIAN PUNCTUATION CIRCLE WITH DOT"}, +{0x10F59,"SOGDIAN PUNCTUATION HALF CIRCLE WITH DOT"}, +{0x10F58,"SOGDIAN PUNCTUATION TWO CIRCLES WITH DOTS"}, +{0x10F55,"SOGDIAN PUNCTUATION TWO VERTICAL BARS"}, +{0x10F56,"SOGDIAN PUNCTUATION TWO VERTICAL BARS WITH DOTS"}, {0x1F66A,"SOLID QUILT SQUARE ORNAMENT"}, {0x1F66B,"SOLID QUILT SQUARE ORNAMENT IN BLACK SQUARE"}, {0x002F,"SOLIDUS"}, @@ -22751,6 +26767,87 @@ {0x2B69,"SOUTH WEST TRIANGLE-HEADED ARROW"}, {0x2B79,"SOUTH WEST TRIANGLE-HEADED ARROW TO BAR"}, {0x2B03,"SOUTH WEST WHITE ARROW"}, +{0x11A87,"SOYOMBO CLUSTER-INITIAL LETTER LA"}, +{0x11A86,"SOYOMBO CLUSTER-INITIAL LETTER RA"}, +{0x11A89,"SOYOMBO CLUSTER-INITIAL LETTER SA"}, +{0x11A88,"SOYOMBO CLUSTER-INITIAL LETTER SHA"}, +{0x11A95,"SOYOMBO FINAL CONSONANT SIGN -A"}, +{0x11A8F,"SOYOMBO FINAL CONSONANT SIGN B"}, +{0x11A8D,"SOYOMBO FINAL CONSONANT SIGN D"}, +{0x11A8A,"SOYOMBO FINAL CONSONANT SIGN G"}, +{0x11A8B,"SOYOMBO FINAL CONSONANT SIGN K"}, +{0x11A92,"SOYOMBO FINAL CONSONANT SIGN L"}, +{0x11A90,"SOYOMBO FINAL CONSONANT SIGN M"}, +{0x11A8E,"SOYOMBO FINAL CONSONANT SIGN N"}, +{0x11A8C,"SOYOMBO FINAL CONSONANT SIGN NG"}, +{0x11A91,"SOYOMBO FINAL CONSONANT SIGN R"}, +{0x11A94,"SOYOMBO FINAL CONSONANT SIGN S"}, +{0x11A93,"SOYOMBO FINAL CONSONANT SIGN SH"}, +{0x11A98,"SOYOMBO GEMINATION MARK"}, +{0x11AA0,"SOYOMBO HEAD MARK WITH MOON AND SUN"}, +{0x11A9F,"SOYOMBO HEAD MARK WITH MOON AND SUN AND FLAME"}, +{0x11A9E,"SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME"}, +{0x11A7A,"SOYOMBO LETTER -A"}, +{0x11A50,"SOYOMBO LETTER A"}, +{0x11A72,"SOYOMBO LETTER BA"}, +{0x11A73,"SOYOMBO LETTER BHA"}, +{0x11A61,"SOYOMBO LETTER CA"}, +{0x11A62,"SOYOMBO LETTER CHA"}, +{0x11A6D,"SOYOMBO LETTER DA"}, +{0x11A68,"SOYOMBO LETTER DDA"}, +{0x11A69,"SOYOMBO LETTER DDHA"}, +{0x11A6E,"SOYOMBO LETTER DHA"}, +{0x11A77,"SOYOMBO LETTER DZA"}, +{0x11A5E,"SOYOMBO LETTER GA"}, +{0x11A5F,"SOYOMBO LETTER GHA"}, +{0x11A82,"SOYOMBO LETTER HA"}, +{0x11A63,"SOYOMBO LETTER JA"}, +{0x11A64,"SOYOMBO LETTER JHA"}, +{0x11A5C,"SOYOMBO LETTER KA"}, +{0x11A5D,"SOYOMBO LETTER KHA"}, +{0x11A83,"SOYOMBO LETTER KSSA"}, +{0x11A7D,"SOYOMBO LETTER LA"}, +{0x11A74,"SOYOMBO LETTER MA"}, +{0x11A6F,"SOYOMBO LETTER NA"}, +{0x11A60,"SOYOMBO LETTER NGA"}, +{0x11A6A,"SOYOMBO LETTER NNA"}, +{0x11A65,"SOYOMBO LETTER NYA"}, +{0x11A70,"SOYOMBO LETTER PA"}, +{0x11A71,"SOYOMBO LETTER PHA"}, +{0x11A7C,"SOYOMBO LETTER RA"}, +{0x11A81,"SOYOMBO LETTER SA"}, +{0x11A7F,"SOYOMBO LETTER SHA"}, +{0x11A80,"SOYOMBO LETTER SSA"}, +{0x11A6B,"SOYOMBO LETTER TA"}, +{0x11A6C,"SOYOMBO LETTER THA"}, +{0x11A75,"SOYOMBO LETTER TSA"}, +{0x11A76,"SOYOMBO LETTER TSHA"}, +{0x11A66,"SOYOMBO LETTER TTA"}, +{0x11A67,"SOYOMBO LETTER TTHA"}, +{0x11A7E,"SOYOMBO LETTER VA"}, +{0x11A7B,"SOYOMBO LETTER YA"}, +{0x11A79,"SOYOMBO LETTER ZA"}, +{0x11A78,"SOYOMBO LETTER ZHA"}, +{0x11A9C,"SOYOMBO MARK DOUBLE SHAD"}, +{0x11A9D,"SOYOMBO MARK PLUTA"}, +{0x11A9B,"SOYOMBO MARK SHAD"}, +{0x11A9A,"SOYOMBO MARK TSHEG"}, +{0x11A96,"SOYOMBO SIGN ANUSVARA"}, +{0x11A97,"SOYOMBO SIGN VISARGA"}, +{0x11A99,"SOYOMBO SUBJOINER"}, +{0x11AA1,"SOYOMBO TERMINAL MARK-1"}, +{0x11AA2,"SOYOMBO TERMINAL MARK-2"}, +{0x11A5B,"SOYOMBO VOWEL LENGTH MARK"}, +{0x11A57,"SOYOMBO VOWEL SIGN AI"}, +{0x11A58,"SOYOMBO VOWEL SIGN AU"}, +{0x11A54,"SOYOMBO VOWEL SIGN E"}, +{0x11A51,"SOYOMBO VOWEL SIGN I"}, +{0x11A55,"SOYOMBO VOWEL SIGN O"}, +{0x11A56,"SOYOMBO VOWEL SIGN OE"}, +{0x11A53,"SOYOMBO VOWEL SIGN U"}, +{0x11A52,"SOYOMBO VOWEL SIGN UE"}, +{0x11A5A,"SOYOMBO VOWEL SIGN VOCALIC L"}, +{0x11A59,"SOYOMBO VOWEL SIGN VOCALIC R"}, {0x0020,"SPACE"}, {0x1F35D,"SPAGHETTI"}, {0x2747,"SPARKLE"}, @@ -22774,6 +26871,9 @@ {0x1F5D2,"SPIRAL NOTE PAD"}, {0x1F41A,"SPIRAL SHELL"}, {0x1F4A6,"SPLASHING SWEAT SYMBOL"}, +{0x1F9FD,"SPONGE"}, +{0x1F9F5,"SPOOL OF THREAD"}, +{0x1F944,"SPOON"}, {0x1F3C5,"SPORTS MEDAL"}, {0x1F433,"SPOUTING WHALE"}, {0x33DF,"SQUARE A OVER M"}, @@ -23055,12 +27155,19 @@ {0x1F223,"SQUARED CJK UNIFIED IDEOGRAPH-8CA9"}, {0x1F230,"SQUARED CJK UNIFIED IDEOGRAPH-8D70"}, {0x1F22B,"SQUARED CJK UNIFIED IDEOGRAPH-904A"}, +{0x1F23B,"SQUARED CJK UNIFIED IDEOGRAPH-914D"}, {0x1F191,"SQUARED CL"}, {0x1F192,"SQUARED COOL"}, {0x22A1,"SQUARED DOT OPERATOR"}, +{0x1F19F,"SQUARED EIGHT K"}, {0x29C5,"SQUARED FALLING DIAGONAL SLASH"}, +{0x1F1A0,"SQUARED FIVE POINT ONE"}, {0x2E2C,"SQUARED FOUR DOT PUNCTUATION"}, +{0x1F19E,"SQUARED FOUR K"}, {0x1F193,"SQUARED FREE"}, +{0x1F1A6,"SQUARED HC"}, +{0x1F1A7,"SQUARED HDR"}, +{0x1F1A8,"SQUARED HI-RES"}, {0x1F14A,"SQUARED HV"}, {0x1F194,"SQUARED ID"}, {0x1F213,"SQUARED KATAKANA DE"}, @@ -23093,27 +27200,40 @@ {0x1F147,"SQUARED LATIN CAPITAL LETTER X"}, {0x1F148,"SQUARED LATIN CAPITAL LETTER Y"}, {0x1F149,"SQUARED LATIN CAPITAL LETTER Z"}, +{0x1F1A5,"SQUARED LATIN SMALL LETTER D"}, {0x27CE,"SQUARED LOGICAL AND"}, {0x27CF,"SQUARED LOGICAL OR"}, +{0x1F1A9,"SQUARED LOSSLESS"}, {0x229F,"SQUARED MINUS"}, {0x1F14B,"SQUARED MV"}, {0x1F195,"SQUARED NEW"}, {0x1F196,"SQUARED NG"}, {0x1F197,"SQUARED OK"}, +{0x1F1A4,"SQUARED ONE HUNDRED TWENTY P"}, {0x229E,"SQUARED PLUS"}, {0x1F14E,"SQUARED PPV"}, {0x29C4,"SQUARED RISING DIAGONAL SLASH"}, {0x26DD,"SQUARED SALTIRE"}, {0x1F14C,"SQUARED SD"}, +{0x1F19C,"SQUARED SECOND SCREEN"}, +{0x1F1A1,"SQUARED SEVEN POINT ONE"}, +{0x1F1AA,"SQUARED SHV"}, +{0x1F1A3,"SQUARED SIXTY P"}, {0x29C7,"SQUARED SMALL CIRCLE"}, {0x1F198,"SQUARED SOS"}, {0x29C8,"SQUARED SQUARE"}, {0x1F14D,"SQUARED SS"}, +{0x1F19B,"SQUARED THREE D"}, {0x22A0,"SQUARED TIMES"}, +{0x1F1A2,"SQUARED TWENTY-TWO POINT TWO"}, +{0x1F19D,"SQUARED TWO K"}, +{0x1F1AB,"SQUARED UHD"}, {0x1F199,"SQUARED UP WITH EXCLAMATION MARK"}, +{0x1F1AC,"SQUARED VOD"}, {0x1F19A,"SQUARED VS"}, {0x1F14F,"SQUARED WC"}, {0x27A7,"SQUAT BLACK RIGHTWARDS ARROW"}, +{0x1F991,"SQUID"}, {0x1F3DF,"STADIUM"}, {0x2695,"STAFF OF AESCULAPIUS"}, {0x269A,"STAFF OF HERMES"}, @@ -23122,6 +27242,8 @@ {0x225B,"STAR EQUALS"}, {0x2721,"STAR OF DAVID"}, {0x22C6,"STAR OPERATOR"}, +{0x2BEA,"STAR WITH LEFT HALF BLACK"}, +{0x2BEB,"STAR WITH RIGHT HALF BLACK"}, {0x1F689,"STATION"}, {0x1F5FD,"STATUE OF LIBERTY"}, {0x1F682,"STEAM LOCOMOTIVE"}, @@ -23135,6 +27257,8 @@ {0x2729,"STRESS OUTLINED WHITE STAR"}, {0x2263,"STRICTLY EQUIVALENT TO"}, {0x1F399,"STUDIO MICROPHONE"}, +{0x1F959,"STUFFED FLATBREAD"}, +{0x1F6D3,"STUPA"}, {0x2088,"SUBSCRIPT EIGHT"}, {0x208C,"SUBSCRIPT EQUALS SIGN"}, {0x2085,"SUBSCRIPT FIVE"}, @@ -23257,6 +27381,7 @@ {0x1F305,"SUNRISE"}, {0x1F304,"SUNRISE OVER MOUNTAINS"}, {0x1F307,"SUNSET OVER BUILDINGS"}, +{0x1F9B8,"SUPERHERO"}, {0x2078,"SUPERSCRIPT EIGHT"}, {0x207C,"SUPERSCRIPT EQUALS SIGN"}, {0x2075,"SUPERSCRIPT FIVE"}, @@ -23291,10 +27416,12 @@ {0x2ABE,"SUPERSET WITH DOT"}, {0x2AC2,"SUPERSET WITH MULTIPLICATION SIGN BELOW"}, {0x2AC0,"SUPERSET WITH PLUS SIGN BELOW"}, +{0x1F9B9,"SUPERVILLAIN"}, {0x222F,"SURFACE INTEGRAL"}, {0x1F3C4,"SURFER"}, {0x1F363,"SUSHI"}, {0x1F69F,"SUSPENSION RAILWAY"}, +{0x1F9A2,"SWAN"}, {0x1F675,"SWASH AMPERSAND ORNAMENT"}, {0x1F3CA,"SWIMMER"}, {0x2053,"SWUNG DASH"}, @@ -23382,6 +27509,7 @@ {0x241F,"SYMBOL FOR UNIT SEPARATOR"}, {0x240B,"SYMBOL FOR VERTICAL TABULATION"}, {0x232F,"SYMMETRY"}, +{0x1F54D,"SYNAGOGUE"}, {0x070F,"SYRIAC ABBREVIATION MARK"}, {0x074A,"SYRIAC BARREKH"}, {0x0706,"SYRIAC COLON SKEWED LEFT"}, @@ -23412,6 +27540,17 @@ {0x071A,"SYRIAC LETTER HETH"}, {0x071F,"SYRIAC LETTER KAPH"}, {0x0720,"SYRIAC LETTER LAMADH"}, +{0x0866,"SYRIAC LETTER MALAYALAM BHA"}, +{0x0861,"SYRIAC LETTER MALAYALAM JA"}, +{0x0868,"SYRIAC LETTER MALAYALAM LLA"}, +{0x0869,"SYRIAC LETTER MALAYALAM LLLA"}, +{0x0860,"SYRIAC LETTER MALAYALAM NGA"}, +{0x0864,"SYRIAC LETTER MALAYALAM NNA"}, +{0x0865,"SYRIAC LETTER MALAYALAM NNNA"}, +{0x0862,"SYRIAC LETTER MALAYALAM NYA"}, +{0x0867,"SYRIAC LETTER MALAYALAM RA"}, +{0x086A,"SYRIAC LETTER MALAYALAM SSA"}, +{0x0863,"SYRIAC LETTER MALAYALAM TTA"}, {0x0721,"SYRIAC LETTER MIM"}, {0x0722,"SYRIAC LETTER NUN"}, {0x0726,"SYRIAC LETTER PE"}, @@ -23460,7 +27599,10 @@ {0x0734,"SYRIAC ZQAPHA BELOW"}, {0x0735,"SYRIAC ZQAPHA DOTTED"}, {0x1F489,"SYRINGE"}, +{0x1F996,"T-REX"}, {0x1F455,"T-SHIRT"}, +{0x1F3D3,"TABLE TENNIS PADDLE AND BALL"}, +{0x1F32E,"TACO"}, {0xE0026,"TAG AMPERSAND"}, {0xE0027,"TAG APOSTROPHE"}, {0xE002A,"TAG ASTERISK"}, @@ -23828,6 +27970,7 @@ {0xAABA,"TAI VIET VOWEL UA"}, {0xAAB3,"TAI VIET VOWEL UE"}, {0xAAB9,"TAI VIET VOWEL UEA"}, +{0x1F961,"TAKEOUT BOX"}, {0x116C8,"TAKRI DIGIT EIGHT"}, {0x116C5,"TAKRI DIGIT FIVE"}, {0x116C4,"TAKRI DIGIT FOUR"}, @@ -23894,6 +28037,8 @@ {0x116B4,"TAKRI VOWEL SIGN O"}, {0x116B0,"TAKRI VOWEL SIGN U"}, {0x116B1,"TAKRI VOWEL SIGN UU"}, +{0x1D378,"TALLY MARK FIVE"}, +{0x1D377,"TALLY MARK ONE"}, {0x0BF8,"TAMIL AS ABOVE SIGN"}, {0x0BD7,"TAMIL AU LENGTH MARK"}, {0x0BF7,"TAMIL CREDIT SIGN"}, @@ -23968,6 +28113,762 @@ {0x0BF5,"TAMIL YEAR SIGN"}, {0x1F38B,"TANABATA TREE"}, {0x1F34A,"TANGERINE"}, +{0x18800,"TANGUT COMPONENT-001"}, +{0x18801,"TANGUT COMPONENT-002"}, +{0x18802,"TANGUT COMPONENT-003"}, +{0x18803,"TANGUT COMPONENT-004"}, +{0x18804,"TANGUT COMPONENT-005"}, +{0x18805,"TANGUT COMPONENT-006"}, +{0x18806,"TANGUT COMPONENT-007"}, +{0x18807,"TANGUT COMPONENT-008"}, +{0x18808,"TANGUT COMPONENT-009"}, +{0x18809,"TANGUT COMPONENT-010"}, +{0x1880A,"TANGUT COMPONENT-011"}, +{0x1880B,"TANGUT COMPONENT-012"}, +{0x1880C,"TANGUT COMPONENT-013"}, +{0x1880D,"TANGUT COMPONENT-014"}, +{0x1880E,"TANGUT COMPONENT-015"}, +{0x1880F,"TANGUT COMPONENT-016"}, +{0x18810,"TANGUT COMPONENT-017"}, +{0x18811,"TANGUT COMPONENT-018"}, +{0x18812,"TANGUT COMPONENT-019"}, +{0x18813,"TANGUT COMPONENT-020"}, +{0x18814,"TANGUT COMPONENT-021"}, +{0x18815,"TANGUT COMPONENT-022"}, +{0x18816,"TANGUT COMPONENT-023"}, +{0x18817,"TANGUT COMPONENT-024"}, +{0x18818,"TANGUT COMPONENT-025"}, +{0x18819,"TANGUT COMPONENT-026"}, +{0x1881A,"TANGUT COMPONENT-027"}, +{0x1881B,"TANGUT COMPONENT-028"}, +{0x1881C,"TANGUT COMPONENT-029"}, +{0x1881D,"TANGUT COMPONENT-030"}, +{0x1881E,"TANGUT COMPONENT-031"}, +{0x1881F,"TANGUT COMPONENT-032"}, +{0x18820,"TANGUT COMPONENT-033"}, +{0x18821,"TANGUT COMPONENT-034"}, +{0x18822,"TANGUT COMPONENT-035"}, +{0x18823,"TANGUT COMPONENT-036"}, +{0x18824,"TANGUT COMPONENT-037"}, +{0x18825,"TANGUT COMPONENT-038"}, +{0x18826,"TANGUT COMPONENT-039"}, +{0x18827,"TANGUT COMPONENT-040"}, +{0x18828,"TANGUT COMPONENT-041"}, +{0x18829,"TANGUT COMPONENT-042"}, +{0x1882A,"TANGUT COMPONENT-043"}, +{0x1882B,"TANGUT COMPONENT-044"}, +{0x1882C,"TANGUT COMPONENT-045"}, +{0x1882D,"TANGUT COMPONENT-046"}, +{0x1882E,"TANGUT COMPONENT-047"}, +{0x1882F,"TANGUT COMPONENT-048"}, +{0x18830,"TANGUT COMPONENT-049"}, +{0x18831,"TANGUT COMPONENT-050"}, +{0x18832,"TANGUT COMPONENT-051"}, +{0x18833,"TANGUT COMPONENT-052"}, +{0x18834,"TANGUT COMPONENT-053"}, +{0x18835,"TANGUT COMPONENT-054"}, +{0x18836,"TANGUT COMPONENT-055"}, +{0x18837,"TANGUT COMPONENT-056"}, +{0x18838,"TANGUT COMPONENT-057"}, +{0x18839,"TANGUT COMPONENT-058"}, +{0x1883A,"TANGUT COMPONENT-059"}, +{0x1883B,"TANGUT COMPONENT-060"}, +{0x1883C,"TANGUT COMPONENT-061"}, +{0x1883D,"TANGUT COMPONENT-062"}, +{0x1883E,"TANGUT COMPONENT-063"}, +{0x1883F,"TANGUT COMPONENT-064"}, +{0x18840,"TANGUT COMPONENT-065"}, +{0x18841,"TANGUT COMPONENT-066"}, +{0x18842,"TANGUT COMPONENT-067"}, +{0x18843,"TANGUT COMPONENT-068"}, +{0x18844,"TANGUT COMPONENT-069"}, +{0x18845,"TANGUT COMPONENT-070"}, +{0x18846,"TANGUT COMPONENT-071"}, +{0x18847,"TANGUT COMPONENT-072"}, +{0x18848,"TANGUT COMPONENT-073"}, +{0x18849,"TANGUT COMPONENT-074"}, +{0x1884A,"TANGUT COMPONENT-075"}, +{0x1884B,"TANGUT COMPONENT-076"}, +{0x1884C,"TANGUT COMPONENT-077"}, +{0x1884D,"TANGUT COMPONENT-078"}, +{0x1884E,"TANGUT COMPONENT-079"}, +{0x1884F,"TANGUT COMPONENT-080"}, +{0x18850,"TANGUT COMPONENT-081"}, +{0x18851,"TANGUT COMPONENT-082"}, +{0x18852,"TANGUT COMPONENT-083"}, +{0x18853,"TANGUT COMPONENT-084"}, +{0x18854,"TANGUT COMPONENT-085"}, +{0x18855,"TANGUT COMPONENT-086"}, +{0x18856,"TANGUT COMPONENT-087"}, +{0x18857,"TANGUT COMPONENT-088"}, +{0x18858,"TANGUT COMPONENT-089"}, +{0x18859,"TANGUT COMPONENT-090"}, +{0x1885A,"TANGUT COMPONENT-091"}, +{0x1885B,"TANGUT COMPONENT-092"}, +{0x1885C,"TANGUT COMPONENT-093"}, +{0x1885D,"TANGUT COMPONENT-094"}, +{0x1885E,"TANGUT COMPONENT-095"}, +{0x1885F,"TANGUT COMPONENT-096"}, +{0x18860,"TANGUT COMPONENT-097"}, +{0x18861,"TANGUT COMPONENT-098"}, +{0x18862,"TANGUT COMPONENT-099"}, +{0x18863,"TANGUT COMPONENT-100"}, +{0x18864,"TANGUT COMPONENT-101"}, +{0x18865,"TANGUT COMPONENT-102"}, +{0x18866,"TANGUT COMPONENT-103"}, +{0x18867,"TANGUT COMPONENT-104"}, +{0x18868,"TANGUT COMPONENT-105"}, +{0x18869,"TANGUT COMPONENT-106"}, +{0x1886A,"TANGUT COMPONENT-107"}, +{0x1886B,"TANGUT COMPONENT-108"}, +{0x1886C,"TANGUT COMPONENT-109"}, +{0x1886D,"TANGUT COMPONENT-110"}, +{0x1886E,"TANGUT COMPONENT-111"}, +{0x1886F,"TANGUT COMPONENT-112"}, +{0x18870,"TANGUT COMPONENT-113"}, +{0x18871,"TANGUT COMPONENT-114"}, +{0x18872,"TANGUT COMPONENT-115"}, +{0x18873,"TANGUT COMPONENT-116"}, +{0x18874,"TANGUT COMPONENT-117"}, +{0x18875,"TANGUT COMPONENT-118"}, +{0x18876,"TANGUT COMPONENT-119"}, +{0x18877,"TANGUT COMPONENT-120"}, +{0x18878,"TANGUT COMPONENT-121"}, +{0x18879,"TANGUT COMPONENT-122"}, +{0x1887A,"TANGUT COMPONENT-123"}, +{0x1887B,"TANGUT COMPONENT-124"}, +{0x1887C,"TANGUT COMPONENT-125"}, +{0x1887D,"TANGUT COMPONENT-126"}, +{0x1887E,"TANGUT COMPONENT-127"}, +{0x1887F,"TANGUT COMPONENT-128"}, +{0x18880,"TANGUT COMPONENT-129"}, +{0x18881,"TANGUT COMPONENT-130"}, +{0x18882,"TANGUT COMPONENT-131"}, +{0x18883,"TANGUT COMPONENT-132"}, +{0x18884,"TANGUT COMPONENT-133"}, +{0x18885,"TANGUT COMPONENT-134"}, +{0x18886,"TANGUT COMPONENT-135"}, +{0x18887,"TANGUT COMPONENT-136"}, +{0x18888,"TANGUT COMPONENT-137"}, +{0x18889,"TANGUT COMPONENT-138"}, +{0x1888A,"TANGUT COMPONENT-139"}, +{0x1888B,"TANGUT COMPONENT-140"}, +{0x1888C,"TANGUT COMPONENT-141"}, +{0x1888D,"TANGUT COMPONENT-142"}, +{0x1888E,"TANGUT COMPONENT-143"}, +{0x1888F,"TANGUT COMPONENT-144"}, +{0x18890,"TANGUT COMPONENT-145"}, +{0x18891,"TANGUT COMPONENT-146"}, +{0x18892,"TANGUT COMPONENT-147"}, +{0x18893,"TANGUT COMPONENT-148"}, +{0x18894,"TANGUT COMPONENT-149"}, +{0x18895,"TANGUT COMPONENT-150"}, +{0x18896,"TANGUT COMPONENT-151"}, +{0x18897,"TANGUT COMPONENT-152"}, +{0x18898,"TANGUT COMPONENT-153"}, +{0x18899,"TANGUT COMPONENT-154"}, +{0x1889A,"TANGUT COMPONENT-155"}, +{0x1889B,"TANGUT COMPONENT-156"}, +{0x1889C,"TANGUT COMPONENT-157"}, +{0x1889D,"TANGUT COMPONENT-158"}, +{0x1889E,"TANGUT COMPONENT-159"}, +{0x1889F,"TANGUT COMPONENT-160"}, +{0x188A0,"TANGUT COMPONENT-161"}, +{0x188A1,"TANGUT COMPONENT-162"}, +{0x188A2,"TANGUT COMPONENT-163"}, +{0x188A3,"TANGUT COMPONENT-164"}, +{0x188A4,"TANGUT COMPONENT-165"}, +{0x188A5,"TANGUT COMPONENT-166"}, +{0x188A6,"TANGUT COMPONENT-167"}, +{0x188A7,"TANGUT COMPONENT-168"}, +{0x188A8,"TANGUT COMPONENT-169"}, +{0x188A9,"TANGUT COMPONENT-170"}, +{0x188AA,"TANGUT COMPONENT-171"}, +{0x188AB,"TANGUT COMPONENT-172"}, +{0x188AC,"TANGUT COMPONENT-173"}, +{0x188AD,"TANGUT COMPONENT-174"}, +{0x188AE,"TANGUT COMPONENT-175"}, +{0x188AF,"TANGUT COMPONENT-176"}, +{0x188B0,"TANGUT COMPONENT-177"}, +{0x188B1,"TANGUT COMPONENT-178"}, +{0x188B2,"TANGUT COMPONENT-179"}, +{0x188B3,"TANGUT COMPONENT-180"}, +{0x188B4,"TANGUT COMPONENT-181"}, +{0x188B5,"TANGUT COMPONENT-182"}, +{0x188B6,"TANGUT COMPONENT-183"}, +{0x188B7,"TANGUT COMPONENT-184"}, +{0x188B8,"TANGUT COMPONENT-185"}, +{0x188B9,"TANGUT COMPONENT-186"}, +{0x188BA,"TANGUT COMPONENT-187"}, +{0x188BB,"TANGUT COMPONENT-188"}, +{0x188BC,"TANGUT COMPONENT-189"}, +{0x188BD,"TANGUT COMPONENT-190"}, +{0x188BE,"TANGUT COMPONENT-191"}, +{0x188BF,"TANGUT COMPONENT-192"}, +{0x188C0,"TANGUT COMPONENT-193"}, +{0x188C1,"TANGUT COMPONENT-194"}, +{0x188C2,"TANGUT COMPONENT-195"}, +{0x188C3,"TANGUT COMPONENT-196"}, +{0x188C4,"TANGUT COMPONENT-197"}, +{0x188C5,"TANGUT COMPONENT-198"}, +{0x188C6,"TANGUT COMPONENT-199"}, +{0x188C7,"TANGUT COMPONENT-200"}, +{0x188C8,"TANGUT COMPONENT-201"}, +{0x188C9,"TANGUT COMPONENT-202"}, +{0x188CA,"TANGUT COMPONENT-203"}, +{0x188CB,"TANGUT COMPONENT-204"}, +{0x188CC,"TANGUT COMPONENT-205"}, +{0x188CD,"TANGUT COMPONENT-206"}, +{0x188CE,"TANGUT COMPONENT-207"}, +{0x188CF,"TANGUT COMPONENT-208"}, +{0x188D0,"TANGUT COMPONENT-209"}, +{0x188D1,"TANGUT COMPONENT-210"}, +{0x188D2,"TANGUT COMPONENT-211"}, +{0x188D3,"TANGUT COMPONENT-212"}, +{0x188D4,"TANGUT COMPONENT-213"}, +{0x188D5,"TANGUT COMPONENT-214"}, +{0x188D6,"TANGUT COMPONENT-215"}, +{0x188D7,"TANGUT COMPONENT-216"}, +{0x188D8,"TANGUT COMPONENT-217"}, +{0x188D9,"TANGUT COMPONENT-218"}, +{0x188DA,"TANGUT COMPONENT-219"}, +{0x188DB,"TANGUT COMPONENT-220"}, +{0x188DC,"TANGUT COMPONENT-221"}, +{0x188DD,"TANGUT COMPONENT-222"}, +{0x188DE,"TANGUT COMPONENT-223"}, +{0x188DF,"TANGUT COMPONENT-224"}, +{0x188E0,"TANGUT COMPONENT-225"}, +{0x188E1,"TANGUT COMPONENT-226"}, +{0x188E2,"TANGUT COMPONENT-227"}, +{0x188E3,"TANGUT COMPONENT-228"}, +{0x188E4,"TANGUT COMPONENT-229"}, +{0x188E5,"TANGUT COMPONENT-230"}, +{0x188E6,"TANGUT COMPONENT-231"}, +{0x188E7,"TANGUT COMPONENT-232"}, +{0x188E8,"TANGUT COMPONENT-233"}, +{0x188E9,"TANGUT COMPONENT-234"}, +{0x188EA,"TANGUT COMPONENT-235"}, +{0x188EB,"TANGUT COMPONENT-236"}, +{0x188EC,"TANGUT COMPONENT-237"}, +{0x188ED,"TANGUT COMPONENT-238"}, +{0x188EE,"TANGUT COMPONENT-239"}, +{0x188EF,"TANGUT COMPONENT-240"}, +{0x188F0,"TANGUT COMPONENT-241"}, +{0x188F1,"TANGUT COMPONENT-242"}, +{0x188F2,"TANGUT COMPONENT-243"}, +{0x188F3,"TANGUT COMPONENT-244"}, +{0x188F4,"TANGUT COMPONENT-245"}, +{0x188F5,"TANGUT COMPONENT-246"}, +{0x188F6,"TANGUT COMPONENT-247"}, +{0x188F7,"TANGUT COMPONENT-248"}, +{0x188F8,"TANGUT COMPONENT-249"}, +{0x188F9,"TANGUT COMPONENT-250"}, +{0x188FA,"TANGUT COMPONENT-251"}, +{0x188FB,"TANGUT COMPONENT-252"}, +{0x188FC,"TANGUT COMPONENT-253"}, +{0x188FD,"TANGUT COMPONENT-254"}, +{0x188FE,"TANGUT COMPONENT-255"}, +{0x188FF,"TANGUT COMPONENT-256"}, +{0x18900,"TANGUT COMPONENT-257"}, +{0x18901,"TANGUT COMPONENT-258"}, +{0x18902,"TANGUT COMPONENT-259"}, +{0x18903,"TANGUT COMPONENT-260"}, +{0x18904,"TANGUT COMPONENT-261"}, +{0x18905,"TANGUT COMPONENT-262"}, +{0x18906,"TANGUT COMPONENT-263"}, +{0x18907,"TANGUT COMPONENT-264"}, +{0x18908,"TANGUT COMPONENT-265"}, +{0x18909,"TANGUT COMPONENT-266"}, +{0x1890A,"TANGUT COMPONENT-267"}, +{0x1890B,"TANGUT COMPONENT-268"}, +{0x1890C,"TANGUT COMPONENT-269"}, +{0x1890D,"TANGUT COMPONENT-270"}, +{0x1890E,"TANGUT COMPONENT-271"}, +{0x1890F,"TANGUT COMPONENT-272"}, +{0x18910,"TANGUT COMPONENT-273"}, +{0x18911,"TANGUT COMPONENT-274"}, +{0x18912,"TANGUT COMPONENT-275"}, +{0x18913,"TANGUT COMPONENT-276"}, +{0x18914,"TANGUT COMPONENT-277"}, +{0x18915,"TANGUT COMPONENT-278"}, +{0x18916,"TANGUT COMPONENT-279"}, +{0x18917,"TANGUT COMPONENT-280"}, +{0x18918,"TANGUT COMPONENT-281"}, +{0x18919,"TANGUT COMPONENT-282"}, +{0x1891A,"TANGUT COMPONENT-283"}, +{0x1891B,"TANGUT COMPONENT-284"}, +{0x1891C,"TANGUT COMPONENT-285"}, +{0x1891D,"TANGUT COMPONENT-286"}, +{0x1891E,"TANGUT COMPONENT-287"}, +{0x1891F,"TANGUT COMPONENT-288"}, +{0x18920,"TANGUT COMPONENT-289"}, +{0x18921,"TANGUT COMPONENT-290"}, +{0x18922,"TANGUT COMPONENT-291"}, +{0x18923,"TANGUT COMPONENT-292"}, +{0x18924,"TANGUT COMPONENT-293"}, +{0x18925,"TANGUT COMPONENT-294"}, +{0x18926,"TANGUT COMPONENT-295"}, +{0x18927,"TANGUT COMPONENT-296"}, +{0x18928,"TANGUT COMPONENT-297"}, +{0x18929,"TANGUT COMPONENT-298"}, +{0x1892A,"TANGUT COMPONENT-299"}, +{0x1892B,"TANGUT COMPONENT-300"}, +{0x1892C,"TANGUT COMPONENT-301"}, +{0x1892D,"TANGUT COMPONENT-302"}, +{0x1892E,"TANGUT COMPONENT-303"}, +{0x1892F,"TANGUT COMPONENT-304"}, +{0x18930,"TANGUT COMPONENT-305"}, +{0x18931,"TANGUT COMPONENT-306"}, +{0x18932,"TANGUT COMPONENT-307"}, +{0x18933,"TANGUT COMPONENT-308"}, +{0x18934,"TANGUT COMPONENT-309"}, +{0x18935,"TANGUT COMPONENT-310"}, +{0x18936,"TANGUT COMPONENT-311"}, +{0x18937,"TANGUT COMPONENT-312"}, +{0x18938,"TANGUT COMPONENT-313"}, +{0x18939,"TANGUT COMPONENT-314"}, +{0x1893A,"TANGUT COMPONENT-315"}, +{0x1893B,"TANGUT COMPONENT-316"}, +{0x1893C,"TANGUT COMPONENT-317"}, +{0x1893D,"TANGUT COMPONENT-318"}, +{0x1893E,"TANGUT COMPONENT-319"}, +{0x1893F,"TANGUT COMPONENT-320"}, +{0x18940,"TANGUT COMPONENT-321"}, +{0x18941,"TANGUT COMPONENT-322"}, +{0x18942,"TANGUT COMPONENT-323"}, +{0x18943,"TANGUT COMPONENT-324"}, +{0x18944,"TANGUT COMPONENT-325"}, +{0x18945,"TANGUT COMPONENT-326"}, +{0x18946,"TANGUT COMPONENT-327"}, +{0x18947,"TANGUT COMPONENT-328"}, +{0x18948,"TANGUT COMPONENT-329"}, +{0x18949,"TANGUT COMPONENT-330"}, +{0x1894A,"TANGUT COMPONENT-331"}, +{0x1894B,"TANGUT COMPONENT-332"}, +{0x1894C,"TANGUT COMPONENT-333"}, +{0x1894D,"TANGUT COMPONENT-334"}, +{0x1894E,"TANGUT COMPONENT-335"}, +{0x1894F,"TANGUT COMPONENT-336"}, +{0x18950,"TANGUT COMPONENT-337"}, +{0x18951,"TANGUT COMPONENT-338"}, +{0x18952,"TANGUT COMPONENT-339"}, +{0x18953,"TANGUT COMPONENT-340"}, +{0x18954,"TANGUT COMPONENT-341"}, +{0x18955,"TANGUT COMPONENT-342"}, +{0x18956,"TANGUT COMPONENT-343"}, +{0x18957,"TANGUT COMPONENT-344"}, +{0x18958,"TANGUT COMPONENT-345"}, +{0x18959,"TANGUT COMPONENT-346"}, +{0x1895A,"TANGUT COMPONENT-347"}, +{0x1895B,"TANGUT COMPONENT-348"}, +{0x1895C,"TANGUT COMPONENT-349"}, +{0x1895D,"TANGUT COMPONENT-350"}, +{0x1895E,"TANGUT COMPONENT-351"}, +{0x1895F,"TANGUT COMPONENT-352"}, +{0x18960,"TANGUT COMPONENT-353"}, +{0x18961,"TANGUT COMPONENT-354"}, +{0x18962,"TANGUT COMPONENT-355"}, +{0x18963,"TANGUT COMPONENT-356"}, +{0x18964,"TANGUT COMPONENT-357"}, +{0x18965,"TANGUT COMPONENT-358"}, +{0x18966,"TANGUT COMPONENT-359"}, +{0x18967,"TANGUT COMPONENT-360"}, +{0x18968,"TANGUT COMPONENT-361"}, +{0x18969,"TANGUT COMPONENT-362"}, +{0x1896A,"TANGUT COMPONENT-363"}, +{0x1896B,"TANGUT COMPONENT-364"}, +{0x1896C,"TANGUT COMPONENT-365"}, +{0x1896D,"TANGUT COMPONENT-366"}, +{0x1896E,"TANGUT COMPONENT-367"}, +{0x1896F,"TANGUT COMPONENT-368"}, +{0x18970,"TANGUT COMPONENT-369"}, +{0x18971,"TANGUT COMPONENT-370"}, +{0x18972,"TANGUT COMPONENT-371"}, +{0x18973,"TANGUT COMPONENT-372"}, +{0x18974,"TANGUT COMPONENT-373"}, +{0x18975,"TANGUT COMPONENT-374"}, +{0x18976,"TANGUT COMPONENT-375"}, +{0x18977,"TANGUT COMPONENT-376"}, +{0x18978,"TANGUT COMPONENT-377"}, +{0x18979,"TANGUT COMPONENT-378"}, +{0x1897A,"TANGUT COMPONENT-379"}, +{0x1897B,"TANGUT COMPONENT-380"}, +{0x1897C,"TANGUT COMPONENT-381"}, +{0x1897D,"TANGUT COMPONENT-382"}, +{0x1897E,"TANGUT COMPONENT-383"}, +{0x1897F,"TANGUT COMPONENT-384"}, +{0x18980,"TANGUT COMPONENT-385"}, +{0x18981,"TANGUT COMPONENT-386"}, +{0x18982,"TANGUT COMPONENT-387"}, +{0x18983,"TANGUT COMPONENT-388"}, +{0x18984,"TANGUT COMPONENT-389"}, +{0x18985,"TANGUT COMPONENT-390"}, +{0x18986,"TANGUT COMPONENT-391"}, +{0x18987,"TANGUT COMPONENT-392"}, +{0x18988,"TANGUT COMPONENT-393"}, +{0x18989,"TANGUT COMPONENT-394"}, +{0x1898A,"TANGUT COMPONENT-395"}, +{0x1898B,"TANGUT COMPONENT-396"}, +{0x1898C,"TANGUT COMPONENT-397"}, +{0x1898D,"TANGUT COMPONENT-398"}, +{0x1898E,"TANGUT COMPONENT-399"}, +{0x1898F,"TANGUT COMPONENT-400"}, +{0x18990,"TANGUT COMPONENT-401"}, +{0x18991,"TANGUT COMPONENT-402"}, +{0x18992,"TANGUT COMPONENT-403"}, +{0x18993,"TANGUT COMPONENT-404"}, +{0x18994,"TANGUT COMPONENT-405"}, +{0x18995,"TANGUT COMPONENT-406"}, +{0x18996,"TANGUT COMPONENT-407"}, +{0x18997,"TANGUT COMPONENT-408"}, +{0x18998,"TANGUT COMPONENT-409"}, +{0x18999,"TANGUT COMPONENT-410"}, +{0x1899A,"TANGUT COMPONENT-411"}, +{0x1899B,"TANGUT COMPONENT-412"}, +{0x1899C,"TANGUT COMPONENT-413"}, +{0x1899D,"TANGUT COMPONENT-414"}, +{0x1899E,"TANGUT COMPONENT-415"}, +{0x1899F,"TANGUT COMPONENT-416"}, +{0x189A0,"TANGUT COMPONENT-417"}, +{0x189A1,"TANGUT COMPONENT-418"}, +{0x189A2,"TANGUT COMPONENT-419"}, +{0x189A3,"TANGUT COMPONENT-420"}, +{0x189A4,"TANGUT COMPONENT-421"}, +{0x189A5,"TANGUT COMPONENT-422"}, +{0x189A6,"TANGUT COMPONENT-423"}, +{0x189A7,"TANGUT COMPONENT-424"}, +{0x189A8,"TANGUT COMPONENT-425"}, +{0x189A9,"TANGUT COMPONENT-426"}, +{0x189AA,"TANGUT COMPONENT-427"}, +{0x189AB,"TANGUT COMPONENT-428"}, +{0x189AC,"TANGUT COMPONENT-429"}, +{0x189AD,"TANGUT COMPONENT-430"}, +{0x189AE,"TANGUT COMPONENT-431"}, +{0x189AF,"TANGUT COMPONENT-432"}, +{0x189B0,"TANGUT COMPONENT-433"}, +{0x189B1,"TANGUT COMPONENT-434"}, +{0x189B2,"TANGUT COMPONENT-435"}, +{0x189B3,"TANGUT COMPONENT-436"}, +{0x189B4,"TANGUT COMPONENT-437"}, +{0x189B5,"TANGUT COMPONENT-438"}, +{0x189B6,"TANGUT COMPONENT-439"}, +{0x189B7,"TANGUT COMPONENT-440"}, +{0x189B8,"TANGUT COMPONENT-441"}, +{0x189B9,"TANGUT COMPONENT-442"}, +{0x189BA,"TANGUT COMPONENT-443"}, +{0x189BB,"TANGUT COMPONENT-444"}, +{0x189BC,"TANGUT COMPONENT-445"}, +{0x189BD,"TANGUT COMPONENT-446"}, +{0x189BE,"TANGUT COMPONENT-447"}, +{0x189BF,"TANGUT COMPONENT-448"}, +{0x189C0,"TANGUT COMPONENT-449"}, +{0x189C1,"TANGUT COMPONENT-450"}, +{0x189C2,"TANGUT COMPONENT-451"}, +{0x189C3,"TANGUT COMPONENT-452"}, +{0x189C4,"TANGUT COMPONENT-453"}, +{0x189C5,"TANGUT COMPONENT-454"}, +{0x189C6,"TANGUT COMPONENT-455"}, +{0x189C7,"TANGUT COMPONENT-456"}, +{0x189C8,"TANGUT COMPONENT-457"}, +{0x189C9,"TANGUT COMPONENT-458"}, +{0x189CA,"TANGUT COMPONENT-459"}, +{0x189CB,"TANGUT COMPONENT-460"}, +{0x189CC,"TANGUT COMPONENT-461"}, +{0x189CD,"TANGUT COMPONENT-462"}, +{0x189CE,"TANGUT COMPONENT-463"}, +{0x189CF,"TANGUT COMPONENT-464"}, +{0x189D0,"TANGUT COMPONENT-465"}, +{0x189D1,"TANGUT COMPONENT-466"}, +{0x189D2,"TANGUT COMPONENT-467"}, +{0x189D3,"TANGUT COMPONENT-468"}, +{0x189D4,"TANGUT COMPONENT-469"}, +{0x189D5,"TANGUT COMPONENT-470"}, +{0x189D6,"TANGUT COMPONENT-471"}, +{0x189D7,"TANGUT COMPONENT-472"}, +{0x189D8,"TANGUT COMPONENT-473"}, +{0x189D9,"TANGUT COMPONENT-474"}, +{0x189DA,"TANGUT COMPONENT-475"}, +{0x189DB,"TANGUT COMPONENT-476"}, +{0x189DC,"TANGUT COMPONENT-477"}, +{0x189DD,"TANGUT COMPONENT-478"}, +{0x189DE,"TANGUT COMPONENT-479"}, +{0x189DF,"TANGUT COMPONENT-480"}, +{0x189E0,"TANGUT COMPONENT-481"}, +{0x189E1,"TANGUT COMPONENT-482"}, +{0x189E2,"TANGUT COMPONENT-483"}, +{0x189E3,"TANGUT COMPONENT-484"}, +{0x189E4,"TANGUT COMPONENT-485"}, +{0x189E5,"TANGUT COMPONENT-486"}, +{0x189E6,"TANGUT COMPONENT-487"}, +{0x189E7,"TANGUT COMPONENT-488"}, +{0x189E8,"TANGUT COMPONENT-489"}, +{0x189E9,"TANGUT COMPONENT-490"}, +{0x189EA,"TANGUT COMPONENT-491"}, +{0x189EB,"TANGUT COMPONENT-492"}, +{0x189EC,"TANGUT COMPONENT-493"}, +{0x189ED,"TANGUT COMPONENT-494"}, +{0x189EE,"TANGUT COMPONENT-495"}, +{0x189EF,"TANGUT COMPONENT-496"}, +{0x189F0,"TANGUT COMPONENT-497"}, +{0x189F1,"TANGUT COMPONENT-498"}, +{0x189F2,"TANGUT COMPONENT-499"}, +{0x189F3,"TANGUT COMPONENT-500"}, +{0x189F4,"TANGUT COMPONENT-501"}, +{0x189F5,"TANGUT COMPONENT-502"}, +{0x189F6,"TANGUT COMPONENT-503"}, +{0x189F7,"TANGUT COMPONENT-504"}, +{0x189F8,"TANGUT COMPONENT-505"}, +{0x189F9,"TANGUT COMPONENT-506"}, +{0x189FA,"TANGUT COMPONENT-507"}, +{0x189FB,"TANGUT COMPONENT-508"}, +{0x189FC,"TANGUT COMPONENT-509"}, +{0x189FD,"TANGUT COMPONENT-510"}, +{0x189FE,"TANGUT COMPONENT-511"}, +{0x189FF,"TANGUT COMPONENT-512"}, +{0x18A00,"TANGUT COMPONENT-513"}, +{0x18A01,"TANGUT COMPONENT-514"}, +{0x18A02,"TANGUT COMPONENT-515"}, +{0x18A03,"TANGUT COMPONENT-516"}, +{0x18A04,"TANGUT COMPONENT-517"}, +{0x18A05,"TANGUT COMPONENT-518"}, +{0x18A06,"TANGUT COMPONENT-519"}, +{0x18A07,"TANGUT COMPONENT-520"}, +{0x18A08,"TANGUT COMPONENT-521"}, +{0x18A09,"TANGUT COMPONENT-522"}, +{0x18A0A,"TANGUT COMPONENT-523"}, +{0x18A0B,"TANGUT COMPONENT-524"}, +{0x18A0C,"TANGUT COMPONENT-525"}, +{0x18A0D,"TANGUT COMPONENT-526"}, +{0x18A0E,"TANGUT COMPONENT-527"}, +{0x18A0F,"TANGUT COMPONENT-528"}, +{0x18A10,"TANGUT COMPONENT-529"}, +{0x18A11,"TANGUT COMPONENT-530"}, +{0x18A12,"TANGUT COMPONENT-531"}, +{0x18A13,"TANGUT COMPONENT-532"}, +{0x18A14,"TANGUT COMPONENT-533"}, +{0x18A15,"TANGUT COMPONENT-534"}, +{0x18A16,"TANGUT COMPONENT-535"}, +{0x18A17,"TANGUT COMPONENT-536"}, +{0x18A18,"TANGUT COMPONENT-537"}, +{0x18A19,"TANGUT COMPONENT-538"}, +{0x18A1A,"TANGUT COMPONENT-539"}, +{0x18A1B,"TANGUT COMPONENT-540"}, +{0x18A1C,"TANGUT COMPONENT-541"}, +{0x18A1D,"TANGUT COMPONENT-542"}, +{0x18A1E,"TANGUT COMPONENT-543"}, +{0x18A1F,"TANGUT COMPONENT-544"}, +{0x18A20,"TANGUT COMPONENT-545"}, +{0x18A21,"TANGUT COMPONENT-546"}, +{0x18A22,"TANGUT COMPONENT-547"}, +{0x18A23,"TANGUT COMPONENT-548"}, +{0x18A24,"TANGUT COMPONENT-549"}, +{0x18A25,"TANGUT COMPONENT-550"}, +{0x18A26,"TANGUT COMPONENT-551"}, +{0x18A27,"TANGUT COMPONENT-552"}, +{0x18A28,"TANGUT COMPONENT-553"}, +{0x18A29,"TANGUT COMPONENT-554"}, +{0x18A2A,"TANGUT COMPONENT-555"}, +{0x18A2B,"TANGUT COMPONENT-556"}, +{0x18A2C,"TANGUT COMPONENT-557"}, +{0x18A2D,"TANGUT COMPONENT-558"}, +{0x18A2E,"TANGUT COMPONENT-559"}, +{0x18A2F,"TANGUT COMPONENT-560"}, +{0x18A30,"TANGUT COMPONENT-561"}, +{0x18A31,"TANGUT COMPONENT-562"}, +{0x18A32,"TANGUT COMPONENT-563"}, +{0x18A33,"TANGUT COMPONENT-564"}, +{0x18A34,"TANGUT COMPONENT-565"}, +{0x18A35,"TANGUT COMPONENT-566"}, +{0x18A36,"TANGUT COMPONENT-567"}, +{0x18A37,"TANGUT COMPONENT-568"}, +{0x18A38,"TANGUT COMPONENT-569"}, +{0x18A39,"TANGUT COMPONENT-570"}, +{0x18A3A,"TANGUT COMPONENT-571"}, +{0x18A3B,"TANGUT COMPONENT-572"}, +{0x18A3C,"TANGUT COMPONENT-573"}, +{0x18A3D,"TANGUT COMPONENT-574"}, +{0x18A3E,"TANGUT COMPONENT-575"}, +{0x18A3F,"TANGUT COMPONENT-576"}, +{0x18A40,"TANGUT COMPONENT-577"}, +{0x18A41,"TANGUT COMPONENT-578"}, +{0x18A42,"TANGUT COMPONENT-579"}, +{0x18A43,"TANGUT COMPONENT-580"}, +{0x18A44,"TANGUT COMPONENT-581"}, +{0x18A45,"TANGUT COMPONENT-582"}, +{0x18A46,"TANGUT COMPONENT-583"}, +{0x18A47,"TANGUT COMPONENT-584"}, +{0x18A48,"TANGUT COMPONENT-585"}, +{0x18A49,"TANGUT COMPONENT-586"}, +{0x18A4A,"TANGUT COMPONENT-587"}, +{0x18A4B,"TANGUT COMPONENT-588"}, +{0x18A4C,"TANGUT COMPONENT-589"}, +{0x18A4D,"TANGUT COMPONENT-590"}, +{0x18A4E,"TANGUT COMPONENT-591"}, +{0x18A4F,"TANGUT COMPONENT-592"}, +{0x18A50,"TANGUT COMPONENT-593"}, +{0x18A51,"TANGUT COMPONENT-594"}, +{0x18A52,"TANGUT COMPONENT-595"}, +{0x18A53,"TANGUT COMPONENT-596"}, +{0x18A54,"TANGUT COMPONENT-597"}, +{0x18A55,"TANGUT COMPONENT-598"}, +{0x18A56,"TANGUT COMPONENT-599"}, +{0x18A57,"TANGUT COMPONENT-600"}, +{0x18A58,"TANGUT COMPONENT-601"}, +{0x18A59,"TANGUT COMPONENT-602"}, +{0x18A5A,"TANGUT COMPONENT-603"}, +{0x18A5B,"TANGUT COMPONENT-604"}, +{0x18A5C,"TANGUT COMPONENT-605"}, +{0x18A5D,"TANGUT COMPONENT-606"}, +{0x18A5E,"TANGUT COMPONENT-607"}, +{0x18A5F,"TANGUT COMPONENT-608"}, +{0x18A60,"TANGUT COMPONENT-609"}, +{0x18A61,"TANGUT COMPONENT-610"}, +{0x18A62,"TANGUT COMPONENT-611"}, +{0x18A63,"TANGUT COMPONENT-612"}, +{0x18A64,"TANGUT COMPONENT-613"}, +{0x18A65,"TANGUT COMPONENT-614"}, +{0x18A66,"TANGUT COMPONENT-615"}, +{0x18A67,"TANGUT COMPONENT-616"}, +{0x18A68,"TANGUT COMPONENT-617"}, +{0x18A69,"TANGUT COMPONENT-618"}, +{0x18A6A,"TANGUT COMPONENT-619"}, +{0x18A6B,"TANGUT COMPONENT-620"}, +{0x18A6C,"TANGUT COMPONENT-621"}, +{0x18A6D,"TANGUT COMPONENT-622"}, +{0x18A6E,"TANGUT COMPONENT-623"}, +{0x18A6F,"TANGUT COMPONENT-624"}, +{0x18A70,"TANGUT COMPONENT-625"}, +{0x18A71,"TANGUT COMPONENT-626"}, +{0x18A72,"TANGUT COMPONENT-627"}, +{0x18A73,"TANGUT COMPONENT-628"}, +{0x18A74,"TANGUT COMPONENT-629"}, +{0x18A75,"TANGUT COMPONENT-630"}, +{0x18A76,"TANGUT COMPONENT-631"}, +{0x18A77,"TANGUT COMPONENT-632"}, +{0x18A78,"TANGUT COMPONENT-633"}, +{0x18A79,"TANGUT COMPONENT-634"}, +{0x18A7A,"TANGUT COMPONENT-635"}, +{0x18A7B,"TANGUT COMPONENT-636"}, +{0x18A7C,"TANGUT COMPONENT-637"}, +{0x18A7D,"TANGUT COMPONENT-638"}, +{0x18A7E,"TANGUT COMPONENT-639"}, +{0x18A7F,"TANGUT COMPONENT-640"}, +{0x18A80,"TANGUT COMPONENT-641"}, +{0x18A81,"TANGUT COMPONENT-642"}, +{0x18A82,"TANGUT COMPONENT-643"}, +{0x18A83,"TANGUT COMPONENT-644"}, +{0x18A84,"TANGUT COMPONENT-645"}, +{0x18A85,"TANGUT COMPONENT-646"}, +{0x18A86,"TANGUT COMPONENT-647"}, +{0x18A87,"TANGUT COMPONENT-648"}, +{0x18A88,"TANGUT COMPONENT-649"}, +{0x18A89,"TANGUT COMPONENT-650"}, +{0x18A8A,"TANGUT COMPONENT-651"}, +{0x18A8B,"TANGUT COMPONENT-652"}, +{0x18A8C,"TANGUT COMPONENT-653"}, +{0x18A8D,"TANGUT COMPONENT-654"}, +{0x18A8E,"TANGUT COMPONENT-655"}, +{0x18A8F,"TANGUT COMPONENT-656"}, +{0x18A90,"TANGUT COMPONENT-657"}, +{0x18A91,"TANGUT COMPONENT-658"}, +{0x18A92,"TANGUT COMPONENT-659"}, +{0x18A93,"TANGUT COMPONENT-660"}, +{0x18A94,"TANGUT COMPONENT-661"}, +{0x18A95,"TANGUT COMPONENT-662"}, +{0x18A96,"TANGUT COMPONENT-663"}, +{0x18A97,"TANGUT COMPONENT-664"}, +{0x18A98,"TANGUT COMPONENT-665"}, +{0x18A99,"TANGUT COMPONENT-666"}, +{0x18A9A,"TANGUT COMPONENT-667"}, +{0x18A9B,"TANGUT COMPONENT-668"}, +{0x18A9C,"TANGUT COMPONENT-669"}, +{0x18A9D,"TANGUT COMPONENT-670"}, +{0x18A9E,"TANGUT COMPONENT-671"}, +{0x18A9F,"TANGUT COMPONENT-672"}, +{0x18AA0,"TANGUT COMPONENT-673"}, +{0x18AA1,"TANGUT COMPONENT-674"}, +{0x18AA2,"TANGUT COMPONENT-675"}, +{0x18AA3,"TANGUT COMPONENT-676"}, +{0x18AA4,"TANGUT COMPONENT-677"}, +{0x18AA5,"TANGUT COMPONENT-678"}, +{0x18AA6,"TANGUT COMPONENT-679"}, +{0x18AA7,"TANGUT COMPONENT-680"}, +{0x18AA8,"TANGUT COMPONENT-681"}, +{0x18AA9,"TANGUT COMPONENT-682"}, +{0x18AAA,"TANGUT COMPONENT-683"}, +{0x18AAB,"TANGUT COMPONENT-684"}, +{0x18AAC,"TANGUT COMPONENT-685"}, +{0x18AAD,"TANGUT COMPONENT-686"}, +{0x18AAE,"TANGUT COMPONENT-687"}, +{0x18AAF,"TANGUT COMPONENT-688"}, +{0x18AB0,"TANGUT COMPONENT-689"}, +{0x18AB1,"TANGUT COMPONENT-690"}, +{0x18AB2,"TANGUT COMPONENT-691"}, +{0x18AB3,"TANGUT COMPONENT-692"}, +{0x18AB4,"TANGUT COMPONENT-693"}, +{0x18AB5,"TANGUT COMPONENT-694"}, +{0x18AB6,"TANGUT COMPONENT-695"}, +{0x18AB7,"TANGUT COMPONENT-696"}, +{0x18AB8,"TANGUT COMPONENT-697"}, +{0x18AB9,"TANGUT COMPONENT-698"}, +{0x18ABA,"TANGUT COMPONENT-699"}, +{0x18ABB,"TANGUT COMPONENT-700"}, +{0x18ABC,"TANGUT COMPONENT-701"}, +{0x18ABD,"TANGUT COMPONENT-702"}, +{0x18ABE,"TANGUT COMPONENT-703"}, +{0x18ABF,"TANGUT COMPONENT-704"}, +{0x18AC0,"TANGUT COMPONENT-705"}, +{0x18AC1,"TANGUT COMPONENT-706"}, +{0x18AC2,"TANGUT COMPONENT-707"}, +{0x18AC3,"TANGUT COMPONENT-708"}, +{0x18AC4,"TANGUT COMPONENT-709"}, +{0x18AC5,"TANGUT COMPONENT-710"}, +{0x18AC6,"TANGUT COMPONENT-711"}, +{0x18AC7,"TANGUT COMPONENT-712"}, +{0x18AC8,"TANGUT COMPONENT-713"}, +{0x18AC9,"TANGUT COMPONENT-714"}, +{0x18ACA,"TANGUT COMPONENT-715"}, +{0x18ACB,"TANGUT COMPONENT-716"}, +{0x18ACC,"TANGUT COMPONENT-717"}, +{0x18ACD,"TANGUT COMPONENT-718"}, +{0x18ACE,"TANGUT COMPONENT-719"}, +{0x18ACF,"TANGUT COMPONENT-720"}, +{0x18AD0,"TANGUT COMPONENT-721"}, +{0x18AD1,"TANGUT COMPONENT-722"}, +{0x18AD2,"TANGUT COMPONENT-723"}, +{0x18AD3,"TANGUT COMPONENT-724"}, +{0x18AD4,"TANGUT COMPONENT-725"}, +{0x18AD5,"TANGUT COMPONENT-726"}, +{0x18AD6,"TANGUT COMPONENT-727"}, +{0x18AD7,"TANGUT COMPONENT-728"}, +{0x18AD8,"TANGUT COMPONENT-729"}, +{0x18AD9,"TANGUT COMPONENT-730"}, +{0x18ADA,"TANGUT COMPONENT-731"}, +{0x18ADB,"TANGUT COMPONENT-732"}, +{0x18ADC,"TANGUT COMPONENT-733"}, +{0x18ADD,"TANGUT COMPONENT-734"}, +{0x18ADE,"TANGUT COMPONENT-735"}, +{0x18ADF,"TANGUT COMPONENT-736"}, +{0x18AE0,"TANGUT COMPONENT-737"}, +{0x18AE1,"TANGUT COMPONENT-738"}, +{0x18AE2,"TANGUT COMPONENT-739"}, +{0x18AE3,"TANGUT COMPONENT-740"}, +{0x18AE4,"TANGUT COMPONENT-741"}, +{0x18AE5,"TANGUT COMPONENT-742"}, +{0x18AE6,"TANGUT COMPONENT-743"}, +{0x18AE7,"TANGUT COMPONENT-744"}, +{0x18AE8,"TANGUT COMPONENT-745"}, +{0x18AE9,"TANGUT COMPONENT-746"}, +{0x18AEA,"TANGUT COMPONENT-747"}, +{0x18AEB,"TANGUT COMPONENT-748"}, +{0x18AEC,"TANGUT COMPONENT-749"}, +{0x18AED,"TANGUT COMPONENT-750"}, +{0x18AEE,"TANGUT COMPONENT-751"}, +{0x18AEF,"TANGUT COMPONENT-752"}, +{0x18AF0,"TANGUT COMPONENT-753"}, +{0x18AF1,"TANGUT COMPONENT-754"}, +{0x18AF2,"TANGUT COMPONENT-755"}, +{0x16FE0,"TANGUT ITERATION MARK"}, {0x1F5AD,"TAPE CARTRIDGE"}, {0x2707,"TAPE DRIVE"}, {0x2649,"TAURUS"}, @@ -23976,6 +28877,7 @@ {0x1F4C6,"TEAR-OFF CALENDAR"}, {0x27BA,"TEARDROP-BARBED RIGHTWARDS ARROW"}, {0x273B,"TEARDROP-SPOKED ASTERISK"}, +{0x1F9F8,"TEDDY BEAR"}, {0x2706,"TELEPHONE LOCATION SIGN"}, {0x1F580,"TELEPHONE ON TOP OF MODEM"}, {0x1F4DE,"TELEPHONE RECEIVER"}, @@ -24041,6 +28943,7 @@ {0x0C2B,"TELUGU LETTER PHA"}, {0x0C30,"TELUGU LETTER RA"}, {0x0C31,"TELUGU LETTER RRA"}, +{0x0C5A,"TELUGU LETTER RRRA"}, {0x0C38,"TELUGU LETTER SA"}, {0x0C36,"TELUGU LETTER SHA"}, {0x0C37,"TELUGU LETTER SSA"}, @@ -24060,6 +28963,7 @@ {0x0C02,"TELUGU SIGN ANUSVARA"}, {0x0C3D,"TELUGU SIGN AVAGRAHA"}, {0x0C01,"TELUGU SIGN CANDRABINDU"}, +{0x0C04,"TELUGU SIGN COMBINING ANUSVARA ABOVE"}, {0x0C00,"TELUGU SIGN COMBINING CANDRABINDU ABOVE"}, {0x0C7F,"TELUGU SIGN TUUMU"}, {0x0C4D,"TELUGU SIGN VIRAMA"}, @@ -24082,6 +28986,7 @@ {0x20B8,"TENGE SIGN"}, {0x1F3BE,"TENNIS RACQUET AND BALL"}, {0x26FA,"TENT"}, +{0x1F9EA,"TEST TUBE"}, {0x1D341,"TETRAGRAM FOR ACCUMULATION"}, {0x1D319,"TETRAGRAM FOR ADVANCE"}, {0x1D351,"TETRAGRAM FOR AGGRAVATION"}, @@ -24308,6 +29213,8 @@ {0x1F7A1,"THIN GREEK CROSS"}, {0x1F7A8,"THIN SALTIRE"}, {0x2009,"THIN SPACE"}, +{0x1F914,"THINKING FACE"}, +{0x1F949,"THIRD PLACE MEDAL"}, {0x1F4AD,"THOUGHT BALLOON"}, {0x1F5B1,"THREE BUTTON MOUSE"}, {0x2A76,"THREE CONSECUTIVE EQUALS SIGNS"}, @@ -24709,6 +29616,8 @@ {0x1F5FC,"TOKYO TOWER"}, {0x1F345,"TOMATO"}, {0x1F445,"TONGUE"}, +{0x1F9F0,"TOOLBOX"}, +{0x1F9B7,"TOOTH"}, {0x293A,"TOP ARC ANTICLOCKWISE ARROW"}, {0x293D,"TOP ARC ANTICLOCKWISE ARROW WITH PLUS"}, {0x293C,"TOP ARC CLOCKWISE ARROW WITH MINUS"}, @@ -24744,6 +29653,7 @@ {0x1F686,"TRAIN"}, {0x1F68A,"TRAM"}, {0x1F68B,"TRAM CAR"}, +{0x2BD7,"TRANSPLUTO"}, {0x2ADB,"TRANSVERSAL INTERSECTION"}, {0x29CA,"TRIANGLE WITH DOT ABOVE"}, {0x1F6C6,"TRIANGLE WITH ROUNDED CORNERS"}, @@ -24764,6 +29674,7 @@ {0x2635,"TRIGRAM FOR WATER"}, {0x2634,"TRIGRAM FOR WIND"}, {0x2AF6,"TRIPLE COLON OPERATOR"}, +{0x2E4B,"TRIPLE DAGGER"}, {0x2A68,"TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE"}, {0x2A69,"TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE"}, {0x222D,"TRIPLE INTEGRAL"}, @@ -24782,9 +29693,12 @@ {0x1F379,"TROPICAL DRINK"}, {0x1F420,"TROPICAL FISH"}, {0x22A8,"TRUE"}, +{0x2BDF,"TRUE LIGHT MOON ARTA"}, {0x1F3BA,"TRUMPET"}, {0x20AE,"TUGRIK SIGN"}, {0x1F337,"TULIP"}, +{0x1F943,"TUMBLER GLASS"}, +{0x1F983,"TURKEY"}, {0x20BA,"TURKISH LIRA SIGN"}, {0x214B,"TURNED AMPERSAND"}, {0x29A2,"TURNED ANGLE"}, @@ -24793,6 +29707,8 @@ {0x2132,"TURNED CAPITAL F"}, {0x2E32,"TURNED COMMA"}, {0x2E38,"TURNED DAGGER"}, +{0x218B,"TURNED DIGIT THREE"}, +{0x218A,"TURNED DIGIT TWO"}, {0x2129,"TURNED GREEK SMALL LETTER IOTA"}, {0x1F656,"TURNED NORTH EAST POINTING LEAF"}, {0x1F654,"TURNED NORTH WEST POINTING LEAF"}, @@ -24863,6 +29779,7 @@ {0x2BD1,"UNCERTAINTY SIGN"}, {0x203F,"UNDERTIE"}, {0x238C,"UNDO SYMBOL"}, +{0x1F984,"UNICORN FACE"}, {0x222A,"UNION"}, {0x2A48,"UNION ABOVE BAR ABOVE INTERSECTION"}, {0x2A46,"UNION ABOVE INTERSECTION"}, @@ -24870,6 +29787,7 @@ {0x2A45,"UNION WITH LOGICAL OR"}, {0x2A41,"UNION WITH MINUS SIGN"}, {0x2A42,"UNION WITH OVERBAR"}, +{0x2BFA,"UNITED SYMBOL"}, {0x2672,"UNIVERSAL RECYCLING SYMBOL"}, {0x26AF,"UNMARRIED PARTNERSHIP SYMBOL"}, {0x29BD,"UP ARROW THROUGH CIRCLE"}, @@ -24914,6 +29832,7 @@ {0x1F53F,"UPPER RIGHT SHADOWED WHITE CIRCLE"}, {0x2752,"UPPER RIGHT SHADOWED WHITE SQUARE"}, {0x25F9,"UPPER RIGHT TRIANGLE"}, +{0x1F643,"UPSIDE-DOWN FACE"}, {0x2E15,"UPWARDS ANCORA"}, {0x2191,"UPWARDS ARROW"}, {0x21A5,"UPWARDS ARROW FROM BAR"}, @@ -24967,6 +29886,7 @@ {0x290A,"UPWARDS TRIPLE ARROW"}, {0x219F,"UPWARDS TWO HEADED ARROW"}, {0x2949,"UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE"}, +{0x2BED,"UPWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS"}, {0x21E7,"UPWARDS WHITE ARROW"}, {0x21EA,"UPWARDS WHITE ARROW FROM BAR"}, {0x2BB8,"UPWARDS WHITE ARROW FROM BAR WITH HORIZONTAL BAR"}, @@ -25277,6 +30197,7 @@ {0xA619,"VAI SYMBOL TAA"}, {0xA615,"VAI SYMBOL TING"}, {0xA61D,"VAI SYMBOL TONG"}, +{0x1F9DB,"VAMPIRE"}, {0xFE00,"VARIATION SELECTOR-1"}, {0xFE09,"VARIATION SELECTOR-10"}, {0xE0153,"VARIATION SELECTOR-100"}, @@ -25540,6 +30461,7 @@ {0x1CEB,"VEDIC SIGN ANUSVARA VAMAGOMUKHA"}, {0x1CEC,"VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL"}, {0x1CF2,"VEDIC SIGN ARDHAVISARGA"}, +{0x1CF7,"VEDIC SIGN ATIKRAMA"}, {0x1CEE,"VEDIC SIGN HEXIFORM LONG ANUSVARA"}, {0x1CF5,"VEDIC SIGN JIHVAMULIYA"}, {0x1CEF,"VEDIC SIGN LONG ANUSVARA"}, @@ -25622,7 +30544,9 @@ {0x1F3BB,"VIOLIN"}, {0x264D,"VIRGO"}, {0x1F30B,"VOLCANO"}, +{0x1F3D0,"VOLLEYBALL"}, {0x2230,"VOLUME INTEGRAL"}, +{0x2BE6,"VULCANUS"}, {0x215D,"VULGAR FRACTION FIVE EIGHTHS"}, {0x215A,"VULGAR FRACTION FIVE SIXTHS"}, {0x2158,"VULGAR FRACTION FOUR FIFTHS"}, @@ -25733,6 +30657,7 @@ {0x231A,"WATCH"}, {0x1F403,"WATER BUFFALO"}, {0x1F6BE,"WATER CLOSET"}, +{0x1F93D,"WATER POLO"}, {0x1F30A,"WATER WAVE"}, {0x1F349,"WATERMELON"}, {0x2B3F,"WAVE ARROW POINTING DIRECTLY LEFT"}, @@ -25820,6 +30745,7 @@ {0x25FD,"WHITE MEDIUM SMALL SQUARE"}, {0x25FB,"WHITE MEDIUM SQUARE"}, {0x2B50,"WHITE MEDIUM STAR"}, +{0x2BDD,"WHITE MOON SELENA"}, {0x2711,"WHITE NIB"}, {0x25B1,"WHITE PARALLELOGRAM"}, {0x1F3F1,"WHITE PENNANT"}, @@ -25916,6 +30842,7 @@ {0x1F871,"WIDE-HEADED UPWARDS MEDIUM BARB ARROW"}, {0x1F881,"WIDE-HEADED UPWARDS VERY HEAVY BARB ARROW"}, {0x2E3E,"WIGGLY VERTICAL LINE"}, +{0x1F940,"WILTED FLOWER"}, {0x1F32C,"WIND BLOWING FACE"}, {0x1F390,"WIND CHIME"}, {0x1F377,"WINE GLASS"}, @@ -25937,8 +30864,23 @@ {0x1F381,"WRAPPED PRESENT"}, {0x2240,"WREATH PRODUCT"}, {0x1F527,"WRENCH"}, +{0x1F93C,"WRESTLERS"}, {0x270D,"WRITING HAND"}, {0x2327,"X IN A RECTANGLE BOX"}, +{0x1FA6C,"XIANGQI BLACK CANNON"}, +{0x1FA6B,"XIANGQI BLACK CHARIOT"}, +{0x1FA69,"XIANGQI BLACK ELEPHANT"}, +{0x1FA67,"XIANGQI BLACK GENERAL"}, +{0x1FA6A,"XIANGQI BLACK HORSE"}, +{0x1FA68,"XIANGQI BLACK MANDARIN"}, +{0x1FA6D,"XIANGQI BLACK SOLDIER"}, +{0x1FA65,"XIANGQI RED CANNON"}, +{0x1FA64,"XIANGQI RED CHARIOT"}, +{0x1FA62,"XIANGQI RED ELEPHANT"}, +{0x1FA60,"XIANGQI RED GENERAL"}, +{0x1FA63,"XIANGQI RED HORSE"}, +{0x1FA61,"XIANGQI RED MANDARIN"}, +{0x1FA66,"XIANGQI RED SOLDIER"}, {0x22BB,"XOR"}, {0x1F49B,"YELLOW HEART"}, {0x00A5,"YEN SIGN"}, @@ -27176,9 +32118,85 @@ {0x2A21,"Z NOTATION SCHEMA PROJECTION"}, {0x2981,"Z NOTATION SPOT"}, {0x2982,"Z NOTATION TYPE COLON"}, +{0x11A46,"ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK"}, +{0x11A40,"ZANABAZAR SQUARE CLOSING HEAD MARK"}, +{0x11A3D,"ZANABAZAR SQUARE CLUSTER-FINAL LETTER LA"}, +{0x11A3C,"ZANABAZAR SQUARE CLUSTER-FINAL LETTER RA"}, +{0x11A3E,"ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA"}, +{0x11A3B,"ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA"}, +{0x11A3A,"ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA"}, +{0x11A33,"ZANABAZAR SQUARE FINAL CONSONANT MARK"}, +{0x11A45,"ZANABAZAR SQUARE INITIAL DOUBLE-LINED HEAD MARK"}, +{0x11A3F,"ZANABAZAR SQUARE INITIAL HEAD MARK"}, +{0x11A29,"ZANABAZAR SQUARE LETTER -A"}, +{0x11A00,"ZANABAZAR SQUARE LETTER A"}, +{0x11A20,"ZANABAZAR SQUARE LETTER BA"}, +{0x11A21,"ZANABAZAR SQUARE LETTER BHA"}, +{0x11A10,"ZANABAZAR SQUARE LETTER CA"}, +{0x11A11,"ZANABAZAR SQUARE LETTER CHA"}, +{0x11A1B,"ZANABAZAR SQUARE LETTER DA"}, +{0x11A16,"ZANABAZAR SQUARE LETTER DDA"}, +{0x11A17,"ZANABAZAR SQUARE LETTER DDHA"}, +{0x11A1C,"ZANABAZAR SQUARE LETTER DHA"}, +{0x11A25,"ZANABAZAR SQUARE LETTER DZA"}, +{0x11A26,"ZANABAZAR SQUARE LETTER DZHA"}, +{0x11A0D,"ZANABAZAR SQUARE LETTER GA"}, +{0x11A0E,"ZANABAZAR SQUARE LETTER GHA"}, +{0x11A31,"ZANABAZAR SQUARE LETTER HA"}, +{0x11A12,"ZANABAZAR SQUARE LETTER JA"}, +{0x11A0B,"ZANABAZAR SQUARE LETTER KA"}, +{0x11A0C,"ZANABAZAR SQUARE LETTER KHA"}, +{0x11A32,"ZANABAZAR SQUARE LETTER KSSA"}, +{0x11A2C,"ZANABAZAR SQUARE LETTER LA"}, +{0x11A22,"ZANABAZAR SQUARE LETTER MA"}, +{0x11A1D,"ZANABAZAR SQUARE LETTER NA"}, +{0x11A0F,"ZANABAZAR SQUARE LETTER NGA"}, +{0x11A18,"ZANABAZAR SQUARE LETTER NNA"}, +{0x11A13,"ZANABAZAR SQUARE LETTER NYA"}, +{0x11A1E,"ZANABAZAR SQUARE LETTER PA"}, +{0x11A1F,"ZANABAZAR SQUARE LETTER PHA"}, +{0x11A2B,"ZANABAZAR SQUARE LETTER RA"}, +{0x11A30,"ZANABAZAR SQUARE LETTER SA"}, +{0x11A2E,"ZANABAZAR SQUARE LETTER SHA"}, +{0x11A2F,"ZANABAZAR SQUARE LETTER SSA"}, +{0x11A19,"ZANABAZAR SQUARE LETTER TA"}, +{0x11A1A,"ZANABAZAR SQUARE LETTER THA"}, +{0x11A23,"ZANABAZAR SQUARE LETTER TSA"}, +{0x11A24,"ZANABAZAR SQUARE LETTER TSHA"}, +{0x11A14,"ZANABAZAR SQUARE LETTER TTA"}, +{0x11A15,"ZANABAZAR SQUARE LETTER TTHA"}, +{0x11A2D,"ZANABAZAR SQUARE LETTER VA"}, +{0x11A2A,"ZANABAZAR SQUARE LETTER YA"}, +{0x11A28,"ZANABAZAR SQUARE LETTER ZA"}, +{0x11A27,"ZANABAZAR SQUARE LETTER ZHA"}, +{0x11A43,"ZANABAZAR SQUARE MARK DOUBLE SHAD"}, +{0x11A44,"ZANABAZAR SQUARE MARK LONG TSHEG"}, +{0x11A42,"ZANABAZAR SQUARE MARK SHAD"}, +{0x11A41,"ZANABAZAR SQUARE MARK TSHEG"}, +{0x11A38,"ZANABAZAR SQUARE SIGN ANUSVARA"}, +{0x11A37,"ZANABAZAR SQUARE SIGN CANDRA WITH ORNAMENT"}, +{0x11A35,"ZANABAZAR SQUARE SIGN CANDRABINDU"}, +{0x11A36,"ZANABAZAR SQUARE SIGN CANDRABINDU WITH ORNAMENT"}, +{0x11A34,"ZANABAZAR SQUARE SIGN VIRAMA"}, +{0x11A39,"ZANABAZAR SQUARE SIGN VISARGA"}, +{0x11A47,"ZANABAZAR SQUARE SUBJOINER"}, +{0x11A0A,"ZANABAZAR SQUARE VOWEL LENGTH MARK"}, +{0x11A07,"ZANABAZAR SQUARE VOWEL SIGN AI"}, +{0x11A08,"ZANABAZAR SQUARE VOWEL SIGN AU"}, +{0x11A04,"ZANABAZAR SQUARE VOWEL SIGN E"}, +{0x11A01,"ZANABAZAR SQUARE VOWEL SIGN I"}, +{0x11A06,"ZANABAZAR SQUARE VOWEL SIGN O"}, +{0x11A05,"ZANABAZAR SQUARE VOWEL SIGN OE"}, +{0x11A09,"ZANABAZAR SQUARE VOWEL SIGN REVERSED I"}, +{0x11A03,"ZANABAZAR SQUARE VOWEL SIGN U"}, +{0x11A02,"ZANABAZAR SQUARE VOWEL SIGN UE"}, +{0x1F993,"ZEBRA FACE"}, {0x200D,"ZERO WIDTH JOINER"}, {0xFEFF,"ZERO WIDTH NO-BREAK SPACE"}, {0x200C,"ZERO WIDTH NON-JOINER"}, {0x200B,"ZERO WIDTH SPACE"}, +{0x2BE2,"ZEUS"}, +{0x1F910,"ZIPPER-MOUTH FACE"}, +{0x1F9DF,"ZOMBIE"}, {0,0} }; diff --git a/test/GNT-map.xml b/test/GNT-map.xml index bf3db4b..d66d506 100644 --- a/test/GNT-map.xml +++ b/test/GNT-map.xml @@ -1,5 +1,5 @@ - + &2; \ - else \ + elif test -n "$$redo_logs"; then \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ @@ -818,6 +829,8 @@ mostlyclean-libtool pdf pdf-am ps ps-am recheck tags-am \ uninstall uninstall-am +.PRECIOUS: Makefile + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/test/NormalizationTest.txt b/test/NormalizationTest.txt index 23c1e51..72a31bc 100644 --- a/test/NormalizationTest.txt +++ b/test/NormalizationTest.txt @@ -1,10 +1,11 @@ -# NormalizationTest-7.0.0.txt -# Date: 2013-11-27, 09:54:41 GMT [MD] +# NormalizationTest-11.0.0.txt +# Date: 2018-02-19, 18:33:08 GMT +# ยฉ 2018 Unicodeยฎ, Inc. +# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries. +# For terms of use, see http://www.unicode.org/terms_of_use.html # # Unicode Character Database -# Copyright (c) 1991-2013 Unicode, Inc. -# For terms of use, see http://www.unicode.org/terms_of_use.html -# For documentation, see http://www.unicode.org/reports/tr44/ +# For documentation, see http://www.unicode.org/reports/tr44/ # # Normalization Test Suite # Format: @@ -63,6 +64,8 @@ 0045 0300 0304;00C8 0304;0045 0300 0304;00C8 0304;0045 0300 0304; # (Eโ—Œฬ€โ—Œฬ„; รˆโ—Œฬ„; Eโ—Œฬ€โ—Œฬ„; รˆโ—Œฬ„; Eโ—Œฬ€โ—Œฬ„; ) LATIN CAPITAL LETTER E, COMBINING GRAVE ACCENT, COMBINING MACRON 05B8 05B9 05B1 0591 05C3 05B0 05AC 059F;05B1 05B8 05B9 0591 05C3 05B0 05AC 059F;05B1 05B8 05B9 0591 05C3 05B0 05AC 059F;05B1 05B8 05B9 0591 05C3 05B0 05AC 059F;05B1 05B8 05B9 0591 05C3 05B0 05AC 059F; # (โ—Œึธโ—Œึนโ—Œึฑโ—Œึ‘ืƒโ—Œึฐโ—Œึฌโ—ŒึŸ; โ—Œึฑโ—Œึธโ—Œึนโ—Œึ‘ืƒโ—Œึฐโ—Œึฌโ—ŒึŸ; โ—Œึฑโ—Œึธโ—Œึนโ—Œึ‘ืƒโ—Œึฐโ—Œึฌโ—ŒึŸ; โ—Œึฑโ—Œึธโ—Œึนโ—Œึ‘ืƒโ—Œึฐโ—Œึฌโ—ŒึŸ; โ—Œึฑโ—Œึธโ—Œึนโ—Œึ‘ืƒโ—Œึฐโ—Œึฌโ—ŒึŸ; ) HEBREW POINT QAMATS, HEBREW POINT HOLAM, HEBREW POINT HATAF SEGOL, HEBREW ACCENT ETNAHTA, HEBREW PUNCTUATION SOF PASUQ, HEBREW POINT SHEVA, HEBREW ACCENT ILUY, HEBREW ACCENT QARNEY PARA 0592 05B7 05BC 05A5 05B0 05C0 05C4 05AD;05B0 05B7 05BC 05A5 0592 05C0 05AD 05C4;05B0 05B7 05BC 05A5 0592 05C0 05AD 05C4;05B0 05B7 05BC 05A5 0592 05C0 05AD 05C4;05B0 05B7 05BC 05A5 0592 05C0 05AD 05C4; # (โ—Œึ’โ—Œึทโ—Œึผโ—Œึฅโ—Œึฐื€โ—Œื„โ—Œึญ; โ—Œึฐโ—Œึทโ—Œึผโ—Œึฅโ—Œึ’ื€โ—Œึญโ—Œื„; โ—Œึฐโ—Œึทโ—Œึผโ—Œึฅโ—Œึ’ื€โ—Œึญโ—Œื„; โ—Œึฐโ—Œึทโ—Œึผโ—Œึฅโ—Œึ’ื€โ—Œึญโ—Œื„; โ—Œึฐโ—Œึทโ—Œึผโ—Œึฅโ—Œึ’ื€โ—Œึญโ—Œื„; ) HEBREW ACCENT SEGOL, HEBREW POINT PATAH, HEBREW POINT DAGESH OR MAPIQ, HEBREW ACCENT MERKHA, HEBREW POINT SHEVA, HEBREW PUNCTUATION PASEQ, HEBREW MARK UPPER DOT, HEBREW ACCENT DEHI +1100 AC00 11A8;1100 AC01;1100 1100 1161 11A8;1100 AC01;1100 1100 1161 11A8; # (แ„€๊ฐ€แ†จ; แ„€๊ฐ; แ„€แ„€แ…กแ†จ; แ„€๊ฐ; แ„€แ„€แ…กแ†จ; ) HANGUL CHOSEONG KIYEOK, HANGUL SYLLABLE GA, HANGUL JONGSEONG KIYEOK +1100 AC00 11A8 11A8;1100 AC01 11A8;1100 1100 1161 11A8 11A8;1100 AC01 11A8;1100 1100 1161 11A8 11A8; # (แ„€๊ฐ€แ†จแ†จ; แ„€๊ฐแ†จ; แ„€แ„€แ…กแ†จแ†จ; แ„€๊ฐแ†จ; แ„€แ„€แ…กแ†จแ†จ; ) HANGUL CHOSEONG KIYEOK, HANGUL SYLLABLE GA, HANGUL JONGSEONG KIYEOK, HANGUL JONGSEONG KIYEOK # @Part1 # Character by character test # All characters not explicitly occurring in c1 of Part 1 have identical NFC, D, KC, KD forms. @@ -16407,6 +16410,7 @@ 1F238;1F238;1F238;7533;7533; # (๐Ÿˆธ; ๐Ÿˆธ; ๐Ÿˆธ; ็”ณ; ็”ณ; ) SQUARED CJK UNIFIED IDEOGRAPH-7533 1F239;1F239;1F239;5272;5272; # (๐Ÿˆน; ๐Ÿˆน; ๐Ÿˆน; ๅ‰ฒ; ๅ‰ฒ; ) SQUARED CJK UNIFIED IDEOGRAPH-5272 1F23A;1F23A;1F23A;55B6;55B6; # (๐Ÿˆบ; ๐Ÿˆบ; ๐Ÿˆบ; ๅ–ถ; ๅ–ถ; ) SQUARED CJK UNIFIED IDEOGRAPH-55B6 +1F23B;1F23B;1F23B;914D;914D; # (๐Ÿˆป; ๐Ÿˆป; ๐Ÿˆป; ้…; ้…; ) SQUARED CJK UNIFIED IDEOGRAPH-914D 1F240;1F240;1F240;3014 672C 3015;3014 672C 3015; # (๐Ÿ‰€; ๐Ÿ‰€; ๐Ÿ‰€; ใ€”ๆœฌใ€•; ใ€”ๆœฌใ€•; ) TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C 1F241;1F241;1F241;3014 4E09 3015;3014 4E09 3015; # (๐Ÿ‰; ๐Ÿ‰; ๐Ÿ‰; ใ€”ไธ‰ใ€•; ใ€”ไธ‰ใ€•; ) TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09 1F242;1F242;1F242;3014 4E8C 3015;3014 4E8C 3015; # (๐Ÿ‰‚; ๐Ÿ‰‚; ๐Ÿ‰‚; ใ€”ไบŒใ€•; ใ€”ไบŒใ€•; ) TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C @@ -17475,6 +17479,8 @@ 0061 07F2 059A 0316 302A 0062;0061 302A 07F2 0316 059A 0062;0061 302A 07F2 0316 059A 0062;0061 302A 07F2 0316 059A 0062;0061 302A 07F2 0316 059A 0062; # (aโ—Œ฿ฒโ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œ฿ฒโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ฿ฒโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ฿ฒโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ฿ฒโ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, NKO COMBINING NASALIZATION MARK, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B 0061 0315 0300 05AE 07F3 0062;00E0 05AE 07F3 0315 0062;0061 05AE 0300 07F3 0315 0062;00E0 05AE 07F3 0315 0062;0061 05AE 0300 07F3 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ฿ณb; ร โ—Œึฎโ—Œ฿ณโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ฿ณโ—Œฬ•b; ร โ—Œึฎโ—Œ฿ณโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ฿ณโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, NKO COMBINING DOUBLE DOT ABOVE, LATIN SMALL LETTER B 0061 07F3 0315 0300 05AE 0062;0061 05AE 07F3 0300 0315 0062;0061 05AE 07F3 0300 0315 0062;0061 05AE 07F3 0300 0315 0062;0061 05AE 07F3 0300 0315 0062; # (aโ—Œ฿ณโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ฿ณโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ฿ณโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ฿ณโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ฿ณโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, NKO COMBINING DOUBLE DOT ABOVE, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 059A 0316 302A 07FD 0062;0061 302A 0316 07FD 059A 0062;0061 302A 0316 07FD 059A 0062;0061 302A 0316 07FD 059A 0062;0061 302A 0316 07FD 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œ฿ฝb; aโ—Œใ€ชโ—Œฬ–โ—Œ฿ฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ฿ฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ฿ฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ฿ฝโ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, NKO DANTAYALAN, LATIN SMALL LETTER B +0061 07FD 059A 0316 302A 0062;0061 302A 07FD 0316 059A 0062;0061 302A 07FD 0316 059A 0062;0061 302A 07FD 0316 059A 0062;0061 302A 07FD 0316 059A 0062; # (aโ—Œ฿ฝโ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œ฿ฝโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ฿ฝโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ฿ฝโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ฿ฝโ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, NKO DANTAYALAN, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B 0061 0315 0300 05AE 0816 0062;00E0 05AE 0816 0315 0062;0061 05AE 0300 0816 0315 0062;00E0 05AE 0816 0315 0062;0061 05AE 0300 0816 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเ –b; ร โ—Œึฎโ—Œเ –โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเ –โ—Œฬ•b; ร โ—Œึฎโ—Œเ –โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเ –โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, SAMARITAN MARK IN, LATIN SMALL LETTER B 0061 0816 0315 0300 05AE 0062;0061 05AE 0816 0300 0315 0062;0061 05AE 0816 0300 0315 0062;0061 05AE 0816 0300 0315 0062;0061 05AE 0816 0300 0315 0062; # (aโ—Œเ –โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œเ –โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเ –โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเ –โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเ –โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, SAMARITAN MARK IN, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B 0061 0315 0300 05AE 0817 0062;00E0 05AE 0817 0315 0062;0061 05AE 0300 0817 0315 0062;00E0 05AE 0817 0315 0062;0061 05AE 0300 0817 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเ —b; ร โ—Œึฎโ—Œเ —โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเ —โ—Œฬ•b; ร โ—Œึฎโ—Œเ —โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเ —โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, SAMARITAN MARK IN-ALAF, LATIN SMALL LETTER B @@ -17523,6 +17529,38 @@ 0061 085A 059A 0316 302A 0062;0061 302A 085A 0316 059A 0062;0061 302A 085A 0316 059A 0062;0061 302A 085A 0316 059A 0062;0061 302A 085A 0316 059A 0062; # (aโ—Œเกšโ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œเกšโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œเกšโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œเกšโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œเกšโ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, MANDAIC VOCALIZATION MARK, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B 0061 059A 0316 302A 085B 0062;0061 302A 0316 085B 059A 0062;0061 302A 0316 085B 059A 0062;0061 302A 0316 085B 059A 0062;0061 302A 0316 085B 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œเก›b; aโ—Œใ€ชโ—Œฬ–โ—Œเก›โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œเก›โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œเก›โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œเก›โ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, MANDAIC GEMINATION MARK, LATIN SMALL LETTER B 0061 085B 059A 0316 302A 0062;0061 302A 085B 0316 059A 0062;0061 302A 085B 0316 059A 0062;0061 302A 085B 0316 059A 0062;0061 302A 085B 0316 059A 0062; # (aโ—Œเก›โ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œเก›โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œเก›โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œเก›โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œเก›โ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, MANDAIC GEMINATION MARK, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B +0061 059A 0316 302A 08D3 0062;0061 302A 0316 08D3 059A 0062;0061 302A 0316 08D3 059A 0062;0061 302A 0316 08D3 059A 0062;0061 302A 0316 08D3 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œเฃ“b; aโ—Œใ€ชโ—Œฬ–โ—Œเฃ“โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œเฃ“โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œเฃ“โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œเฃ“โ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, ARABIC SMALL LOW WAW, LATIN SMALL LETTER B +0061 08D3 059A 0316 302A 0062;0061 302A 08D3 0316 059A 0062;0061 302A 08D3 0316 059A 0062;0061 302A 08D3 0316 059A 0062;0061 302A 08D3 0316 059A 0062; # (aโ—Œเฃ“โ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œเฃ“โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œเฃ“โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œเฃ“โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œเฃ“โ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, ARABIC SMALL LOW WAW, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B +0061 0315 0300 05AE 08D4 0062;00E0 05AE 08D4 0315 0062;0061 05AE 0300 08D4 0315 0062;00E0 05AE 08D4 0315 0062;0061 05AE 0300 08D4 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเฃ”b; ร โ—Œึฎโ—Œเฃ”โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃ”โ—Œฬ•b; ร โ—Œึฎโ—Œเฃ”โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃ”โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ARABIC SMALL HIGH WORD AR-RUB, LATIN SMALL LETTER B +0061 08D4 0315 0300 05AE 0062;0061 05AE 08D4 0300 0315 0062;0061 05AE 08D4 0300 0315 0062;0061 05AE 08D4 0300 0315 0062;0061 05AE 08D4 0300 0315 0062; # (aโ—Œเฃ”โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œเฃ”โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ”โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ”โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ”โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ARABIC SMALL HIGH WORD AR-RUB, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 08D5 0062;00E0 05AE 08D5 0315 0062;0061 05AE 0300 08D5 0315 0062;00E0 05AE 08D5 0315 0062;0061 05AE 0300 08D5 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเฃ•b; ร โ—Œึฎโ—Œเฃ•โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃ•โ—Œฬ•b; ร โ—Œึฎโ—Œเฃ•โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃ•โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ARABIC SMALL HIGH SAD, LATIN SMALL LETTER B +0061 08D5 0315 0300 05AE 0062;0061 05AE 08D5 0300 0315 0062;0061 05AE 08D5 0300 0315 0062;0061 05AE 08D5 0300 0315 0062;0061 05AE 08D5 0300 0315 0062; # (aโ—Œเฃ•โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œเฃ•โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ•โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ•โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ•โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ARABIC SMALL HIGH SAD, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 08D6 0062;00E0 05AE 08D6 0315 0062;0061 05AE 0300 08D6 0315 0062;00E0 05AE 08D6 0315 0062;0061 05AE 0300 08D6 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเฃ–b; ร โ—Œึฎโ—Œเฃ–โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃ–โ—Œฬ•b; ร โ—Œึฎโ—Œเฃ–โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃ–โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ARABIC SMALL HIGH AIN, LATIN SMALL LETTER B +0061 08D6 0315 0300 05AE 0062;0061 05AE 08D6 0300 0315 0062;0061 05AE 08D6 0300 0315 0062;0061 05AE 08D6 0300 0315 0062;0061 05AE 08D6 0300 0315 0062; # (aโ—Œเฃ–โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œเฃ–โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ–โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ–โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ–โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ARABIC SMALL HIGH AIN, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 08D7 0062;00E0 05AE 08D7 0315 0062;0061 05AE 0300 08D7 0315 0062;00E0 05AE 08D7 0315 0062;0061 05AE 0300 08D7 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเฃ—b; ร โ—Œึฎโ—Œเฃ—โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃ—โ—Œฬ•b; ร โ—Œึฎโ—Œเฃ—โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃ—โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ARABIC SMALL HIGH QAF, LATIN SMALL LETTER B +0061 08D7 0315 0300 05AE 0062;0061 05AE 08D7 0300 0315 0062;0061 05AE 08D7 0300 0315 0062;0061 05AE 08D7 0300 0315 0062;0061 05AE 08D7 0300 0315 0062; # (aโ—Œเฃ—โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œเฃ—โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ—โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ—โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ—โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ARABIC SMALL HIGH QAF, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 08D8 0062;00E0 05AE 08D8 0315 0062;0061 05AE 0300 08D8 0315 0062;00E0 05AE 08D8 0315 0062;0061 05AE 0300 08D8 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเฃ˜b; ร โ—Œึฎโ—Œเฃ˜โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃ˜โ—Œฬ•b; ร โ—Œึฎโ—Œเฃ˜โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃ˜โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ARABIC SMALL HIGH NOON WITH KASRA, LATIN SMALL LETTER B +0061 08D8 0315 0300 05AE 0062;0061 05AE 08D8 0300 0315 0062;0061 05AE 08D8 0300 0315 0062;0061 05AE 08D8 0300 0315 0062;0061 05AE 08D8 0300 0315 0062; # (aโ—Œเฃ˜โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œเฃ˜โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ˜โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ˜โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ˜โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ARABIC SMALL HIGH NOON WITH KASRA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 08D9 0062;00E0 05AE 08D9 0315 0062;0061 05AE 0300 08D9 0315 0062;00E0 05AE 08D9 0315 0062;0061 05AE 0300 08D9 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเฃ™b; ร โ—Œึฎโ—Œเฃ™โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃ™โ—Œฬ•b; ร โ—Œึฎโ—Œเฃ™โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃ™โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ARABIC SMALL LOW NOON WITH KASRA, LATIN SMALL LETTER B +0061 08D9 0315 0300 05AE 0062;0061 05AE 08D9 0300 0315 0062;0061 05AE 08D9 0300 0315 0062;0061 05AE 08D9 0300 0315 0062;0061 05AE 08D9 0300 0315 0062; # (aโ—Œเฃ™โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œเฃ™โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ™โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ™โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ™โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ARABIC SMALL LOW NOON WITH KASRA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 08DA 0062;00E0 05AE 08DA 0315 0062;0061 05AE 0300 08DA 0315 0062;00E0 05AE 08DA 0315 0062;0061 05AE 0300 08DA 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเฃšb; ร โ—Œึฎโ—Œเฃšโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃšโ—Œฬ•b; ร โ—Œึฎโ—Œเฃšโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃšโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ARABIC SMALL HIGH WORD ATH-THALATHA, LATIN SMALL LETTER B +0061 08DA 0315 0300 05AE 0062;0061 05AE 08DA 0300 0315 0062;0061 05AE 08DA 0300 0315 0062;0061 05AE 08DA 0300 0315 0062;0061 05AE 08DA 0300 0315 0062; # (aโ—Œเฃšโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œเฃšโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃšโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃšโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃšโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ARABIC SMALL HIGH WORD ATH-THALATHA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 08DB 0062;00E0 05AE 08DB 0315 0062;0061 05AE 0300 08DB 0315 0062;00E0 05AE 08DB 0315 0062;0061 05AE 0300 08DB 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเฃ›b; ร โ—Œึฎโ—Œเฃ›โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃ›โ—Œฬ•b; ร โ—Œึฎโ—Œเฃ›โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃ›โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ARABIC SMALL HIGH WORD AS-SAJDA, LATIN SMALL LETTER B +0061 08DB 0315 0300 05AE 0062;0061 05AE 08DB 0300 0315 0062;0061 05AE 08DB 0300 0315 0062;0061 05AE 08DB 0300 0315 0062;0061 05AE 08DB 0300 0315 0062; # (aโ—Œเฃ›โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œเฃ›โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ›โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ›โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ›โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ARABIC SMALL HIGH WORD AS-SAJDA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 08DC 0062;00E0 05AE 08DC 0315 0062;0061 05AE 0300 08DC 0315 0062;00E0 05AE 08DC 0315 0062;0061 05AE 0300 08DC 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเฃœb; ร โ—Œึฎโ—Œเฃœโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃœโ—Œฬ•b; ร โ—Œึฎโ—Œเฃœโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃœโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ARABIC SMALL HIGH WORD AN-NISF, LATIN SMALL LETTER B +0061 08DC 0315 0300 05AE 0062;0061 05AE 08DC 0300 0315 0062;0061 05AE 08DC 0300 0315 0062;0061 05AE 08DC 0300 0315 0062;0061 05AE 08DC 0300 0315 0062; # (aโ—Œเฃœโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œเฃœโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃœโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃœโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃœโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ARABIC SMALL HIGH WORD AN-NISF, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 08DD 0062;00E0 05AE 08DD 0315 0062;0061 05AE 0300 08DD 0315 0062;00E0 05AE 08DD 0315 0062;0061 05AE 0300 08DD 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเฃb; ร โ—Œึฎโ—Œเฃโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃโ—Œฬ•b; ร โ—Œึฎโ—Œเฃโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ARABIC SMALL HIGH WORD SAKTA, LATIN SMALL LETTER B +0061 08DD 0315 0300 05AE 0062;0061 05AE 08DD 0300 0315 0062;0061 05AE 08DD 0300 0315 0062;0061 05AE 08DD 0300 0315 0062;0061 05AE 08DD 0300 0315 0062; # (aโ—Œเฃโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œเฃโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ARABIC SMALL HIGH WORD SAKTA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 08DE 0062;00E0 05AE 08DE 0315 0062;0061 05AE 0300 08DE 0315 0062;00E0 05AE 08DE 0315 0062;0061 05AE 0300 08DE 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเฃžb; ร โ—Œึฎโ—Œเฃžโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃžโ—Œฬ•b; ร โ—Œึฎโ—Œเฃžโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃžโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ARABIC SMALL HIGH WORD QIF, LATIN SMALL LETTER B +0061 08DE 0315 0300 05AE 0062;0061 05AE 08DE 0300 0315 0062;0061 05AE 08DE 0300 0315 0062;0061 05AE 08DE 0300 0315 0062;0061 05AE 08DE 0300 0315 0062; # (aโ—Œเฃžโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œเฃžโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃžโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃžโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃžโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ARABIC SMALL HIGH WORD QIF, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 08DF 0062;00E0 05AE 08DF 0315 0062;0061 05AE 0300 08DF 0315 0062;00E0 05AE 08DF 0315 0062;0061 05AE 0300 08DF 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—ŒเฃŸb; ร โ—Œึฎโ—ŒเฃŸโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—ŒเฃŸโ—Œฬ•b; ร โ—Œึฎโ—ŒเฃŸโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—ŒเฃŸโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ARABIC SMALL HIGH WORD WAQFA, LATIN SMALL LETTER B +0061 08DF 0315 0300 05AE 0062;0061 05AE 08DF 0300 0315 0062;0061 05AE 08DF 0300 0315 0062;0061 05AE 08DF 0300 0315 0062;0061 05AE 08DF 0300 0315 0062; # (aโ—ŒเฃŸโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—ŒเฃŸโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—ŒเฃŸโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—ŒเฃŸโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—ŒเฃŸโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ARABIC SMALL HIGH WORD WAQFA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 08E0 0062;00E0 05AE 08E0 0315 0062;0061 05AE 0300 08E0 0315 0062;00E0 05AE 08E0 0315 0062;0061 05AE 0300 08E0 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเฃ b; ร โ—Œึฎโ—Œเฃ โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃ โ—Œฬ•b; ร โ—Œึฎโ—Œเฃ โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃ โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ARABIC SMALL HIGH FOOTNOTE MARKER, LATIN SMALL LETTER B +0061 08E0 0315 0300 05AE 0062;0061 05AE 08E0 0300 0315 0062;0061 05AE 08E0 0300 0315 0062;0061 05AE 08E0 0300 0315 0062;0061 05AE 08E0 0300 0315 0062; # (aโ—Œเฃ โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œเฃ โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃ โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ARABIC SMALL HIGH FOOTNOTE MARKER, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 08E1 0062;00E0 05AE 08E1 0315 0062;0061 05AE 0300 08E1 0315 0062;00E0 05AE 08E1 0315 0062;0061 05AE 0300 08E1 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเฃกb; ร โ—Œึฎโ—Œเฃกโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃกโ—Œฬ•b; ร โ—Œึฎโ—Œเฃกโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃกโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ARABIC SMALL HIGH SIGN SAFHA, LATIN SMALL LETTER B +0061 08E1 0315 0300 05AE 0062;0061 05AE 08E1 0300 0315 0062;0061 05AE 08E1 0300 0315 0062;0061 05AE 08E1 0300 0315 0062;0061 05AE 08E1 0300 0315 0062; # (aโ—Œเฃกโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œเฃกโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃกโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃกโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃกโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ARABIC SMALL HIGH SIGN SAFHA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 059A 0316 302A 08E3 0062;0061 302A 0316 08E3 059A 0062;0061 302A 0316 08E3 059A 0062;0061 302A 0316 08E3 059A 0062;0061 302A 0316 08E3 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œเฃฃb; aโ—Œใ€ชโ—Œฬ–โ—Œเฃฃโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œเฃฃโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œเฃฃโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œเฃฃโ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, ARABIC TURNED DAMMA BELOW, LATIN SMALL LETTER B +0061 08E3 059A 0316 302A 0062;0061 302A 08E3 0316 059A 0062;0061 302A 08E3 0316 059A 0062;0061 302A 08E3 0316 059A 0062;0061 302A 08E3 0316 059A 0062; # (aโ—Œเฃฃโ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œเฃฃโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œเฃฃโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œเฃฃโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œเฃฃโ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, ARABIC TURNED DAMMA BELOW, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B 0061 0315 0300 05AE 08E4 0062;00E0 05AE 08E4 0315 0062;0061 05AE 0300 08E4 0315 0062;00E0 05AE 08E4 0315 0062;0061 05AE 0300 08E4 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเฃคb; ร โ—Œึฎโ—Œเฃคโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃคโ—Œฬ•b; ร โ—Œึฎโ—Œเฃคโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃคโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ARABIC CURLY FATHA, LATIN SMALL LETTER B 0061 08E4 0315 0300 05AE 0062;0061 05AE 08E4 0300 0315 0062;0061 05AE 08E4 0300 0315 0062;0061 05AE 08E4 0300 0315 0062;0061 05AE 08E4 0300 0315 0062; # (aโ—Œเฃคโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œเฃคโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃคโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃคโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเฃคโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ARABIC CURLY FATHA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B 0061 0315 0300 05AE 08E5 0062;00E0 05AE 08E5 0315 0062;0061 05AE 0300 08E5 0315 0062;00E0 05AE 08E5 0315 0062;0061 05AE 0300 08E5 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเฃฅb; ร โ—Œึฎโ—Œเฃฅโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃฅโ—Œฬ•b; ร โ—Œึฎโ—Œเฃฅโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเฃฅโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ARABIC CURLY DAMMA, LATIN SMALL LETTER B @@ -17595,6 +17633,8 @@ 0061 09BC 3099 093C 0334 0062;0061 0334 09BC 093C 3099 0062;0061 0334 09BC 093C 3099 0062;0061 0334 09BC 093C 3099 0062;0061 0334 09BC 093C 3099 0062; # (aโ—Œเฆผโ—Œใ‚™โ—Œเคผโ—Œฬดb; aโ—Œฬดโ—Œเฆผโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œเฆผโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œเฆผโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œเฆผโ—Œเคผโ—Œใ‚™b; ) LATIN SMALL LETTER A, BENGALI SIGN NUKTA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, LATIN SMALL LETTER B 0061 05B0 094D 3099 09CD 0062;0061 3099 094D 09CD 05B0 0062;0061 3099 094D 09CD 05B0 0062;0061 3099 094D 09CD 05B0 0062;0061 3099 094D 09CD 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œเงb; aโ—Œใ‚™โ—Œเฅโ—Œเงโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเงโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเงโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเงโ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, BENGALI SIGN VIRAMA, LATIN SMALL LETTER B 0061 09CD 05B0 094D 3099 0062;0061 3099 09CD 094D 05B0 0062;0061 3099 09CD 094D 05B0 0062;0061 3099 09CD 094D 05B0 0062;0061 3099 09CD 094D 05B0 0062; # (aโ—Œเงโ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œเงโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œเงโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œเงโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œเงโ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, BENGALI SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B +0061 0315 0300 05AE 09FE 0062;00E0 05AE 09FE 0315 0062;0061 05AE 0300 09FE 0315 0062;00E0 05AE 09FE 0315 0062;0061 05AE 0300 09FE 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œเงพb; ร โ—Œึฎโ—Œเงพโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเงพโ—Œฬ•b; ร โ—Œึฎโ—Œเงพโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œเงพโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, BENGALI SANDHI MARK, LATIN SMALL LETTER B +0061 09FE 0315 0300 05AE 0062;0061 05AE 09FE 0300 0315 0062;0061 05AE 09FE 0300 0315 0062;0061 05AE 09FE 0300 0315 0062;0061 05AE 09FE 0300 0315 0062; # (aโ—Œเงพโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œเงพโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเงพโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเงพโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œเงพโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, BENGALI SANDHI MARK, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B 0061 3099 093C 0334 0A3C 0062;0061 0334 093C 0A3C 3099 0062;0061 0334 093C 0A3C 3099 0062;0061 0334 093C 0A3C 3099 0062;0061 0334 093C 0A3C 3099 0062; # (aโ—Œใ‚™โ—Œเคผโ—Œฬดโ—Œเจผb; aโ—Œฬดโ—Œเคผโ—Œเจผโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œเจผโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œเจผโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œเจผโ—Œใ‚™b; ) LATIN SMALL LETTER A, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, GURMUKHI SIGN NUKTA, LATIN SMALL LETTER B 0061 0A3C 3099 093C 0334 0062;0061 0334 0A3C 093C 3099 0062;0061 0334 0A3C 093C 3099 0062;0061 0334 0A3C 093C 3099 0062;0061 0334 0A3C 093C 3099 0062; # (aโ—Œเจผโ—Œใ‚™โ—Œเคผโ—Œฬดb; aโ—Œฬดโ—Œเจผโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œเจผโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œเจผโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œเจผโ—Œเคผโ—Œใ‚™b; ) LATIN SMALL LETTER A, GURMUKHI SIGN NUKTA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, LATIN SMALL LETTER B 0061 05B0 094D 3099 0A4D 0062;0061 3099 094D 0A4D 05B0 0062;0061 3099 094D 0A4D 05B0 0062;0061 3099 094D 0A4D 05B0 0062;0061 3099 094D 0A4D 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œเฉb; aโ—Œใ‚™โ—Œเฅโ—Œเฉโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเฉโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเฉโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเฉโ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, GURMUKHI SIGN VIRAMA, LATIN SMALL LETTER B @@ -17619,6 +17659,10 @@ 0061 0CBC 3099 093C 0334 0062;0061 0334 0CBC 093C 3099 0062;0061 0334 0CBC 093C 3099 0062;0061 0334 0CBC 093C 3099 0062;0061 0334 0CBC 093C 3099 0062; # (aโ—Œเฒผโ—Œใ‚™โ—Œเคผโ—Œฬดb; aโ—Œฬดโ—Œเฒผโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œเฒผโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œเฒผโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œเฒผโ—Œเคผโ—Œใ‚™b; ) LATIN SMALL LETTER A, KANNADA SIGN NUKTA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, LATIN SMALL LETTER B 0061 05B0 094D 3099 0CCD 0062;0061 3099 094D 0CCD 05B0 0062;0061 3099 094D 0CCD 05B0 0062;0061 3099 094D 0CCD 05B0 0062;0061 3099 094D 0CCD 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œเณb; aโ—Œใ‚™โ—Œเฅโ—Œเณโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเณโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเณโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเณโ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KANNADA SIGN VIRAMA, LATIN SMALL LETTER B 0061 0CCD 05B0 094D 3099 0062;0061 3099 0CCD 094D 05B0 0062;0061 3099 0CCD 094D 05B0 0062;0061 3099 0CCD 094D 05B0 0062;0061 3099 0CCD 094D 05B0 0062; # (aโ—Œเณโ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œเณโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œเณโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œเณโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œเณโ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, KANNADA SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B +0061 05B0 094D 3099 0D3B 0062;0061 3099 094D 0D3B 05B0 0062;0061 3099 094D 0D3B 05B0 0062;0061 3099 094D 0D3B 05B0 0062;0061 3099 094D 0D3B 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œเดปb; aโ—Œใ‚™โ—Œเฅโ—Œเดปโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเดปโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเดปโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเดปโ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, MALAYALAM SIGN VERTICAL BAR VIRAMA, LATIN SMALL LETTER B +0061 0D3B 05B0 094D 3099 0062;0061 3099 0D3B 094D 05B0 0062;0061 3099 0D3B 094D 05B0 0062;0061 3099 0D3B 094D 05B0 0062;0061 3099 0D3B 094D 05B0 0062; # (aโ—Œเดปโ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œเดปโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œเดปโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œเดปโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œเดปโ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, MALAYALAM SIGN VERTICAL BAR VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B +0061 05B0 094D 3099 0D3C 0062;0061 3099 094D 0D3C 05B0 0062;0061 3099 094D 0D3C 05B0 0062;0061 3099 094D 0D3C 05B0 0062;0061 3099 094D 0D3C 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œเดผb; aโ—Œใ‚™โ—Œเฅโ—Œเดผโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเดผโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเดผโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเดผโ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, MALAYALAM SIGN CIRCULAR VIRAMA, LATIN SMALL LETTER B +0061 0D3C 05B0 094D 3099 0062;0061 3099 0D3C 094D 05B0 0062;0061 3099 0D3C 094D 05B0 0062;0061 3099 0D3C 094D 05B0 0062;0061 3099 0D3C 094D 05B0 0062; # (aโ—Œเดผโ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œเดผโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œเดผโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œเดผโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œเดผโ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, MALAYALAM SIGN CIRCULAR VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B 0061 05B0 094D 3099 0D4D 0062;0061 3099 094D 0D4D 05B0 0062;0061 3099 094D 0D4D 05B0 0062;0061 3099 094D 0D4D 05B0 0062;0061 3099 094D 0D4D 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œเตb; aโ—Œใ‚™โ—Œเฅโ—Œเตโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเตโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเตโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œเตโ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, MALAYALAM SIGN VIRAMA, LATIN SMALL LETTER B 0061 0D4D 05B0 094D 3099 0062;0061 3099 0D4D 094D 05B0 0062;0061 3099 0D4D 094D 05B0 0062;0061 3099 0D4D 094D 05B0 0062;0061 3099 0D4D 094D 05B0 0062; # (aโ—Œเตโ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œเตโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œเตโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œเตโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œเตโ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, MALAYALAM SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B 0061 05B0 094D 3099 0DCA 0062;0061 3099 094D 0DCA 05B0 0062;0061 3099 094D 0DCA 05B0 0062;0061 3099 094D 0DCA 05B0 0062;0061 3099 094D 0DCA 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—ŒเทŠb; aโ—Œใ‚™โ—Œเฅโ—ŒเทŠโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—ŒเทŠโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—ŒเทŠโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—ŒเทŠโ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, SINHALA SIGN AL-LAKUNA, LATIN SMALL LETTER B @@ -17965,6 +18009,16 @@ 0061 1DF4 0315 0300 05AE 0062;0061 05AE 1DF4 0300 0315 0062;0061 05AE 1DF4 0300 0315 0062;0061 05AE 1DF4 0300 0315 0062;0061 05AE 1DF4 0300 0315 0062; # (aโ—Œแทดโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œแทดโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œแทดโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œแทดโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œแทดโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING LATIN SMALL LETTER U WITH DIAERESIS, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B 0061 0315 0300 05AE 1DF5 0062;00E0 05AE 1DF5 0315 0062;0061 05AE 0300 1DF5 0315 0062;00E0 05AE 1DF5 0315 0062;0061 05AE 0300 1DF5 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œแทตb; ร โ—Œึฎโ—Œแทตโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œแทตโ—Œฬ•b; ร โ—Œึฎโ—Œแทตโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œแทตโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING UP TACK ABOVE, LATIN SMALL LETTER B 0061 1DF5 0315 0300 05AE 0062;0061 05AE 1DF5 0300 0315 0062;0061 05AE 1DF5 0300 0315 0062;0061 05AE 1DF5 0300 0315 0062;0061 05AE 1DF5 0300 0315 0062; # (aโ—Œแทตโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œแทตโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œแทตโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œแทตโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œแทตโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING UP TACK ABOVE, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 035C 0315 0300 1DF6 0062;00E0 0315 1DF6 035C 0062;0061 0300 0315 1DF6 035C 0062;00E0 0315 1DF6 035C 0062;0061 0300 0315 1DF6 035C 0062; # (aโ—Œอœโ—Œฬ•โ—Œฬ€โ—Œแทถb; ร โ—Œฬ•โ—Œแทถโ—Œอœb; aโ—Œฬ€โ—Œฬ•โ—Œแทถโ—Œอœb; ร โ—Œฬ•โ—Œแทถโ—Œอœb; aโ—Œฬ€โ—Œฬ•โ—Œแทถโ—Œอœb; ) LATIN SMALL LETTER A, COMBINING DOUBLE BREVE BELOW, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, COMBINING KAVYKA ABOVE RIGHT, LATIN SMALL LETTER B +0061 1DF6 035C 0315 0300 0062;00E0 1DF6 0315 035C 0062;0061 0300 1DF6 0315 035C 0062;00E0 1DF6 0315 035C 0062;0061 0300 1DF6 0315 035C 0062; # (aโ—Œแทถโ—Œอœโ—Œฬ•โ—Œฬ€b; ร โ—Œแทถโ—Œฬ•โ—Œอœb; aโ—Œฬ€โ—Œแทถโ—Œฬ•โ—Œอœb; ร โ—Œแทถโ—Œฬ•โ—Œอœb; aโ—Œฬ€โ—Œแทถโ—Œฬ•โ—Œอœb; ) LATIN SMALL LETTER A, COMBINING KAVYKA ABOVE RIGHT, COMBINING DOUBLE BREVE BELOW, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, LATIN SMALL LETTER B +0061 0300 05AE 1D16D 1DF7 0062;00E0 1D16D 05AE 1DF7 0062;0061 1D16D 05AE 1DF7 0300 0062;00E0 1D16D 05AE 1DF7 0062;0061 1D16D 05AE 1DF7 0300 0062; # (aโ—Œฬ€โ—Œึฎ๐…ญโ—Œแททb; ร ๐…ญโ—Œึฎโ—Œแททb; a๐…ญโ—Œึฎโ—Œแททโ—Œฬ€b; ร ๐…ญโ—Œึฎโ—Œแททb; a๐…ญโ—Œึฎโ—Œแททโ—Œฬ€b; ) LATIN SMALL LETTER A, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, MUSICAL SYMBOL COMBINING AUGMENTATION DOT, COMBINING KAVYKA ABOVE LEFT, LATIN SMALL LETTER B +0061 1DF7 0300 05AE 1D16D 0062;00E0 1D16D 1DF7 05AE 0062;0061 1D16D 1DF7 05AE 0300 0062;00E0 1D16D 1DF7 05AE 0062;0061 1D16D 1DF7 05AE 0300 0062; # (aโ—Œแททโ—Œฬ€โ—Œึฎ๐…ญb; ร ๐…ญโ—Œแททโ—Œึฎb; a๐…ญโ—Œแททโ—Œึฎโ—Œฬ€b; ร ๐…ญโ—Œแททโ—Œึฎb; a๐…ญโ—Œแททโ—Œึฎโ—Œฬ€b; ) LATIN SMALL LETTER A, COMBINING KAVYKA ABOVE LEFT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, MUSICAL SYMBOL COMBINING AUGMENTATION DOT, LATIN SMALL LETTER B +0061 0300 05AE 1D16D 1DF8 0062;00E0 1D16D 05AE 1DF8 0062;0061 1D16D 05AE 1DF8 0300 0062;00E0 1D16D 05AE 1DF8 0062;0061 1D16D 05AE 1DF8 0300 0062; # (aโ—Œฬ€โ—Œึฎ๐…ญโ—Œแทธb; ร ๐…ญโ—Œึฎโ—Œแทธb; a๐…ญโ—Œึฎโ—Œแทธโ—Œฬ€b; ร ๐…ญโ—Œึฎโ—Œแทธb; a๐…ญโ—Œึฎโ—Œแทธโ—Œฬ€b; ) LATIN SMALL LETTER A, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, MUSICAL SYMBOL COMBINING AUGMENTATION DOT, COMBINING DOT ABOVE LEFT, LATIN SMALL LETTER B +0061 1DF8 0300 05AE 1D16D 0062;00E0 1D16D 1DF8 05AE 0062;0061 1D16D 1DF8 05AE 0300 0062;00E0 1D16D 1DF8 05AE 0062;0061 1D16D 1DF8 05AE 0300 0062; # (aโ—Œแทธโ—Œฬ€โ—Œึฎ๐…ญb; ร ๐…ญโ—Œแทธโ—Œึฎb; a๐…ญโ—Œแทธโ—Œึฎโ—Œฬ€b; ร ๐…ญโ—Œแทธโ—Œึฎb; a๐…ญโ—Œแทธโ—Œึฎโ—Œฬ€b; ) LATIN SMALL LETTER A, COMBINING DOT ABOVE LEFT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, MUSICAL SYMBOL COMBINING AUGMENTATION DOT, LATIN SMALL LETTER B +0061 059A 0316 302A 1DF9 0062;0061 302A 0316 1DF9 059A 0062;0061 302A 0316 1DF9 059A 0062;0061 302A 0316 1DF9 059A 0062;0061 302A 0316 1DF9 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œแทนb; aโ—Œใ€ชโ—Œฬ–โ—Œแทนโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œแทนโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œแทนโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œแทนโ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, COMBINING WIDE INVERTED BRIDGE BELOW, LATIN SMALL LETTER B +0061 1DF9 059A 0316 302A 0062;0061 302A 1DF9 0316 059A 0062;0061 302A 1DF9 0316 059A 0062;0061 302A 1DF9 0316 059A 0062;0061 302A 1DF9 0316 059A 0062; # (aโ—Œแทนโ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œแทนโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œแทนโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œแทนโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œแทนโ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, COMBINING WIDE INVERTED BRIDGE BELOW, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B +0061 0315 0300 05AE 1DFB 0062;00E0 05AE 1DFB 0315 0062;0061 05AE 0300 1DFB 0315 0062;00E0 05AE 1DFB 0315 0062;0061 05AE 0300 1DFB 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œแทปb; ร โ—Œึฎโ—Œแทปโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œแทปโ—Œฬ•b; ร โ—Œึฎโ—Œแทปโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œแทปโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING DELETION MARK, LATIN SMALL LETTER B +0061 1DFB 0315 0300 05AE 0062;0061 05AE 1DFB 0300 0315 0062;0061 05AE 1DFB 0300 0315 0062;0061 05AE 1DFB 0300 0315 0062;0061 05AE 1DFB 0300 0315 0062; # (aโ—Œแทปโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œแทปโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œแทปโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œแทปโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œแทปโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING DELETION MARK, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B 0061 035D 035C 0315 1DFC 0062;0061 0315 035C 1DFC 035D 0062;0061 0315 035C 1DFC 035D 0062;0061 0315 035C 1DFC 035D 0062;0061 0315 035C 1DFC 035D 0062; # (aโ—Œอโ—Œอœโ—Œฬ•โ—Œแทผb; aโ—Œฬ•โ—Œอœโ—Œแทผโ—Œอb; aโ—Œฬ•โ—Œอœโ—Œแทผโ—Œอb; aโ—Œฬ•โ—Œอœโ—Œแทผโ—Œอb; aโ—Œฬ•โ—Œอœโ—Œแทผโ—Œอb; ) LATIN SMALL LETTER A, COMBINING DOUBLE BREVE, COMBINING DOUBLE BREVE BELOW, COMBINING COMMA ABOVE RIGHT, COMBINING DOUBLE INVERTED BREVE BELOW, LATIN SMALL LETTER B 0061 1DFC 035D 035C 0315 0062;0061 0315 1DFC 035C 035D 0062;0061 0315 1DFC 035C 035D 0062;0061 0315 1DFC 035C 035D 0062;0061 0315 1DFC 035C 035D 0062; # (aโ—Œแทผโ—Œอโ—Œอœโ—Œฬ•b; aโ—Œฬ•โ—Œแทผโ—Œอœโ—Œอb; aโ—Œฬ•โ—Œแทผโ—Œอœโ—Œอb; aโ—Œฬ•โ—Œแทผโ—Œอœโ—Œอb; aโ—Œฬ•โ—Œแทผโ—Œอœโ—Œอb; ) LATIN SMALL LETTER A, COMBINING DOUBLE INVERTED BREVE BELOW, COMBINING DOUBLE BREVE, COMBINING DOUBLE BREVE BELOW, COMBINING COMMA ABOVE RIGHT, LATIN SMALL LETTER B 0061 059A 0316 302A 1DFD 0062;0061 302A 0316 1DFD 059A 0062;0061 302A 0316 1DFD 059A 0062;0061 302A 0316 1DFD 059A 0062;0061 302A 0316 1DFD 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œแทฝb; aโ—Œใ€ชโ—Œฬ–โ—Œแทฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œแทฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œแทฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œแทฝโ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, COMBINING ALMOST EQUAL TO BELOW, LATIN SMALL LETTER B @@ -18135,6 +18189,8 @@ 0061 A67C 0315 0300 05AE 0062;0061 05AE A67C 0300 0315 0062;0061 05AE A67C 0300 0315 0062;0061 05AE A67C 0300 0315 0062;0061 05AE A67C 0300 0315 0062; # (aโ—Œ๊™ผโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๊™ผโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๊™ผโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๊™ผโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๊™ผโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING CYRILLIC KAVYKA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B 0061 0315 0300 05AE A67D 0062;00E0 05AE A67D 0315 0062;0061 05AE 0300 A67D 0315 0062;00E0 05AE A67D 0315 0062;0061 05AE 0300 A67D 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๊™ฝb; ร โ—Œึฎโ—Œ๊™ฝโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๊™ฝโ—Œฬ•b; ร โ—Œึฎโ—Œ๊™ฝโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๊™ฝโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING CYRILLIC PAYEROK, LATIN SMALL LETTER B 0061 A67D 0315 0300 05AE 0062;0061 05AE A67D 0300 0315 0062;0061 05AE A67D 0300 0315 0062;0061 05AE A67D 0300 0315 0062;0061 05AE A67D 0300 0315 0062; # (aโ—Œ๊™ฝโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๊™ฝโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๊™ฝโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๊™ฝโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๊™ฝโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING CYRILLIC PAYEROK, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE A69E 0062;00E0 05AE A69E 0315 0062;0061 05AE 0300 A69E 0315 0062;00E0 05AE A69E 0315 0062;0061 05AE 0300 A69E 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๊šžb; ร โ—Œึฎโ—Œ๊šžโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๊šžโ—Œฬ•b; ร โ—Œึฎโ—Œ๊šžโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๊šžโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING CYRILLIC LETTER EF, LATIN SMALL LETTER B +0061 A69E 0315 0300 05AE 0062;0061 05AE A69E 0300 0315 0062;0061 05AE A69E 0300 0315 0062;0061 05AE A69E 0300 0315 0062;0061 05AE A69E 0300 0315 0062; # (aโ—Œ๊šžโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๊šžโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๊šžโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๊šžโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๊šžโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING CYRILLIC LETTER EF, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B 0061 0315 0300 05AE A69F 0062;00E0 05AE A69F 0315 0062;0061 05AE 0300 A69F 0315 0062;00E0 05AE A69F 0315 0062;0061 05AE 0300 A69F 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๊šŸb; ร โ—Œึฎโ—Œ๊šŸโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๊šŸโ—Œฬ•b; ร โ—Œึฎโ—Œ๊šŸโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๊šŸโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING CYRILLIC LETTER IOTIFIED E, LATIN SMALL LETTER B 0061 A69F 0315 0300 05AE 0062;0061 05AE A69F 0300 0315 0062;0061 05AE A69F 0300 0315 0062;0061 05AE A69F 0300 0315 0062;0061 05AE A69F 0300 0315 0062; # (aโ—Œ๊šŸโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๊šŸโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๊šŸโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๊šŸโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๊šŸโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING CYRILLIC LETTER IOTIFIED E, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B 0061 0315 0300 05AE A6F0 0062;00E0 05AE A6F0 0315 0062;0061 05AE 0300 A6F0 0315 0062;00E0 05AE A6F0 0315 0062;0061 05AE 0300 A6F0 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๊›ฐb; ร โ—Œึฎโ—Œ๊›ฐโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๊›ฐโ—Œฬ•b; ร โ—Œึฎโ—Œ๊›ฐโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๊›ฐโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, BAMUM COMBINING MARK KOQNDON, LATIN SMALL LETTER B @@ -18245,6 +18301,10 @@ 0061 FE2C 059A 0316 302A 0062;0061 302A FE2C 0316 059A 0062;0061 302A FE2C 0316 059A 0062;0061 302A FE2C 0316 059A 0062;0061 302A FE2C 0316 059A 0062; # (aโ—Œ๏ธฌโ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œ๏ธฌโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๏ธฌโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๏ธฌโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๏ธฌโ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, COMBINING MACRON RIGHT HALF BELOW, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B 0061 059A 0316 302A FE2D 0062;0061 302A 0316 FE2D 059A 0062;0061 302A 0316 FE2D 059A 0062;0061 302A 0316 FE2D 059A 0062;0061 302A 0316 FE2D 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œ๏ธญb; aโ—Œใ€ชโ—Œฬ–โ—Œ๏ธญโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๏ธญโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๏ธญโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๏ธญโ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, COMBINING CONJOINING MACRON BELOW, LATIN SMALL LETTER B 0061 FE2D 059A 0316 302A 0062;0061 302A FE2D 0316 059A 0062;0061 302A FE2D 0316 059A 0062;0061 302A FE2D 0316 059A 0062;0061 302A FE2D 0316 059A 0062; # (aโ—Œ๏ธญโ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œ๏ธญโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๏ธญโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๏ธญโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๏ธญโ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, COMBINING CONJOINING MACRON BELOW, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B +0061 0315 0300 05AE FE2E 0062;00E0 05AE FE2E 0315 0062;0061 05AE 0300 FE2E 0315 0062;00E0 05AE FE2E 0315 0062;0061 05AE 0300 FE2E 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๏ธฎb; ร โ—Œึฎโ—Œ๏ธฎโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๏ธฎโ—Œฬ•b; ร โ—Œึฎโ—Œ๏ธฎโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๏ธฎโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING CYRILLIC TITLO LEFT HALF, LATIN SMALL LETTER B +0061 FE2E 0315 0300 05AE 0062;0061 05AE FE2E 0300 0315 0062;0061 05AE FE2E 0300 0315 0062;0061 05AE FE2E 0300 0315 0062;0061 05AE FE2E 0300 0315 0062; # (aโ—Œ๏ธฎโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๏ธฎโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๏ธฎโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๏ธฎโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๏ธฎโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO LEFT HALF, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE FE2F 0062;00E0 05AE FE2F 0315 0062;0061 05AE 0300 FE2F 0315 0062;00E0 05AE FE2F 0315 0062;0061 05AE 0300 FE2F 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๏ธฏb; ร โ—Œึฎโ—Œ๏ธฏโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๏ธฏโ—Œฬ•b; ร โ—Œึฎโ—Œ๏ธฏโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๏ธฏโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING CYRILLIC TITLO RIGHT HALF, LATIN SMALL LETTER B +0061 FE2F 0315 0300 05AE 0062;0061 05AE FE2F 0300 0315 0062;0061 05AE FE2F 0300 0315 0062;0061 05AE FE2F 0300 0315 0062;0061 05AE FE2F 0300 0315 0062; # (aโ—Œ๏ธฏโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๏ธฏโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๏ธฏโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๏ธฏโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๏ธฏโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO RIGHT HALF, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B 0061 059A 0316 302A 101FD 0062;0061 302A 0316 101FD 059A 0062;0061 302A 0316 101FD 059A 0062;0061 302A 0316 101FD 059A 0062;0061 302A 0316 101FD 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œ๐‡ฝb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐‡ฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐‡ฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐‡ฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐‡ฝโ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE, LATIN SMALL LETTER B 0061 101FD 059A 0316 302A 0062;0061 302A 101FD 0316 059A 0062;0061 302A 101FD 0316 059A 0062;0061 302A 101FD 0316 059A 0062;0061 302A 101FD 0316 059A 0062; # (aโ—Œ๐‡ฝโ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œ๐‡ฝโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐‡ฝโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐‡ฝโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐‡ฝโ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B 0061 059A 0316 302A 102E0 0062;0061 302A 0316 102E0 059A 0062;0061 302A 0316 102E0 059A 0062;0061 302A 0316 102E0 059A 0062;0061 302A 0316 102E0 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œ๐‹ b; aโ—Œใ€ชโ—Œฬ–โ—Œ๐‹ โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐‹ โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐‹ โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐‹ โ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, COPTIC EPACT THOUSANDS MARK, LATIN SMALL LETTER B @@ -18275,6 +18335,36 @@ 0061 10AE5 0315 0300 05AE 0062;0061 05AE 10AE5 0300 0315 0062;0061 05AE 10AE5 0300 0315 0062;0061 05AE 10AE5 0300 0315 0062;0061 05AE 10AE5 0300 0315 0062; # (aโ—Œ๐ซฅโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ซฅโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ซฅโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ซฅโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ซฅโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, MANICHAEAN ABBREVIATION MARK ABOVE, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B 0061 059A 0316 302A 10AE6 0062;0061 302A 0316 10AE6 059A 0062;0061 302A 0316 10AE6 059A 0062;0061 302A 0316 10AE6 059A 0062;0061 302A 0316 10AE6 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œ๐ซฆb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ซฆโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ซฆโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ซฆโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ซฆโ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, MANICHAEAN ABBREVIATION MARK BELOW, LATIN SMALL LETTER B 0061 10AE6 059A 0316 302A 0062;0061 302A 10AE6 0316 059A 0062;0061 302A 10AE6 0316 059A 0062;0061 302A 10AE6 0316 059A 0062;0061 302A 10AE6 0316 059A 0062; # (aโ—Œ๐ซฆโ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œ๐ซฆโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ซฆโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ซฆโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ซฆโ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, MANICHAEAN ABBREVIATION MARK BELOW, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B +0061 0315 0300 05AE 10D24 0062;00E0 05AE 10D24 0315 0062;0061 05AE 0300 10D24 0315 0062;00E0 05AE 10D24 0315 0062;0061 05AE 0300 10D24 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ดคb; ร โ—Œึฎโ—Œ๐ดคโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ดคโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ดคโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ดคโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, HANIFI ROHINGYA SIGN HARBAHAY, LATIN SMALL LETTER B +0061 10D24 0315 0300 05AE 0062;0061 05AE 10D24 0300 0315 0062;0061 05AE 10D24 0300 0315 0062;0061 05AE 10D24 0300 0315 0062;0061 05AE 10D24 0300 0315 0062; # (aโ—Œ๐ดคโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ดคโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ดคโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ดคโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ดคโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, HANIFI ROHINGYA SIGN HARBAHAY, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 10D25 0062;00E0 05AE 10D25 0315 0062;0061 05AE 0300 10D25 0315 0062;00E0 05AE 10D25 0315 0062;0061 05AE 0300 10D25 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ดฅb; ร โ—Œึฎโ—Œ๐ดฅโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ดฅโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ดฅโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ดฅโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, HANIFI ROHINGYA SIGN TAHALA, LATIN SMALL LETTER B +0061 10D25 0315 0300 05AE 0062;0061 05AE 10D25 0300 0315 0062;0061 05AE 10D25 0300 0315 0062;0061 05AE 10D25 0300 0315 0062;0061 05AE 10D25 0300 0315 0062; # (aโ—Œ๐ดฅโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ดฅโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ดฅโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ดฅโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ดฅโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, HANIFI ROHINGYA SIGN TAHALA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 10D26 0062;00E0 05AE 10D26 0315 0062;0061 05AE 0300 10D26 0315 0062;00E0 05AE 10D26 0315 0062;0061 05AE 0300 10D26 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ดฆb; ร โ—Œึฎโ—Œ๐ดฆโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ดฆโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ดฆโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ดฆโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, HANIFI ROHINGYA SIGN TANA, LATIN SMALL LETTER B +0061 10D26 0315 0300 05AE 0062;0061 05AE 10D26 0300 0315 0062;0061 05AE 10D26 0300 0315 0062;0061 05AE 10D26 0300 0315 0062;0061 05AE 10D26 0300 0315 0062; # (aโ—Œ๐ดฆโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ดฆโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ดฆโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ดฆโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ดฆโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, HANIFI ROHINGYA SIGN TANA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 10D27 0062;00E0 05AE 10D27 0315 0062;0061 05AE 0300 10D27 0315 0062;00E0 05AE 10D27 0315 0062;0061 05AE 0300 10D27 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ดงb; ร โ—Œึฎโ—Œ๐ดงโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ดงโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ดงโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ดงโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, HANIFI ROHINGYA SIGN TASSI, LATIN SMALL LETTER B +0061 10D27 0315 0300 05AE 0062;0061 05AE 10D27 0300 0315 0062;0061 05AE 10D27 0300 0315 0062;0061 05AE 10D27 0300 0315 0062;0061 05AE 10D27 0300 0315 0062; # (aโ—Œ๐ดงโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ดงโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ดงโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ดงโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ดงโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, HANIFI ROHINGYA SIGN TASSI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 059A 0316 302A 10F46 0062;0061 302A 0316 10F46 059A 0062;0061 302A 0316 10F46 059A 0062;0061 302A 0316 10F46 059A 0062;0061 302A 0316 10F46 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œ๐ฝ†b; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝ†โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝ†โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝ†โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝ†โ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, SOGDIAN COMBINING DOT BELOW, LATIN SMALL LETTER B +0061 10F46 059A 0316 302A 0062;0061 302A 10F46 0316 059A 0062;0061 302A 10F46 0316 059A 0062;0061 302A 10F46 0316 059A 0062;0061 302A 10F46 0316 059A 0062; # (aโ—Œ๐ฝ†โ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œ๐ฝ†โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝ†โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝ†โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝ†โ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, SOGDIAN COMBINING DOT BELOW, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B +0061 059A 0316 302A 10F47 0062;0061 302A 0316 10F47 059A 0062;0061 302A 0316 10F47 059A 0062;0061 302A 0316 10F47 059A 0062;0061 302A 0316 10F47 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œ๐ฝ‡b; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝ‡โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝ‡โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝ‡โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝ‡โ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, SOGDIAN COMBINING TWO DOTS BELOW, LATIN SMALL LETTER B +0061 10F47 059A 0316 302A 0062;0061 302A 10F47 0316 059A 0062;0061 302A 10F47 0316 059A 0062;0061 302A 10F47 0316 059A 0062;0061 302A 10F47 0316 059A 0062; # (aโ—Œ๐ฝ‡โ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œ๐ฝ‡โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝ‡โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝ‡โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝ‡โ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, SOGDIAN COMBINING TWO DOTS BELOW, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B +0061 0315 0300 05AE 10F48 0062;00E0 05AE 10F48 0315 0062;0061 05AE 0300 10F48 0315 0062;00E0 05AE 10F48 0315 0062;0061 05AE 0300 10F48 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ฝˆb; ร โ—Œึฎโ—Œ๐ฝˆโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ฝˆโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ฝˆโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ฝˆโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, SOGDIAN COMBINING DOT ABOVE, LATIN SMALL LETTER B +0061 10F48 0315 0300 05AE 0062;0061 05AE 10F48 0300 0315 0062;0061 05AE 10F48 0300 0315 0062;0061 05AE 10F48 0300 0315 0062;0061 05AE 10F48 0300 0315 0062; # (aโ—Œ๐ฝˆโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ฝˆโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ฝˆโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ฝˆโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ฝˆโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, SOGDIAN COMBINING DOT ABOVE, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 10F49 0062;00E0 05AE 10F49 0315 0062;0061 05AE 0300 10F49 0315 0062;00E0 05AE 10F49 0315 0062;0061 05AE 0300 10F49 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ฝ‰b; ร โ—Œึฎโ—Œ๐ฝ‰โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ฝ‰โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ฝ‰โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ฝ‰โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, SOGDIAN COMBINING TWO DOTS ABOVE, LATIN SMALL LETTER B +0061 10F49 0315 0300 05AE 0062;0061 05AE 10F49 0300 0315 0062;0061 05AE 10F49 0300 0315 0062;0061 05AE 10F49 0300 0315 0062;0061 05AE 10F49 0300 0315 0062; # (aโ—Œ๐ฝ‰โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ฝ‰โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ฝ‰โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ฝ‰โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ฝ‰โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, SOGDIAN COMBINING TWO DOTS ABOVE, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 10F4A 0062;00E0 05AE 10F4A 0315 0062;0061 05AE 0300 10F4A 0315 0062;00E0 05AE 10F4A 0315 0062;0061 05AE 0300 10F4A 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ฝŠb; ร โ—Œึฎโ—Œ๐ฝŠโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ฝŠโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ฝŠโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ฝŠโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, SOGDIAN COMBINING CURVE ABOVE, LATIN SMALL LETTER B +0061 10F4A 0315 0300 05AE 0062;0061 05AE 10F4A 0300 0315 0062;0061 05AE 10F4A 0300 0315 0062;0061 05AE 10F4A 0300 0315 0062;0061 05AE 10F4A 0300 0315 0062; # (aโ—Œ๐ฝŠโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ฝŠโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ฝŠโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ฝŠโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ฝŠโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, SOGDIAN COMBINING CURVE ABOVE, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 059A 0316 302A 10F4B 0062;0061 302A 0316 10F4B 059A 0062;0061 302A 0316 10F4B 059A 0062;0061 302A 0316 10F4B 059A 0062;0061 302A 0316 10F4B 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œ๐ฝ‹b; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝ‹โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝ‹โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝ‹โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝ‹โ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, SOGDIAN COMBINING CURVE BELOW, LATIN SMALL LETTER B +0061 10F4B 059A 0316 302A 0062;0061 302A 10F4B 0316 059A 0062;0061 302A 10F4B 0316 059A 0062;0061 302A 10F4B 0316 059A 0062;0061 302A 10F4B 0316 059A 0062; # (aโ—Œ๐ฝ‹โ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œ๐ฝ‹โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝ‹โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝ‹โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝ‹โ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, SOGDIAN COMBINING CURVE BELOW, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B +0061 0315 0300 05AE 10F4C 0062;00E0 05AE 10F4C 0315 0062;0061 05AE 0300 10F4C 0315 0062;00E0 05AE 10F4C 0315 0062;0061 05AE 0300 10F4C 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ฝŒb; ร โ—Œึฎโ—Œ๐ฝŒโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ฝŒโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ฝŒโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ฝŒโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, SOGDIAN COMBINING HOOK ABOVE, LATIN SMALL LETTER B +0061 10F4C 0315 0300 05AE 0062;0061 05AE 10F4C 0300 0315 0062;0061 05AE 10F4C 0300 0315 0062;0061 05AE 10F4C 0300 0315 0062;0061 05AE 10F4C 0300 0315 0062; # (aโ—Œ๐ฝŒโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ฝŒโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ฝŒโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ฝŒโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ฝŒโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, SOGDIAN COMBINING HOOK ABOVE, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 059A 0316 302A 10F4D 0062;0061 302A 0316 10F4D 059A 0062;0061 302A 0316 10F4D 059A 0062;0061 302A 0316 10F4D 059A 0062;0061 302A 0316 10F4D 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œ๐ฝb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝโ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, SOGDIAN COMBINING HOOK BELOW, LATIN SMALL LETTER B +0061 10F4D 059A 0316 302A 0062;0061 302A 10F4D 0316 059A 0062;0061 302A 10F4D 0316 059A 0062;0061 302A 10F4D 0316 059A 0062;0061 302A 10F4D 0316 059A 0062; # (aโ—Œ๐ฝโ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œ๐ฝโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝโ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, SOGDIAN COMBINING HOOK BELOW, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B +0061 059A 0316 302A 10F4E 0062;0061 302A 0316 10F4E 059A 0062;0061 302A 0316 10F4E 059A 0062;0061 302A 0316 10F4E 059A 0062;0061 302A 0316 10F4E 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œ๐ฝŽb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝŽโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝŽโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝŽโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝŽโ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, SOGDIAN COMBINING LONG HOOK BELOW, LATIN SMALL LETTER B +0061 10F4E 059A 0316 302A 0062;0061 302A 10F4E 0316 059A 0062;0061 302A 10F4E 0316 059A 0062;0061 302A 10F4E 0316 059A 0062;0061 302A 10F4E 0316 059A 0062; # (aโ—Œ๐ฝŽโ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œ๐ฝŽโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝŽโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝŽโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝŽโ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, SOGDIAN COMBINING LONG HOOK BELOW, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B +0061 059A 0316 302A 10F4F 0062;0061 302A 0316 10F4F 059A 0062;0061 302A 0316 10F4F 059A 0062;0061 302A 0316 10F4F 059A 0062;0061 302A 0316 10F4F 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œ๐ฝb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝโ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, SOGDIAN COMBINING RESH BELOW, LATIN SMALL LETTER B +0061 10F4F 059A 0316 302A 0062;0061 302A 10F4F 0316 059A 0062;0061 302A 10F4F 0316 059A 0062;0061 302A 10F4F 0316 059A 0062;0061 302A 10F4F 0316 059A 0062; # (aโ—Œ๐ฝโ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œ๐ฝโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝโ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, SOGDIAN COMBINING RESH BELOW, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B +0061 059A 0316 302A 10F50 0062;0061 302A 0316 10F50 059A 0062;0061 302A 0316 10F50 059A 0062;0061 302A 0316 10F50 059A 0062;0061 302A 0316 10F50 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œ๐ฝb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐ฝโ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, SOGDIAN COMBINING STROKE BELOW, LATIN SMALL LETTER B +0061 10F50 059A 0316 302A 0062;0061 302A 10F50 0316 059A 0062;0061 302A 10F50 0316 059A 0062;0061 302A 10F50 0316 059A 0062;0061 302A 10F50 0316 059A 0062; # (aโ—Œ๐ฝโ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œ๐ฝโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐ฝโ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, SOGDIAN COMBINING STROKE BELOW, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B 0061 05B0 094D 3099 11046 0062;0061 3099 094D 11046 05B0 0062;0061 3099 094D 11046 05B0 0062;0061 3099 094D 11046 05B0 0062;0061 3099 094D 11046 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œ๐‘†b; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘†โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘†โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘†โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘†โ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, BRAHMI VIRAMA, LATIN SMALL LETTER B 0061 11046 05B0 094D 3099 0062;0061 3099 11046 094D 05B0 0062;0061 3099 11046 094D 05B0 0062;0061 3099 11046 094D 05B0 0062;0061 3099 11046 094D 05B0 0062; # (aโ—Œ๐‘†โ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œ๐‘†โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘†โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘†โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘†โ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, BRAHMI VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B 0061 05B0 094D 3099 1107F 0062;0061 3099 094D 1107F 05B0 0062;0061 3099 094D 1107F 05B0 0062;0061 3099 094D 1107F 05B0 0062;0061 3099 094D 1107F 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œ๐‘ฟb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ฟโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ฟโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ฟโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ฟโ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, BRAHMI NUMBER JOINER, LATIN SMALL LETTER B @@ -18297,6 +18387,8 @@ 0061 11173 3099 093C 0334 0062;0061 0334 11173 093C 3099 0062;0061 0334 11173 093C 3099 0062;0061 0334 11173 093C 3099 0062;0061 0334 11173 093C 3099 0062; # (aโ—Œ๐‘…ณโ—Œใ‚™โ—Œเคผโ—Œฬดb; aโ—Œฬดโ—Œ๐‘…ณโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘…ณโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘…ณโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘…ณโ—Œเคผโ—Œใ‚™b; ) LATIN SMALL LETTER A, MAHAJANI SIGN NUKTA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, LATIN SMALL LETTER B 0061 05B0 094D 3099 111C0 0062;0061 3099 094D 111C0 05B0 0062;0061 3099 094D 111C0 05B0 0062;0061 3099 094D 111C0 05B0 0062;0061 3099 094D 111C0 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™๐‘‡€b; aโ—Œใ‚™โ—Œเฅ๐‘‡€โ—Œึฐb; aโ—Œใ‚™โ—Œเฅ๐‘‡€โ—Œึฐb; aโ—Œใ‚™โ—Œเฅ๐‘‡€โ—Œึฐb; aโ—Œใ‚™โ—Œเฅ๐‘‡€โ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, SHARADA SIGN VIRAMA, LATIN SMALL LETTER B 0061 111C0 05B0 094D 3099 0062;0061 3099 111C0 094D 05B0 0062;0061 3099 111C0 094D 05B0 0062;0061 3099 111C0 094D 05B0 0062;0061 3099 111C0 094D 05B0 0062; # (a๐‘‡€โ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™๐‘‡€โ—Œเฅโ—Œึฐb; aโ—Œใ‚™๐‘‡€โ—Œเฅโ—Œึฐb; aโ—Œใ‚™๐‘‡€โ—Œเฅโ—Œึฐb; aโ—Œใ‚™๐‘‡€โ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, SHARADA SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B +0061 3099 093C 0334 111CA 0062;0061 0334 093C 111CA 3099 0062;0061 0334 093C 111CA 3099 0062;0061 0334 093C 111CA 3099 0062;0061 0334 093C 111CA 3099 0062; # (aโ—Œใ‚™โ—Œเคผโ—Œฬดโ—Œ๐‘‡Šb; aโ—Œฬดโ—Œเคผโ—Œ๐‘‡Šโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘‡Šโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘‡Šโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘‡Šโ—Œใ‚™b; ) LATIN SMALL LETTER A, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, SHARADA SIGN NUKTA, LATIN SMALL LETTER B +0061 111CA 3099 093C 0334 0062;0061 0334 111CA 093C 3099 0062;0061 0334 111CA 093C 3099 0062;0061 0334 111CA 093C 3099 0062;0061 0334 111CA 093C 3099 0062; # (aโ—Œ๐‘‡Šโ—Œใ‚™โ—Œเคผโ—Œฬดb; aโ—Œฬดโ—Œ๐‘‡Šโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘‡Šโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘‡Šโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘‡Šโ—Œเคผโ—Œใ‚™b; ) LATIN SMALL LETTER A, SHARADA SIGN NUKTA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, LATIN SMALL LETTER B 0061 05B0 094D 3099 11235 0062;0061 3099 094D 11235 05B0 0062;0061 3099 094D 11235 05B0 0062;0061 3099 094D 11235 05B0 0062;0061 3099 094D 11235 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™๐‘ˆตb; aโ—Œใ‚™โ—Œเฅ๐‘ˆตโ—Œึฐb; aโ—Œใ‚™โ—Œเฅ๐‘ˆตโ—Œึฐb; aโ—Œใ‚™โ—Œเฅ๐‘ˆตโ—Œึฐb; aโ—Œใ‚™โ—Œเฅ๐‘ˆตโ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KHOJKI SIGN VIRAMA, LATIN SMALL LETTER B 0061 11235 05B0 094D 3099 0062;0061 3099 11235 094D 05B0 0062;0061 3099 11235 094D 05B0 0062;0061 3099 11235 094D 05B0 0062;0061 3099 11235 094D 05B0 0062; # (a๐‘ˆตโ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™๐‘ˆตโ—Œเฅโ—Œึฐb; aโ—Œใ‚™๐‘ˆตโ—Œเฅโ—Œึฐb; aโ—Œใ‚™๐‘ˆตโ—Œเฅโ—Œึฐb; aโ—Œใ‚™๐‘ˆตโ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, KHOJKI SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B 0061 3099 093C 0334 11236 0062;0061 0334 093C 11236 3099 0062;0061 0334 093C 11236 3099 0062;0061 0334 093C 11236 3099 0062;0061 0334 093C 11236 3099 0062; # (aโ—Œใ‚™โ—Œเคผโ—Œฬดโ—Œ๐‘ˆถb; aโ—Œฬดโ—Œเคผโ—Œ๐‘ˆถโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘ˆถโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘ˆถโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘ˆถโ—Œใ‚™b; ) LATIN SMALL LETTER A, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, KHOJKI SIGN NUKTA, LATIN SMALL LETTER B @@ -18305,6 +18397,8 @@ 0061 112E9 3099 093C 0334 0062;0061 0334 112E9 093C 3099 0062;0061 0334 112E9 093C 3099 0062;0061 0334 112E9 093C 3099 0062;0061 0334 112E9 093C 3099 0062; # (aโ—Œ๐‘‹ฉโ—Œใ‚™โ—Œเคผโ—Œฬดb; aโ—Œฬดโ—Œ๐‘‹ฉโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘‹ฉโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘‹ฉโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘‹ฉโ—Œเคผโ—Œใ‚™b; ) LATIN SMALL LETTER A, KHUDAWADI SIGN NUKTA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, LATIN SMALL LETTER B 0061 05B0 094D 3099 112EA 0062;0061 3099 094D 112EA 05B0 0062;0061 3099 094D 112EA 05B0 0062;0061 3099 094D 112EA 05B0 0062;0061 3099 094D 112EA 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œ๐‘‹ชb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘‹ชโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘‹ชโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘‹ชโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘‹ชโ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KHUDAWADI SIGN VIRAMA, LATIN SMALL LETTER B 0061 112EA 05B0 094D 3099 0062;0061 3099 112EA 094D 05B0 0062;0061 3099 112EA 094D 05B0 0062;0061 3099 112EA 094D 05B0 0062;0061 3099 112EA 094D 05B0 0062; # (aโ—Œ๐‘‹ชโ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œ๐‘‹ชโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘‹ชโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘‹ชโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘‹ชโ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, KHUDAWADI SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B +0061 3099 093C 0334 1133B 0062;0061 0334 093C 1133B 3099 0062;0061 0334 093C 1133B 3099 0062;0061 0334 093C 1133B 3099 0062;0061 0334 093C 1133B 3099 0062; # (aโ—Œใ‚™โ—Œเคผโ—Œฬดโ—Œ๐‘Œปb; aโ—Œฬดโ—Œเคผโ—Œ๐‘Œปโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘Œปโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘Œปโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘Œปโ—Œใ‚™b; ) LATIN SMALL LETTER A, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING BINDU BELOW, LATIN SMALL LETTER B +0061 1133B 3099 093C 0334 0062;0061 0334 1133B 093C 3099 0062;0061 0334 1133B 093C 3099 0062;0061 0334 1133B 093C 3099 0062;0061 0334 1133B 093C 3099 0062; # (aโ—Œ๐‘Œปโ—Œใ‚™โ—Œเคผโ—Œฬดb; aโ—Œฬดโ—Œ๐‘Œปโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘Œปโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘Œปโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘Œปโ—Œเคผโ—Œใ‚™b; ) LATIN SMALL LETTER A, COMBINING BINDU BELOW, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, LATIN SMALL LETTER B 0061 3099 093C 0334 1133C 0062;0061 0334 093C 1133C 3099 0062;0061 0334 093C 1133C 3099 0062;0061 0334 093C 1133C 3099 0062;0061 0334 093C 1133C 3099 0062; # (aโ—Œใ‚™โ—Œเคผโ—Œฬดโ—Œ๐‘Œผb; aโ—Œฬดโ—Œเคผโ—Œ๐‘Œผโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘Œผโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘Œผโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘Œผโ—Œใ‚™b; ) LATIN SMALL LETTER A, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, GRANTHA SIGN NUKTA, LATIN SMALL LETTER B 0061 1133C 3099 093C 0334 0062;0061 0334 1133C 093C 3099 0062;0061 0334 1133C 093C 3099 0062;0061 0334 1133C 093C 3099 0062;0061 0334 1133C 093C 3099 0062; # (aโ—Œ๐‘Œผโ—Œใ‚™โ—Œเคผโ—Œฬดb; aโ—Œฬดโ—Œ๐‘Œผโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘Œผโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘Œผโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘Œผโ—Œเคผโ—Œใ‚™b; ) LATIN SMALL LETTER A, GRANTHA SIGN NUKTA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, LATIN SMALL LETTER B 0061 05B0 094D 3099 1134D 0062;0061 3099 094D 1134D 05B0 0062;0061 3099 094D 1134D 05B0 0062;0061 3099 094D 1134D 05B0 0062;0061 3099 094D 1134D 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™๐‘b; aโ—Œใ‚™โ—Œเฅ๐‘โ—Œึฐb; aโ—Œใ‚™โ—Œเฅ๐‘โ—Œึฐb; aโ—Œใ‚™โ—Œเฅ๐‘โ—Œึฐb; aโ—Œใ‚™โ—Œเฅ๐‘โ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, GRANTHA SIGN VIRAMA, LATIN SMALL LETTER B @@ -18333,6 +18427,12 @@ 0061 11373 0315 0300 05AE 0062;0061 05AE 11373 0300 0315 0062;0061 05AE 11373 0300 0315 0062;0061 05AE 11373 0300 0315 0062;0061 05AE 11373 0300 0315 0062; # (aโ—Œ๐‘ณโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐‘ณโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐‘ณโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐‘ณโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐‘ณโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GRANTHA LETTER VI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B 0061 0315 0300 05AE 11374 0062;00E0 05AE 11374 0315 0062;0061 05AE 0300 11374 0315 0062;00E0 05AE 11374 0315 0062;0061 05AE 0300 11374 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐‘ดb; ร โ—Œึฎโ—Œ๐‘ดโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐‘ดโ—Œฬ•b; ร โ—Œึฎโ—Œ๐‘ดโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐‘ดโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GRANTHA LETTER PA, LATIN SMALL LETTER B 0061 11374 0315 0300 05AE 0062;0061 05AE 11374 0300 0315 0062;0061 05AE 11374 0300 0315 0062;0061 05AE 11374 0300 0315 0062;0061 05AE 11374 0300 0315 0062; # (aโ—Œ๐‘ดโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐‘ดโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐‘ดโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐‘ดโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐‘ดโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GRANTHA LETTER PA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 05B0 094D 3099 11442 0062;0061 3099 094D 11442 05B0 0062;0061 3099 094D 11442 05B0 0062;0061 3099 094D 11442 05B0 0062;0061 3099 094D 11442 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œ๐‘‘‚b; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘‘‚โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘‘‚โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘‘‚โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘‘‚โ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, NEWA SIGN VIRAMA, LATIN SMALL LETTER B +0061 11442 05B0 094D 3099 0062;0061 3099 11442 094D 05B0 0062;0061 3099 11442 094D 05B0 0062;0061 3099 11442 094D 05B0 0062;0061 3099 11442 094D 05B0 0062; # (aโ—Œ๐‘‘‚โ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œ๐‘‘‚โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘‘‚โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘‘‚โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘‘‚โ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, NEWA SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B +0061 3099 093C 0334 11446 0062;0061 0334 093C 11446 3099 0062;0061 0334 093C 11446 3099 0062;0061 0334 093C 11446 3099 0062;0061 0334 093C 11446 3099 0062; # (aโ—Œใ‚™โ—Œเคผโ—Œฬดโ—Œ๐‘‘†b; aโ—Œฬดโ—Œเคผโ—Œ๐‘‘†โ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘‘†โ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘‘†โ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘‘†โ—Œใ‚™b; ) LATIN SMALL LETTER A, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, NEWA SIGN NUKTA, LATIN SMALL LETTER B +0061 11446 3099 093C 0334 0062;0061 0334 11446 093C 3099 0062;0061 0334 11446 093C 3099 0062;0061 0334 11446 093C 3099 0062;0061 0334 11446 093C 3099 0062; # (aโ—Œ๐‘‘†โ—Œใ‚™โ—Œเคผโ—Œฬดb; aโ—Œฬดโ—Œ๐‘‘†โ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘‘†โ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘‘†โ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘‘†โ—Œเคผโ—Œใ‚™b; ) LATIN SMALL LETTER A, NEWA SIGN NUKTA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, LATIN SMALL LETTER B +0061 0315 0300 05AE 1145E 0062;00E0 05AE 1145E 0315 0062;0061 05AE 0300 1145E 0315 0062;00E0 05AE 1145E 0315 0062;0061 05AE 0300 1145E 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐‘‘žb; ร โ—Œึฎโ—Œ๐‘‘žโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐‘‘žโ—Œฬ•b; ร โ—Œึฎโ—Œ๐‘‘žโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐‘‘žโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, NEWA SANDHI MARK, LATIN SMALL LETTER B +0061 1145E 0315 0300 05AE 0062;0061 05AE 1145E 0300 0315 0062;0061 05AE 1145E 0300 0315 0062;0061 05AE 1145E 0300 0315 0062;0061 05AE 1145E 0300 0315 0062; # (aโ—Œ๐‘‘žโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐‘‘žโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐‘‘žโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐‘‘žโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐‘‘žโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, NEWA SANDHI MARK, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B 0061 05B0 094D 3099 114C2 0062;0061 3099 094D 114C2 05B0 0062;0061 3099 094D 114C2 05B0 0062;0061 3099 094D 114C2 05B0 0062;0061 3099 094D 114C2 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œ๐‘“‚b; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘“‚โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘“‚โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘“‚โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘“‚โ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, TIRHUTA SIGN VIRAMA, LATIN SMALL LETTER B 0061 114C2 05B0 094D 3099 0062;0061 3099 114C2 094D 05B0 0062;0061 3099 114C2 094D 05B0 0062;0061 3099 114C2 094D 05B0 0062;0061 3099 114C2 094D 05B0 0062; # (aโ—Œ๐‘“‚โ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œ๐‘“‚โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘“‚โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘“‚โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘“‚โ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, TIRHUTA SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B 0061 3099 093C 0334 114C3 0062;0061 0334 093C 114C3 3099 0062;0061 0334 093C 114C3 3099 0062;0061 0334 093C 114C3 3099 0062;0061 0334 093C 114C3 3099 0062; # (aโ—Œใ‚™โ—Œเคผโ—Œฬดโ—Œ๐‘“ƒb; aโ—Œฬดโ—Œเคผโ—Œ๐‘“ƒโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘“ƒโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘“ƒโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘“ƒโ—Œใ‚™b; ) LATIN SMALL LETTER A, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, TIRHUTA SIGN NUKTA, LATIN SMALL LETTER B @@ -18347,6 +18447,28 @@ 0061 116B6 05B0 094D 3099 0062;0061 3099 116B6 094D 05B0 0062;0061 3099 116B6 094D 05B0 0062;0061 3099 116B6 094D 05B0 0062;0061 3099 116B6 094D 05B0 0062; # (a๐‘šถโ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™๐‘šถโ—Œเฅโ—Œึฐb; aโ—Œใ‚™๐‘šถโ—Œเฅโ—Œึฐb; aโ—Œใ‚™๐‘šถโ—Œเฅโ—Œึฐb; aโ—Œใ‚™๐‘šถโ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, TAKRI SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B 0061 3099 093C 0334 116B7 0062;0061 0334 093C 116B7 3099 0062;0061 0334 093C 116B7 3099 0062;0061 0334 093C 116B7 3099 0062;0061 0334 093C 116B7 3099 0062; # (aโ—Œใ‚™โ—Œเคผโ—Œฬดโ—Œ๐‘šทb; aโ—Œฬดโ—Œเคผโ—Œ๐‘šทโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘šทโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘šทโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘šทโ—Œใ‚™b; ) LATIN SMALL LETTER A, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, TAKRI SIGN NUKTA, LATIN SMALL LETTER B 0061 116B7 3099 093C 0334 0062;0061 0334 116B7 093C 3099 0062;0061 0334 116B7 093C 3099 0062;0061 0334 116B7 093C 3099 0062;0061 0334 116B7 093C 3099 0062; # (aโ—Œ๐‘šทโ—Œใ‚™โ—Œเคผโ—Œฬดb; aโ—Œฬดโ—Œ๐‘šทโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘šทโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘šทโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘šทโ—Œเคผโ—Œใ‚™b; ) LATIN SMALL LETTER A, TAKRI SIGN NUKTA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, LATIN SMALL LETTER B +0061 05B0 094D 3099 1172B 0062;0061 3099 094D 1172B 05B0 0062;0061 3099 094D 1172B 05B0 0062;0061 3099 094D 1172B 05B0 0062;0061 3099 094D 1172B 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œ๐‘œซb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘œซโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘œซโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘œซโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘œซโ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, AHOM SIGN KILLER, LATIN SMALL LETTER B +0061 1172B 05B0 094D 3099 0062;0061 3099 1172B 094D 05B0 0062;0061 3099 1172B 094D 05B0 0062;0061 3099 1172B 094D 05B0 0062;0061 3099 1172B 094D 05B0 0062; # (aโ—Œ๐‘œซโ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œ๐‘œซโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘œซโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘œซโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘œซโ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, AHOM SIGN KILLER, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B +0061 05B0 094D 3099 11839 0062;0061 3099 094D 11839 05B0 0062;0061 3099 094D 11839 05B0 0062;0061 3099 094D 11839 05B0 0062;0061 3099 094D 11839 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œ๐‘ นb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ นโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ นโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ นโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ นโ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DOGRA SIGN VIRAMA, LATIN SMALL LETTER B +0061 11839 05B0 094D 3099 0062;0061 3099 11839 094D 05B0 0062;0061 3099 11839 094D 05B0 0062;0061 3099 11839 094D 05B0 0062;0061 3099 11839 094D 05B0 0062; # (aโ—Œ๐‘ นโ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œ๐‘ นโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ นโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ นโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ นโ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, DOGRA SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B +0061 3099 093C 0334 1183A 0062;0061 0334 093C 1183A 3099 0062;0061 0334 093C 1183A 3099 0062;0061 0334 093C 1183A 3099 0062;0061 0334 093C 1183A 3099 0062; # (aโ—Œใ‚™โ—Œเคผโ—Œฬดโ—Œ๐‘ บb; aโ—Œฬดโ—Œเคผโ—Œ๐‘ บโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘ บโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘ บโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘ บโ—Œใ‚™b; ) LATIN SMALL LETTER A, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, DOGRA SIGN NUKTA, LATIN SMALL LETTER B +0061 1183A 3099 093C 0334 0062;0061 0334 1183A 093C 3099 0062;0061 0334 1183A 093C 3099 0062;0061 0334 1183A 093C 3099 0062;0061 0334 1183A 093C 3099 0062; # (aโ—Œ๐‘ บโ—Œใ‚™โ—Œเคผโ—Œฬดb; aโ—Œฬดโ—Œ๐‘ บโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘ บโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘ บโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘ บโ—Œเคผโ—Œใ‚™b; ) LATIN SMALL LETTER A, DOGRA SIGN NUKTA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, LATIN SMALL LETTER B +0061 05B0 094D 3099 11A34 0062;0061 3099 094D 11A34 05B0 0062;0061 3099 094D 11A34 05B0 0062;0061 3099 094D 11A34 05B0 0062;0061 3099 094D 11A34 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œ๐‘จดb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘จดโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘จดโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘จดโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘จดโ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, ZANABAZAR SQUARE SIGN VIRAMA, LATIN SMALL LETTER B +0061 11A34 05B0 094D 3099 0062;0061 3099 11A34 094D 05B0 0062;0061 3099 11A34 094D 05B0 0062;0061 3099 11A34 094D 05B0 0062;0061 3099 11A34 094D 05B0 0062; # (aโ—Œ๐‘จดโ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œ๐‘จดโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘จดโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘จดโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘จดโ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, ZANABAZAR SQUARE SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B +0061 05B0 094D 3099 11A47 0062;0061 3099 094D 11A47 05B0 0062;0061 3099 094D 11A47 05B0 0062;0061 3099 094D 11A47 05B0 0062;0061 3099 094D 11A47 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œ๐‘ฉ‡b; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ฉ‡โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ฉ‡โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ฉ‡โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ฉ‡โ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, ZANABAZAR SQUARE SUBJOINER, LATIN SMALL LETTER B +0061 11A47 05B0 094D 3099 0062;0061 3099 11A47 094D 05B0 0062;0061 3099 11A47 094D 05B0 0062;0061 3099 11A47 094D 05B0 0062;0061 3099 11A47 094D 05B0 0062; # (aโ—Œ๐‘ฉ‡โ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œ๐‘ฉ‡โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ฉ‡โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ฉ‡โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ฉ‡โ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, ZANABAZAR SQUARE SUBJOINER, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B +0061 05B0 094D 3099 11A99 0062;0061 3099 094D 11A99 05B0 0062;0061 3099 094D 11A99 05B0 0062;0061 3099 094D 11A99 05B0 0062;0061 3099 094D 11A99 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œ๐‘ช™b; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ช™โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ช™โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ช™โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ช™โ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, SOYOMBO SUBJOINER, LATIN SMALL LETTER B +0061 11A99 05B0 094D 3099 0062;0061 3099 11A99 094D 05B0 0062;0061 3099 11A99 094D 05B0 0062;0061 3099 11A99 094D 05B0 0062;0061 3099 11A99 094D 05B0 0062; # (aโ—Œ๐‘ช™โ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œ๐‘ช™โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ช™โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ช™โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ช™โ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, SOYOMBO SUBJOINER, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B +0061 05B0 094D 3099 11C3F 0062;0061 3099 094D 11C3F 05B0 0062;0061 3099 094D 11C3F 05B0 0062;0061 3099 094D 11C3F 05B0 0062;0061 3099 094D 11C3F 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œ๐‘ฐฟb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ฐฟโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ฐฟโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ฐฟโ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ฐฟโ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, BHAIKSUKI SIGN VIRAMA, LATIN SMALL LETTER B +0061 11C3F 05B0 094D 3099 0062;0061 3099 11C3F 094D 05B0 0062;0061 3099 11C3F 094D 05B0 0062;0061 3099 11C3F 094D 05B0 0062;0061 3099 11C3F 094D 05B0 0062; # (aโ—Œ๐‘ฐฟโ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œ๐‘ฐฟโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ฐฟโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ฐฟโ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ฐฟโ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, BHAIKSUKI SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B +0061 3099 093C 0334 11D42 0062;0061 0334 093C 11D42 3099 0062;0061 0334 093C 11D42 3099 0062;0061 0334 093C 11D42 3099 0062;0061 0334 093C 11D42 3099 0062; # (aโ—Œใ‚™โ—Œเคผโ—Œฬดโ—Œ๐‘ต‚b; aโ—Œฬดโ—Œเคผโ—Œ๐‘ต‚โ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘ต‚โ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘ต‚โ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐‘ต‚โ—Œใ‚™b; ) LATIN SMALL LETTER A, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, MASARAM GONDI SIGN NUKTA, LATIN SMALL LETTER B +0061 11D42 3099 093C 0334 0062;0061 0334 11D42 093C 3099 0062;0061 0334 11D42 093C 3099 0062;0061 0334 11D42 093C 3099 0062;0061 0334 11D42 093C 3099 0062; # (aโ—Œ๐‘ต‚โ—Œใ‚™โ—Œเคผโ—Œฬดb; aโ—Œฬดโ—Œ๐‘ต‚โ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘ต‚โ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘ต‚โ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐‘ต‚โ—Œเคผโ—Œใ‚™b; ) LATIN SMALL LETTER A, MASARAM GONDI SIGN NUKTA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, LATIN SMALL LETTER B +0061 05B0 094D 3099 11D44 0062;0061 3099 094D 11D44 05B0 0062;0061 3099 094D 11D44 05B0 0062;0061 3099 094D 11D44 05B0 0062;0061 3099 094D 11D44 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œ๐‘ต„b; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ต„โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ต„โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ต„โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ต„โ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, MASARAM GONDI SIGN HALANTA, LATIN SMALL LETTER B +0061 11D44 05B0 094D 3099 0062;0061 3099 11D44 094D 05B0 0062;0061 3099 11D44 094D 05B0 0062;0061 3099 11D44 094D 05B0 0062;0061 3099 11D44 094D 05B0 0062; # (aโ—Œ๐‘ต„โ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œ๐‘ต„โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ต„โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ต„โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ต„โ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, MASARAM GONDI SIGN HALANTA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B +0061 05B0 094D 3099 11D45 0062;0061 3099 094D 11D45 05B0 0062;0061 3099 094D 11D45 05B0 0062;0061 3099 094D 11D45 05B0 0062;0061 3099 094D 11D45 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œ๐‘ต…b; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ต…โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ต…โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ต…โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ต…โ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, MASARAM GONDI VIRAMA, LATIN SMALL LETTER B +0061 11D45 05B0 094D 3099 0062;0061 3099 11D45 094D 05B0 0062;0061 3099 11D45 094D 05B0 0062;0061 3099 11D45 094D 05B0 0062;0061 3099 11D45 094D 05B0 0062; # (aโ—Œ๐‘ต…โ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œ๐‘ต…โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ต…โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ต…โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ต…โ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, MASARAM GONDI VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B +0061 05B0 094D 3099 11D97 0062;0061 3099 094D 11D97 05B0 0062;0061 3099 094D 11D97 05B0 0062;0061 3099 094D 11D97 05B0 0062;0061 3099 094D 11D97 05B0 0062; # (aโ—Œึฐโ—Œเฅโ—Œใ‚™โ—Œ๐‘ถ—b; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ถ—โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ถ—โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ถ—โ—Œึฐb; aโ—Œใ‚™โ—Œเฅโ—Œ๐‘ถ—โ—Œึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, GUNJALA GONDI VIRAMA, LATIN SMALL LETTER B +0061 11D97 05B0 094D 3099 0062;0061 3099 11D97 094D 05B0 0062;0061 3099 11D97 094D 05B0 0062;0061 3099 11D97 094D 05B0 0062;0061 3099 11D97 094D 05B0 0062; # (aโ—Œ๐‘ถ—โ—Œึฐโ—Œเฅโ—Œใ‚™b; aโ—Œใ‚™โ—Œ๐‘ถ—โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ถ—โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ถ—โ—Œเฅโ—Œึฐb; aโ—Œใ‚™โ—Œ๐‘ถ—โ—Œเฅโ—Œึฐb; ) LATIN SMALL LETTER A, GUNJALA GONDI VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B 0061 093C 0334 16AF0 0062;0061 0334 16AF0 093C 0062;0061 0334 16AF0 093C 0062;0061 0334 16AF0 093C 0062;0061 0334 16AF0 093C 0062; # (aโ—Œเคผโ—Œฬดโ—Œ๐–ซฐb; aโ—Œฬดโ—Œ๐–ซฐโ—Œเคผb; aโ—Œฬดโ—Œ๐–ซฐโ—Œเคผb; aโ—Œฬดโ—Œ๐–ซฐโ—Œเคผb; aโ—Œฬดโ—Œ๐–ซฐโ—Œเคผb; ) LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, BASSA VAH COMBINING HIGH TONE, LATIN SMALL LETTER B 0061 16AF0 093C 0334 0062;0061 16AF0 0334 093C 0062;0061 16AF0 0334 093C 0062;0061 16AF0 0334 093C 0062;0061 16AF0 0334 093C 0062; # (aโ—Œ๐–ซฐโ—Œเคผโ—Œฬดb; aโ—Œ๐–ซฐโ—Œฬดโ—Œเคผb; aโ—Œ๐–ซฐโ—Œฬดโ—Œเคผb; aโ—Œ๐–ซฐโ—Œฬดโ—Œเคผb; aโ—Œ๐–ซฐโ—Œฬดโ—Œเคผb; ) LATIN SMALL LETTER A, BASSA VAH COMBINING HIGH TONE, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, LATIN SMALL LETTER B 0061 093C 0334 16AF1 0062;0061 0334 16AF1 093C 0062;0061 0334 16AF1 093C 0062;0061 0334 16AF1 093C 0062;0061 0334 16AF1 093C 0062; # (aโ—Œเคผโ—Œฬดโ—Œ๐–ซฑb; aโ—Œฬดโ—Œ๐–ซฑโ—Œเคผb; aโ—Œฬดโ—Œ๐–ซฑโ—Œเคผb; aโ—Œฬดโ—Œ๐–ซฑโ—Œเคผb; aโ—Œฬดโ—Œ๐–ซฑโ—Œเคผb; ) LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, BASSA VAH COMBINING LOW TONE, LATIN SMALL LETTER B @@ -18439,6 +18561,82 @@ 0061 1D243 0315 0300 05AE 0062;0061 05AE 1D243 0300 0315 0062;0061 05AE 1D243 0300 0315 0062;0061 05AE 1D243 0300 0315 0062;0061 05AE 1D243 0300 0315 0062; # (aโ—Œ๐‰ƒโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐‰ƒโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐‰ƒโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐‰ƒโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐‰ƒโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GREEK MUSICAL TETRASEME, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B 0061 0315 0300 05AE 1D244 0062;00E0 05AE 1D244 0315 0062;0061 05AE 0300 1D244 0315 0062;00E0 05AE 1D244 0315 0062;0061 05AE 0300 1D244 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐‰„b; ร โ—Œึฎโ—Œ๐‰„โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐‰„โ—Œฬ•b; ร โ—Œึฎโ—Œ๐‰„โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐‰„โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GREEK MUSICAL PENTASEME, LATIN SMALL LETTER B 0061 1D244 0315 0300 05AE 0062;0061 05AE 1D244 0300 0315 0062;0061 05AE 1D244 0300 0315 0062;0061 05AE 1D244 0300 0315 0062;0061 05AE 1D244 0300 0315 0062; # (aโ—Œ๐‰„โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐‰„โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐‰„โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐‰„โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐‰„โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GREEK MUSICAL PENTASEME, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E000 0062;00E0 05AE 1E000 0315 0062;0061 05AE 0300 1E000 0315 0062;00E0 05AE 1E000 0315 0062;0061 05AE 0300 1E000 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€€b; ร โ—Œึฎโ—Œ๐ž€€โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€€โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€€โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER AZU, LATIN SMALL LETTER B +0061 1E000 0315 0300 05AE 0062;0061 05AE 1E000 0300 0315 0062;0061 05AE 1E000 0300 0315 0062;0061 05AE 1E000 0300 0315 0062;0061 05AE 1E000 0300 0315 0062; # (aโ—Œ๐ž€€โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€€โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER AZU, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E001 0062;00E0 05AE 1E001 0315 0062;0061 05AE 0300 1E001 0315 0062;00E0 05AE 1E001 0315 0062;0061 05AE 0300 1E001 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€b; ร โ—Œึฎโ—Œ๐ž€โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER BUKY, LATIN SMALL LETTER B +0061 1E001 0315 0300 05AE 0062;0061 05AE 1E001 0300 0315 0062;0061 05AE 1E001 0300 0315 0062;0061 05AE 1E001 0300 0315 0062;0061 05AE 1E001 0300 0315 0062; # (aโ—Œ๐ž€โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER BUKY, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E002 0062;00E0 05AE 1E002 0315 0062;0061 05AE 0300 1E002 0315 0062;00E0 05AE 1E002 0315 0062;0061 05AE 0300 1E002 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€‚b; ร โ—Œึฎโ—Œ๐ž€‚โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€‚โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€‚โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€‚โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER VEDE, LATIN SMALL LETTER B +0061 1E002 0315 0300 05AE 0062;0061 05AE 1E002 0300 0315 0062;0061 05AE 1E002 0300 0315 0062;0061 05AE 1E002 0300 0315 0062;0061 05AE 1E002 0300 0315 0062; # (aโ—Œ๐ž€‚โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€‚โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€‚โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€‚โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€‚โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER VEDE, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E003 0062;00E0 05AE 1E003 0315 0062;0061 05AE 0300 1E003 0315 0062;00E0 05AE 1E003 0315 0062;0061 05AE 0300 1E003 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€ƒb; ร โ—Œึฎโ—Œ๐ž€ƒโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€ƒโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€ƒโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€ƒโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER GLAGOLI, LATIN SMALL LETTER B +0061 1E003 0315 0300 05AE 0062;0061 05AE 1E003 0300 0315 0062;0061 05AE 1E003 0300 0315 0062;0061 05AE 1E003 0300 0315 0062;0061 05AE 1E003 0300 0315 0062; # (aโ—Œ๐ž€ƒโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€ƒโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ƒโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ƒโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ƒโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER GLAGOLI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E004 0062;00E0 05AE 1E004 0315 0062;0061 05AE 0300 1E004 0315 0062;00E0 05AE 1E004 0315 0062;0061 05AE 0300 1E004 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€„b; ร โ—Œึฎโ—Œ๐ž€„โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€„โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€„โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€„โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER DOBRO, LATIN SMALL LETTER B +0061 1E004 0315 0300 05AE 0062;0061 05AE 1E004 0300 0315 0062;0061 05AE 1E004 0300 0315 0062;0061 05AE 1E004 0300 0315 0062;0061 05AE 1E004 0300 0315 0062; # (aโ—Œ๐ž€„โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€„โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€„โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€„โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€„โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER DOBRO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E005 0062;00E0 05AE 1E005 0315 0062;0061 05AE 0300 1E005 0315 0062;00E0 05AE 1E005 0315 0062;0061 05AE 0300 1E005 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€…b; ร โ—Œึฎโ—Œ๐ž€…โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€…โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€…โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€…โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER YESTU, LATIN SMALL LETTER B +0061 1E005 0315 0300 05AE 0062;0061 05AE 1E005 0300 0315 0062;0061 05AE 1E005 0300 0315 0062;0061 05AE 1E005 0300 0315 0062;0061 05AE 1E005 0300 0315 0062; # (aโ—Œ๐ž€…โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€…โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€…โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€…โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€…โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER YESTU, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E006 0062;00E0 05AE 1E006 0315 0062;0061 05AE 0300 1E006 0315 0062;00E0 05AE 1E006 0315 0062;0061 05AE 0300 1E006 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€†b; ร โ—Œึฎโ—Œ๐ž€†โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€†โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€†โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€†โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER ZHIVETE, LATIN SMALL LETTER B +0061 1E006 0315 0300 05AE 0062;0061 05AE 1E006 0300 0315 0062;0061 05AE 1E006 0300 0315 0062;0061 05AE 1E006 0300 0315 0062;0061 05AE 1E006 0300 0315 0062; # (aโ—Œ๐ž€†โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€†โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€†โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€†โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€†โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER ZHIVETE, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E008 0062;00E0 05AE 1E008 0315 0062;0061 05AE 0300 1E008 0315 0062;00E0 05AE 1E008 0315 0062;0061 05AE 0300 1E008 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€ˆb; ร โ—Œึฎโ—Œ๐ž€ˆโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€ˆโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€ˆโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€ˆโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER ZEMLJA, LATIN SMALL LETTER B +0061 1E008 0315 0300 05AE 0062;0061 05AE 1E008 0300 0315 0062;0061 05AE 1E008 0300 0315 0062;0061 05AE 1E008 0300 0315 0062;0061 05AE 1E008 0300 0315 0062; # (aโ—Œ๐ž€ˆโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€ˆโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ˆโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ˆโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ˆโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER ZEMLJA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E009 0062;00E0 05AE 1E009 0315 0062;0061 05AE 0300 1E009 0315 0062;00E0 05AE 1E009 0315 0062;0061 05AE 0300 1E009 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€‰b; ร โ—Œึฎโ—Œ๐ž€‰โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€‰โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€‰โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€‰โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER IZHE, LATIN SMALL LETTER B +0061 1E009 0315 0300 05AE 0062;0061 05AE 1E009 0300 0315 0062;0061 05AE 1E009 0300 0315 0062;0061 05AE 1E009 0300 0315 0062;0061 05AE 1E009 0300 0315 0062; # (aโ—Œ๐ž€‰โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€‰โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€‰โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€‰โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€‰โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER IZHE, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E00A 0062;00E0 05AE 1E00A 0315 0062;0061 05AE 0300 1E00A 0315 0062;00E0 05AE 1E00A 0315 0062;0061 05AE 0300 1E00A 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€Šb; ร โ—Œึฎโ—Œ๐ž€Šโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€Šโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€Šโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€Šโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER INITIAL IZHE, LATIN SMALL LETTER B +0061 1E00A 0315 0300 05AE 0062;0061 05AE 1E00A 0300 0315 0062;0061 05AE 1E00A 0300 0315 0062;0061 05AE 1E00A 0300 0315 0062;0061 05AE 1E00A 0300 0315 0062; # (aโ—Œ๐ž€Šโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€Šโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€Šโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€Šโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€Šโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER INITIAL IZHE, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E00B 0062;00E0 05AE 1E00B 0315 0062;0061 05AE 0300 1E00B 0315 0062;00E0 05AE 1E00B 0315 0062;0061 05AE 0300 1E00B 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€‹b; ร โ—Œึฎโ—Œ๐ž€‹โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€‹โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€‹โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€‹โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER I, LATIN SMALL LETTER B +0061 1E00B 0315 0300 05AE 0062;0061 05AE 1E00B 0300 0315 0062;0061 05AE 1E00B 0300 0315 0062;0061 05AE 1E00B 0300 0315 0062;0061 05AE 1E00B 0300 0315 0062; # (aโ—Œ๐ž€‹โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€‹โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€‹โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€‹โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€‹โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER I, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E00C 0062;00E0 05AE 1E00C 0315 0062;0061 05AE 0300 1E00C 0315 0062;00E0 05AE 1E00C 0315 0062;0061 05AE 0300 1E00C 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€Œb; ร โ—Œึฎโ—Œ๐ž€Œโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€Œโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€Œโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€Œโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER DJERVI, LATIN SMALL LETTER B +0061 1E00C 0315 0300 05AE 0062;0061 05AE 1E00C 0300 0315 0062;0061 05AE 1E00C 0300 0315 0062;0061 05AE 1E00C 0300 0315 0062;0061 05AE 1E00C 0300 0315 0062; # (aโ—Œ๐ž€Œโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€Œโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€Œโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€Œโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€Œโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER DJERVI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E00D 0062;00E0 05AE 1E00D 0315 0062;0061 05AE 0300 1E00D 0315 0062;00E0 05AE 1E00D 0315 0062;0061 05AE 0300 1E00D 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€b; ร โ—Œึฎโ—Œ๐ž€โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER KAKO, LATIN SMALL LETTER B +0061 1E00D 0315 0300 05AE 0062;0061 05AE 1E00D 0300 0315 0062;0061 05AE 1E00D 0300 0315 0062;0061 05AE 1E00D 0300 0315 0062;0061 05AE 1E00D 0300 0315 0062; # (aโ—Œ๐ž€โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER KAKO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E00E 0062;00E0 05AE 1E00E 0315 0062;0061 05AE 0300 1E00E 0315 0062;00E0 05AE 1E00E 0315 0062;0061 05AE 0300 1E00E 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€Žb; ร โ—Œึฎโ—Œ๐ž€Žโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€Žโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€Žโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€Žโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER LJUDIJE, LATIN SMALL LETTER B +0061 1E00E 0315 0300 05AE 0062;0061 05AE 1E00E 0300 0315 0062;0061 05AE 1E00E 0300 0315 0062;0061 05AE 1E00E 0300 0315 0062;0061 05AE 1E00E 0300 0315 0062; # (aโ—Œ๐ž€Žโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€Žโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€Žโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€Žโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€Žโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER LJUDIJE, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E00F 0062;00E0 05AE 1E00F 0315 0062;0061 05AE 0300 1E00F 0315 0062;00E0 05AE 1E00F 0315 0062;0061 05AE 0300 1E00F 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€b; ร โ—Œึฎโ—Œ๐ž€โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER MYSLITE, LATIN SMALL LETTER B +0061 1E00F 0315 0300 05AE 0062;0061 05AE 1E00F 0300 0315 0062;0061 05AE 1E00F 0300 0315 0062;0061 05AE 1E00F 0300 0315 0062;0061 05AE 1E00F 0300 0315 0062; # (aโ—Œ๐ž€โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER MYSLITE, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E010 0062;00E0 05AE 1E010 0315 0062;0061 05AE 0300 1E010 0315 0062;00E0 05AE 1E010 0315 0062;0061 05AE 0300 1E010 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€b; ร โ—Œึฎโ—Œ๐ž€โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER NASHI, LATIN SMALL LETTER B +0061 1E010 0315 0300 05AE 0062;0061 05AE 1E010 0300 0315 0062;0061 05AE 1E010 0300 0315 0062;0061 05AE 1E010 0300 0315 0062;0061 05AE 1E010 0300 0315 0062; # (aโ—Œ๐ž€โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER NASHI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E011 0062;00E0 05AE 1E011 0315 0062;0061 05AE 0300 1E011 0315 0062;00E0 05AE 1E011 0315 0062;0061 05AE 0300 1E011 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€‘b; ร โ—Œึฎโ—Œ๐ž€‘โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€‘โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€‘โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€‘โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER ONU, LATIN SMALL LETTER B +0061 1E011 0315 0300 05AE 0062;0061 05AE 1E011 0300 0315 0062;0061 05AE 1E011 0300 0315 0062;0061 05AE 1E011 0300 0315 0062;0061 05AE 1E011 0300 0315 0062; # (aโ—Œ๐ž€‘โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€‘โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€‘โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€‘โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€‘โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER ONU, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E012 0062;00E0 05AE 1E012 0315 0062;0061 05AE 0300 1E012 0315 0062;00E0 05AE 1E012 0315 0062;0061 05AE 0300 1E012 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€’b; ร โ—Œึฎโ—Œ๐ž€’โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€’โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€’โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€’โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER POKOJI, LATIN SMALL LETTER B +0061 1E012 0315 0300 05AE 0062;0061 05AE 1E012 0300 0315 0062;0061 05AE 1E012 0300 0315 0062;0061 05AE 1E012 0300 0315 0062;0061 05AE 1E012 0300 0315 0062; # (aโ—Œ๐ž€’โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€’โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€’โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€’โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€’โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER POKOJI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E013 0062;00E0 05AE 1E013 0315 0062;0061 05AE 0300 1E013 0315 0062;00E0 05AE 1E013 0315 0062;0061 05AE 0300 1E013 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€“b; ร โ—Œึฎโ—Œ๐ž€“โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€“โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€“โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€“โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER RITSI, LATIN SMALL LETTER B +0061 1E013 0315 0300 05AE 0062;0061 05AE 1E013 0300 0315 0062;0061 05AE 1E013 0300 0315 0062;0061 05AE 1E013 0300 0315 0062;0061 05AE 1E013 0300 0315 0062; # (aโ—Œ๐ž€“โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€“โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€“โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€“โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€“โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER RITSI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E014 0062;00E0 05AE 1E014 0315 0062;0061 05AE 0300 1E014 0315 0062;00E0 05AE 1E014 0315 0062;0061 05AE 0300 1E014 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€”b; ร โ—Œึฎโ—Œ๐ž€”โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€”โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€”โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€”โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER SLOVO, LATIN SMALL LETTER B +0061 1E014 0315 0300 05AE 0062;0061 05AE 1E014 0300 0315 0062;0061 05AE 1E014 0300 0315 0062;0061 05AE 1E014 0300 0315 0062;0061 05AE 1E014 0300 0315 0062; # (aโ—Œ๐ž€”โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€”โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€”โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€”โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€”โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER SLOVO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E015 0062;00E0 05AE 1E015 0315 0062;0061 05AE 0300 1E015 0315 0062;00E0 05AE 1E015 0315 0062;0061 05AE 0300 1E015 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€•b; ร โ—Œึฎโ—Œ๐ž€•โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€•โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€•โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€•โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER TVRIDO, LATIN SMALL LETTER B +0061 1E015 0315 0300 05AE 0062;0061 05AE 1E015 0300 0315 0062;0061 05AE 1E015 0300 0315 0062;0061 05AE 1E015 0300 0315 0062;0061 05AE 1E015 0300 0315 0062; # (aโ—Œ๐ž€•โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€•โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€•โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€•โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€•โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER TVRIDO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E016 0062;00E0 05AE 1E016 0315 0062;0061 05AE 0300 1E016 0315 0062;00E0 05AE 1E016 0315 0062;0061 05AE 0300 1E016 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€–b; ร โ—Œึฎโ—Œ๐ž€–โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€–โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€–โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€–โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER UKU, LATIN SMALL LETTER B +0061 1E016 0315 0300 05AE 0062;0061 05AE 1E016 0300 0315 0062;0061 05AE 1E016 0300 0315 0062;0061 05AE 1E016 0300 0315 0062;0061 05AE 1E016 0300 0315 0062; # (aโ—Œ๐ž€–โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€–โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€–โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€–โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€–โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER UKU, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E017 0062;00E0 05AE 1E017 0315 0062;0061 05AE 0300 1E017 0315 0062;00E0 05AE 1E017 0315 0062;0061 05AE 0300 1E017 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€—b; ร โ—Œึฎโ—Œ๐ž€—โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€—โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€—โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€—โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER FRITU, LATIN SMALL LETTER B +0061 1E017 0315 0300 05AE 0062;0061 05AE 1E017 0300 0315 0062;0061 05AE 1E017 0300 0315 0062;0061 05AE 1E017 0300 0315 0062;0061 05AE 1E017 0300 0315 0062; # (aโ—Œ๐ž€—โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€—โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€—โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€—โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€—โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER FRITU, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E018 0062;00E0 05AE 1E018 0315 0062;0061 05AE 0300 1E018 0315 0062;00E0 05AE 1E018 0315 0062;0061 05AE 0300 1E018 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€˜b; ร โ—Œึฎโ—Œ๐ž€˜โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€˜โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€˜โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€˜โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER HERU, LATIN SMALL LETTER B +0061 1E018 0315 0300 05AE 0062;0061 05AE 1E018 0300 0315 0062;0061 05AE 1E018 0300 0315 0062;0061 05AE 1E018 0300 0315 0062;0061 05AE 1E018 0300 0315 0062; # (aโ—Œ๐ž€˜โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€˜โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€˜โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€˜โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€˜โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER HERU, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E01B 0062;00E0 05AE 1E01B 0315 0062;0061 05AE 0300 1E01B 0315 0062;00E0 05AE 1E01B 0315 0062;0061 05AE 0300 1E01B 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€›b; ร โ—Œึฎโ—Œ๐ž€›โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€›โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€›โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€›โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER SHTA, LATIN SMALL LETTER B +0061 1E01B 0315 0300 05AE 0062;0061 05AE 1E01B 0300 0315 0062;0061 05AE 1E01B 0300 0315 0062;0061 05AE 1E01B 0300 0315 0062;0061 05AE 1E01B 0300 0315 0062; # (aโ—Œ๐ž€›โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€›โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€›โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€›โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€›โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER SHTA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E01C 0062;00E0 05AE 1E01C 0315 0062;0061 05AE 0300 1E01C 0315 0062;00E0 05AE 1E01C 0315 0062;0061 05AE 0300 1E01C 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€œb; ร โ—Œึฎโ—Œ๐ž€œโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€œโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€œโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€œโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER TSI, LATIN SMALL LETTER B +0061 1E01C 0315 0300 05AE 0062;0061 05AE 1E01C 0300 0315 0062;0061 05AE 1E01C 0300 0315 0062;0061 05AE 1E01C 0300 0315 0062;0061 05AE 1E01C 0300 0315 0062; # (aโ—Œ๐ž€œโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€œโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€œโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€œโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€œโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER TSI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E01D 0062;00E0 05AE 1E01D 0315 0062;0061 05AE 0300 1E01D 0315 0062;00E0 05AE 1E01D 0315 0062;0061 05AE 0300 1E01D 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€b; ร โ—Œึฎโ—Œ๐ž€โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER CHRIVI, LATIN SMALL LETTER B +0061 1E01D 0315 0300 05AE 0062;0061 05AE 1E01D 0300 0315 0062;0061 05AE 1E01D 0300 0315 0062;0061 05AE 1E01D 0300 0315 0062;0061 05AE 1E01D 0300 0315 0062; # (aโ—Œ๐ž€โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER CHRIVI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E01E 0062;00E0 05AE 1E01E 0315 0062;0061 05AE 0300 1E01E 0315 0062;00E0 05AE 1E01E 0315 0062;0061 05AE 0300 1E01E 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€žb; ร โ—Œึฎโ—Œ๐ž€žโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€žโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€žโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€žโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER SHA, LATIN SMALL LETTER B +0061 1E01E 0315 0300 05AE 0062;0061 05AE 1E01E 0300 0315 0062;0061 05AE 1E01E 0300 0315 0062;0061 05AE 1E01E 0300 0315 0062;0061 05AE 1E01E 0300 0315 0062; # (aโ—Œ๐ž€žโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€žโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€žโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€žโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€žโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER SHA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E01F 0062;00E0 05AE 1E01F 0315 0062;0061 05AE 0300 1E01F 0315 0062;00E0 05AE 1E01F 0315 0062;0061 05AE 0300 1E01F 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€Ÿb; ร โ—Œึฎโ—Œ๐ž€Ÿโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€Ÿโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€Ÿโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€Ÿโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER YERU, LATIN SMALL LETTER B +0061 1E01F 0315 0300 05AE 0062;0061 05AE 1E01F 0300 0315 0062;0061 05AE 1E01F 0300 0315 0062;0061 05AE 1E01F 0300 0315 0062;0061 05AE 1E01F 0300 0315 0062; # (aโ—Œ๐ž€Ÿโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€Ÿโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€Ÿโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€Ÿโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€Ÿโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER YERU, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E020 0062;00E0 05AE 1E020 0315 0062;0061 05AE 0300 1E020 0315 0062;00E0 05AE 1E020 0315 0062;0061 05AE 0300 1E020 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€ b; ร โ—Œึฎโ—Œ๐ž€ โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€ โ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€ โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€ โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER YERI, LATIN SMALL LETTER B +0061 1E020 0315 0300 05AE 0062;0061 05AE 1E020 0300 0315 0062;0061 05AE 1E020 0300 0315 0062;0061 05AE 1E020 0300 0315 0062;0061 05AE 1E020 0300 0315 0062; # (aโ—Œ๐ž€ โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€ โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER YERI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E021 0062;00E0 05AE 1E021 0315 0062;0061 05AE 0300 1E021 0315 0062;00E0 05AE 1E021 0315 0062;0061 05AE 0300 1E021 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€กb; ร โ—Œึฎโ—Œ๐ž€กโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€กโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€กโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€กโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER YATI, LATIN SMALL LETTER B +0061 1E021 0315 0300 05AE 0062;0061 05AE 1E021 0300 0315 0062;0061 05AE 1E021 0300 0315 0062;0061 05AE 1E021 0300 0315 0062;0061 05AE 1E021 0300 0315 0062; # (aโ—Œ๐ž€กโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€กโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€กโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€กโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€กโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER YATI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E023 0062;00E0 05AE 1E023 0315 0062;0061 05AE 0300 1E023 0315 0062;00E0 05AE 1E023 0315 0062;0061 05AE 0300 1E023 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€ฃb; ร โ—Œึฎโ—Œ๐ž€ฃโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€ฃโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€ฃโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€ฃโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER YU, LATIN SMALL LETTER B +0061 1E023 0315 0300 05AE 0062;0061 05AE 1E023 0300 0315 0062;0061 05AE 1E023 0300 0315 0062;0061 05AE 1E023 0300 0315 0062;0061 05AE 1E023 0300 0315 0062; # (aโ—Œ๐ž€ฃโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€ฃโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ฃโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ฃโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ฃโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER YU, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E024 0062;00E0 05AE 1E024 0315 0062;0061 05AE 0300 1E024 0315 0062;00E0 05AE 1E024 0315 0062;0061 05AE 0300 1E024 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€คb; ร โ—Œึฎโ—Œ๐ž€คโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€คโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€คโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€คโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER SMALL YUS, LATIN SMALL LETTER B +0061 1E024 0315 0300 05AE 0062;0061 05AE 1E024 0300 0315 0062;0061 05AE 1E024 0300 0315 0062;0061 05AE 1E024 0300 0315 0062;0061 05AE 1E024 0300 0315 0062; # (aโ—Œ๐ž€คโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€คโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€คโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€คโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€คโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER SMALL YUS, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E026 0062;00E0 05AE 1E026 0315 0062;0061 05AE 0300 1E026 0315 0062;00E0 05AE 1E026 0315 0062;0061 05AE 0300 1E026 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€ฆb; ร โ—Œึฎโ—Œ๐ž€ฆโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€ฆโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€ฆโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€ฆโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER YO, LATIN SMALL LETTER B +0061 1E026 0315 0300 05AE 0062;0061 05AE 1E026 0300 0315 0062;0061 05AE 1E026 0300 0315 0062;0061 05AE 1E026 0300 0315 0062;0061 05AE 1E026 0300 0315 0062; # (aโ—Œ๐ž€ฆโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€ฆโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ฆโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ฆโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ฆโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER YO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E027 0062;00E0 05AE 1E027 0315 0062;0061 05AE 0300 1E027 0315 0062;00E0 05AE 1E027 0315 0062;0061 05AE 0300 1E027 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€งb; ร โ—Œึฎโ—Œ๐ž€งโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€งโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€งโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€งโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER IOTATED SMALL YUS, LATIN SMALL LETTER B +0061 1E027 0315 0300 05AE 0062;0061 05AE 1E027 0300 0315 0062;0061 05AE 1E027 0300 0315 0062;0061 05AE 1E027 0300 0315 0062;0061 05AE 1E027 0300 0315 0062; # (aโ—Œ๐ž€งโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€งโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€งโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€งโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€งโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER IOTATED SMALL YUS, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E028 0062;00E0 05AE 1E028 0315 0062;0061 05AE 0300 1E028 0315 0062;00E0 05AE 1E028 0315 0062;0061 05AE 0300 1E028 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€จb; ร โ—Œึฎโ—Œ๐ž€จโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€จโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€จโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€จโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER BIG YUS, LATIN SMALL LETTER B +0061 1E028 0315 0300 05AE 0062;0061 05AE 1E028 0300 0315 0062;0061 05AE 1E028 0300 0315 0062;0061 05AE 1E028 0300 0315 0062;0061 05AE 1E028 0300 0315 0062; # (aโ—Œ๐ž€จโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€จโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€จโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€จโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€จโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER BIG YUS, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E029 0062;00E0 05AE 1E029 0315 0062;0061 05AE 0300 1E029 0315 0062;00E0 05AE 1E029 0315 0062;0061 05AE 0300 1E029 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€ฉb; ร โ—Œึฎโ—Œ๐ž€ฉโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€ฉโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€ฉโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€ฉโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER IOTATED BIG YUS, LATIN SMALL LETTER B +0061 1E029 0315 0300 05AE 0062;0061 05AE 1E029 0300 0315 0062;0061 05AE 1E029 0300 0315 0062;0061 05AE 1E029 0300 0315 0062;0061 05AE 1E029 0300 0315 0062; # (aโ—Œ๐ž€ฉโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€ฉโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ฉโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ฉโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ฉโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER IOTATED BIG YUS, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E02A 0062;00E0 05AE 1E02A 0315 0062;0061 05AE 0300 1E02A 0315 0062;00E0 05AE 1E02A 0315 0062;0061 05AE 0300 1E02A 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐ž€ชb; ร โ—Œึฎโ—Œ๐ž€ชโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€ชโ—Œฬ•b; ร โ—Œึฎโ—Œ๐ž€ชโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐ž€ชโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER FITA, LATIN SMALL LETTER B +0061 1E02A 0315 0300 05AE 0062;0061 05AE 1E02A 0300 0315 0062;0061 05AE 1E02A 0300 0315 0062;0061 05AE 1E02A 0300 0315 0062;0061 05AE 1E02A 0300 0315 0062; # (aโ—Œ๐ž€ชโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐ž€ชโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ชโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ชโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐ž€ชโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER FITA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B 0061 059A 0316 302A 1E8D0 0062;0061 302A 0316 1E8D0 059A 0062;0061 302A 0316 1E8D0 059A 0062;0061 302A 0316 1E8D0 059A 0062;0061 302A 0316 1E8D0 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œ๐žฃb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐žฃโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐žฃโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐žฃโ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐žฃโ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, MENDE KIKAKUI COMBINING NUMBER TEENS, LATIN SMALL LETTER B 0061 1E8D0 059A 0316 302A 0062;0061 302A 1E8D0 0316 059A 0062;0061 302A 1E8D0 0316 059A 0062;0061 302A 1E8D0 0316 059A 0062;0061 302A 1E8D0 0316 059A 0062; # (aโ—Œ๐žฃโ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œ๐žฃโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐žฃโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐žฃโ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐žฃโ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, MENDE KIKAKUI COMBINING NUMBER TEENS, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B 0061 059A 0316 302A 1E8D1 0062;0061 302A 0316 1E8D1 059A 0062;0061 302A 0316 1E8D1 059A 0062;0061 302A 0316 1E8D1 059A 0062;0061 302A 0316 1E8D1 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œ๐žฃ‘b; aโ—Œใ€ชโ—Œฬ–โ—Œ๐žฃ‘โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐žฃ‘โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐žฃ‘โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐žฃ‘โ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, MENDE KIKAKUI COMBINING NUMBER TENS, LATIN SMALL LETTER B @@ -18453,6 +18651,20 @@ 0061 1E8D5 059A 0316 302A 0062;0061 302A 1E8D5 0316 059A 0062;0061 302A 1E8D5 0316 059A 0062;0061 302A 1E8D5 0316 059A 0062;0061 302A 1E8D5 0316 059A 0062; # (aโ—Œ๐žฃ•โ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œ๐žฃ•โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐žฃ•โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐žฃ•โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐žฃ•โ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, MENDE KIKAKUI COMBINING NUMBER HUNDRED THOUSANDS, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B 0061 059A 0316 302A 1E8D6 0062;0061 302A 0316 1E8D6 059A 0062;0061 302A 0316 1E8D6 059A 0062;0061 302A 0316 1E8D6 059A 0062;0061 302A 0316 1E8D6 059A 0062; # (aโ—Œึšโ—Œฬ–โ—Œใ€ชโ—Œ๐žฃ–b; aโ—Œใ€ชโ—Œฬ–โ—Œ๐žฃ–โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐žฃ–โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐žฃ–โ—Œึšb; aโ—Œใ€ชโ—Œฬ–โ—Œ๐žฃ–โ—Œึšb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, MENDE KIKAKUI COMBINING NUMBER MILLIONS, LATIN SMALL LETTER B 0061 1E8D6 059A 0316 302A 0062;0061 302A 1E8D6 0316 059A 0062;0061 302A 1E8D6 0316 059A 0062;0061 302A 1E8D6 0316 059A 0062;0061 302A 1E8D6 0316 059A 0062; # (aโ—Œ๐žฃ–โ—Œึšโ—Œฬ–โ—Œใ€ชb; aโ—Œใ€ชโ—Œ๐žฃ–โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐žฃ–โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐žฃ–โ—Œฬ–โ—Œึšb; aโ—Œใ€ชโ—Œ๐žฃ–โ—Œฬ–โ—Œึšb; ) LATIN SMALL LETTER A, MENDE KIKAKUI COMBINING NUMBER MILLIONS, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E944 0062;00E0 05AE 1E944 0315 0062;0061 05AE 0300 1E944 0315 0062;00E0 05AE 1E944 0315 0062;0061 05AE 0300 1E944 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐žฅ„b; ร โ—Œึฎโ—Œ๐žฅ„โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐žฅ„โ—Œฬ•b; ร โ—Œึฎโ—Œ๐žฅ„โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐žฅ„โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ADLAM ALIF LENGTHENER, LATIN SMALL LETTER B +0061 1E944 0315 0300 05AE 0062;0061 05AE 1E944 0300 0315 0062;0061 05AE 1E944 0300 0315 0062;0061 05AE 1E944 0300 0315 0062;0061 05AE 1E944 0300 0315 0062; # (aโ—Œ๐žฅ„โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐žฅ„โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅ„โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅ„โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅ„โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ADLAM ALIF LENGTHENER, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E945 0062;00E0 05AE 1E945 0315 0062;0061 05AE 0300 1E945 0315 0062;00E0 05AE 1E945 0315 0062;0061 05AE 0300 1E945 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐žฅ…b; ร โ—Œึฎโ—Œ๐žฅ…โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐žฅ…โ—Œฬ•b; ร โ—Œึฎโ—Œ๐žฅ…โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐žฅ…โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ADLAM VOWEL LENGTHENER, LATIN SMALL LETTER B +0061 1E945 0315 0300 05AE 0062;0061 05AE 1E945 0300 0315 0062;0061 05AE 1E945 0300 0315 0062;0061 05AE 1E945 0300 0315 0062;0061 05AE 1E945 0300 0315 0062; # (aโ—Œ๐žฅ…โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐žฅ…โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅ…โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅ…โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅ…โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ADLAM VOWEL LENGTHENER, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E946 0062;00E0 05AE 1E946 0315 0062;0061 05AE 0300 1E946 0315 0062;00E0 05AE 1E946 0315 0062;0061 05AE 0300 1E946 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐žฅ†b; ร โ—Œึฎโ—Œ๐žฅ†โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐žฅ†โ—Œฬ•b; ร โ—Œึฎโ—Œ๐žฅ†โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐žฅ†โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ADLAM GEMINATION MARK, LATIN SMALL LETTER B +0061 1E946 0315 0300 05AE 0062;0061 05AE 1E946 0300 0315 0062;0061 05AE 1E946 0300 0315 0062;0061 05AE 1E946 0300 0315 0062;0061 05AE 1E946 0300 0315 0062; # (aโ—Œ๐žฅ†โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐žฅ†โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅ†โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅ†โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅ†โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ADLAM GEMINATION MARK, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E947 0062;00E0 05AE 1E947 0315 0062;0061 05AE 0300 1E947 0315 0062;00E0 05AE 1E947 0315 0062;0061 05AE 0300 1E947 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐žฅ‡b; ร โ—Œึฎโ—Œ๐žฅ‡โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐žฅ‡โ—Œฬ•b; ร โ—Œึฎโ—Œ๐žฅ‡โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐žฅ‡โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ADLAM HAMZA, LATIN SMALL LETTER B +0061 1E947 0315 0300 05AE 0062;0061 05AE 1E947 0300 0315 0062;0061 05AE 1E947 0300 0315 0062;0061 05AE 1E947 0300 0315 0062;0061 05AE 1E947 0300 0315 0062; # (aโ—Œ๐žฅ‡โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐žฅ‡โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅ‡โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅ‡โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅ‡โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ADLAM HAMZA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E948 0062;00E0 05AE 1E948 0315 0062;0061 05AE 0300 1E948 0315 0062;00E0 05AE 1E948 0315 0062;0061 05AE 0300 1E948 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐žฅˆb; ร โ—Œึฎโ—Œ๐žฅˆโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐žฅˆโ—Œฬ•b; ร โ—Œึฎโ—Œ๐žฅˆโ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐žฅˆโ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ADLAM CONSONANT MODIFIER, LATIN SMALL LETTER B +0061 1E948 0315 0300 05AE 0062;0061 05AE 1E948 0300 0315 0062;0061 05AE 1E948 0300 0315 0062;0061 05AE 1E948 0300 0315 0062;0061 05AE 1E948 0300 0315 0062; # (aโ—Œ๐žฅˆโ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐žฅˆโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅˆโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅˆโ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅˆโ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ADLAM CONSONANT MODIFIER, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 0315 0300 05AE 1E949 0062;00E0 05AE 1E949 0315 0062;0061 05AE 0300 1E949 0315 0062;00E0 05AE 1E949 0315 0062;0061 05AE 0300 1E949 0315 0062; # (aโ—Œฬ•โ—Œฬ€โ—Œึฎโ—Œ๐žฅ‰b; ร โ—Œึฎโ—Œ๐žฅ‰โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐žฅ‰โ—Œฬ•b; ร โ—Œึฎโ—Œ๐žฅ‰โ—Œฬ•b; aโ—Œึฎโ—Œฬ€โ—Œ๐žฅ‰โ—Œฬ•b; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, ADLAM GEMINATE CONSONANT MODIFIER, LATIN SMALL LETTER B +0061 1E949 0315 0300 05AE 0062;0061 05AE 1E949 0300 0315 0062;0061 05AE 1E949 0300 0315 0062;0061 05AE 1E949 0300 0315 0062;0061 05AE 1E949 0300 0315 0062; # (aโ—Œ๐žฅ‰โ—Œฬ•โ—Œฬ€โ—Œึฎb; aโ—Œึฎโ—Œ๐žฅ‰โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅ‰โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅ‰โ—Œฬ€โ—Œฬ•b; aโ—Œึฎโ—Œ๐žฅ‰โ—Œฬ€โ—Œฬ•b; ) LATIN SMALL LETTER A, ADLAM GEMINATE CONSONANT MODIFIER, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B +0061 3099 093C 0334 1E94A 0062;0061 0334 093C 1E94A 3099 0062;0061 0334 093C 1E94A 3099 0062;0061 0334 093C 1E94A 3099 0062;0061 0334 093C 1E94A 3099 0062; # (aโ—Œใ‚™โ—Œเคผโ—Œฬดโ—Œ๐žฅŠb; aโ—Œฬดโ—Œเคผโ—Œ๐žฅŠโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐žฅŠโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐žฅŠโ—Œใ‚™b; aโ—Œฬดโ—Œเคผโ—Œ๐žฅŠโ—Œใ‚™b; ) LATIN SMALL LETTER A, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, ADLAM NUKTA, LATIN SMALL LETTER B +0061 1E94A 3099 093C 0334 0062;0061 0334 1E94A 093C 3099 0062;0061 0334 1E94A 093C 3099 0062;0061 0334 1E94A 093C 3099 0062;0061 0334 1E94A 093C 3099 0062; # (aโ—Œ๐žฅŠโ—Œใ‚™โ—Œเคผโ—Œฬดb; aโ—Œฬดโ—Œ๐žฅŠโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐žฅŠโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐žฅŠโ—Œเคผโ—Œใ‚™b; aโ—Œฬดโ—Œ๐žฅŠโ—Œเคผโ—Œใ‚™b; ) LATIN SMALL LETTER A, ADLAM NUKTA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, LATIN SMALL LETTER B # @Part3 # PRI #29 Test # diff --git a/test/SILGreek2004-04-27.map b/test/SILGreek2004-04-27.map index 946b754..92d1724 100644 --- a/test/SILGreek2004-04-27.map +++ b/test/SILGreek2004-04-27.map @@ -1,5 +1,5 @@ ;SILGreek.map -;Copyright (c) 2002-2014 SIL International. +;Copyright (c) 2002-2016 SIL International. ; SIL Greek diff --git a/test/SILGreek2004-04-27.tec.orig b/test/SILGreek2004-04-27.tec.orig deleted file mode 100644 index 2094f0a..0000000 Binary files a/test/SILGreek2004-04-27.tec.orig and /dev/null differ diff --git a/test/dotests.pl b/test/dotests.pl index d8cc426..aa27401 100755 --- a/test/dotests.pl +++ b/test/dotests.pl @@ -41,7 +41,9 @@ dotest("compiling Greek mapping (compressed)", "${bindir}teckit_compile ${srcdir}SILGreek2004-04-27.map -o SILGreek.tec"); -compare("${srcdir}SILGreek2004-04-27.tec.orig", "SILGreek.tec"); +# Don't bother to check the compressed file as changes to the compression library can +# slightly change the resulting image. The tests below which use the compressed file +# should be sufficient to verify that it can be decompressed/used properly dotest("converting plain-text file to unicode", "${bindir}txtconv -t SILGreek.tec -i ${srcdir}mrk.txt -o mrk.utf8.txt -nfc"); diff --git a/test-driver b/test-driver index d306056..8e575b0 100755 --- a/test-driver +++ b/test-driver @@ -3,7 +3,7 @@ scriptversion=2013-07-13.22; # UTC -# Copyright (C) 2011-2013 Free Software Foundation, Inc. +# Copyright (C) 2011-2014 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -106,11 +106,14 @@ # Test script is run here. "$@" >$log_file 2>&1 estatus=$? + if test $enable_hard_errors = no && test $estatus -eq 99; then - estatus=1 + tweaked_estatus=1 +else + tweaked_estatus=$estatus fi -case $estatus:$expect_failure in +case $tweaked_estatus:$expect_failure in 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; 0:*) col=$grn res=PASS recheck=no gcopy=no;; 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; @@ -118,6 +121,12 @@ *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; *:*) col=$red res=FAIL recheck=yes gcopy=yes;; esac + +# Report the test outcome and exit status in the logs, so that one can +# know whether the test passed or failed simply by looking at the '.log' +# file, without the need of also peaking into the corresponding '.trs' +# file (automake bug#11814). +echo "$res $test_name (exit status: $estatus)" >>$log_file # Report outcome to console. echo "${col}${res}${std}: $test_name"