From: Bowon Ryu Date: Tue, 25 Feb 2020 09:45:30 +0000 (+0900) Subject: Imported Upstream version 1.0.8 X-Git-Tag: upstream/1.0.8^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;ds=sidebyside;h=306f600f5589f3fe0baa43d73adf9545f242a8e9;p=platform%2Fupstream%2Ffribidi.git Imported Upstream version 1.0.8 Change-Id: I4a33bf1ca3db3e198916888ffdaabf603ea246fc --- diff --git a/ChangeLog b/ChangeLog index 4f39aaf..51af35d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,413 @@ +commit c7d6e1668e94bb6418ea5769f4b186ac375a115d +Author: Dov Grobgeld +Date: Fri Dec 13 10:45:34 2019 +0200 + + Fixed bug in the the algo for multiple isolates at different levels + + lib/fribidi-bidi.c | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +commit 034c6e9a1d296286305f4cfd1e0072b879f52568 +Author: Dov Grobgeld +Date: Thu Oct 24 09:37:29 2019 +0300 + + Truncate isolate_level to FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL + + lib/fribidi-bidi.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit deb5884e9cb33913250079e863ff7a50800c77d4 +Author: Dov Grobgeld +Date: Mon Oct 21 23:08:12 2019 +0300 + + Fix misplaced external "C" position necessary for C++ compilation + + lib/fribidi.h | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +commit 79581cc93b26c84edf74c9b51511126e0aacec9e +Author: Dov Grobgeld +Date: Sun Oct 13 11:49:25 2019 +0300 + + Updated the documentation for the undeprecated fribidi_log2vis() + + lib/fribidi.h | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit d569512f20a9ad940b81bbac85f055b07729d760 +Author: Dov Grobgeld +Date: Sun Oct 13 11:26:20 2019 +0300 + + Some cleanup of my last dedeprecation changes. + + lib/fribidi-deprecated.c | 13 ------------- + lib/fribidi-deprecated.h | 16 ++++++++++++++++ + lib/fribidi.h | 24 ++---------------------- + 3 files changed, 18 insertions(+), 35 deletions(-) + +commit 88aff0e4dc58137cd68298244f72d2c683e39a28 +Author: Dov Grobgeld +Date: Sun Oct 13 11:18:50 2019 +0300 + + Undeprecated fribidi_remove_bidi_marks() and fribidi_log2vis(). + + - Fixes issue #86 + + bin/fribidi-main.c | 7 +- + lib/fribidi-deprecated.c | 232 + -------------------------------------------------- + lib/fribidi-deprecated.h | 85 ------------------- + lib/fribidi.c | 233 + ++++++++++++++++++++++++++++++++++++++++++++++++++- + lib/fribidi.h | 84 +++++++++++++++++++ + 5 files changed, 319 insertions(+), 322 deletions(-) + +commit 9e5c3f630198793492352959c1e68ee4303b7c2a +Author: Dov Grobgeld +Date: Sun Oct 13 11:03:08 2019 +0300 + + Added README.md to the distribution tarball (fixes #125) + + Makefile.am | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit aac3845708969b9c4bc2874edc4950123595b1b4 +Author: Dov Grobgeld +Date: Fri Sep 27 18:18:56 2019 +0300 + + Bumped version to 1.0.7 + + NEWS | 5 +++++ + configure.ac | 2 +- + meson.build | 2 +- + 3 files changed, 7 insertions(+), 2 deletions(-) + +commit 88bf9fe9933f46216c3757e27924a3006542ee8d +Merge: 40d0f92 b4da58d +Author: Dov Grobgeld +Date: Fri Sep 27 17:54:17 2019 +0300 + + Merge pull request #123 from bradleysepos/readme-symlink + + Replace README symlink with plain text file. + +commit b4da58d10b840c75a85726f7c59a7d45f125d6db +Author: Bradley Sepos +Date: Fri Sep 27 09:41:19 2019 -0400 + + Replace README symlink with plain text file. + + Fixes #114. + + README | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 40d0f92ef68cfaa17d11a400756a09126ea2686a +Author: Dov Grobgeld +Date: Fri Sep 27 08:03:47 2019 +0300 + + Bumped version to 1.0.6 + + NEWS | 11 +++++++++++ + configure.ac | 2 +- + 2 files changed, 12 insertions(+), 1 deletion(-) + +commit 43a862abe811ca856f166cb91f128f283fd9accf +Merge: 0f849e3 39344c7 +Author: Dov Grobgeld +Date: Fri Sep 27 07:51:34 2019 +0300 + + Merge pull request #118 from vtorri/master + + add the EFL as users + +commit 39344c7f22fb25a41a1bab7d9b28314560deab84 +Author: Vincent Torri +Date: Fri Sep 27 06:44:13 2019 +0200 + + add the EFL as users + + USERS | 1 + + 1 file changed, 1 insertion(+) + +commit 0f849e344d446934b4ecdbe9edc32abd29029731 +Merge: 49196f3 cae9d6e +Author: Dov Grobgeld +Date: Fri Aug 23 10:26:56 2019 +0300 + + Merge pull request #113 from ebraminio/master + + Avoid use of libc's bsearch for performance and portability reasons + +commit cae9d6efc86bfc0f948df7879d0a0a84a939fbbb +Author: Ebrahim Byagowi +Date: Thu Aug 22 13:08:00 2019 +0430 + + Avoid use of libc's bsearch for performance and portability reasons + + lib/fribidi-arabic.c | 22 +++++++++++++++++++++- + 1 file changed, 21 insertions(+), 1 deletion(-) + +commit 49196f3f98ad73881bf382ce0663279b4ebe34fb +Merge: e40838a ec4b7f2 +Author: Dov Grobgeld +Date: Wed Jun 5 08:38:31 2019 +0300 + + Merge pull request #111 from michaelforney/param-qual + + Make parameter qualifiers match between declaration and definition + +commit ec4b7f2790eaeea05e211399b41fd8f59697df29 +Author: Michael Forney +Date: Tue Jun 4 11:43:10 2019 -0700 + + Make parameter qualifiers match between declaration and definition + + lib/fribidi-deprecated.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e40838aa2e425befa446c2137f843a05a62d7ee2 +Author: Khaled Hosny +Date: Sat May 25 12:44:54 2019 +0200 + + Blind fix for Pango build + + https://github.com/fribidi/fribidi/pull/110#issuecomment-495896952 + + lib/fribidi-unicode.h | 2 +- + lib/fribidi.h | 2 -- + 2 files changed, 1 insertion(+), 3 deletions(-) + +commit a4eac7ad01a66959708b299d5c5fec9a494fdf6f +Merge: 852a148 e6ac42f +Author: Khaled Hosny +Date: Sat May 25 00:31:56 2019 +0200 + + Merge pull request #110 from CoffeeFlux/master + + Properly export fribidi_unicode_version + +commit e6ac42f1da9f9e4e4e8e74290225e9e08a29b7cb +Author: Ryan Lucia +Date: Fri May 24 17:11:25 2019 -0400 + + Properly export fribidi_unicode_version + + lib/fribidi.h | 2 ++ + 1 file changed, 2 insertions(+) + +commit 852a148403066613ae2c086bbb2bebf31cab1e5d +Merge: a784cea 7e986fd +Author: Khaled Hosny +Date: Sat May 4 06:13:14 2019 +0200 + + Merge pull request #107 from radarhere/travis + + Updated Travis settings + +commit a784ceaa0891f96f1dacff7f83e1afc6834ddc86 +Author: Andrew Murray +Date: Sat May 4 14:04:12 2019 +1000 + + Fixed typo + + README.md | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7e986fdfe4c49b469d430d420da653c2bef4936c +Author: Andrew Murray +Date: Sat May 4 14:08:01 2019 +1000 + + Removed sudo + + .travis.yml | 2 -- + 1 file changed, 2 deletions(-) + +commit 08f7dd401729dd5b0fd71e96c3692187dbedb1b2 +Author: Andrew Murray +Date: Sat May 4 14:07:41 2019 +1000 + + Revert "travis.yml: Use the meson stable branch to workaround + regression" + + This reverts commit a543e337909c7e4afaa54d5d76107983c438c75d. + + .travis.yml | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +commit c8f4d228d0b470237070f145f2e24bd156f273d1 +Author: luz.paz +Date: Tue Apr 30 14:41:26 2019 -0400 + + Misc. source comment and documentation typo fixes + + Found via `codespell -q 3 -S ./gen.tab` + + NEWS | 2 +- + lib/fribidi-bidi.c | 2 +- + lib/fribidi-char-sets.h | 2 +- + lib/fribidi-common.h | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +commit 58c6cb390a9a18c98b2cbaac555d8ea9352a9e4f +Author: Ryan Lucia +Date: Sun Feb 3 11:51:17 2019 -0500 + + meson: Pass visibility args to test executable + + test/unicode-conformance/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 232044a18a0fc7e7f8bae87a6ddd00493a87aa7d +Author: Ryan Lucia +Date: Sat Feb 2 15:33:55 2019 -0500 + + meson: Pass visibility args to the executables + + bin/meson.build | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit e63fd0180cc46ec7fe0071f5293c9a520c25d1f3 +Author: Khaled Hosny +Date: Wed Nov 14 21:40:40 2018 +0200 + + Depend on the generated headers explicitly + + Otherwise building as subproject can feel if the header were not + already + generated. + https://mesonbuild.com/Wrap-best-practices-and-tips.html#declare-generated-headers-explicitly + + lib/meson.build | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit c8fb314d9cab3e4803054eb9829373f014684dc0 +Author: Khaled Hosny +Date: Sat Sep 8 01:28:38 2018 +0200 + + Add AppVeyor CI support + + appveyor.yml | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +commit a543e337909c7e4afaa54d5d76107983c438c75d +Author: Nirbheek Chauhan +Date: Fri Oct 12 20:08:55 2018 +0530 + + travis.yml: Use the meson stable branch to workaround regression + + meson: error: unrecognized arguments: -u --no-rebuild + --print-errorlogs + FAILED: meson-test + + Upstream PR: https://github.com/mesonbuild/meson/pull/4259 + + .travis.yml | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit ea03c32ee8210c4f8c4a13a5c31f858775b1eb81 +Author: Nirbheek Chauhan +Date: Fri Oct 12 19:43:48 2018 +0530 + + meson: Declare libfribidi as a dependency for usage as a subproject + + Needed for: + + https://gitlab.gnome.org/GNOME/pango/merge_requests/22 + + https://gitlab.gnome.org/GNOME/gtk/merge_requests/232 + + lib/meson.build | 3 +++ + meson.build | 2 +- + 2 files changed, 4 insertions(+), 1 deletion(-) + +commit ef3700f9c6845ce56d80607c5c667ca464466169 +Author: Chun-wei Fan +Date: Thu Sep 13 18:12:15 2018 +0800 + + tests: Fix build on pre-C99 compilers + + Make the tests also build on pre-c99 compilers, since the library + itself + builds on such compilers already. + + test/unicode-conformance/BidiCharacterTest.c | 3 ++- + test/unicode-conformance/BidiTest.c | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +commit e66ddbd18df9db088c33ff080424a76bc65ac63b +Author: Khaled Hosny +Date: Fri Sep 7 23:11:53 2018 +0200 + + Build also with meson on Travis + + .travis.yml | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +commit a6bc1a8b84bd75b6aafaa88946d5a6a0129312e7 +Author: Heiko Becker +Date: Fri Sep 7 20:57:11 2018 +0200 + + Build generator executables natively + + They are run during the build and not installed in the end. Without + this one gets the following error from meson: "ERROR: Can not use + target gen-unicode-version as a generator because it is cross-built + and no exe wrapper is defined. You might want to set it to native + instead." + + Closes #87. + + gen.tab/meson.build | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit b534ab2642f694c3106d5bc8d0a8beae60bf60d3 +Author: Dov Grobgeld +Date: Sat Aug 18 20:37:22 2018 +0300 + + Removed HAVE_CONFIG_H from public API + + bin/fribidi-benchmark.c | 5 +++++ + bin/fribidi-main.c | 5 +++++ + gen.tab/gen-arabic-shaping-tab.c | 4 ++++ + gen.tab/gen-bidi-type-tab.c | 4 ++++ + gen.tab/gen-brackets-tab.c | 4 ++++ + gen.tab/gen-brackets-type-tab.c | 4 ++++ + gen.tab/gen-joining-type-tab.c | 4 ++++ + gen.tab/gen-mirroring-tab.c | 4 ++++ + gen.tab/gen-unicode-version.c | 4 ++++ + lib/bidi-types.h | 2 +- + lib/fribidi-arabic.c | 4 ++++ + lib/fribidi-types.h | 4 ---- + lib/joining-types.h | 2 +- + lib/run.h | 2 +- + 14 files changed, 45 insertions(+), 7 deletions(-) + +commit 46f52d588ab5382a10b68605359e14cc775c86fd +Author: Dov Grobgeld +Date: Tue Jul 24 21:00:51 2018 +0300 + + Fixed bug PFRIBIDI_TYPE_PDF_LRI is undefined. Issue #69 + + - Fixed typos in symbol definitions when the following condition is + undefined in fribidi-bidi-types.h: + + #if defined(__FRIBIDI_DOC) || (FRIBIDI_SIZEOF_INT+0 == 4 && + !defined(__cplusplus)) + + lib/fribidi-bidi-types.h | 8 ++++---- + lib/fribidi-bidi.c | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +commit 5b6a16e8da12ae7ff482fbfa5a17b72bd518418f +Author: Dov Grobgeld +Date: Mon Jul 23 00:09:31 2018 +0300 + + Updated NEWS file. + + NEWS | 9 +++++++++ + 1 file changed, 9 insertions(+) + commit f245343730303bf7edd2af751d739f977466bf41 Author: Dov Grobgeld Date: Mon Jul 23 00:04:19 2018 +0300 @@ -41,8 +451,8 @@ Date: Sat Jun 30 23:15:21 2018 +0300 Reduce dynamic allocations by using arrays for all small arrays. lib/fribidi-bidi.c | 64 - +++++++++++++++++++++++------------------------- - lib/fribidi-deprecated.c | 44 ++++++++++++++++++++++++--------- + +++++++++++++++++++++++++--------------------------- + lib/fribidi-deprecated.c | 44 +++++++++++++++++++++++++++--------- 2 files changed, 64 insertions(+), 44 deletions(-) commit 902618192f1cdb4430e4f2dfc032d9fb36fccc5b @@ -87,10 +497,10 @@ Date: Wed Jun 6 03:44:22 2018 +0200 gen.tab/unidata/ArabicShaping.txt | 104 +++- gen.tab/unidata/BidiBrackets.txt | 6 +- - gen.tab/unidata/BidiMirroring.txt | 141 +++-- + gen.tab/unidata/BidiMirroring.txt | 141 +++--- gen.tab/unidata/ReadMe.txt | 9 +- gen.tab/unidata/UnicodeData.txt | 778 - +++++++++++++++++++++++-- + +++++++++++++++++++++++++++-- test/unicode-conformance/BidiCharacterTest.txt | 6 +- test/unicode-conformance/BidiTest.txt | 11 +- 7 files changed, 917 insertions(+), 138 deletions(-) @@ -256,11 +666,11 @@ Date: Sat Mar 10 18:37:47 2018 +0200 configure.ac | 20 --- meson_options.txt | 2 - test/unicode-conformance/Makefile.am | 2 - - test/unicode-conformance/meson.build | 31 ++-- + test/unicode-conformance/meson.build | 31 ++--- test/unicode-conformance/test-character.c | 218 - ++++++++++++++++----------- + ++++++++++++++++++------------ test/unicode-conformance/test.c | 242 - +++++++++++++++++++----------- + +++++++++++++++++++++------------- 6 files changed, 299 insertions(+), 216 deletions(-) commit 565f83a13099dfdcec083f4d3e5293df4ed36e63 @@ -468,16 +878,17 @@ Date: Fri Feb 16 00:09:33 2018 +0000 http://mesonbuild.com for more information. - bin/meson.build | 27 ++++++++++ - doc/meson.build | 39 ++++++++++++++ - gen.tab/meson.build | 79 +++++++++++++++++++++++++++ - lib/meson.build | 75 ++++++++++++++++++++++++++ + bin/meson.build | 27 +++++++++++ + doc/meson.build | 39 +++++++++++++++ + gen.tab/meson.build | 79 + +++++++++++++++++++++++++++++++ + lib/meson.build | 75 +++++++++++++++++++++++++++++ meson.build | 100 - +++++++++++++++++++++++++++++++++++ + +++++++++++++++++++++++++++++++++++++++ meson_options.txt | 6 +++ - test/meson.build | 20 +++++++ - test/test-runner.py | 25 +++++++++ - test/unicode-conformance/meson.build | 19 +++++++ + test/meson.build | 20 ++++++++ + test/test-runner.py | 25 ++++++++++ + test/unicode-conformance/meson.build | 19 ++++++++ 9 files changed, 390 insertions(+) commit 4c97999ad09f683560bfdf69b4539558401cad41 @@ -556,14 +967,14 @@ Date: Wed Feb 14 21:06:06 2018 +0200 Makefile.am | 2 +- bin/Makefile.am | 3 +-- - charset/Headers.mk | 8 ------ + charset/Headers.mk | 8 ------- charset/Makefile.am | 36 - -------------------------- + ------------------------------ configure.ac | 1 - doc/Makefile.am | 6 ----- gen.tab/Makefile.am | 3 +-- lib/Headers.mk | 2 ++ - lib/Makefile.am | 20 +++++++++----- + lib/Makefile.am | 20 +++++++++++------ {charset => lib}/fribidi-char-sets-cap-rtl.c | 0 {charset => lib}/fribidi-char-sets-cap-rtl.h | 0 {charset => lib}/fribidi-char-sets-cp1255.c | 0 @@ -731,12 +1142,12 @@ Date: Sun Feb 11 00:49:13 2018 +0200 Fixes the rest of https://github.com/fribidi/fribidi/issues/35 - .travis.yml | 5 +- + .travis.yml | 5 +-- Makefile.am | 2 +- README.md | 2 +- - autogen.sh | 35 ++++++++++++++ + autogen.sh | 35 +++++++++++++++ bootstrap | 154 - ------------------------------------------------------------ + ---------------------------------------------------------------- 5 files changed, 38 insertions(+), 160 deletions(-) commit 3b5baaebf3dead4d2c1ed7a04278cc58b8c3fc85 @@ -783,7 +1194,7 @@ Date: Sun Jan 28 11:43:11 2018 -0800 Remove notes.org notes.org | 318 - -------------------------------------------------------------- + ------------------------------------------------------------------ 1 file changed, 318 deletions(-) commit 544b56553b94a2425f52f4b6c29f0a9abe403161 @@ -907,10 +1318,10 @@ Date: Sun Jan 28 11:46:28 2018 -0800 Update git.mk - Makefile.am | 19 ++--- + Makefile.am | 19 ++---- configure.ac | 2 +- git.mk | 228 - ++++++++++++++++++++++++++++++++++++++++++++++++++++------- + +++++++++++++++++++++++++++++++++++++++++++++++++++++++-------- 3 files changed, 207 insertions(+), 42 deletions(-) commit 5a99e2895bcf50c0ee3bb9445e45b8cbff6ebc4d @@ -990,9 +1401,9 @@ Date: Sat Jan 13 23:56:30 2018 +0200 m4_ax_prog_cc_for_build.m4 instead as suggested by Khaled. configure.ac | 22 +------- - gen.tab/Makefile.am | 20 +++---- + gen.tab/Makefile.am | 20 ++++---- m4/m4_ax_prog_cc_for_build.m4 | 125 - ++++++++++++++++++++++++++++++++++++++++++ + ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 137 insertions(+), 30 deletions(-) commit 4a732cf9d28228a0698e9c6fa76206874b6125dd @@ -1045,10 +1456,10 @@ Date: Thu Nov 23 10:34:44 2017 -0800 Misc warning fixes - fribidi-vs-unicode/test-character.c | 22 ++++++------ + fribidi-vs-unicode/test-character.c | 22 +++++++------ fribidi-vs-unicode/test.c | 6 ++-- lib/fribidi-bidi.c | 72 - +++++++++++++++++++------------------ + +++++++++++++++++++++-------------------- lib/fribidi-brackets.c | 3 +- 4 files changed, 53 insertions(+), 50 deletions(-) @@ -1246,7 +1657,7 @@ Date: Mon Nov 13 17:14:20 2017 +0200 lib/fribidi-flags.h | 2 +- lib/fribidi-joining-types.h | 4 +- lib/fribidi-types.h | 96 - +++++++++-------------------------------- + ++++++++++----------------------------------- 12 files changed, 48 insertions(+), 108 deletions(-) commit c8e9c5d684f1ba15ca46e38493c995ad5be3646c @@ -1528,13 +1939,13 @@ Date: Tue Nov 7 21:55:06 2017 +0200 test.c and test-character.c . fribidi-vs-unicode/test-character.c | 35 - ++++++++++++++++++---------------- + +++++++++++++++++++---------------- fribidi-vs-unicode/test.c | 38 - ++++++++++++++++++++----------------- + +++++++++++++++++++++----------------- lib/fribidi-bidi.c | 2 +- lib/fribidi-bidi.h | 6 +++--- - lib/fribidi-deprecated.c | 27 ++++++++++++++++++++++---- - lib/fribidi-deprecated.h | 21 +++++++++++++++++--- + lib/fribidi-deprecated.c | 27 +++++++++++++++++++++++---- + lib/fribidi-deprecated.h | 21 ++++++++++++++++++--- 6 files changed, 85 insertions(+), 44 deletions(-) commit a0ab164431e18fa7cdf5b0a8ce4fcbe26f7b022b @@ -1544,9 +1955,10 @@ Date: Mon Nov 6 17:35:28 2017 -0800 Update README.md HACKING | 2 - - README | 158 +------------------------------------------------------- + README | 158 + +----------------------------------------------------------- README.md | 174 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 175 insertions(+), 159 deletions(-) commit 75c350705ef09e6505aa1080188b75a8b4fccc5e @@ -1558,7 +1970,7 @@ Date: Mon Nov 6 17:23:10 2017 -0500 Oops. build/fribidi-vs-unicode/Makefile | 698 - -------------------------------------- + ------------------------------------------ 1 file changed, 698 deletions(-) commit 7be4e8f87c77d0ff4bdbd1638768e8772d89f7b2 @@ -1625,7 +2037,7 @@ Date: Tue Aug 1 20:18:38 2017 +0300 THANKS | 12 +- bin/fribidi-benchmark.c | 2 +- bin/fribidi-main.c | 2 +- - charset/fribidi-char-sets-cap-rtl.c | 38 +- + charset/fribidi-char-sets-cap-rtl.c | 38 ++- charset/fribidi-char-sets-cap-rtl.h | 2 +- charset/fribidi-char-sets-cp1255.c | 2 +- charset/fribidi-char-sets-cp1255.h | 2 +- @@ -1643,13 +2055,13 @@ Date: Tue Aug 1 20:18:38 2017 +0300 configure.ac | 11 +- doc/Makefile.am | 3 +- fribidi-vs-unicode/Makefile.am | 27 ++ - fribidi-vs-unicode/test-character.c | 409 ++++++++++++++++++++ - fribidi-vs-unicode/test.c | 391 +++++++++++++++++++ + fribidi-vs-unicode/test-character.c | 409 +++++++++++++++++++++++ + fribidi-vs-unicode/test.c | 391 ++++++++++++++++++++++ gen.tab/Makefile.am | 32 +- gen.tab/gen-arabic-shaping-tab.c | 2 +- gen.tab/gen-bidi-type-tab.c | 2 +- - gen.tab/gen-brackets-tab.c | 345 +++++++++++++++++ - gen.tab/gen-brackets-type-tab.c | 238 ++++++++++++ + gen.tab/gen-brackets-tab.c | 345 +++++++++++++++++++ + gen.tab/gen-brackets-type-tab.c | 238 +++++++++++++ gen.tab/gen-joining-type-tab.c | 2 +- gen.tab/gen-mirroring-tab.c | 2 +- gen.tab/gen-unicode-version.c | 2 +- @@ -1664,7 +2076,7 @@ Date: Tue Aug 1 20:18:38 2017 +0300 lib/fribidi-bidi-types.c | 2 +- lib/fribidi-bidi-types.h | 31 +- lib/fribidi-bidi.c | 681 - +++++++++++++++++++++++++++++++--- + ++++++++++++++++++++++++++++++++++---- lib/fribidi-bidi.h | 4 +- lib/fribidi-brackets.c | 106 ++++++ lib/fribidi-brackets.h | 90 +++++ @@ -1680,7 +2092,7 @@ Date: Tue Aug 1 20:18:38 2017 +0300 lib/fribidi-mem.c | 2 +- lib/fribidi-mirroring.c | 4 +- lib/fribidi-mirroring.h | 4 +- - lib/fribidi-run.c | 77 +--- + lib/fribidi-run.c | 77 ++--- lib/fribidi-shape.c | 2 +- lib/fribidi-shape.h | 2 +- lib/fribidi-types.h | 14 +- @@ -1700,9 +2112,9 @@ Date: Tue Aug 1 20:10:28 2017 +0300 Updated Unicode data tables to version 10. - fribidi-vs-unicode/BidiCharacterTest.txt | 96437 ++++++ + fribidi-vs-unicode/BidiCharacterTest.txt | 96437 +++++++ fribidi-vs-unicode/BidiTest.txt | 497588 - ++++++++++++++++++++++++++++ + ++++++++++++++++++++++++++++++++ gen.tab/unidata/ArabicShaping.txt | 442 +- gen.tab/unidata/BidiBrackets.txt | 185 + gen.tab/unidata/BidiMirroring.txt | 38 +- @@ -1738,7 +2150,7 @@ Date: Tue Aug 4 15:56:21 2015 +0200 even build, better to clean up the unnecessary #if #else maze. bin/fribidi-main.c | 61 - +----------------------------------------------------- + +--------------------------------------------------------- 1 file changed, 1 insertion(+), 60 deletions(-) commit e71e49f9645d21ab511723caf8c75e8d9880aacf @@ -1778,7 +2190,7 @@ Date: Wed Dec 21 17:24:36 2016 -0600 Makefile.am | 2 +- build/fribidi-vs-unicode/Makefile | 698 - ++++++++++++++++++++++++++++++++++++++ + ++++++++++++++++++++++++++++++++++++++++++ configure.ac | 3 +- 3 files changed, 701 insertions(+), 2 deletions(-) @@ -1800,10 +2212,10 @@ Date: Wed Dec 21 16:11:11 2016 -0600 I need to redo this without exposing full FriBidiRun struct. lib/fribidi-bidi.c | 112 - --------------------------------------------------- - lib/fribidi-bidi.h | 29 ------------- + ------------------------------------------------------- + lib/fribidi-bidi.h | 29 -------------- lib/fribidi-common.h | 14 ++----- - lib/run.h | 11 +++++ + lib/run.h | 11 ++++++ 4 files changed, 15 insertions(+), 151 deletions(-) commit 3cbee0b737393c631debeddd71fa631282f74a5c @@ -1816,7 +2228,7 @@ Date: Sat Jan 30 22:50:13 2016 +0200 fribidi-vs-unicode/test-character.c | 4 +- fribidi-vs-unicode/test.c | 2 +- notes.org | 149 - ++++++++++++++++++++++++++++++++++-- + ++++++++++++++++++++++++++++++++++++++-- 4 files changed, 147 insertions(+), 9 deletions(-) commit 32a6cc7141052764065d7714240e782366a8e61b @@ -1825,9 +2237,9 @@ Date: Mon Jan 25 21:48:24 2016 +0200 Dov's work area for unicode63 development. - fribidi-vs-unicode/BidiCharacterTest.txt | 96392 ++++++ + fribidi-vs-unicode/BidiCharacterTest.txt | 96392 +++++++ fribidi-vs-unicode/BidiTest.txt | 497588 - ++++++++++++++++++++++++++++ + ++++++++++++++++++++++++++++++++ fribidi-vs-unicode/SConstruct | 15 + fribidi-vs-unicode/test-character.c | 379 + fribidi-vs-unicode/test.c | 384 + @@ -1871,23 +2283,23 @@ Date: Mon Jan 25 21:31:13 2016 +0200 charset/fribidi-char-sets.c | 2 +- doc/Makefile.am | 3 +- gen.tab/gen-joining-type-tab.c | 4 + - gen.tab/unidata/ArabicShaping.txt | 227 +++++++++++++++++++++++++-- + gen.tab/unidata/ArabicShaping.txt | 227 ++++++++++++++++++++++++++++-- gen.tab/unidata/BidiMirroring.txt | 14 +- gen.tab/unidata/ReadMe.txt | 8 +- - gen.tab/unidata/UnicodeData.txt | 21 ++- + gen.tab/unidata/UnicodeData.txt | 21 +-- lib/common.h | 2 +- lib/debug.h | 4 + lib/fribidi-bidi-types-list.h | 4 + lib/fribidi-bidi-types.h | 29 +++- lib/fribidi-bidi.c | 301 - ++++++++++++++++++++++++++++++------ + ++++++++++++++++++++++++++++++++++------ lib/fribidi-common.h | 1 + lib/fribidi-deprecated.c | 1 + lib/fribidi-run.c | 6 +- lib/fribidi-unicode.h | 10 +- test/Makefile.am | 4 +- - test/test_CapRTL_isolate.input | 8 + - test/test_CapRTL_isolate.reference | 8 + + test/test_CapRTL_isolate.input | 8 ++ + test/test_CapRTL_isolate.reference | 8 ++ 22 files changed, 613 insertions(+), 96 deletions(-) commit 881b8d891cc61989ab8811b74d0e721f72bf913b @@ -1924,10 +2336,10 @@ Date: Thu Dec 24 11:27:47 2015 +0400 lib/fribidi-bidi.c | 1 - lib/fribidi-joining.c | 1 - lib/fribidi-mem.c | 140 - -------------------------------------------------- - lib/fribidi-run.c | 38 -------------- + ------------------------------------------------------ + lib/fribidi-run.c | 38 --------------- lib/fribidi.c | 3 -- - lib/mem.h | 97 ---------------------------------- + lib/mem.h | 97 ------------------------------------- 8 files changed, 285 deletions(-) commit 9d8c69b4aea7302391b1cafb3c1fa5c3d8c95198 @@ -1952,10 +2364,10 @@ Date: Thu Nov 26 14:52:13 2015 +0400 it can be used e.g. with HarfBuzz. lib/fribidi-bidi.c | 112 - +++++++++++++++++++++++++++++++++++++++++++++++++++ - lib/fribidi-bidi.h | 29 +++++++++++++ + +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + lib/fribidi-bidi.h | 29 ++++++++++++++ lib/fribidi-common.h | 14 +++++-- - lib/run.h | 11 ----- + lib/run.h | 11 ------ 4 files changed, 151 insertions(+), 15 deletions(-) commit 7fd7d2badedffce5a3328301ba86204a24eed0a3 @@ -2329,7 +2741,7 @@ Date: Sat Aug 25 17:41:02 2012 -0400 doc/Makefile.am | 2 + gen.tab/Makefile.am | 2 + git.mk | 224 - ++++++++++++++++++++++++++++++++++++++++++++++++++++ + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ lib/Makefile.am | 2 + test/Makefile.am | 2 + 8 files changed, 238 insertions(+) @@ -2349,11 +2761,11 @@ Date: Sat Aug 25 17:36:07 2012 -0400 Update Unicode data files to 6.1.0 - gen.tab/unidata/ArabicShaping.txt | 287 ++++++++------ + gen.tab/unidata/ArabicShaping.txt | 287 ++++++++------- gen.tab/unidata/BidiMirroring.txt | 28 +- gen.tab/unidata/ReadMe.txt | 6 +- gen.tab/unidata/UnicodeData.txt | 799 - ++++++++++++++++++++++++++++++++++++-- + ++++++++++++++++++++++++++++++++++++++++-- 4 files changed, 956 insertions(+), 164 deletions(-) commit d39b179d8de65a19390e50cfb39bb36ae193d65b @@ -2385,7 +2797,7 @@ Date: Fri Jan 21 22:49:59 2011 +0000 gen.tab/unidata/BidiMirroring.txt | 27 +- gen.tab/unidata/ReadMe.txt | 12 +- gen.tab/unidata/UnicodeData.txt | 5261 - +++++++++++++++++++++++++++++++++---- + +++++++++++++++++++++++++++++++++++++---- 5 files changed, 4882 insertions(+), 498 deletions(-) commit 6c535469bfbff7983f5052fa3cf6f8eb8dc2f26a @@ -2486,7 +2898,7 @@ Date: Tue Apr 8 21:38:22 2008 +0000 gen.tab/unidata/BidiMirroring.txt | 42 +- gen.tab/unidata/ReadMe.txt | 10 +- gen.tab/unidata/UnicodeData.txt | 1694 - ++++++++++++++++++++++++++++++++++++- + ++++++++++++++++++++++++++++++++++++++++- lib/Makefile.am | 2 +- lib/common.h | 10 +- 6 files changed, 1721 insertions(+), 71 deletions(-) @@ -2519,7 +2931,7 @@ Date: Tue Jan 15 19:59:34 2008 +0000 configure.ac | 9 ++-- fribidi.spec.in | 145 - -------------------------------------------------------- + ------------------------------------------------------------ 2 files changed, 4 insertions(+), 150 deletions(-) commit 753ed9aed90f9d31e6ff404c0c7befadbfd18d23 @@ -2579,7 +2991,7 @@ Date: Fri Jul 21 22:29:10 2006 +0000 gen.tab/unidata/BidiMirroring.txt | 42 +- gen.tab/unidata/ReadMe.txt | 31 +- gen.tab/unidata/UnicodeData.txt | 1493 - +++++++++++++++++++++++++++++++++++-- + +++++++++++++++++++++++++++++++++++++++-- 4 files changed, 1520 insertions(+), 91 deletions(-) commit 105e8f3c8f67fcd5a1620f9a9059b550067c1ac0 @@ -2624,38 +3036,39 @@ Date: Tue Jan 31 03:23:12 2006 +0000 Add an option --disable-deprecated. - bin/fribidi-benchmark.c | 16 +++++++------- + bin/fribidi-benchmark.c | 16 ++++++++-------- bin/fribidi-main.c | 45 - +++++++++++++++++++++++----------------- - charset/fribidi-char-sets.c | 16 +++++++------- - configure.ac | 23 ++++++++++++++------ - gen.tab/gen-arabic-shaping-tab.c | 12 +++++------ - gen.tab/gen-bidi-type-tab.c | 12 +++++------ - gen.tab/gen-joining-type-tab.c | 12 +++++------ - gen.tab/gen-mirroring-tab.c | 12 +++++------ - gen.tab/gen-unicode-version.c | 12 +++++------ - gen.tab/packtab.c | 8 +++---- - lib/bidi-types.h | 8 +++---- - lib/common.h | 21 +++++++++---------- - lib/debug.h | 8 +++---- - lib/fribidi-arabic.c | 8 +++---- - lib/fribidi-bidi-types.c | 8 +++---- - lib/fribidi-bidi-types.h | 17 +++------------ - lib/fribidi-bidi.c | 8 +++---- - lib/fribidi-common.h | 18 ++++++++-------- - lib/fribidi-deprecated.c | 11 ++++++---- - lib/fribidi-deprecated.h | 30 ++++++++++++++++++++++++--- - lib/fribidi-joining-types.c | 8 +++---- - lib/fribidi-joining.c | 8 +++---- - lib/fribidi-mem.c | 12 ++++++----- - lib/fribidi-run.c | 30 +++++++++++++-------------- - lib/fribidi-types.h | 39 +++++++++++++++++----------------- - lib/fribidi-unicode.h | 33 +++++++---------------------- - lib/fribidi.c | 21 ++++++++++--------- - lib/fribidi.h | 13 +++++++----- - lib/joining-types.h | 8 +++---- - lib/mem.h | 34 +++++++++++++++--------------- - lib/run.h | 8 +++---- + +++++++++++++++++++++++++------------------- + charset/fribidi-char-sets.c | 16 ++++++++-------- + configure.ac | 23 ++++++++++++++++------ + gen.tab/gen-arabic-shaping-tab.c | 12 ++++++------ + gen.tab/gen-bidi-type-tab.c | 12 ++++++------ + gen.tab/gen-joining-type-tab.c | 12 ++++++------ + gen.tab/gen-mirroring-tab.c | 12 ++++++------ + gen.tab/gen-unicode-version.c | 12 ++++++------ + gen.tab/packtab.c | 8 ++++---- + lib/bidi-types.h | 8 ++++---- + lib/common.h | 21 ++++++++++----------- + lib/debug.h | 8 ++++---- + lib/fribidi-arabic.c | 8 ++++---- + lib/fribidi-bidi-types.c | 8 ++++---- + lib/fribidi-bidi-types.h | 17 +++-------------- + lib/fribidi-bidi.c | 8 ++++---- + lib/fribidi-common.h | 18 +++++++++--------- + lib/fribidi-deprecated.c | 11 +++++++---- + lib/fribidi-deprecated.h | 30 ++++++++++++++++++++++++++--- + lib/fribidi-joining-types.c | 8 ++++---- + lib/fribidi-joining.c | 8 ++++---- + lib/fribidi-mem.c | 12 +++++++----- + lib/fribidi-run.c | 30 ++++++++++++++--------------- + lib/fribidi-types.h | 39 + +++++++++++++++++++------------------- + lib/fribidi-unicode.h | 33 +++++++------------------------- + lib/fribidi.c | 21 +++++++++++---------- + lib/fribidi.h | 13 ++++++++----- + lib/joining-types.h | 8 ++++---- + lib/mem.h | 34 ++++++++++++++++----------------- + lib/run.h | 8 ++++---- 31 files changed, 269 insertions(+), 250 deletions(-) commit 570efad0b961ad106a05f2dbabeedbed477ea161 @@ -2759,9 +3172,9 @@ Date: Thu Nov 3 01:39:01 2005 +0000 configure.ac | 20 +-- doc/Makefile.am | 2 +- gen.tab/Makefile.am | 16 +- - gen.tab/gen-arabic-liga.sh | 9 + + gen.tab/gen-arabic-liga.sh | 9 ++ gen.tab/gen-arabic-shaping-tab.c | 310 - +++++++++++++++++++++++++++++++++++ + +++++++++++++++++++++++++++++++++++++++ gen.tab/gen-bidi-type-tab.c | 12 +- gen.tab/gen-joining-type-tab.c | 10 +- gen.tab/gen-mirroring-tab.c | 12 +- @@ -2769,32 +3182,32 @@ Date: Thu Nov 3 01:39:01 2005 +0000 gen.tab/packtab.c | 1 + lib/Headers.mk | 5 +- lib/Makefile.am | 8 +- - lib/arabic-misc.tab.i | 94 +++++++++++ + lib/arabic-misc.tab.i | 94 ++++++++++++ lib/debug.h | 7 +- - lib/fribidi-arabic.c | 190 +++++++++++++++++++++ - lib/fribidi-arabic.h | 88 ++++++++++ - lib/fribidi-bidi.c | 62 ++----- + lib/fribidi-arabic.c | 190 ++++++++++++++++++++++++ + lib/fribidi-arabic.h | 88 +++++++++++ + lib/fribidi-bidi.c | 62 ++------ lib/fribidi-bidi.h | 31 ++-- lib/fribidi-common.h | 29 +++- lib/fribidi-config.h.in | 3 - lib/fribidi-deprecated.c | 296 - +++++++++++++++++++++++++++++++++ - lib/fribidi-deprecated.h | 210 ++++++++++++++++++++++++ - lib/fribidi-env.c | 121 -------------- - lib/fribidi-env.h | 126 -------------- - lib/fribidi-flags.h | 78 +++++++++ + +++++++++++++++++++++++++++++++++++++ + lib/fribidi-deprecated.h | 210 ++++++++++++++++++++++++++ + lib/fribidi-env.c | 121 --------------- + lib/fribidi-env.h | 126 ---------------- + lib/fribidi-flags.h | 78 ++++++++++ lib/fribidi-joining-types.c | 10 +- lib/fribidi-joining-types.h | 9 +- lib/fribidi-joining.c | 40 +++-- lib/fribidi-mem.c | 8 +- lib/fribidi-mirroring.c | 10 +- lib/fribidi-run.c | 13 +- - lib/{env.h => fribidi-shape.c} | 53 +++--- - lib/fribidi-shape.h | 77 +++++++++ + lib/{env.h => fribidi-shape.c} | 53 ++++--- + lib/fribidi-shape.h | 77 ++++++++++ lib/fribidi-types.h | 24 +-- lib/fribidi-unicode.h | 12 +- - lib/fribidi.c | 213 +++--------------------- - lib/fribidi.h | 116 ++----------- + lib/fribidi.c | 213 ++++----------------------- + lib/fribidi.h | 116 ++------------- lib/joining-types.h | 8 +- test/test_UTF-8_persian.reference | 28 ++-- test/test_UTF-8_reordernsm.reference | 14 +- @@ -2899,19 +3312,19 @@ Date: Sat Jul 30 09:06:27 2005 +0000 .cvsignore | 1 + Makefile.am | 7 ++-- - USERS | 4 +- - bin/fribidi-benchmark.c | 17 ++++---- - bin/fribidi-bidi-types.c | 7 +++- - bin/fribidi-caprtl2utf8.c | 17 ++++---- - bin/fribidi-main.c | 30 +++++++------- + USERS | 4 ++- + bin/fribidi-benchmark.c | 17 +++++---- + bin/fribidi-bidi-types.c | 7 ++-- + bin/fribidi-caprtl2utf8.c | 17 +++++---- + bin/fribidi-main.c | 30 ++++++++-------- charset/fribidi-char-sets-cap-rtl.c | 78 - +++++++++++++++++++++---------------- - charset/fribidi-char-sets-utf8.c | 12 +++--- - configure.ac | 20 +++++----- - gen.tab/gen-unicode-version.c | 33 ++++++++-------- - lib/fribidi-bidi.c | 10 ++--- - lib/fribidi-types.h | 10 ++--- - lib/fribidi.c | 8 ++-- + ++++++++++++++++++++++++----------------- + charset/fribidi-char-sets-utf8.c | 12 +++---- + configure.ac | 20 +++++------ + gen.tab/gen-unicode-version.c | 33 ++++++++--------- + lib/fribidi-bidi.c | 10 +++--- + lib/fribidi-types.h | 10 +++--- + lib/fribidi.c | 8 ++--- 14 files changed, 138 insertions(+), 116 deletions(-) commit 6f84aff9f7901178ef9e7e2e463a04e639b5a606 @@ -2945,9 +3358,9 @@ Date: Tue Jun 7 08:43:17 2005 +0000 Updated to read version from BidiMirroring.txt, if not found in ReadMe.txt. - gen.tab/Makefile.am | 5 +-- + gen.tab/Makefile.am | 5 ++-- gen.tab/gen-unicode-version.c | 75 - ++++++++++++++++++++++++++++--------------- + +++++++++++++++++++++++++++++++---------------- gen.tab/unidata/ReadMe.txt | 3 -- 3 files changed, 53 insertions(+), 30 deletions(-) @@ -2978,9 +3391,9 @@ Date: Tue Jun 7 08:39:14 2005 +0000 An integrated CapRTL to UTF-8 converter added. bin/Makefile.am | 2 +- - bin/fribidi-caprtl2utf8.c | 32 +++++++++++++++ + bin/fribidi-caprtl2utf8.c | 32 ++++++++++++++++ test/caprtl2unicode.py | 102 - ---------------------------------------------- + -------------------------------------------------- 3 files changed, 33 insertions(+), 103 deletions(-) commit 10a1d7d29e5fc41f27e6296382c6de9a82aa5a99 @@ -2999,11 +3412,11 @@ Date: Tue Jun 7 07:31:13 2005 +0000 Unicode 4.1 character database update. - gen.tab/unidata/ArabicShaping.txt | 105 ++- + gen.tab/unidata/ArabicShaping.txt | 105 +++- gen.tab/unidata/BidiMirroring.txt | 39 +- gen.tab/unidata/ReadMe.txt | 47 +- gen.tab/unidata/UnicodeData.txt | 1383 - +++++++++++++++++++++++++++++++++++-- + +++++++++++++++++++++++++++++++++++++++-- 4 files changed, 1448 insertions(+), 126 deletions(-) commit 004756f080f6bf20b27b61b419317a05a529227a @@ -3013,7 +3426,7 @@ Date: Mon Jan 10 06:43:53 2005 +0000 Better conversion table from CapRTL to Unicode. charset/fribidi-char-sets-cap-rtl.c | 40 - +++++++++++++++++++++++++++---------- + ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) commit 294e001ae47168d63a2e7e7eaf7ede2a7a3dc1ae @@ -3050,7 +3463,7 @@ Date: Wed Jan 5 16:45:56 2005 +0000 Adding CapRTL to Unicode (UTF-8) convertor. test/caprtl2unicode.py | 104 - +++++++++++++++++++++++++++++++++++++++++++++++++ + +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) commit 5db31e96f3c6b904325939e648a363cbcac56b14 @@ -3170,11 +3583,11 @@ Date: Mon Jun 21 21:15:31 2004 +0000 which is a proposed changed to be applied for Unicode 4.1. .indent.pro | 2 +- - lib/fribidi-bidi.h | 17 +++--- - lib/fribidi-joining-types.h | 18 ++++-- + lib/fribidi-bidi.h | 17 ++++--- + lib/fribidi-joining-types.h | 18 ++++--- lib/fribidi-joining.c | 133 - ++++++++++++++++++++++++++------------------ - lib/fribidi-joining.h | 15 +++-- + ++++++++++++++++++++++++++++-------------------- + lib/fribidi-joining.h | 15 +++--- lib/fribidi-unicode.h | 14 ++--- lib/fribidi.c | 10 ++-- lib/fribidi.h | 8 +-- @@ -3190,17 +3603,17 @@ Date: Mon Jun 21 18:49:23 2004 +0000 need str anymore: they just need this bidi_types. - lib/bidi-types.h | 8 +++---- - lib/common.h | 11 +++++++--- - lib/fribidi-bidi-types.h | 14 +++++++----- + lib/bidi-types.h | 8 +++----- + lib/common.h | 11 ++++++++--- + lib/fribidi-bidi-types.h | 14 ++++++++----- lib/fribidi-bidi.c | 55 - +++++++++++++++++++++--------------------------- - lib/fribidi-bidi.h | 43 ++++++------------------------------- - lib/fribidi-joining.c | 17 +++++++++++---- - lib/fribidi-run.c | 15 ++++++------- - lib/fribidi-unicode.h | 18 +++++++++++----- - lib/fribidi.c | 20 +++++++++++++----- - lib/run.h | 11 +++++----- + +++++++++++++++++++++++----------------------------- + lib/fribidi-bidi.h | 43 +++++++--------------------------------- + lib/fribidi-joining.c | 17 ++++++++++++---- + lib/fribidi-run.c | 15 +++++++------- + lib/fribidi-unicode.h | 18 ++++++++++++----- + lib/fribidi.c | 20 ++++++++++++++----- + lib/run.h | 11 +++++------ 10 files changed, 104 insertions(+), 108 deletions(-) commit b1a9af57fe88c46b5f9f7fd47db37895b3e58e78 @@ -3238,12 +3651,12 @@ Date: Fri Jun 18 19:21:33 2004 +0000 breaking. Also calculate more reasonable levels for explicit marks and BN. - lib/fribidi-bidi-types.h | 13 ++++++----- + lib/fribidi-bidi-types.h | 13 +++++++----- lib/fribidi-bidi.c | 56 - +++++++++++++++++++++++++++++++++++++----------- - lib/fribidi-bidi.h | 30 ++++++++++++++++---------- - lib/fribidi-types.h | 10 ++++----- - lib/fribidi.c | 10 ++++----- + ++++++++++++++++++++++++++++++++++++++++------------ + lib/fribidi-bidi.h | 30 +++++++++++++++++----------- + lib/fribidi-types.h | 10 +++++----- + lib/fribidi.c | 10 ++++------ 5 files changed, 79 insertions(+), 40 deletions(-) commit 7ca6352ed7890ea20a23e6957c7cd4928c0fe7d1 @@ -3270,29 +3683,29 @@ Date: Tue Jun 15 11:52:02 2004 +0000 charset/fribidi-char-sets-cap-rtl.c | 8 +- configure.ac | 10 +-- gen.tab/Makefile.am | 16 +++- - gen.tab/gen-bidi-type-tab.c | 9 +- - gen.tab/gen-joining-type-tab.c | 9 +- - gen.tab/gen-mirroring-tab.c | 9 +- - gen.tab/gen-unicode-version.c | 9 +- + gen.tab/gen-bidi-type-tab.c | 9 ++- + gen.tab/gen-joining-type-tab.c | 9 ++- + gen.tab/gen-mirroring-tab.c | 9 ++- + gen.tab/gen-unicode-version.c | 9 ++- lib/Makefile.am | 4 +- lib/common.h | 10 ++- lib/fribidi-bidi-types.c | 12 +-- - lib/fribidi-bidi-types.h | 68 +++++++++++---- - lib/fribidi-bidi.c | 119 +++++++++++++++----------- - lib/fribidi-bidi.h | 94 +++++++++++++++------ + lib/fribidi-bidi-types.h | 68 ++++++++++++----- + lib/fribidi-bidi.c | 119 ++++++++++++++++------------- + lib/fribidi-bidi.h | 94 ++++++++++++++++------- lib/fribidi-joining-types-list.h | 10 +-- - lib/fribidi-joining-types.c | 30 ++++--- - lib/fribidi-joining-types.h | 124 ++++++++++++++++++++++----- + lib/fribidi-joining-types.c | 30 ++++---- + lib/fribidi-joining-types.h | 124 +++++++++++++++++++++++++------ lib/fribidi-joining.c | 161 - ++++++++++++++++++++++++++++++++++++ - lib/fribidi-joining.h | 36 +++++++- + ++++++++++++++++++++++++++++++++++++++++ + lib/fribidi-joining.h | 36 ++++++++- lib/fribidi-mirroring.c | 14 ++-- - lib/fribidi-mirroring.h | 27 +++--- + lib/fribidi-mirroring.h | 27 ++++--- lib/fribidi-types.h | 24 +++++- - lib/fribidi.c | 97 +++++++++++++--------- + lib/fribidi.c | 97 ++++++++++++++---------- lib/fribidi.def | 6 +- - lib/fribidi.h | 93 ++++++++++++--------- - lib/joining-types.h | 9 +- + lib/fribidi.h | 93 +++++++++++++---------- + lib/joining-types.h | 9 ++- 27 files changed, 734 insertions(+), 286 deletions(-) commit 8a20d52ddb30e073762ec17afda2e1b9257be568 @@ -3322,30 +3735,32 @@ Date: Mon Jun 14 18:43:48 2004 +0000 fribidi-bidi-type.[ch] merged into fribidi-bidi-types.[ch]. fribidi-joining-type.[ch] merged into fribidi-joining-types.[ch]. - charset/fribidi-char-sets-cap-rtl.c | 8 ++-- - configure.ac | 22 +++++++--- - doc/Makefile.am | 14 +++---- + charset/fribidi-char-sets-cap-rtl.c | 8 ++--- + configure.ac | 22 +++++++++--- + doc/Makefile.am | 14 ++++---- lib/Headers.mk | 3 +- - lib/Makefile.am | 2 - + lib/Makefile.am | 2 -- lib/fribidi-bidi-type.c | 80 - ------------------------------------- + ----------------------------------------- lib/fribidi-bidi-type.h | 72 - --------------------------------- - lib/fribidi-bidi-types.c | 69 ++++++++++++++++++++++++++------ - lib/fribidi-bidi-types.h | 34 +++++++++++++--- - lib/fribidi-bidi.c | 48 +++++----------------- - lib/fribidi-bidi.h | 27 +++---------- + ------------------------------------- + lib/fribidi-bidi-types.c | 69 + ++++++++++++++++++++++++++++------- + lib/fribidi-bidi-types.h | 34 +++++++++++++++--- + lib/fribidi-bidi.c | 48 ++++++------------------- + lib/fribidi-bidi.h | 27 ++++---------- lib/fribidi-config.h.in | 3 ++ - lib/fribidi-joining-type.c | 56 -------------------------- - lib/fribidi-joining-type.h | 59 --------------------------- - lib/fribidi-joining-types.c | 66 ++++++++++++++++++++++++------ - lib/fribidi-joining-types.h | 36 ++++++++++++++--- - lib/fribidi-mirroring.c | 34 ++++++++++++++-- - lib/fribidi-mirroring.h | 22 ++++++++-- - lib/fribidi-run.c | 8 ++-- - lib/fribidi.c | 11 ++--- - lib/fribidi.def | 18 +++++---- - lib/fribidi.h | 14 ++++--- + lib/fribidi-joining-type.c | 56 ----------------------------- + lib/fribidi-joining-type.h | 59 ------------------------------ + lib/fribidi-joining-types.c | 66 + +++++++++++++++++++++++++++------- + lib/fribidi-joining-types.h | 36 ++++++++++++++++--- + lib/fribidi-mirroring.c | 34 ++++++++++++++++-- + lib/fribidi-mirroring.h | 22 ++++++++++-- + lib/fribidi-run.c | 8 ++--- + lib/fribidi.c | 11 +++--- + lib/fribidi.def | 18 ++++++---- + lib/fribidi.h | 14 +++++--- 22 files changed, 296 insertions(+), 410 deletions(-) commit 5e32eff3de2d41d4a1674e28991eb82c1d00dd79 @@ -3356,12 +3771,12 @@ Date: Mon Jun 14 17:00:33 2004 +0000 get_par_embedding_levels and reorder_line functions. lib/bidi-types.h | 8 +++++--- - lib/fribidi-bidi-type.c | 24 +++++++++++++++++++--- - lib/fribidi-bidi-type.h | 19 +++++++++++++++--- + lib/fribidi-bidi-type.c | 24 +++++++++++++++++++++--- + lib/fribidi-bidi-type.h | 19 ++++++++++++++++--- lib/fribidi-bidi.c | 53 - ++++++++++++++++++++++++++++--------------------- - lib/fribidi-bidi.h | 33 +++++++++++++++++++++++------- - lib/fribidi-run.c | 13 ++++++------ + ++++++++++++++++++++++++++++++----------------------- + lib/fribidi-bidi.h | 33 ++++++++++++++++++++++++++------- + lib/fribidi-run.c | 13 +++++++------ lib/fribidi.c | 10 +++++----- lib/run.h | 9 +++++---- 8 files changed, 115 insertions(+), 54 deletions(-) @@ -3377,37 +3792,37 @@ Date: Sun Jun 13 20:11:41 2004 +0000 accompanying functions and macros. .indent.pro | 3 +- - TODO | 20 +- + TODO | 20 ++- charset/Makefile.am | 10 +- charset/fribidi-char-sets-cap-rtl.c | 8 +- doc/Makefile.am | 10 +- - gen.tab/Makefile.am | 92 ++++------ - gen.tab/gen-bidi-type-tab.c | 65 ++++--- + gen.tab/Makefile.am | 92 ++++------- + gen.tab/gen-bidi-type-tab.c | 65 ++++---- gen.tab/gen-joining-type-tab.c | 355 - ++++++++++++++++++++++++++++++++++++ + ++++++++++++++++++++++++++++++++++++++++ gen.tab/gen-mirroring-tab.c | 52 +++--- gen.tab/gen-unicode-version.c | 42 ++--- gen.tab/packtab.c | 16 +- gen.tab/packtab.h | 2 +- lib/Headers.mk | 7 +- - lib/Makefile.am | 29 ++- + lib/Makefile.am | 29 +++- lib/common.h | 12 +- lib/debug.h | 11 +- lib/env.h | 7 +- lib/fribidi-bidi-type.c | 9 +- lib/fribidi-bidi-types-list.h | 8 +- lib/fribidi-bidi-types.c | 8 +- - lib/fribidi-bidi-types.h | 140 +++++++------- - lib/fribidi-joining-type.c | 56 ++++++ - lib/fribidi-joining-type.h | 59 ++++++ - lib/fribidi-joining-types-list.h | 50 +++++ - lib/fribidi-joining-types.c | 78 ++++++++ - lib/fribidi-joining-types.h | 143 +++++++++++++++ + lib/fribidi-bidi-types.h | 140 ++++++++-------- + lib/fribidi-joining-type.c | 56 +++++++ + lib/fribidi-joining-type.h | 59 +++++++ + lib/fribidi-joining-types-list.h | 50 ++++++ + lib/fribidi-joining-types.c | 78 +++++++++ + lib/fribidi-joining-types.h | 143 ++++++++++++++++ lib/fribidi-joining.c | 0 - lib/fribidi-joining.h | 50 +++++ + lib/fribidi-joining.h | 50 ++++++ lib/fribidi-mirroring.c | 12 +- lib/fribidi.def | 9 +- - lib/joining-types.h | 58 ++++++ + lib/joining-types.h | 58 +++++++ lib/run.h | 10 +- 32 files changed, 1147 insertions(+), 284 deletions(-) @@ -3421,19 +3836,19 @@ Date: Wed Jun 9 20:01:00 2004 +0000 Moreover, packtab deals with tables with empty heads much better. Voila! - bin/fribidi-main.c | 13 ++-- + bin/fribidi-main.c | 13 +++-- charset/fribidi-char-sets.c | 7 ++- configure.ac | 9 ++- gen.tab/Makefile.am | 4 +- gen.tab/gen-bidi-type-tab.c | 15 +++-- - gen.tab/gen-mirroring-tab.c | 99 +++++++++++++++++++---------- + gen.tab/gen-mirroring-tab.c | 99 +++++++++++++++++++++----------- gen.tab/packtab.c | 147 - ++++++++++++++++++++++++++++++++++---------- - gen.tab/packtab.h | 13 ++-- + +++++++++++++++++++++++++++++++++++++----------- + gen.tab/packtab.h | 13 +++-- lib/fribidi-bidi-type.c | 14 ++--- - lib/fribidi-bidi-types.h | 10 +-- - lib/fribidi-mirroring.c | 48 +++------------ - lib/fribidi-types.h | 79 +++++++++++++----------- + lib/fribidi-bidi-types.h | 10 ++-- + lib/fribidi-mirroring.c | 48 +++------------- + lib/fribidi-types.h | 79 ++++++++++++++------------ lib/fribidi.h | 8 +-- 13 files changed, 276 insertions(+), 190 deletions(-) @@ -3446,35 +3861,35 @@ Date: Wed Jun 9 14:59:21 2004 +0000 AbiWord from CVS. The most important is the FRIBIDI_TYPE_PRIVATE in fribidi-bidi-types.h - bin/fribidi-main.c | 25 +++++++++++--- + bin/fribidi-main.c | 25 ++++++++++++---- charset/Headers.mk | 8 +---- charset/fribidi-char-sets-cap-rtl.h | 8 +++-- charset/fribidi-char-sets-cp1255.h | 8 +++-- charset/fribidi-char-sets-cp1256.h | 8 +++-- charset/fribidi-char-sets-iso8859-6.h | 8 +++-- charset/fribidi-char-sets-iso8859-8.h | 8 +++-- - charset/fribidi-char-sets-list.h | 14 ++++---- + charset/fribidi-char-sets-list.h | 14 ++++----- charset/fribidi-char-sets-utf8.h | 8 +++-- - charset/fribidi-char-sets.c | 18 ++++++---- + charset/fribidi-char-sets.c | 18 ++++++++---- charset/fribidi-char-sets.h | 13 ++------ - configure.ac | 18 ++++------ + configure.ac | 18 ++++-------- doc/Makefile.am | 1 + - lib/common.h | 28 ++++++++-------- - lib/debug.h | 10 +++--- + lib/common.h | 28 +++++++++--------- + lib/debug.h | 10 +++---- lib/fribidi-bidi-type.c | 62 - +++-------------------------------- - lib/fribidi-bidi-type.h | 39 ++-------------------- - lib/fribidi-bidi-types-list.h | 14 ++++---- - lib/fribidi-bidi-types.h | 35 +++++++++++--------- - lib/fribidi-bidi.h | 7 ++-- - lib/fribidi-common.h | 14 +++----- - lib/fribidi-mirroring.c | 12 +++---- - lib/fribidi-mirroring.h | 12 +++---- - lib/fribidi-types.h | 26 +++++++-------- + ++++----------------------------------- + lib/fribidi-bidi-type.h | 39 ++---------------------- + lib/fribidi-bidi-types-list.h | 14 ++++----- + lib/fribidi-bidi-types.h | 35 ++++++++++++---------- + lib/fribidi-bidi.h | 7 ++--- + lib/fribidi-common.h | 14 ++++----- + lib/fribidi-mirroring.c | 12 ++++---- + lib/fribidi-mirroring.h | 12 ++++---- + lib/fribidi-types.h | 26 ++++++++-------- lib/fribidi.c | 8 ++--- lib/fribidi.def | 3 -- - lib/fribidi.h | 18 +++++++--- - lib/mem.h | 10 +++--- + lib/fribidi.h | 18 ++++++++---- + lib/mem.h | 10 +++---- 28 files changed, 189 insertions(+), 254 deletions(-) commit 7e382d2cc7f5c08bda7d0d7195b074d91811c5d7 @@ -3504,16 +3919,16 @@ Date: Mon Jun 7 20:38:21 2004 +0000 .indent.pro | 4 +- TODO | 2 + lib/fribidi-bidi-types-list.h | 11 +- - lib/fribidi-bidi-types.h | 134 +++++++++++----- + lib/fribidi-bidi-types.h | 134 ++++++++++++------ lib/fribidi-bidi.c | 314 - +++++++++++++++----------------------- - lib/fribidi-bidi.h | 100 +++++------- + +++++++++++++++++------------------------- + lib/fribidi-bidi.h | 100 ++++++-------- lib/fribidi-mirroring.c | 9 +- lib/fribidi-mirroring.h | 9 +- - lib/fribidi.c | 170 ++++++++++++++++++++- + lib/fribidi.c | 170 ++++++++++++++++++++++- lib/fribidi.def | 2 +- - lib/fribidi.h | 95 +++++++++++- - test/test_UTF-8_persian.reference | 16 +- + lib/fribidi.h | 95 ++++++++++++- + test/test_UTF-8_persian.reference | 16 +-- 13 files changed, 541 insertions(+), 327 deletions(-) commit 8fee958d0e10db5516f3897e6dc832ef56b13fcd @@ -3523,7 +3938,7 @@ Date: Fri Jun 4 16:43:51 2004 +0000 Isolating bidi reordering call, take 1. lib/fribidi-bidi.c | 338 - ++++++++++++++++++----------------------------------- + ++++++++++++++++++++------------------------------------- lib/fribidi-bidi.h | 14 +-- lib/fribidi-run.c | 39 ++++--- lib/run.h | 8 +- @@ -3544,24 +3959,24 @@ Date: Fri Jun 4 09:41:11 2004 +0000 Cleaning up here and there. Last lingers before adding joining. - Makefile.am | 49 ++++-- + Makefile.am | 49 ++++--- TODO | 9 +- bin/fribidi-main.c | 12 +- - bootstrap | 130 +++++++++++----- + bootstrap | 130 ++++++++++++------ charset/fribidi-char-sets-cap-rtl.c | 12 +- configure.ac | 9 +- - doc/Makefile.am | 18 ++- + doc/Makefile.am | 18 +-- gen.tab/.cvsignore | 4 +- gen.tab/Makefile.am | 1 + gen.tab/gen-bidi-type-tab.c | 20 +-- lib/Headers.mk | 2 +- lib/fribidi-bidi-type.c | 17 ++- - lib/fribidi-bidi-type.h | 23 +-- - lib/fribidi-bidi-types-list.h | 39 +++-- + lib/fribidi-bidi-type.h | 23 ++-- + lib/fribidi-bidi-types-list.h | 39 ++++-- lib/fribidi-bidi-types.c | 10 +- lib/fribidi-bidi-types.h | 17 ++- lib/fribidi-bidi.c | 297 - ++++++++++++++++++------------------ + ++++++++++++++++++++-------------------- lib/fribidi-bidi.h | 28 +++- lib/fribidi-common.h | 8 +- lib/fribidi-config.h.in | 3 + @@ -3574,24 +3989,25 @@ Date: Mon May 31 18:43:26 2004 +0000 GNU Coding Standards applied and typos fixed. - AUTHORS | 45 - +++++++++++++++++++++- - Makefile.am | 10 ++--- - README | 26 +++++++------ - THANKS | 2 +- - TODO | 41 - ++++++++++++++++++++ - bin/fribidi-main.c | 10 ++--- - charset/fribidi-char-sets-cap-rtl.c | 8 ++-- - configure.ac | 40 - ++++++++++--------- - doc/Makefile.am | 4 +- - gen.tab/Makefile.am | 12 +++--- - gen.tab/gen-bidi-type-tab.c | 8 ++-- - gen.tab/gen-mirroring-tab.c | 8 ++-- - gen.tab/gen-unicode-version.c | 20 +++++++--- - lib/fribidi-bidi-type.c | 10 ++--- - ...bidi-types-list.h => fribidi-bidi-types-list.h} | 31 ++++++++------- + AUTHORS | 45 + ++++++++++++++++++++++-- + Makefile.am | 10 +++--- + README | 26 +++++++------- + THANKS | 2 +- + TODO | 41 + +++++++++++++++++++++ + bin/fribidi-main.c | 10 +++--- + charset/fribidi-char-sets-cap-rtl.c | 8 ++--- + configure.ac | 40 + +++++++++++---------- + doc/Makefile.am | 4 +-- + gen.tab/Makefile.am | 12 +++---- + gen.tab/gen-bidi-type-tab.c | 8 ++--- + gen.tab/gen-mirroring-tab.c | 8 ++--- + gen.tab/gen-unicode-version.c | 20 +++++++---- + lib/fribidi-bidi-type.c | 10 +++--- + lib/{bidi-types-list.h => fribidi-bidi-types-list.h} | 31 + +++++++++------- 15 files changed, 187 insertions(+), 88 deletions(-) commit 339717751b86715f78bd9d02159813c29c650a0a @@ -3602,14 +4018,14 @@ Date: Mon May 31 18:39:39 2004 +0000 lib/Headers.mk | 1 + lib/Makefile.am | 1 - - lib/common.h | 10 +++--- + lib/common.h | 10 ++++--- lib/debug.h | 8 ++--- - lib/fribidi-bidi-types.c | 10 +++--- + lib/fribidi-bidi-types.c | 10 +++---- lib/fribidi-bidi.c | 84 - ++++++++++++++++++++++++------------------------ - lib/fribidi-common.h | 33 ++++++++++--------- + ++++++++++++++++++++++++++-------------------------- + lib/fribidi-common.h | 33 +++++++++++---------- lib/fribidi-config.h.in | 3 +- - lib/fribidi.c | 20 ++++++------ + lib/fribidi.c | 20 ++++++------- lib/run.h | 8 ++--- 10 files changed, 91 insertions(+), 87 deletions(-) @@ -3632,13 +4048,13 @@ Date: Mon May 31 10:43:44 2004 +0000 files anymore. :-( - gen.tab/unidata/ArabicShaping.txt | 240 + - gen.tab/unidata/README | 1 + - gen.tab/unidata/UnicodeData.txt | 15100 - +++++++++++++++++++ - gen.tab/unidata/extracted/DerivedBidiClass.txt | 1299 -- - .../unidata/extracted/DerivedDecompositionType.txt | 933 -- - gen.tab/unidata/extracted/DerivedJoiningType.txt | 215 - + gen.tab/unidata/ArabicShaping.txt | 240 + + gen.tab/unidata/README | 1 + + gen.tab/unidata/UnicodeData.txt | 15100 + ++++++++++++++++++++ + gen.tab/unidata/extracted/DerivedBidiClass.txt | 1299 -- + .../unidata/extracted/DerivedDecompositionType.txt | 933 -- + gen.tab/unidata/extracted/DerivedJoiningType.txt | 215 - 6 files changed, 15341 insertions(+), 2447 deletions(-) commit 28f7f004848d56fb148290428ecff8ab3b568cdd @@ -3778,19 +4194,19 @@ Date: Sat May 22 11:21:39 2004 +0000 Make gen-mirroring-tab and gen-unicode-version work. gen.tab/ works now. - Makefile.am | 10 ++-- + Makefile.am | 10 +++-- bin/Makefile.am | 4 +- bin/fribidi-benchmark.c | 16 ++++--- charset/fribidi-char-sets-cap-rtl.c | 16 +++---- charset/fribidi-char-sets.c | 8 ++-- gen.tab/Makefile.am | 95 - +++++++++++++++++++++++++++---------- + ++++++++++++++++++++++++++++++----------- gen.tab/gen-bidi-type-tab.c | 8 ++-- - gen.tab/gen-mirroring-tab.c | 10 ++-- - gen.tab/gen-unicode-version.c | 11 ++--- - lib/common.h | 20 ++++---- + gen.tab/gen-mirroring-tab.c | 10 ++--- + gen.tab/gen-unicode-version.c | 11 +++-- + lib/common.h | 20 ++++----- lib/fribidi-bidi-type.c | 7 ++- - lib/fribidi-mem.c | 13 +++-- + lib/fribidi-mem.c | 13 +++--- 12 files changed, 137 insertions(+), 81 deletions(-) commit 285b3de138e8a4f790fe07519c1a90d759a61598 @@ -3801,18 +4217,18 @@ Date: Sat May 22 10:35:30 2004 +0000 bin/Makefile.am | 4 +- charset/Makefile.am | 2 +- - configure.ac | 29 ++++---- + configure.ac | 29 +++++---- doc/Makefile.am | 2 +- fribidi.pc.in | 2 +- - gen.tab/Makefile.am | 52 +++++++++++++- + gen.tab/Makefile.am | 52 ++++++++++++++- gen.tab/gen-bidi-type-tab.c | 163 - ++++++++++++++++++++++++++++++------------ - gen.tab/gen-mirroring-tab.c | 79 +++++++++++++------- - gen.tab/gen-unicode-version.c | 48 ++++++------- + +++++++++++++++++++++++++++++++++------------- + gen.tab/gen-mirroring-tab.c | 79 ++++++++++++++-------- + gen.tab/gen-unicode-version.c | 48 +++++++------- gen.tab/packtab.c | 5 +- gen.tab/packtab.h | 2 +- - lib/Makefile.am | 31 +++----- - lib/common.h | 48 +++++++------ + lib/Makefile.am | 31 +++------ + lib/common.h | 48 ++++++++------ lib/fribidi-bidi.h | 12 ++-- lib/fribidi-mirroring.c | 10 +-- lib/fribidi-mirroring.h | 10 +-- @@ -3827,9 +4243,9 @@ Date: Wed May 12 23:13:55 2004 +0000 gen.tab/.cvsignore | 5 +- gen.tab/Makefile.am | 6 +- gen.tab/gen-bidi-type-tab.c | 10 +-- - gen.tab/gen-mirroring-tab.c | 8 +- + gen.tab/gen-mirroring-tab.c | 8 +-- gen.tab/gen-unicode-version.c | 170 - ++++++++++++++++++++++++++++++++++++++++++ + ++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 187 insertions(+), 12 deletions(-) commit 8bc4b0a145e828a6c9e90d18e4f06900291d1d3a @@ -3871,13 +4287,13 @@ Date: Wed May 12 07:06:21 2004 +0000 charset/fribidi-char-sets.c | 12 +- gen.tab/Makefile.am | 9 ++ gen.tab/gen-bidi-type-tab.c | 298 - +++++++++++++++++++++----------------------- - gen.tab/gen-mirroring-tab.c | 223 +++++++++++++++++++-------------- + +++++++++++++++++++++++------------------------- + gen.tab/gen-mirroring-tab.c | 223 ++++++++++++++++++++---------------- gen.tab/packtab.c | 18 ++- lib/bidi-types-list.h | 18 ++- lib/common.h | 12 +- lib/fribidi-bidi-type.c | 8 +- - lib/fribidi-mirroring.h | 13 +- + lib/fribidi-mirroring.h | 13 ++- 13 files changed, 340 insertions(+), 294 deletions(-) commit 4b03bbd7b4368cde918197875a83ff4661ca4857 @@ -3894,7 +4310,7 @@ Date: Fri May 7 06:30:37 2004 +0000 doc/Makefile.am | 2 + lib/Makefile.am | 8 +- lib/bidi-type-table.i | 5228 - ----------------------------------- + --------------------------------------- lib/bidi-types-list.h | 11 +- lib/bidi-types.h | 25 +- lib/common.h | 10 +- @@ -3952,21 +4368,21 @@ Date: Mon May 3 22:05:19 2004 +0000 lib/bidi-types-list.h | 15 +- lib/bidi-types.h | 20 +- lib/common.h | 48 +- - lib/debug.h | 66 +- + lib/debug.h | 66 ++- lib/env.h | 10 +- lib/fribidi-bidi-type.c | 37 +- lib/fribidi-bidi-type.h | 33 +- lib/fribidi-bidi-types.c | 12 +- lib/fribidi-bidi-types.h | 50 +- lib/fribidi-bidi.c | 1173 - +++++++++++++++++---------------- + +++++++++++++++++++------------------ lib/fribidi-bidi.h | 19 +- lib/fribidi-common.h | 29 +- lib/fribidi-env.c | 17 +- lib/fribidi-env.h | 27 +- lib/fribidi-mem.c | 39 +- lib/fribidi-mirroring.c | 24 +- - lib/fribidi-run.c | 395 ++++++----- + lib/fribidi-run.c | 395 ++++++++----- lib/fribidi-types.h | 10 +- lib/fribidi.c | 10 +- lib/fribidi.def | 13 + @@ -3982,13 +4398,13 @@ Date: Wed Apr 28 03:20:22 2004 +0000 Cleaning up exported symbols. - THANKS | 23 +++++++++---------- + THANKS | 23 +++++++++------------ bin/fribidi-main.c | 62 - ++++++++++++++++++++++++++-------------------------- - charset/Makefile.am | 13 +---------- + ++++++++++++++++++++++++++++---------------------------- + charset/Makefile.am | 13 +----------- doc/Makefile.am | 1 + - lib/Makefile.am | 16 +++++++------- - lib/fribidi-common.h | 8 +++---- + lib/Makefile.am | 16 +++++++-------- + lib/fribidi-common.h | 8 ++++---- 6 files changed, 55 insertions(+), 68 deletions(-) commit 1fb4c69145a5222169e8b8f852807046a30d6870 @@ -4000,18 +4416,18 @@ Date: Wed Apr 28 02:37:56 2004 +0000 lib/Makefile.am | 5 +- lib/bidi-types.h | 12 +- - lib/common.h | 23 +-- + lib/common.h | 23 ++-- lib/env.h | 63 +++++++++ lib/fribidi-bidi-type.c | 8 +- lib/fribidi-bidi-types.c | 8 +- lib/fribidi-bidi-types.h | 8 +- lib/fribidi-bidi.c | 357 - ++++++++--------------------------------------- + ++++++++------------------------------------------- lib/fribidi-env.c | 27 ++-- lib/fribidi-mem.c | 64 ++++++--- - lib/fribidi-run.c | 267 +++++++++++++++++++++++++++++++++++ + lib/fribidi-run.c | 267 ++++++++++++++++++++++++++++++++++++++ lib/mem.h | 16 ++- - lib/run.h | 86 ++++++++++++ + lib/run.h | 86 +++++++++++++ 13 files changed, 587 insertions(+), 357 deletions(-) commit ac43f238748ad5b874089a8c27d8c1eb7150859d @@ -4031,17 +4447,17 @@ Date: Tue Apr 27 16:47:22 2004 +0000 First try to integrate c2man manual generation in build system. - charset/Headers.mk | 21 ++++++++------ - charset/fribidi-char-sets-list.h | 10 +++++-- + charset/Headers.mk | 21 +++++++++------ + charset/fribidi-char-sets-list.h | 10 ++++--- doc/Makefile.am | 62 - ++++++++++++++++++++++++++++------------ - lib/Headers.mk | 16 ++++++++++- + ++++++++++++++++++++++++++++++-------------- + lib/Headers.mk | 16 +++++++++++- lib/bidi-types-list.h | 10 +++---- lib/common.h | 10 +++---- lib/debug.h | 8 +++--- lib/fribidi-begindecls.h | 2 ++ lib/fribidi-enddecls.h | 2 ++ - lib/fribidi-types.h | 14 ++++----- + lib/fribidi-types.h | 14 +++++----- lib/mem.h | 8 +++--- 11 files changed, 107 insertions(+), 56 deletions(-) @@ -4114,7 +4530,7 @@ Date: Sun Apr 25 18:49:12 2004 +0000 The ChangeLog from the old days. ChangeLog.old | 703 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 703 insertions(+) commit 63d12e574eb5cfe95290b303bac0950c25afe397 @@ -4123,96 +4539,96 @@ Date: Sun Apr 25 18:47:56 2004 +0000 Initial revision - .cvsignore | 19 + - .indent.pro | 19 + - AUTHORS | 1 + - COPYING | 504 ++ - HACKING | 7 + - HISTORY | 34 + - Makefile.am | 54 + - NEWS | 18 + - README | 152 + - THANKS | 33 + - TODO | 13 + - bin/Makefile.am | 25 + - bin/fribidi-benchmark.c | 278 ++ - bin/fribidi-main.c | 597 +++ - bin/getopt.c | 1268 +++++ - bin/getopt.h | 187 + - bin/getopt1.c | 213 + - bin/getopt_int.h | 145 + - bootstrap | 110 + - charset/Headers.mk | 9 + - charset/Makefile.am | 48 + - charset/fribidi-char-sets-cap-rtl.c | 336 ++ - charset/fribidi-char-sets-cap-rtl.h | 70 + - charset/fribidi-char-sets-cp1255.c | 106 + - charset/fribidi-char-sets-cp1255.h | 62 + - charset/fribidi-char-sets-cp1256.c | 223 + - charset/fribidi-char-sets-cp1256.h | 62 + - charset/fribidi-char-sets-iso8859-6.c | 81 + - charset/fribidi-char-sets-iso8859-6.h | 62 + - charset/fribidi-char-sets-iso8859-8.c | 120 + - charset/fribidi-char-sets-iso8859-8.h | 62 + - charset/fribidi-char-sets-list.h | 56 + - charset/fribidi-char-sets-utf8.c | 126 + - charset/fribidi-char-sets-utf8.h | 66 + - charset/fribidi-char-sets.c | 230 + - charset/fribidi-char-sets.h | 125 + - configure.ac | 208 + - doc/Makefile.am | 27 + - fribidi.pc.in | 13 + - fribidi.spec.in | 145 + - gen.tab/Makefile.am | 0 - gen.tab/gen-bidi-type-tab.c | 267 + - gen.tab/gen-mirroring-tab.c | 152 + - gen.tab/packtab.c | 364 ++ - gen.tab/packtab.h | 49 + - gen.tab/unidata/BidiMirroring.txt | 525 ++ - gen.tab/unidata/ReadMe.txt | 40 + - gen.tab/unidata/extracted/DerivedBidiClass.txt | 1299 +++++ - .../unidata/extracted/DerivedDecompositionType.txt | 933 ++++ - gen.tab/unidata/extracted/DerivedJoiningType.txt | 215 + - lib/Headers.mk | 14 + - lib/Makefile.am | 75 + - lib/bidi-type-table.i | 5228 - ++++++++++++++++++++ - lib/bidi-types-list.h | 69 + - lib/bidi-types.h | 78 + - lib/common.h | 110 + - lib/debug.h | 87 + - lib/fribidi-begindecls.h | 1 + - lib/fribidi-bidi-type.c | 79 + - lib/fribidi-bidi-type.h | 74 + - lib/fribidi-bidi-types.c | 76 + - lib/fribidi-bidi-types.h | 278 ++ - lib/fribidi-bidi.c | 1424 ++++++ - lib/fribidi-bidi.h | 112 + - lib/fribidi-common.h | 83 + - lib/fribidi-config.h.in | 22 + - lib/fribidi-enddecls.h | 1 + - lib/fribidi-env.c | 107 + - lib/fribidi-env.h | 125 + - lib/fribidi-mem.c | 94 + - lib/fribidi-mirroring.c | 90 + - lib/fribidi-mirroring.h | 67 + - lib/fribidi-types.h | 143 + - lib/fribidi-unicode-version.h | 4 + - lib/fribidi-unicode.h | 101 + - lib/fribidi.c | 68 + - lib/fribidi.h | 48 + - lib/mem.h | 90 + - lib/mirroring-table.i | 358 ++ - test/Makefile.am | 33 + - test/run.tests | 74 + - test/test_CapRTL_explicit.input | 13 + - test/test_CapRTL_explicit.reference | 13 + - test/test_CapRTL_implicit.input | 26 + - test/test_CapRTL_implicit.reference | 26 + - test/test_ISO8859-8_hebrew.input | 17 + - test/test_ISO8859-8_hebrew.reference | 17 + - test/test_UTF-8_persian.input | 14 + - test/test_UTF-8_persian.reference | 14 + - test/test_UTF-8_reordernsm.input | 7 + - test/test_UTF-8_reordernsm.reference | 7 + + .cvsignore | 19 + + .indent.pro | 19 + + AUTHORS | 1 + + COPYING | 504 ++ + HACKING | 7 + + HISTORY | 34 + + Makefile.am | 54 + + NEWS | 18 + + README | 152 + + THANKS | 33 + + TODO | 13 + + bin/Makefile.am | 25 + + bin/fribidi-benchmark.c | 278 ++ + bin/fribidi-main.c | 597 +++ + bin/getopt.c | 1268 +++++ + bin/getopt.h | 187 + + bin/getopt1.c | 213 + + bin/getopt_int.h | 145 + + bootstrap | 110 + + charset/Headers.mk | 9 + + charset/Makefile.am | 48 + + charset/fribidi-char-sets-cap-rtl.c | 336 ++ + charset/fribidi-char-sets-cap-rtl.h | 70 + + charset/fribidi-char-sets-cp1255.c | 106 + + charset/fribidi-char-sets-cp1255.h | 62 + + charset/fribidi-char-sets-cp1256.c | 223 + + charset/fribidi-char-sets-cp1256.h | 62 + + charset/fribidi-char-sets-iso8859-6.c | 81 + + charset/fribidi-char-sets-iso8859-6.h | 62 + + charset/fribidi-char-sets-iso8859-8.c | 120 + + charset/fribidi-char-sets-iso8859-8.h | 62 + + charset/fribidi-char-sets-list.h | 56 + + charset/fribidi-char-sets-utf8.c | 126 + + charset/fribidi-char-sets-utf8.h | 66 + + charset/fribidi-char-sets.c | 230 + + charset/fribidi-char-sets.h | 125 + + configure.ac | 208 + + doc/Makefile.am | 27 + + fribidi.pc.in | 13 + + fribidi.spec.in | 145 + + gen.tab/Makefile.am | 0 + gen.tab/gen-bidi-type-tab.c | 267 ++ + gen.tab/gen-mirroring-tab.c | 152 + + gen.tab/packtab.c | 364 ++ + gen.tab/packtab.h | 49 + + gen.tab/unidata/BidiMirroring.txt | 525 +++ + gen.tab/unidata/ReadMe.txt | 40 + + gen.tab/unidata/extracted/DerivedBidiClass.txt | 1299 +++++ + .../unidata/extracted/DerivedDecompositionType.txt | 933 ++++ + gen.tab/unidata/extracted/DerivedJoiningType.txt | 215 + + lib/Headers.mk | 14 + + lib/Makefile.am | 75 + + lib/bidi-type-table.i | 5228 + +++++++++++++++++++++ + lib/bidi-types-list.h | 69 + + lib/bidi-types.h | 78 + + lib/common.h | 110 + + lib/debug.h | 87 + + lib/fribidi-begindecls.h | 1 + + lib/fribidi-bidi-type.c | 79 + + lib/fribidi-bidi-type.h | 74 + + lib/fribidi-bidi-types.c | 76 + + lib/fribidi-bidi-types.h | 278 ++ + lib/fribidi-bidi.c | 1424 ++++++ + lib/fribidi-bidi.h | 112 + + lib/fribidi-common.h | 83 + + lib/fribidi-config.h.in | 22 + + lib/fribidi-enddecls.h | 1 + + lib/fribidi-env.c | 107 + + lib/fribidi-env.h | 125 + + lib/fribidi-mem.c | 94 + + lib/fribidi-mirroring.c | 90 + + lib/fribidi-mirroring.h | 67 + + lib/fribidi-types.h | 143 + + lib/fribidi-unicode-version.h | 4 + + lib/fribidi-unicode.h | 101 + + lib/fribidi.c | 68 + + lib/fribidi.h | 48 + + lib/mem.h | 90 + + lib/mirroring-table.i | 358 ++ + test/Makefile.am | 33 + + test/run.tests | 74 + + test/test_CapRTL_explicit.input | 13 + + test/test_CapRTL_explicit.reference | 13 + + test/test_CapRTL_implicit.input | 26 + + test/test_CapRTL_implicit.reference | 26 + + test/test_ISO8859-8_hebrew.input | 17 + + test/test_ISO8859-8_hebrew.reference | 17 + + test/test_UTF-8_persian.input | 14 + + test/test_UTF-8_persian.reference | 14 + + test/test_UTF-8_reordernsm.input | 7 + + test/test_UTF-8_reordernsm.reference | 7 + 91 files changed, 19125 insertions(+) diff --git a/Makefile.am b/Makefile.am index 9dd4801..8c516fb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -9,7 +9,8 @@ SUBDIRS = gen.tab lib bin doc test EXTRA_DIST = autogen.sh ChangeLog.old \ meson.build meson_options.txt bin/meson.build doc/meson.build \ gen.tab/meson.build lib/meson.build test/meson.build \ - test/test-runner.py test/unicode-conformance/meson.build + test/test-runner.py test/unicode-conformance/meson.build \ + README.md pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = @PACKAGE@.pc diff --git a/Makefile.in b/Makefile.in index 3c9081c..1c28164 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2017 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -168,7 +168,7 @@ am__recursive_targets = \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir dist dist-all distcheck + cscope distdir distdir-am dist dist-all distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, @@ -379,7 +379,8 @@ SUBDIRS = gen.tab lib bin doc test EXTRA_DIST = autogen.sh ChangeLog.old \ meson.build meson_options.txt bin/meson.build doc/meson.build \ gen.tab/meson.build lib/meson.build test/meson.build \ - test/test-runner.py test/unicode-conformance/meson.build + test/test-runner.py test/unicode-conformance/meson.build \ + README.md pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = @PACKAGE@.pc @@ -428,8 +429,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -594,7 +595,10 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @case `sed 15q $(srcdir)/NEWS` in \ *"$(VERSION)"*) : ;; \ *) \ diff --git a/NEWS b/NEWS index 4f4dd3d..cd762fa 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,27 @@ +Overview of changes between 1.0.7 and 1.0.8 +============================================= + +* A bug fix in the fribidi unicode algorithm for multiple isolate sequences. + +* Fixed a potential buffer overflow for a long sequence of isolate overrides characters + + +Overview of changes between 1.0.6 and 1.0.7 +============================================= + +* This is a minor bugfix that removes symlinks and updates the meson version. + +Overview of changes between 1.0.5 and 1.0.6 +============================================= + +* This is a minor bugfix release that fixes a list of minor issues that have turned up during the last year. + +* Various compilation and cross compilation issues. + +* Various minor header cleanups. + +* Removed libc's bsearch for performance and portability reasons + Overview of changes between 1.0.4 and 1.0.5 ============================================= @@ -39,7 +63,7 @@ Overview of changes between 0.19.7 and 1.0 `fribidi_get_par_embedding_levels()` must be replaced with calls to `fribidi_get_par_embedding_levels_ex()`. These function are not API compatible. Calling the older function will use default values for - the new bracket properties and will sometimes yield non-complient + the new bracket properties and will sometimes yield non-compliant results. Overview of changes between 0.19.6 and 0.19.7 diff --git a/README b/README index 95c67c7..96dc92f 100644 --- a/README +++ b/README @@ -1,173 +1 @@ -# GNU FriBidi - -The Free Implementation of the [Unicode Bidirectional Algorithm]. - -## Background - -One of the missing links stopping the penetration of free software in Middle -East is the lack of support for the Arabic and Hebrew alphabets. In order to -have proper Arabic and Hebrew support, the bidi algorithm needs to be implemented. It is our hope that this library will stimulate more free software in the Middle Eastern countries. - -See [`HISTORY`](./HISTORY) on how the project started and evolved. - - -## Audience - -It is our hope that this library will stimulate the implementation of Hebrew and -Arabic support in lots of Free Software. - -GNU FriBidi is already being used in projects like Pango (resulting in [GTK+] and [GNOME] using GNU FriBidi), AbiWord, MLTerm, MPlayer, BiCon, and vlc. - -See [`USERS`](./USERS) for a list of projects using GNU FriBidi. - - -## Dependencies - -GNU FriBidi does not depend on any other library. It uses either the GNU Build System or meson for build and installation. - - -## Downloading - -The latest version of GNU FriBidi may be found at: - - - -## Building - -Start with running the [`autogen.sh`](./autogen.sh) script and follow the -instructions. Alternatively use `meson`. - - -## License - -GNU FriBidi 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 the License, or (at your option) any later -version. - -GNU FriBidi 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 have received a copy of the GNU Lesser General Public License along -with GNU FriBidi, in a file named COPYING; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -### Commercial licensing - -For commercial licensing options, contact . - -## Implementation - -The library implements the algorithm described in the "Unicode Standard Annex -\#9, The Bidirectional Algorithm", available at -. - -The library uses Unicode (UTF-32) entirely. The character properties are -automatically extracted from the Unicode data files, available from -. This means that every Unicode -character is treated in strict accordance with the Unicode specification. - -There is a limited support for character set conversion from/to the UTF-32 -encoding. Data in these character sets must be converted into UTF-32 before the -library may be used. iconv(3) can always do a better job on that, so you may -find that the character sets conversion code is typically turned off on POSIX -machines. - - -### Conformance Status - -GNU FriBidi has been tested exhaustively against the [Unicode Reference Code], -and to the best of our knowledge, it completely conforms to the specification, -always producing the same result as the Reference Code. - - -### API - -The simplest way of accessing the API is through the convenience function `fribibidi_log2vis` which has the following signature: - -```c -fribidi_boolean fribidi_log2vis( - /* input */ - FriBidiChar *str, - FriBidiStrIndex len, - FriBidiCharType *pbase_dir, - /* output */ - FriBidiChar *visual_str, - FriBidiStrIndex *position_L_to_V_list, - FriBidiStrIndex *position_V_to_L_list, - FriBidiLevel *embedding_level_list -) -``` - -Where... - -* `str` is the Unicode input string. -* `len` is the length of the Unicode string (`str`). -* `pbase_dir` is the input and output base direction. If `pbase_dir == - FRIBIDI_TYPE_ON` then `fribidi_log2vis()` calculates the base direction on its - own, according to the bidi algorithm. -* `visual_str` is the reordered output unicode string. -* `position_L_to_V_list` maps the positions in the logical string to positions - in the visual string. -* `position_V_to_L_list` maps the positions in the visual string to the - positions in the logical string. -* `embedding_level_list` returns the classification of each character. Here, - even numerical levels indicate LTR characters, and odd levels indicate RTL - characters. The main use of this list is in interactive applications where, - for example, the embedding level determines cursor display. - -If any of the output pointers is equal to `NULL`, then that information is not -calculated. - -Note that a call to `fribidi_log2vis()` is a convenience function to calling the following three functions in order: - -1. `fribidi_get_bidi_types()` -2. `fribidi_get_par_embedding_levels_ex()` -3. `fribidi_reorder_line()` - -## How it looks like - -Have a look at [`test/`](./test) directory, to see some input and outputs. - -The `CapRTL` charset means that CAPITAL letters are right to left, and digits -6, 7, 8, 9 are Arabic digits, try 'fribidi --charsetdesc CapRTL' for the full -description. - - -## Executable - -There is also a command-line utilitity called `fribidi` that loops over the text -of a file and performs the bidi algorithm on each line, also used for testing -the algorithm. - -Run `fribidi --help` to learn about usage. - -The command-line utility is known to have problems with line-breaking and -logical-to-vertical/vertical-to-logical lists. - - -## Bug Reports and Feedback - -Report bugs and general feedback at: - -The mailing list is the place for additional technical discussions and user -questions: - - -## Maintainers and Contributors - -* Dov Grobgeld - Original author and current maintainer -* Behdad Esfahbod - Author of most of the code - -See also [`AUTHORS`](./AUTHORS) and [`THANKS`](./THANKS) for the complete list -of contributors. - - -[Unicode Bidirectional Algorithm]: https://www.unicode.org/reports/tr9/ -[Unicode Reference Code]: https://www.unicode.org/reports/tr9/#Reference_Code -[Mirroring]: https://www.unicode.org/reports/tr9/#Mirroring -[GTK+]: https://www.gtk.org/ -[GNOME]: https://www.gnome.org/ -[GNU Lesser General Public License]: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html +See README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..e4b4c9f --- /dev/null +++ b/README.md @@ -0,0 +1,173 @@ +# GNU FriBidi + +The Free Implementation of the [Unicode Bidirectional Algorithm]. + +## Background + +One of the missing links stopping the penetration of free software in Middle +East is the lack of support for the Arabic and Hebrew alphabets. In order to +have proper Arabic and Hebrew support, the bidi algorithm needs to be implemented. It is our hope that this library will stimulate more free software in the Middle Eastern countries. + +See [`HISTORY`](./HISTORY) on how the project started and evolved. + + +## Audience + +It is our hope that this library will stimulate the implementation of Hebrew and +Arabic support in lots of Free Software. + +GNU FriBidi is already being used in projects like Pango (resulting in [GTK+] and [GNOME] using GNU FriBidi), AbiWord, MLTerm, MPlayer, BiCon, and vlc. + +See [`USERS`](./USERS) for a list of projects using GNU FriBidi. + + +## Dependencies + +GNU FriBidi does not depend on any other library. It uses either the GNU Build System or meson for build and installation. + + +## Downloading + +The latest version of GNU FriBidi may be found at: + + + +## Building + +Start with running the [`autogen.sh`](./autogen.sh) script and follow the +instructions. Alternatively use `meson`. + + +## License + +GNU FriBidi 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 the License, or (at your option) any later +version. + +GNU FriBidi 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 have received a copy of the GNU Lesser General Public License along +with GNU FriBidi, in a file named COPYING; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +### Commercial licensing + +For commercial licensing options, contact . + +## Implementation + +The library implements the algorithm described in the "Unicode Standard Annex +\#9, The Bidirectional Algorithm", available at +. + +The library uses Unicode (UTF-32) entirely. The character properties are +automatically extracted from the Unicode data files, available from +. This means that every Unicode +character is treated in strict accordance with the Unicode specification. + +There is a limited support for character set conversion from/to the UTF-32 +encoding. Data in these character sets must be converted into UTF-32 before the +library may be used. iconv(3) can always do a better job on that, so you may +find that the character sets conversion code is typically turned off on POSIX +machines. + + +### Conformance Status + +GNU FriBidi has been tested exhaustively against the [Unicode Reference Code], +and to the best of our knowledge, it completely conforms to the specification, +always producing the same result as the Reference Code. + + +### API + +The simplest way of accessing the API is through the convenience function `fribidi_log2vis` which has the following signature: + +```c +fribidi_boolean fribidi_log2vis( + /* input */ + FriBidiChar *str, + FriBidiStrIndex len, + FriBidiCharType *pbase_dir, + /* output */ + FriBidiChar *visual_str, + FriBidiStrIndex *position_L_to_V_list, + FriBidiStrIndex *position_V_to_L_list, + FriBidiLevel *embedding_level_list +) +``` + +Where... + +* `str` is the Unicode input string. +* `len` is the length of the Unicode string (`str`). +* `pbase_dir` is the input and output base direction. If `pbase_dir == + FRIBIDI_TYPE_ON` then `fribidi_log2vis()` calculates the base direction on its + own, according to the bidi algorithm. +* `visual_str` is the reordered output unicode string. +* `position_L_to_V_list` maps the positions in the logical string to positions + in the visual string. +* `position_V_to_L_list` maps the positions in the visual string to the + positions in the logical string. +* `embedding_level_list` returns the classification of each character. Here, + even numerical levels indicate LTR characters, and odd levels indicate RTL + characters. The main use of this list is in interactive applications where, + for example, the embedding level determines cursor display. + +If any of the output pointers is equal to `NULL`, then that information is not +calculated. + +Note that a call to `fribidi_log2vis()` is a convenience function to calling the following three functions in order: + +1. `fribidi_get_bidi_types()` +2. `fribidi_get_par_embedding_levels_ex()` +3. `fribidi_reorder_line()` + +## How it looks like + +Have a look at [`test/`](./test) directory, to see some input and outputs. + +The `CapRTL` charset means that CAPITAL letters are right to left, and digits +6, 7, 8, 9 are Arabic digits, try 'fribidi --charsetdesc CapRTL' for the full +description. + + +## Executable + +There is also a command-line utilitity called `fribidi` that loops over the text +of a file and performs the bidi algorithm on each line, also used for testing +the algorithm. + +Run `fribidi --help` to learn about usage. + +The command-line utility is known to have problems with line-breaking and +logical-to-vertical/vertical-to-logical lists. + + +## Bug Reports and Feedback + +Report bugs and general feedback at: + +The mailing list is the place for additional technical discussions and user +questions: + + +## Maintainers and Contributors + +* Dov Grobgeld - Original author and current maintainer +* Behdad Esfahbod - Author of most of the code + +See also [`AUTHORS`](./AUTHORS) and [`THANKS`](./THANKS) for the complete list +of contributors. + + +[Unicode Bidirectional Algorithm]: https://www.unicode.org/reports/tr9/ +[Unicode Reference Code]: https://www.unicode.org/reports/tr9/#Reference_Code +[Mirroring]: https://www.unicode.org/reports/tr9/#Mirroring +[GTK+]: https://www.gtk.org/ +[GNOME]: https://www.gnome.org/ +[GNU Lesser General Public License]: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html diff --git a/aclocal.m4 b/aclocal.m4 index 77e477b..8a240ef 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.15.1 -*- Autoconf -*- +# generated automatically by aclocal 1.16.1 -*- Autoconf -*- -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -364,7 +364,7 @@ AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) ])dnl PKG_HAVE_DEFINE_WITH_MODULES -# Copyright (C) 2002-2017 Free Software Foundation, Inc. +# Copyright (C) 2002-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -376,10 +376,10 @@ AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], # 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.15' +[am__api_version='1.16' 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.15.1], [], +m4_if([$1], [1.16.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -395,12 +395,12 @@ m4_define([_AM_AUTOCONF_VERSION], []) # 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.15.1])dnl +[AM_AUTOMAKE_VERSION([1.16.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -# Copyright (C) 2011-2017 Free Software Foundation, Inc. +# Copyright (C) 2011-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -462,7 +462,7 @@ AC_SUBST([AR])dnl # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -514,7 +514,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2017 Free Software Foundation, Inc. +# Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -545,7 +545,7 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -736,13 +736,12 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # 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. - # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], @@ -750,49 +749,41 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + AS_CASE([$CONFIG_FILES], + [*\'*], [eval set x "$CONFIG_FILES"], + [*], [set x $CONFIG_FILES]) shift - for mf + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf do # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line + am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`AS_DIRNAME(["$am_mf"])` + am_filepart=`AS_BASENAME(["$am_mf"])` + AM_RUN_LOG([cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles]) || am_rc=$? done + if test $am_rc -ne 0; then + AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. Try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking).]) + fi + AS_UNSET([am_dirpart]) + AS_UNSET([am_filepart]) + AS_UNSET([am_mf]) + AS_UNSET([am_rc]) + rm -f conftest-deps.mk } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS @@ -801,18 +792,17 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each '.P' file that we will -# need in order to bootstrap the dependency handling code. +# This code is only required when automatic dependency tracking is enabled. +# This creates each '.Po' and '.Plo' makefile fragment that we'll need in +# order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) + [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -899,8 +889,8 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: -# -# +# +# AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. @@ -967,7 +957,7 @@ END Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . +that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM @@ -1009,7 +999,7 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1030,7 +1020,7 @@ if test x"${install_sh+set}" != xset; then fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2017 Free Software Foundation, Inc. +# Copyright (C) 2003-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1051,7 +1041,7 @@ AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1059,49 +1049,42 @@ AC_SUBST([am__leading_dot])]) # AM_MAKE_INCLUDE() # ----------------- -# Check to see how make treats includes. +# Check whether make has an 'include' directive that can support all +# the idioms we need for our automatic dependency tracking code. AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' +[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) +cat > confinc.mk << 'END' am__doit: - @echo this is the am__doit target + @echo this is the am__doit target >confinc.out .PHONY: am__doit END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) + AS_CASE([$?:`cat confinc.out 2>/dev/null`], + ['0:this is the am__doit target'], + [AS_CASE([$s], + [BSD], [am__include='.include' am__quote='"'], + [am__include='include' am__quote=''])]) + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +AC_MSG_RESULT([${_am_result}]) +AC_SUBST([am__include])]) +AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2017 Free Software Foundation, Inc. +# Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1140,7 +1123,7 @@ fi # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1169,7 +1152,7 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1216,7 +1199,7 @@ AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1235,7 +1218,7 @@ AC_DEFUN([AM_RUN_LOG], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1316,7 +1299,7 @@ AC_CONFIG_COMMANDS_PRE( rm -f conftest.file ]) -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1376,7 +1359,7 @@ AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1404,7 +1387,7 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2017 Free Software Foundation, Inc. +# Copyright (C) 2006-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1423,7 +1406,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2017 Free Software Foundation, Inc. +# Copyright (C) 2004-2018 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/ar-lib b/ar-lib index 92bbe08..0baa4f6 100755 --- a/ar-lib +++ b/ar-lib @@ -1,10 +1,10 @@ -#!/bin/sh +#! /bin/sh # Wrapper for Microsoft lib.exe me=ar-lib scriptversion=2012-03-01.08; # UTC -# Copyright (C) 2010-2017 Free Software Foundation, Inc. +# Copyright (C) 2010-2018 Free Software Foundation, Inc. # Written by Peter Rosin . # # This program is free software; you can redistribute it and/or modify @@ -18,7 +18,7 @@ scriptversion=2012-03-01.08; # UTC # 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 . +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a diff --git a/bin/Makefile.in b/bin/Makefile.in index a695575..2983c87 100644 --- a/bin/Makefile.in +++ b/bin/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2017 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -143,7 +143,11 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/fribidi-benchmark.Po \ + ./$(DEPDIR)/fribidi-bidi-types.Po \ + ./$(DEPDIR)/fribidi-caprtl2utf8.Po ./$(DEPDIR)/fribidi-main.Po \ + ./$(DEPDIR)/getopt.Po ./$(DEPDIR)/getopt1.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -359,8 +363,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -468,12 +472,18 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-benchmark.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-bidi-types.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-caprtl2utf8.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-benchmark.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-bidi-types.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-caprtl2utf8.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -554,7 +564,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -627,7 +640,12 @@ clean-am: clean-binPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/fribidi-benchmark.Po + -rm -f ./$(DEPDIR)/fribidi-bidi-types.Po + -rm -f ./$(DEPDIR)/fribidi-caprtl2utf8.Po + -rm -f ./$(DEPDIR)/fribidi-main.Po + -rm -f ./$(DEPDIR)/getopt.Po + -rm -f ./$(DEPDIR)/getopt1.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -673,7 +691,12 @@ install-ps-am: installcheck-am: installcheck-binPROGRAMS maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/fribidi-benchmark.Po + -rm -f ./$(DEPDIR)/fribidi-bidi-types.Po + -rm -f ./$(DEPDIR)/fribidi-caprtl2utf8.Po + -rm -f ./$(DEPDIR)/fribidi-main.Po + -rm -f ./$(DEPDIR)/getopt.Po + -rm -f ./$(DEPDIR)/getopt1.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -694,7 +717,7 @@ uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ clean-binPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-libtool \ diff --git a/bin/fribidi-benchmark.c b/bin/fribidi-benchmark.c index e5fc9c0..07ac336 100644 --- a/bin/fribidi-benchmark.c +++ b/bin/fribidi-benchmark.c @@ -33,6 +33,11 @@ #include #include + +#ifdef HAVE_CONFIG_H +# include +#endif + #ifdef STDC_HEADERS # include # include diff --git a/bin/fribidi-main.c b/bin/fribidi-main.c index cd359a9..437dad0 100644 --- a/bin/fribidi-main.c +++ b/bin/fribidi-main.c @@ -33,6 +33,11 @@ #include #include + +#ifdef HAVE_CONFIG_H +# include +#endif + #ifdef STDC_HEADERS # include # include @@ -418,11 +423,11 @@ FRIBIDI_END_IGNORE_DEPRECATIONS /* Create a bidi string. */ base = input_base_direction; -FRIBIDI_BEGIN_IGNORE_DEPRECATIONS + log2vis = fribidi_log2vis (logical, len, &base, /* output */ visual, ltov, vtol, levels); -FRIBIDI_END_IGNORE_DEPRECATIONS + if (log2vis) { @@ -430,12 +435,11 @@ FRIBIDI_END_IGNORE_DEPRECATIONS printf ("%-*s => ", padding_width, S_); /* Remove explicit marks, if asked for. */ -FRIBIDI_BEGIN_IGNORE_DEPRECATIONS + if (do_clean) len = fribidi_remove_bidi_marks (visual, len, ltov, vtol, levels); -FRIBIDI_END_IGNORE_DEPRECATIONS if (show_visual) { diff --git a/bin/meson.build b/bin/meson.build index 823ed02..66326d8 100644 --- a/bin/meson.build +++ b/bin/meson.build @@ -1,27 +1,27 @@ fribidi = executable('fribidi', 'fribidi-main.c', 'getopt.c', 'getopt1.c', fribidi_unicode_version_h, - c_args: ['-DHAVE_CONFIG_H'], + c_args: ['-DHAVE_CONFIG_H'] + visibility_args, include_directories: incs, link_with: libfribidi, install: true) executable('fribidi-benchmark', 'fribidi-benchmark.c', 'getopt.c', 'getopt1.c', fribidi_unicode_version_h, - c_args: ['-DHAVE_CONFIG_H'], + c_args: ['-DHAVE_CONFIG_H'] + visibility_args, include_directories: incs, link_with: libfribidi, install: false) executable('fribidi-bidi-types', 'fribidi-bidi-types.c', fribidi_unicode_version_h, - c_args: ['-DHAVE_CONFIG_H'], + c_args: ['-DHAVE_CONFIG_H'] + visibility_args, include_directories: incs, link_with: libfribidi, install: false) executable('fribidi-caprtl2utf8', 'fribidi-caprtl2utf8.c', fribidi_unicode_version_h, - c_args: ['-DHAVE_CONFIG_H'], + c_args: ['-DHAVE_CONFIG_H'] + visibility_args, include_directories: incs, link_with: libfribidi, install: false) diff --git a/compile b/compile index de0005d..99e5052 100755 --- a/compile +++ b/compile @@ -1,9 +1,9 @@ -#!/bin/sh +#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ scriptversion=2016-01-11.22; # UTC # 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 . +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -340,7 +340,7 @@ exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/config.guess b/config.guess index 717b228..b33c9e8 100755 --- a/config.guess +++ b/config.guess @@ -1,8 +1,8 @@ -#!/bin/sh +#! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2017 Free Software Foundation, Inc. +# Copyright 1992-2018 Free Software Foundation, Inc. -timestamp='2017-08-08' +timestamp='2018-08-29' # 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 @@ -15,7 +15,7 @@ timestamp='2017-08-08' # 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 . +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -27,7 +27,7 @@ timestamp='2017-08-08' # 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 +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to . @@ -39,7 +39,7 @@ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. -Operation modes: +Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2017 Free Software Foundation, Inc. +Copyright 1992-2018 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." @@ -84,8 +84,6 @@ if test $# != 0; then exit 1 fi -trap 'exit 1' 1 2 15 - # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a @@ -96,34 +94,39 @@ trap 'exit 1' 1 2 15 # Portable tmp directory creation inspired by the Autoconf team. -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 1 2 13 15 +trap 'exitcode=$?; test -z "$tmp" || rm -fr "$tmp"; exit $exitcode' 0 + +set_cc_for_build() { + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD="$driver" + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then +if test -f /.attbin/uname ; then PATH=$PATH:/.attbin ; export PATH fi @@ -132,14 +135,14 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -case "${UNAME_SYSTEM}" in +case "$UNAME_SYSTEM" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu - eval $set_cc_for_build - cat <<-EOF > $dummy.c + set_cc_for_build + cat <<-EOF > "$dummy.c" #include #if defined(__UCLIBC__) LIBC=uclibc @@ -149,13 +152,20 @@ Linux|GNU|GNU/*) LIBC=gnu #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" + + # If ldd exists, use it to detect musl libc. + if command -v ldd >/dev/null && \ + ldd --version 2>&1 | grep -q ^musl + then + LIBC=musl + fi ;; esac # Note: order is significant - the case branches are not exclusive. -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, @@ -169,30 +179,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || \ + "/sbin/$sysctl" 2>/dev/null || \ + "/usr/sbin/$sysctl" 2>/dev/null || \ echo unknown)` - case "${UNAME_MACHINE_ARCH}" in + 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 + 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 ;; + *) machine="$UNAME_MACHINE_ARCH"-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. - case "${UNAME_MACHINE_ARCH}" in + case "$UNAME_MACHINE_ARCH" in earm*) os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build + set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then @@ -208,10 +218,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ;; esac # Determine ABI tags. - case "${UNAME_MACHINE_ARCH}" in + case "$UNAME_MACHINE_ARCH" in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; esac # The OS release @@ -219,49 +229,55 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in + case "$UNAME_VERSION" in Debian*) release='-gnu' ;; *) - release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` + 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}${abi}" + echo "$machine-${os}${release}${abi-}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" exit ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" + exit ;; + *:MidnightBSD:*:*) + echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" exit ;; *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" exit ;; *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" exit ;; macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} + echo powerpc-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:Sortix:*:*) - echo ${UNAME_MACHINE}-unknown-sortix + echo "$UNAME_MACHINE"-unknown-sortix exit ;; *:Redox:*:*) - echo ${UNAME_MACHINE}-unknown-redox + echo "$UNAME_MACHINE"-unknown-redox exit ;; + mips:OSF1:*.*) + echo mips-dec-osf1 + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) @@ -313,28 +329,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos + echo "$UNAME_MACHINE"-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos + echo "$UNAME_MACHINE"-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition @@ -346,7 +353,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} + echo arm-acorn-riscix"$UNAME_RELEASE" exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos @@ -373,38 +380,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} + echo i386-pc-auroraux"$UNAME_RELEASE" exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH=i386 - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH=x86_64 - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + UNAME_REL="`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" + case `isainfo -b` in + 32) + echo i386-pc-solaris2"$UNAME_REL" + ;; + 64) + echo x86_64-pc-solaris2"$UNAME_REL" + ;; + esac exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in @@ -413,25 +415,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" exit ;; sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} + echo m68k-sun-sunos"$UNAME_RELEASE" exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) - echo m68k-sun-sunos${UNAME_RELEASE} + echo m68k-sun-sunos"$UNAME_RELEASE" ;; sun4) - echo sparc-sun-sunos${UNAME_RELEASE} + echo sparc-sun-sunos"$UNAME_RELEASE" ;; esac exit ;; aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} + echo sparc-auspex-sunos"$UNAME_RELEASE" exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not @@ -442,44 +444,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} + echo m68k-milan-mint"$UNAME_RELEASE" exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} + echo m68k-hades-mint"$UNAME_RELEASE" exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} + echo m68k-unknown-mint"$UNAME_RELEASE" exit ;; m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} + echo m68k-apple-machten"$UNAME_RELEASE" exit ;; powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} + echo powerpc-apple-machten"$UNAME_RELEASE" exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} + echo mips-dec-ultrix"$UNAME_RELEASE" exit ;; VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} + echo vax-dec-ultrix"$UNAME_RELEASE" exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} + echo clipper-intergraph-clix"$UNAME_RELEASE" exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { @@ -488,23 +490,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} + echo mips-mips-riscos"$UNAME_RELEASE" exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax @@ -530,17 +532,17 @@ EOF AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] + if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ + [ "$TARGET_BINARY_INTERFACE"x = x ] then - echo m88k-dg-dgux${UNAME_RELEASE} + echo m88k-dg-dgux"$UNAME_RELEASE" else - echo m88k-dg-dguxbcs${UNAME_RELEASE} + echo m88k-dg-dguxbcs"$UNAME_RELEASE" fi else - echo i586-dg-dgux${UNAME_RELEASE} + echo i586-dg-dgux"$UNAME_RELEASE" fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) @@ -557,7 +559,7 @@ EOF echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id @@ -569,14 +571,14 @@ EOF if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #include main() @@ -587,7 +589,7 @@ EOF exit(0); } EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then echo "$SYSTEM_NAME" else @@ -601,7 +603,7 @@ EOF exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc @@ -610,18 +612,18 @@ EOF 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} + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} + echo "$IBM_ARCH"-ibm-aix"$IBM_REV" exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx @@ -636,28 +638,28 @@ EOF echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; + HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` + case "$UNAME_MACHINE" in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in + case "$sc_cpu_version" in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in + case "$sc_kernel_bits" in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + if [ "$HP_ARCH" = "" ]; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE #include @@ -690,13 +692,13 @@ EOF exit (0); } EOF - (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ ${HP_ARCH} = hppa2.0w ] + if [ "$HP_ARCH" = hppa2.0w ] then - eval $set_cc_for_build + set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler @@ -715,15 +717,15 @@ EOF HP_ARCH=hppa64 fi fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} + echo "$HP_ARCH"-hp-hpux"$HPUX_REV" exit ;; ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} + HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux"$HPUX_REV" exit ;; 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #include int main () @@ -748,11 +750,11 @@ EOF exit (0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) @@ -761,7 +763,7 @@ EOF *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) @@ -769,9 +771,9 @@ EOF exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk + echo "$UNAME_MACHINE"-unknown-osf1mk else - echo ${UNAME_MACHINE}-unknown-osf1 + echo "$UNAME_MACHINE"-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) @@ -796,128 +798,120 @@ EOF echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" exit ;; sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} + echo sparc-unknown-bsdi"$UNAME_RELEASE" exit ;; *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" + exit ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=`uname -p` + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi + else + echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf + fi exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in + case "$UNAME_PROCESSOR" in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin + echo "$UNAME_MACHINE"-pc-cygwin exit ;; *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 + echo "$UNAME_MACHINE"-pc-mingw64 exit ;; *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 + echo "$UNAME_MACHINE"-pc-mingw32 exit ;; *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 + echo "$UNAME_MACHINE"-pc-msys exit ;; i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 + echo "$UNAME_MACHINE"-pc-pw32 exit ;; *:Interix*:*) - case ${UNAME_MACHINE} in + case "$UNAME_MACHINE" in x86) - echo i586-pc-interix${UNAME_RELEASE} + echo i586-pc-interix"$UNAME_RELEASE" exit ;; authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} + echo x86_64-unknown-interix"$UNAME_RELEASE" exit ;; IA64) - echo ia64-unknown-interix${UNAME_RELEASE} + echo ia64-unknown-interix"$UNAME_RELEASE" exit ;; esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin + echo "$UNAME_MACHINE"-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix + *:Minix:*:*) + echo "$UNAME_MACHINE"-unknown-minix exit ;; aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in @@ -931,63 +925,63 @@ EOF esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arm*:Linux:*:*) - eval $set_cc_for_build + set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf fi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; e2k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; k1om:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el @@ -1001,70 +995,70 @@ EOF #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" + test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } ;; mips64el:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} + echo or1k-unknown-linux-"$LIBC" exit ;; or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} + echo sparc-unknown-linux-"$LIBC" exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} + echo hppa64-unknown-linux-"$LIBC" exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; + PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; + PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; + *) echo hppa-unknown-linux-"$LIBC" ;; esac exit ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} + echo powerpc64-unknown-linux-"$LIBC" exit ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} + echo powerpc-unknown-linux-"$LIBC" exit ;; ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} + echo powerpc64le-unknown-linux-"$LIBC" exit ;; ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} + echo powerpcle-unknown-linux-"$LIBC" exit ;; riscv32:Linux:*:* | riscv64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} + echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} + echo "$UNAME_MACHINE"-dec-linux-"$LIBC" exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. @@ -1078,34 +1072,34 @@ EOF # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx + echo "$UNAME_MACHINE"-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop + echo "$UNAME_MACHINE"-unknown-stop exit ;; i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos + echo "$UNAME_MACHINE"-unknown-atheos exit ;; i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable + echo "$UNAME_MACHINE"-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} + echo i386-unknown-lynxos"$UNAME_RELEASE" exit ;; i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp + echo "$UNAME_MACHINE"-pc-msdosdjgpp exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + i*86:*:4.*:*) + UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" fi exit ;; i*86:*:5:[678]*) @@ -1115,12 +1109,12 @@ EOF *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 @@ -1130,9 +1124,9 @@ EOF && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" else - echo ${UNAME_MACHINE}-pc-sysv32 + echo "$UNAME_MACHINE"-pc-sysv32 fi exit ;; pc:*:*:*) @@ -1152,9 +1146,9 @@ EOF exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) @@ -1174,9 +1168,9 @@ EOF test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; @@ -1185,28 +1179,28 @@ EOF test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} + echo m68k-unknown-lynxos"$UNAME_RELEASE" exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} + echo sparc-unknown-lynxos"$UNAME_RELEASE" exit ;; rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} + echo rs6000-unknown-lynxos"$UNAME_RELEASE" exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} + echo powerpc-unknown-lynxos"$UNAME_RELEASE" exit ;; SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} + echo mips-dde-sysv"$UNAME_RELEASE" exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 @@ -1217,7 +1211,7 @@ EOF *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 + echo "$UNAME_MACHINE"-sni-sysv4 else echo ns32k-sni-sysv fi @@ -1237,23 +1231,23 @@ EOF exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos + echo "$UNAME_MACHINE"-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} + echo m68k-apple-aux"$UNAME_RELEASE" exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} + echo mips-nec-sysv"$UNAME_RELEASE" else - echo mips-unknown-sysv${UNAME_RELEASE} + echo mips-unknown-sysv"$UNAME_RELEASE" fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. @@ -1272,39 +1266,39 @@ EOF echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} + echo sx4-nec-superux"$UNAME_RELEASE" exit ;; SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} + echo sx5-nec-superux"$UNAME_RELEASE" exit ;; SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} + echo sx6-nec-superux"$UNAME_RELEASE" exit ;; SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} + echo sx7-nec-superux"$UNAME_RELEASE" exit ;; SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} + echo sx8-nec-superux"$UNAME_RELEASE" exit ;; SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} + echo sx8r-nec-superux"$UNAME_RELEASE" exit ;; SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux${UNAME_RELEASE} + echo sxace-nec-superux"$UNAME_RELEASE" exit ;; Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} + echo powerpc-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval $set_cc_for_build + set_cc_for_build if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then + if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ @@ -1332,7 +1326,7 @@ EOF # that Apple uses in portable devices. UNAME_PROCESSOR=x86_64 fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` @@ -1340,22 +1334,25 @@ EOF UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} + echo neo-tandem-nsk"$UNAME_RELEASE" exit ;; NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} + echo nse-tandem-nsk"$UNAME_RELEASE" exit ;; NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} + echo nsr-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSV-*:NONSTOP_KERNEL:*:*) + echo nsv-tandem-nsk"$UNAME_RELEASE" exit ;; NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk${UNAME_RELEASE} + echo nsx-tandem-nsk"$UNAME_RELEASE" exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux @@ -1364,18 +1361,19 @@ EOF echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. + # shellcheck disable=SC2154 if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi - echo ${UNAME_MACHINE}-unknown-plan9 + echo "$UNAME_MACHINE"-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 @@ -1396,14 +1394,14 @@ EOF echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} + echo mips-sei-seiux"$UNAME_RELEASE" exit ;; *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in + case "$UNAME_MACHINE" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; @@ -1412,32 +1410,44 @@ EOF echo i386-pc-xenix exit ;; i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` + echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" exit ;; i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos + echo "$UNAME_MACHINE"-pc-rdos exit ;; i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros + echo "$UNAME_MACHINE"-pc-aros exit ;; x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx + echo "$UNAME_MACHINE"-unknown-esx exit ;; amd64:Isilon\ OneFS:*:*) echo x86_64-unknown-onefs exit ;; esac +echo "$0: unable to guess system type" >&2 + +case "$UNAME_MACHINE:$UNAME_SYSTEM" in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <&2 </dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" EOF exit 1 # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff --git a/config.sub b/config.sub index f4bafc1..b51fb8c 100755 --- a/config.sub +++ b/config.sub @@ -1,8 +1,8 @@ -#!/bin/sh +#! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2017 Free Software Foundation, Inc. +# Copyright 1992-2018 Free Software Foundation, Inc. -timestamp='2017-04-02' +timestamp='2018-08-29' # 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 @@ -15,7 +15,7 @@ timestamp='2017-04-02' # 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 . +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -33,7 +33,7 @@ timestamp='2017-04-02' # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -57,7 +57,7 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. -Operation modes: +Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit @@ -67,7 +67,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright 1992-2017 Free Software Foundation, Inc. +Copyright 1992-2018 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." @@ -94,7 +94,7 @@ while test $# -gt 0 ; do *local*) # First pass through any local machine types. - echo $1 + echo "$1" exit ;; * ) @@ -110,1252 +110,1159 @@ case $# in exit 1;; esac -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -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* | netbsd*-eabi* | \ - kopensolaris*-gnu* | cloudabi*-eabi* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac +# Split fields of configuration type +IFS="-" read -r field1 field2 field3 field4 <&2 + exit 1 ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + *-*-*-*) + basic_machine=$field1-$field2 + os=$field3-$field4 ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + 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* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + os=linux-android + ;; + *) + basic_machine=$field1-$field2 + os=$field3 + ;; + esac ;; - -psos*) - os=-psos + *-*) + # A lone config we happen to match not fitting any patern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + os= + ;; + *) + basic_machine=$field1 + os=$field2 + ;; + esac + ;; + esac ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + os=bsd + ;; + a29khif) + basic_machine=a29k-amd + os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + os=scout + ;; + alliant) + basic_machine=fx80-alliant + os= + ;; + altos | altos3068) + basic_machine=m68k-altos + os= + ;; + am29k) + basic_machine=a29k-none + os=bsd + ;; + amdahl) + basic_machine=580-amdahl + os=sysv + ;; + amiga) + basic_machine=m68k-unknown + os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=bsd + ;; + aros) + basic_machine=i386-pc + os=aros + ;; + aux) + basic_machine=m68k-apple + os=aux + ;; + balance) + basic_machine=ns32k-sequent + os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=linux + ;; + cegcc) + basic_machine=arm-unknown + os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=bsd + ;; + convex-c2) + basic_machine=c2-convex + os=bsd + ;; + convex-c32) + basic_machine=c32-convex + os=bsd + ;; + convex-c34) + basic_machine=c34-convex + os=bsd + ;; + convex-c38) + basic_machine=c38-convex + os=bsd + ;; + cray) + basic_machine=j90-cray + os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + os= + ;; + da30) + basic_machine=m68k-da30 + os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + os= + ;; + delta88) + basic_machine=m88k-motorola + os=sysv3 + ;; + dicos) + basic_machine=i686-pc + os=dicos + ;; + djgpp) + basic_machine=i586-pc + os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=ose + ;; + gmicro) + basic_machine=tron-gmicro + os=sysv + ;; + go32) + basic_machine=i386-pc + os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=hms + ;; + harris) + basic_machine=m88k-harris + os=sysv3 + ;; + hp300) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=hpux + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=proelf + ;; + i386mach) + basic_machine=i386-mach + os=mach + ;; + vsta) + basic_machine=i386-pc + os=vsta + ;; + isi68 | isi) + basic_machine=m68k-isi + os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + os=sysv + ;; + merlin) + basic_machine=ns32k-utek + os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + os=coff + ;; + morphos) + basic_machine=powerpc-unknown + os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + os=moxiebox + ;; + msdos) + basic_machine=i386-pc + os=msdos + ;; + msys) + basic_machine=i686-pc + os=msys + ;; + mvs) + basic_machine=i370-ibm + os=mvs + ;; + nacl) + basic_machine=le32-unknown + os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=newsos + ;; + news1000) + basic_machine=m68030-sony + os=newsos + ;; + necv70) + basic_machine=v70-nec + os=sysv + ;; + nh3000) + basic_machine=m68k-harris + os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=cxux + ;; + nindy960) + basic_machine=i960-intel + os=nindy + ;; + mon960) + basic_machine=i960-intel + os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=ose + ;; + os68k) + basic_machine=m68k-none + os=os68k + ;; + paragon) + basic_machine=i860-intel + os=osf + ;; + parisc) + basic_machine=hppa-unknown + os=linux + ;; + pw32) + basic_machine=i586-unknown + os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + os=rdos + ;; + rdos32) + basic_machine=i386-pc + os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=coff + ;; + sa29200) + basic_machine=a29k-amd + os=udi + ;; + sei) + basic_machine=mips-sei + os=seiux + ;; + sequent) + basic_machine=i386-sequent + os= + ;; + sps7) + basic_machine=m68k-bull + os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + os= + ;; + stratus) + basic_machine=i860-stratus + os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + os= + ;; + sun2os3) + basic_machine=m68000-sun + os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + os= + ;; + sun3os3) + basic_machine=m68k-sun + os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + os= + ;; + sun4os3) + basic_machine=sparc-sun + os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + os= + ;; + sv1) + basic_machine=sv1-cray + os=unicos + ;; + symmetry) + basic_machine=i386-sequent + os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=unicos + ;; + t90) + basic_machine=t90-cray + os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + os=tpf + ;; + udi29k) + basic_machine=a29k-amd + os=udi + ;; + ultra3) + basic_machine=a29k-nyu + os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=none + ;; + vaxv) + basic_machine=vax-dec + os=sysv + ;; + vms) + basic_machine=vax-dec + os=vms + ;; + vxworks960) + basic_machine=i960-wrs + os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=vxworks + ;; + xbox) + basic_machine=i686-pc + os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + os=unicos + ;; + *) + basic_machine=$1 + os= + ;; + esac ;; esac -# Decode aliases for certain CPU-COMPANY combinations. +# Decode 1-component or ad-hoc basic machines case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | 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 \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia16 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pru \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | 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 \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | wasm32 \ - | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - 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 - os=-none + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + op50n) + cpu=hppa1.1 + vendor=oki ;; - ms1) - basic_machine=mt-unknown + op60c) + cpu=hppa1.1 + vendor=oki ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown + ibm*) + cpu=i370 + vendor=ibm ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none + orion105) + cpu=clipper + vendor=highlevel ;; - xscaleeb) - basic_machine=armeb-unknown + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple ;; - - xscaleel) - basic_machine=armel-unknown + pmac | pmac-mpw) + cpu=powerpc + vendor=apple ;; - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | 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-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pru-* \ - | 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*-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | wasm32-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att + cpu=m68000 + vendor=att ;; 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux + cpu=we32k + vendor=att ;; bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec + cpu=powerpc + vendor=ibm + os=cnk ;; decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 + cpu=pdp10 + vendor=dec + os=tops10 ;; decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 + cpu=pdp10 + vendor=dec + os=tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola + cpu=m68k + vendor=motorola ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - e500v[12]) - basic_machine=powerpc-unknown - os=$os"spe" - ;; - e500v[12]-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - os=$os"spe" - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd + dpx2*) + cpu=m68k + vendor=bull + os=sysv3 ;; encore | umax | mmax) - basic_machine=ns32k-encore + cpu=ns32k + vendor=encore ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose + elxsi) + cpu=elxsi + vendor=elxsi + os=${os:-bsd} ;; fx2800) - basic_machine=i860-alliant + cpu=i860 + vendor=alliant ;; genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 + cpu=ns32k + vendor=ns ;; h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux + cpu=hppa1.1 + vendor=hitachi + os=hiuxwe2 ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp + cpu=hppa1.0 + vendor=hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp + cpu=m68000 + vendor=hp ;; hp9k3[2-9][0-9]) - basic_machine=m68k-hp + cpu=m68k + vendor=hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp + cpu=hppa1.0 + vendor=hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm + cpu=hppa1.0 + vendor=hp ;; i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=sysv32 ;; i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=sysv4 ;; i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=sysv ;; i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=solaris2 ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta + j90 | j90-cray) + cpu=j90 + vendor=cray + os=${os:-unicos} ;; iris | iris4d) - basic_machine=mips-sgi + cpu=mips + vendor=sgi case $os in - -irix*) + irix*) ;; *) - os=-irix4 + os=irix4 ;; esac ;; - 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 - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl + cpu=m68000 + vendor=convergent ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + os=mint ;; news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos + cpu=mips + vendor=sony + os=newsos ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next + next | m*-next) + cpu=m68k + vendor=next case $os in - -nextstep* ) + nextstep* ) ;; - -ns2*) - os=-nextstep2 + ns2*) + os=nextstep2 ;; *) - os=-nextstep3 + os=nextstep3 ;; esac ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - nsx-tandem) - basic_machine=nsx-tandem + cpu=np1 + vendor=gould ;; op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k + cpu=hppa1.1 + vendor=oki + os=proelf ;; pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux + cpu=hppa1.1 + vendor=hitachi + os=hiuxwe2 ;; pbd) - basic_machine=sparc-tti + cpu=sparc + vendor=tti ;; pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 + cpu=m68k + vendor=tti ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + pc532) + cpu=ns32k + vendor=pc532 ;; pn) - basic_machine=pn-gould + cpu=pn + vendor=gould ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + power) + cpu=power + vendor=ibm ;; ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff + cpu=i386 + vendor=ibm ;; rm[46]00) - basic_machine=mips-siemens + cpu=mips + vendor=siemens ;; rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown + cpu=romp + vendor=ibm ;; sde) - basic_machine=mipsisa32-sde - os=-elf + cpu=mipsisa32 + vendor=sde + os=${os:-elf} ;; - sei) - basic_machine=mips-sei - os=-seiux + simso-wrs) + cpu=sparclite + vendor=wrs + os=vxworks ;; - sequent) - basic_machine=i386-sequent + tower | tower-32) + cpu=m68k + vendor=ncr ;; - sh) - basic_machine=sh-hitachi - os=-hms + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu ;; - sh5el) - basic_machine=sh5le-unknown + w65) + cpu=w65 + vendor=wdc ;; - sh64) - basic_machine=sh64-unknown + w89k-*) + cpu=hppa1.1 + vendor=winbond + os=proelf ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks + none) + cpu=none + vendor=none ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine ;; - spur) - basic_machine=spur-unknown + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` ;; - st2000) - basic_machine=m68k-tandem + + *-*) + IFS="-" read -r cpu vendor <&2 - exit 1 + # Recognize the cannonical CPU types that are allowed with any + # company name. + case $cpu in + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | abacus \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ + | alphapca5[67] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arceb \ + | arm | arm[lb]e | arme[lb] | armv* \ + | avr | avr32 \ + | asmjs \ + | ba \ + | be32 | be64 \ + | bfin | bs2000 \ + | c[123]* | c30 | [cjt]90 | c4x \ + | c8051 | clipper | craynv | csky | cydra \ + | d10v | d30v | dlx | dsp16xx \ + | e2k | elxsi | epiphany \ + | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ + | h8300 | h8500 \ + | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i*86 | i860 | i960 | ia16 | ia64 \ + | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle \ + | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k | v70 | w65 \ + | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip \ + | m88110 | m88k | maxq | mb | mcore | mep | metag \ + | microblaze | microblazeel \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mmix \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nfp \ + | nios | nios2 | nios2eb | nios2el \ + | none | np1 | ns16k | ns32k \ + | open8 \ + | or1k* \ + | or32 \ + | orion \ + | pdp10 | pdp11 | pj | pjl | pn | power \ + | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ + | pru \ + | pyramid \ + | riscv | riscv32 | riscv64 \ + | rl78 | romp | rs6000 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ + | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ + | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ + | spu \ + | tahoe \ + | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ + | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ + | vax \ + | visium \ + | wasm32 \ + | we32k \ + | x86 | x86_64 | xc16x | xgate | xps100 \ + | xstormy16 | xtensa* \ + | ymp \ + | z8k | z80) + ;; + + *) + echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 + exit 1 + ;; + esac ;; esac # Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` +case $vendor in + digital*) + vendor=dec ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + commodore*) + vendor=cbm ;; *) ;; @@ -1363,200 +1270,246 @@ esac # Decode manufacturer-specific aliases for certain operating systems. -if [ x"$os" != x"" ] +if [ x$os != x ] then case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux + # First match some system type aliases that might get confused + # with valid system types. + # solaris* is a basic system type, with this one exception. + auroraux) + os=auroraux ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` + bluegene*) + os=cnk ;; - -solaris) - os=-solaris2 + solaris1 | solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; - -svr4*) - os=-sysv4 + solaris) + os=solaris2 ;; - -unixware*) - os=-sysv4.2uw + unixware*) + os=sysv4.2uw ;; - -gnu/linux*) + gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; - # First accept the basic system types. + # es1800 is here to avoid being matched by es* (a different OS) + es1800*) + os=ose + ;; + # Some version numbers need modification + chorusos*) + os=chorusos + ;; + isc) + os=isc2.2 + ;; + sco6) + os=sco5v6 + ;; + sco5) + os=sco3.2v5 + ;; + sco4) + os=sco3.2v4 + ;; + sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + ;; + sco3.2v[4-9]* | sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + ;; + scout) + # Don't match below + ;; + sco*) + os=sco3.2v2 + ;; + psos*) + os=psos + ;; + # Now accept the basic system types. # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* | -cloudabi* | -sortix* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ - | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) + # Each alternative MUST end in a * to match a version number. + # sysv* is not here because it comes later, after sysvr4. + gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ + | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\ + | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ + | sym* | kopensolaris* | plan9* \ + | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ + | aos* | aros* | cloudabi* | sortix* \ + | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ + | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ + | knetbsd* | mirbsd* | netbsd* \ + | bitrig* | openbsd* | solidbsd* | libertybsd* \ + | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ + | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ + | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ + | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \ + | chorusrdb* | cegcc* | glidix* \ + | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ + | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \ + | linux-newlib* | linux-musl* | linux-uclibc* \ + | uxpv* | beos* | mpeix* | udk* | moxiebox* \ + | interix* | uwin* | mks* | rhapsody* | darwin* \ + | openstep* | oskit* | conix* | pw32* | nonstopux* \ + | storm-chaos* | tops10* | tenex* | tops20* | its* \ + | os2* | vos* | palmos* | uclinux* | nucleus* \ + | morphos* | superux* | rtmk* | windiss* \ + | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ + | skyos* | haiku* | rdos* | toppers* | drops* | es* \ + | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ + | midnightbsd*) # Remember, each alternative MUST END IN *, to match a version number. ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) + qnx*) + case $cpu in + x86 | i*86) ;; *) - os=-nto$os + os=nto-$os ;; esac ;; - -nto-qnx*) + hiux*) + os=hiuxwe2 ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` + nto-qnx*) ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` + sim | xray | os68k* | v88r* \ + | windows* | osx | abug | netware* | os9* \ + | macos* | mpw* | magic* | mmixware* | mon960* | lnews*) ;; - -linux-dietlibc) - os=-linux-dietlibc + linux-dietlibc) + os=linux-dietlibc ;; - -linux*) + linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` + lynx*178) + os=lynxos178 ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` + lynx*5) + os=lynxos5 ;; - -opened*) - os=-openedition + lynx*) + os=lynxos ;; - -os400*) - os=-os400 + mac*) + os=`echo "$os" | sed -e 's|mac|macos|'` ;; - -wince*) - os=-wince + opened*) + os=openedition ;; - -osfrose*) - os=-osfrose + os400*) + os=os400 ;; - -osf*) - os=-osf + sunos5*) + os=`echo "$os" | sed -e 's|sunos5|solaris2|'` ;; - -utek*) - os=-bsd + sunos6*) + os=`echo "$os" | sed -e 's|sunos6|solaris3|'` ;; - -dynix*) - os=-bsd + wince*) + os=wince ;; - -acis*) - os=-aos + utek*) + os=bsd ;; - -atheos*) - os=-atheos + dynix*) + os=bsd ;; - -syllable*) - os=-syllable + acis*) + os=aos ;; - -386bsd) - os=-bsd + atheos*) + os=atheos ;; - -ctix* | -uts*) - os=-sysv + syllable*) + os=syllable + ;; + 386bsd) + os=bsd ;; - -nova*) - os=-rtmk-nova + ctix* | uts*) + os=sysv ;; - -ns2 ) - os=-nextstep2 + nova*) + os=rtmk-nova ;; - -nsk*) - os=-nsk + ns2) + os=nextstep2 + ;; + nsk*) + os=nsk ;; # Preserve the version number of sinix5. - -sinix5.*) + sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf + sinix*) + os=sysv4 ;; - -triton*) - os=-sysv3 + tpf*) + os=tpf ;; - -oss*) - os=-sysv3 + triton*) + os=sysv3 ;; - -svr4) - os=-sysv4 + oss*) + os=sysv3 ;; - -svr3) - os=-sysv3 + svr4*) + os=sysv4 ;; - -sysvr4) - os=-sysv4 + svr3) + os=sysv3 ;; - # This must come after -sysvr4. - -sysv*) + sysvr4) + os=sysv4 ;; - -ose*) - os=-ose + # This must come after sysvr4. + sysv*) ;; - -es1800*) - os=-ose + ose*) + os=ose ;; - -xenix) - os=-xenix + *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) + os=mint ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint + zvmoe) + os=zvmoe ;; - -aros*) - os=-aros + dicos*) + os=dicos ;; - -zvmoe) - os=-zvmoe + pikeos*) + # Until real need of OS specific support for + # particular features comes up, bare metal + # configurations are quite functional. + case $cpu in + arm*) + os=eabi + ;; + *) + os=elf + ;; + esac ;; - -dicos*) - os=-dicos + nacl*) ;; - -nacl*) + ios) ;; - -ios) + none) ;; - -none) + *-eabi) ;; *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 exit 1 ;; esac @@ -1572,264 +1525,265 @@ else # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. -case $basic_machine in +case $cpu-$vendor in score-*) - os=-elf + os=elf ;; spu-*) - os=-elf + os=elf ;; *-acorn) - os=-riscix1.2 + os=riscix1.2 ;; arm*-rebel) - os=-linux + os=linux ;; arm*-semi) - os=-aout + os=aout ;; c4x-* | tic4x-*) - os=-coff + os=coff ;; c8051-*) - os=-elf + os=elf + ;; + clipper-intergraph) + os=clix ;; hexagon-*) - os=-elf + os=elf ;; tic54x-*) - os=-coff + os=coff ;; tic55x-*) - os=-coff + os=coff ;; tic6x-*) - os=-coff + os=coff ;; # This must come before the *-dec entry. pdp10-*) - os=-tops20 + os=tops20 ;; pdp11-*) - os=-none + os=none ;; *-dec | vax-*) - os=-ultrix4.2 + os=ultrix4.2 ;; m68*-apollo) - os=-domain + os=domain ;; i386-sun) - os=-sunos4.0.2 + os=sunos4.0.2 ;; m68000-sun) - os=-sunos3 + os=sunos3 ;; m68*-cisco) - os=-aout + os=aout ;; mep-*) - os=-elf + os=elf ;; mips*-cisco) - os=-elf + os=elf ;; mips*-*) - os=-elf + os=elf ;; or32-*) - os=-coff + os=coff ;; *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 + os=sysv3 ;; sparc-* | *-sun) - os=-sunos4.1.1 + os=sunos4.1.1 ;; pru-*) - os=-elf + os=elf ;; *-be) - os=-beos - ;; - *-haiku) - os=-haiku + os=beos ;; *-ibm) - os=-aix + os=aix ;; *-knuth) - os=-mmixware + os=mmixware ;; *-wec) - os=-proelf + os=proelf ;; *-winbond) - os=-proelf + os=proelf ;; *-oki) - os=-proelf + os=proelf ;; *-hp) - os=-hpux + os=hpux ;; *-hitachi) - os=-hiux + os=hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv + os=sysv ;; *-cbm) - os=-amigaos + os=amigaos ;; *-dg) - os=-dgux + os=dgux ;; *-dolphin) - os=-sysv3 + os=sysv3 ;; m68k-ccur) - os=-rtu + os=rtu ;; m88k-omron*) - os=-luna + os=luna ;; - *-next ) - os=-nextstep + *-next) + os=nextstep ;; *-sequent) - os=-ptx + os=ptx ;; *-crds) - os=-unos + os=unos ;; *-ns) - os=-genix + os=genix ;; i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 + os=mvs ;; *-gould) - os=-sysv + os=sysv ;; *-highlevel) - os=-bsd + os=bsd ;; *-encore) - os=-bsd + os=bsd ;; *-sgi) - os=-irix + os=irix ;; *-siemens) - os=-sysv4 + os=sysv4 ;; *-masscomp) - os=-rtu + os=rtu ;; f30[01]-fujitsu | f700-fujitsu) - os=-uxpv + os=uxpv ;; *-rom68k) - os=-coff + os=coff ;; *-*bug) - os=-coff + os=coff ;; *-apple) - os=-macos + os=macos ;; *-atari*) - os=-mint + os=mint + ;; + *-wrs) + os=vxworks ;; *) - os=-none + os=none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) +case $vendor in + unknown) case $os in - -riscix*) + riscix*) vendor=acorn ;; - -sunos*) + sunos*) vendor=sun ;; - -cnk*|-aix*) + cnk*|-aix*) vendor=ibm ;; - -beos*) + beos*) vendor=be ;; - -hpux*) + hpux*) vendor=hp ;; - -mpeix*) + mpeix*) vendor=hp ;; - -hiux*) + hiux*) vendor=hitachi ;; - -unos*) + unos*) vendor=crds ;; - -dgux*) + dgux*) vendor=dg ;; - -luna*) + luna*) vendor=omron ;; - -genix*) + genix*) vendor=ns ;; - -mvs* | -opened*) + clix*) + vendor=intergraph + ;; + mvs* | opened*) vendor=ibm ;; - -os400*) + os400*) vendor=ibm ;; - -ptx*) + ptx*) vendor=sequent ;; - -tpf*) + tpf*) vendor=ibm ;; - -vxsim* | -vxworks* | -windiss*) + vxsim* | vxworks* | windiss*) vendor=wrs ;; - -aux*) + aux*) vendor=apple ;; - -hms*) + hms*) vendor=hitachi ;; - -mpw* | -macos*) + mpw* | macos*) vendor=apple ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) vendor=atari ;; - -vos*) + vos*) vendor=stratus ;; esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac -echo $basic_machine$os +echo "$cpu-$vendor-$os" exit # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff --git a/configure b/configure index 1210d8b..810a9ce 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 GNU FriBidi 1.0.5. +# Generated by GNU Autoconf 2.69 for GNU FriBidi 1.0.8. # # Report bugs to . # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='GNU FriBidi' PACKAGE_TARNAME='fribidi' -PACKAGE_VERSION='1.0.5' -PACKAGE_STRING='GNU FriBidi 1.0.5' +PACKAGE_VERSION='1.0.8' +PACKAGE_STRING='GNU FriBidi 1.0.8' PACKAGE_BUGREPORT='https://github.com/fribidi/fribidi/issues/new' PACKAGE_URL='http://fribidi.org/' @@ -698,7 +698,6 @@ am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE -am__quote am__include DEPDIR OBJEXT @@ -774,7 +773,8 @@ PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR -SHELL' +SHELL +am__quote' ac_subst_files='' ac_user_opts=' enable_option_checking @@ -1344,7 +1344,7 @@ if test "$ac_init_help" = "long"; then # 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 GNU FriBidi 1.0.5 to adapt to many kinds of systems. +\`configure' configures GNU FriBidi 1.0.8 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1414,7 +1414,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU FriBidi 1.0.5:";; + short | recursive ) echo "Configuration of GNU FriBidi 1.0.8:";; esac cat <<\_ACEOF @@ -1533,7 +1533,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GNU FriBidi configure 1.0.5 +GNU FriBidi configure 1.0.8 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2085,7 +2085,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GNU FriBidi $as_me 1.0.5, which was +It was created by GNU FriBidi $as_me 1.0.8, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2439,7 +2439,7 @@ ac_config_headers="$ac_config_headers config.h" -am__api_version='1.15' +am__api_version='1.16' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do @@ -2954,7 +2954,7 @@ fi # Define the identity of the package. PACKAGE='fribidi' - VERSION='1.0.5' + VERSION='1.0.8' # Some tools Automake needs. @@ -2975,8 +2975,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: -# -# +# +# mkdir_p='$(MKDIR_P)' # We need awk for the "check" target (and possibly the TAP driver). The @@ -3027,7 +3027,7 @@ END Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . +that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM @@ -3082,45 +3082,45 @@ DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" - -am_make=${MAKE-make} -cat > confinc << 'END' +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } +cat > confinc.mk << 'END' am__doit: - @echo this is the am__doit target + @echo this is the am__doit target >confinc.out .PHONY: am__doit END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 + (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + case $?:`cat confinc.out 2>/dev/null` in #( + '0:this is the am__doit target') : + case $s in #( + BSD) : + am__include='.include' am__quote='"' ;; #( + *) : + am__include='include' am__quote='' ;; +esac ;; #( + *) : ;; - esac -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf +esac + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +$as_echo "${_am_result}" >&6; } # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : @@ -12365,8 +12365,8 @@ CC=$lt_save_CC FRIBIDI_MAJOR_VERSION=1 FRIBIDI_MINOR_VERSION=0 -FRIBIDI_MICRO_VERSION=5 -FRIBIDI_VERSION=1.0.5 +FRIBIDI_MICRO_VERSION=8 +FRIBIDI_VERSION=1.0.8 FRIBIDI_INTERFACE_VERSION=4 FRIBIDI_INTERFACE_AGE=0 FRIBIDI_BINARY_AGE=4 @@ -15153,7 +15153,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GNU FriBidi $as_me 1.0.5, which was +This file was extended by GNU FriBidi $as_me 1.0.8, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15221,7 +15221,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -GNU FriBidi config.status 1.0.5 +GNU FriBidi config.status 1.0.8 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -15340,7 +15340,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" +AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" # The HP-UX ksh and POSIX shell print the target directory to stdout @@ -16244,29 +16244,35 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + case $CONFIG_FILES in #( + *\'*) : + eval set x "$CONFIG_FILES" ;; #( + *) : + set x $CONFIG_FILES ;; #( + *) : + ;; +esac shift - for mf + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf do # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line + am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`$as_dirname -- "$am_mf" || +$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$am_mf" : 'X\(//\)[^/]' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$am_mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -16284,53 +16290,48 @@ $as_echo X"$mf" | q } s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ + am_filepart=`$as_basename -- "$am_mf" || +$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$am_mf" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } - /^X\(\/\/\)$/{ + /^X\/\(\/\/\)$/{ s//\1/ q } - /^X\(\/\).*/{ + /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done + { echo "$as_me:$LINENO: cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles" >&5 + (cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } || am_rc=$? done + if test $am_rc -ne 0; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. Try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking). +See \`config.log' for more details" "$LINENO" 5; } + fi + { am_dirpart=; unset am_dirpart;} + { am_filepart=; unset am_filepart;} + { am_mf=; unset am_mf;} + { am_rc=; unset am_rc;} + rm -f conftest-deps.mk } ;; "libtool":C) diff --git a/configure.ac b/configure.ac index 722142e..19995d2 100644 --- a/configure.ac +++ b/configure.ac @@ -21,7 +21,7 @@ dnl FRIBIDI_BINARY_AGE = FRIBIDI_INTERFACE_AGE = 0; dnl m4_define(fribidi_major_version, 1)dnl m4_define(fribidi_minor_version, 0)dnl -m4_define(fribidi_micro_version, 5)dnl +m4_define(fribidi_micro_version, 8)dnl m4_define(fribidi_interface_version, 4)dnl m4_define(fribidi_interface_age, 0)dnl m4_define(fribidi_binary_age, 4)dnl diff --git a/depcomp b/depcomp index 30379e2..65cbf70 100755 --- a/depcomp +++ b/depcomp @@ -1,9 +1,9 @@ -#!/bin/sh +#! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 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 @@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC # 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 . +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -783,7 +783,7 @@ exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/doc/Makefile.in b/doc/Makefile.in index edcdf9f..95c3213 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2017 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -359,8 +359,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_srcdir)/lib/Headers.mk $(am__empty): @@ -428,7 +428,10 @@ ctags CTAGS: cscope cscopelist: -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ diff --git a/doc/fribidi_charset_to_unicode.3 b/doc/fribidi_charset_to_unicode.3 index f2e9e03..d84ac66 100644 --- a/doc/fribidi_charset_to_unicode.3 +++ b/doc/fribidi_charset_to_unicode.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_charset_to_unicode" 3 "19 February 2018" "c2man fribidi-char-sets.h" "Programmer's Manual" +.TH "fribidi_charset_to_unicode" 3 "27 September 2019" "c2man fribidi-char-sets.h" "Programmer's Manual" .SH "NAME" fribidi_charset_to_unicode \- convert string to Unicode .SH "SYNOPSIS" @@ -84,8 +84,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -95,4 +93,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_debug_status.3 b/doc/fribidi_debug_status.3 index 769bcbe..ab33a10 100644 --- a/doc/fribidi_debug_status.3 +++ b/doc/fribidi_debug_status.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_debug_status" 3 "20 February 2018" "c2man fribidi-common.h" "Programmer's Manual" +.TH "fribidi_debug_status" 3 "27 September 2019" "c2man fribidi-common.h" "Programmer's Manual" .SH "NAME" fribidi_debug_status \- get current debug state .SH "SYNOPSIS" @@ -30,8 +30,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -41,4 +39,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_get_bidi_type.3 b/doc/fribidi_get_bidi_type.3 index d4864ba..545c488 100644 --- a/doc/fribidi_get_bidi_type.3 +++ b/doc/fribidi_get_bidi_type.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_get_bidi_type" 3 "19 February 2018" "c2man fribidi-bidi-types.h" "Programmer's Manual" +.TH "fribidi_get_bidi_type" 3 "24 July 2018" "c2man fribidi-bidi-types.h" "Programmer's Manual" .SH "NAME" fribidi_get_bidi_type \- get character bidi type .SH "SYNOPSIS" @@ -44,8 +44,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -55,4 +53,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_get_bidi_type_name.3 b/doc/fribidi_get_bidi_type_name.3 index 2815436..c58c309 100644 --- a/doc/fribidi_get_bidi_type_name.3 +++ b/doc/fribidi_get_bidi_type_name.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_get_bidi_type_name" 3 "19 February 2018" "c2man fribidi-bidi-types.h" "Programmer's Manual" +.TH "fribidi_get_bidi_type_name" 3 "24 July 2018" "c2man fribidi-bidi-types.h" "Programmer's Manual" .SH "NAME" fribidi_get_bidi_type_name \- get bidi type name .SH "SYNOPSIS" @@ -42,8 +42,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -53,4 +51,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_get_bidi_types.3 b/doc/fribidi_get_bidi_types.3 index dd4bb6d..b8a187d 100644 --- a/doc/fribidi_get_bidi_types.3 +++ b/doc/fribidi_get_bidi_types.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_get_bidi_types" 3 "19 February 2018" "c2man fribidi-bidi-types.h" "Programmer's Manual" +.TH "fribidi_get_bidi_types" 3 "24 July 2018" "c2man fribidi-bidi-types.h" "Programmer's Manual" .SH "NAME" fribidi_get_bidi_types \- get bidi types for an string of characters .SH "SYNOPSIS" @@ -54,8 +54,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -65,4 +63,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_get_bracket.3 b/doc/fribidi_get_bracket.3 index 7f08eaa..c7705a5 100644 --- a/doc/fribidi_get_bracket.3 +++ b/doc/fribidi_get_bracket.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_get_bracket" 3 "19 February 2018" "c2man fribidi-brackets.h" "Programmer's Manual" +.TH "fribidi_get_bracket" 3 "20 July 2018" "c2man fribidi-brackets.h" "Programmer's Manual" .SH "NAME" fribidi_get_bracket \- get bracketed character .SH "SYNOPSIS" @@ -46,8 +46,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -56,4 +54,5 @@ fribidi_get_joining_type_name(3), fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_get_bracket_types.3 b/doc/fribidi_get_bracket_types.3 index e8ea076..e0b2cf7 100644 --- a/doc/fribidi_get_bracket_types.3 +++ b/doc/fribidi_get_bracket_types.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_get_bracket_types" 3 "19 February 2018" "c2man fribidi-brackets.h" "Programmer's Manual" +.TH "fribidi_get_bracket_types" 3 "20 July 2018" "c2man fribidi-brackets.h" "Programmer's Manual" .SH "NAME" fribidi_get_bracket_types \- get bracketed characters .SH "SYNOPSIS" @@ -60,8 +60,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -70,4 +68,5 @@ fribidi_get_joining_type_name(3), fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_get_joining_type.3 b/doc/fribidi_get_joining_type.3 index 3a89063..50a6d1b 100644 --- a/doc/fribidi_get_joining_type.3 +++ b/doc/fribidi_get_joining_type.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_get_joining_type" 3 "19 February 2018" "c2man fribidi-joining-types.h" "Programmer's Manual" +.TH "fribidi_get_joining_type" 3 "20 July 2018" "c2man fribidi-joining-types.h" "Programmer's Manual" .SH "NAME" fribidi_get_joining_type \- get character joining type .SH "SYNOPSIS" @@ -74,8 +74,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_types(3), @@ -84,4 +82,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_get_joining_type_name.3 b/doc/fribidi_get_joining_type_name.3 index 504ebf6..3e22cc8 100644 --- a/doc/fribidi_get_joining_type_name.3 +++ b/doc/fribidi_get_joining_type_name.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_get_joining_type_name" 3 "19 February 2018" "c2man fribidi-joining-types.h" "Programmer's Manual" +.TH "fribidi_get_joining_type_name" 3 "20 July 2018" "c2man fribidi-joining-types.h" "Programmer's Manual" .SH "NAME" fribidi_get_joining_type_name \- get joining type name .SH "SYNOPSIS" @@ -70,8 +70,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -80,4 +78,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_get_joining_types.3 b/doc/fribidi_get_joining_types.3 index d5a0d54..7427f50 100644 --- a/doc/fribidi_get_joining_types.3 +++ b/doc/fribidi_get_joining_types.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_get_joining_types" 3 "19 February 2018" "c2man fribidi-joining-types.h" "Programmer's Manual" +.TH "fribidi_get_joining_types" 3 "20 July 2018" "c2man fribidi-joining-types.h" "Programmer's Manual" .SH "NAME" fribidi_get_joining_types \- get joining types for an string of characters .SH "SYNOPSIS" @@ -83,8 +83,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -93,4 +91,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_get_mirror_char.3 b/doc/fribidi_get_mirror_char.3 index 26cfd83..8f4fcf0 100644 --- a/doc/fribidi_get_mirror_char.3 +++ b/doc/fribidi_get_mirror_char.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_get_mirror_char" 3 "19 February 2018" "c2man fribidi-mirroring.h" "Programmer's Manual" +.TH "fribidi_get_mirror_char" 3 "20 July 2018" "c2man fribidi-mirroring.h" "Programmer's Manual" .SH "NAME" fribidi_get_mirror_char \- get mirrored character .SH "SYNOPSIS" @@ -55,8 +55,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -65,4 +63,5 @@ fribidi_get_joining_type_name(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_get_par_direction.3 b/doc/fribidi_get_par_direction.3 index ec72ab3..93c83d3 100644 --- a/doc/fribidi_get_par_direction.3 +++ b/doc/fribidi_get_par_direction.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_get_par_direction" 3 "19 February 2018" "c2man fribidi-bidi.h" "Programmer's Manual" +.TH "fribidi_get_par_direction" 3 "20 July 2018" "c2man fribidi-bidi.h" "Programmer's Manual" .SH "NAME" fribidi_get_par_direction \- get base paragraph direction .SH "SYNOPSIS" @@ -86,8 +86,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -97,4 +95,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_get_par_embedding_levels.3 b/doc/fribidi_get_par_embedding_levels.3 index 9e22ad7..bfb9ba6 100644 --- a/doc/fribidi_get_par_embedding_levels.3 +++ b/doc/fribidi_get_par_embedding_levels.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_get_par_embedding_levels" 3 "19 February 2018" "c2man fribidi-deprecated.h" "Programmer's Manual" +.TH "fribidi_get_par_embedding_levels" 3 "13 October 2019" "c2man fribidi-deprecated.h" "Programmer's Manual" .SH "NAME" fribidi_get_par_embedding_levels \- get bidi embedding levels of a paragraph .SH "SYNOPSIS" @@ -85,8 +85,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), fribidi_get_joining_types(3), @@ -95,4 +93,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_get_par_embedding_levels_ex.3 b/doc/fribidi_get_par_embedding_levels_ex.3 index 68d2f25..a32f158 100644 --- a/doc/fribidi_get_par_embedding_levels_ex.3 +++ b/doc/fribidi_get_par_embedding_levels_ex.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_get_par_embedding_levels_ex" 3 "19 February 2018" "c2man fribidi-bidi.h" "Programmer's Manual" +.TH "fribidi_get_par_embedding_levels_ex" 3 "20 July 2018" "c2man fribidi-bidi.h" "Programmer's Manual" .SH "NAME" fribidi_get_par_embedding_levels_ex \- get bidi embedding levels of a paragraph .SH "SYNOPSIS" @@ -100,8 +100,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -111,4 +109,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_get_type.3 b/doc/fribidi_get_type.3 index ddefa12..582cd39 100644 --- a/doc/fribidi_get_type.3 +++ b/doc/fribidi_get_type.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_get_type" 3 "19 February 2018" "c2man fribidi-deprecated.h" "Programmer's Manual" +.TH "fribidi_get_type" 3 "13 October 2019" "c2man fribidi-deprecated.h" "Programmer's Manual" .SH "NAME" fribidi_get_type \- get character bidi type .SH "SYNOPSIS" @@ -36,8 +36,6 @@ fribidi_reorder_nsm_status(3), fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -47,4 +45,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_get_type_internal.3 b/doc/fribidi_get_type_internal.3 index a3c8e73..dbe5875 100644 --- a/doc/fribidi_get_type_internal.3 +++ b/doc/fribidi_get_type_internal.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_get_type_internal" 3 "19 February 2018" "c2man fribidi-deprecated.h" "Programmer's Manual" +.TH "fribidi_get_type_internal" 3 "13 October 2019" "c2man fribidi-deprecated.h" "Programmer's Manual" .SH "NAME" fribidi_get_type_internal \- get character bidi type .SH "SYNOPSIS" @@ -36,8 +36,6 @@ fribidi_reorder_nsm_status(3), fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -47,4 +45,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_join_arabic.3 b/doc/fribidi_join_arabic.3 index c1f22eb..f9a89c2 100644 --- a/doc/fribidi_join_arabic.3 +++ b/doc/fribidi_join_arabic.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_join_arabic" 3 "19 February 2018" "c2man fribidi-joining.h" "Programmer's Manual" +.TH "fribidi_join_arabic" 3 "20 July 2018" "c2man fribidi-joining.h" "Programmer's Manual" .SH "NAME" fribidi_join_arabic \- do Arabic joining .SH "SYNOPSIS" @@ -79,8 +79,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_get_joining_type(3), fribidi_get_joining_types(3), @@ -89,4 +87,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_log2vis.3 b/doc/fribidi_log2vis.3 index d468e8d..cf76530 100644 --- a/doc/fribidi_log2vis.3 +++ b/doc/fribidi_log2vis.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_log2vis" 3 "19 February 2018" "c2man fribidi-deprecated.h" "Programmer's Manual" +.TH "fribidi_log2vis" 3 "13 October 2019" "c2man fribidi.h" "Programmer's Manual" .SH "NAME" fribidi_log2vis \- get visual string .SH "SYNOPSIS" @@ -111,8 +111,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), fribidi_get_joining_types(3), @@ -121,4 +119,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_log2vis_get_embedding_levels.3 b/doc/fribidi_log2vis_get_embedding_levels.3 index da8029e..16a6452 100644 --- a/doc/fribidi_log2vis_get_embedding_levels.3 +++ b/doc/fribidi_log2vis_get_embedding_levels.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_log2vis_get_embedding_levels" 3 "19 February 2018" "c2man fribidi-deprecated.h" "Programmer's Manual" +.TH "fribidi_log2vis_get_embedding_levels" 3 "13 October 2019" "c2man fribidi-deprecated.h" "Programmer's Manual" .SH "NAME" fribidi_log2vis_get_embedding_levels \- get embedding levels .SH "SYNOPSIS" @@ -83,8 +83,6 @@ fribidi_reorder_nsm_status(3), fribidi_set_reorder_nsm(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -94,4 +92,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_mirroring_status.3 b/doc/fribidi_mirroring_status.3 index 02dcc6f..93d6b61 100644 --- a/doc/fribidi_mirroring_status.3 +++ b/doc/fribidi_mirroring_status.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_mirroring_status" 3 "19 February 2018" "c2man fribidi-deprecated.h" "Programmer's Manual" +.TH "fribidi_mirroring_status" 3 "13 October 2019" "c2man fribidi-deprecated.h" "Programmer's Manual" .SH "NAME" fribidi_mirroring_status \- get current mirroring status .SH "SYNOPSIS" @@ -30,8 +30,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -41,4 +39,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_parse_charset.3 b/doc/fribidi_parse_charset.3 index e7299d6..b441b40 100644 --- a/doc/fribidi_parse_charset.3 +++ b/doc/fribidi_parse_charset.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_parse_charset" 3 "19 February 2018" "c2man fribidi-char-sets.h" "Programmer's Manual" +.TH "fribidi_parse_charset" 3 "27 September 2019" "c2man fribidi-char-sets.h" "Programmer's Manual" .SH "NAME" fribidi_parse_charset \- parse character set name .SH "SYNOPSIS" @@ -64,8 +64,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -75,4 +73,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_remove_bidi_marks.3 b/doc/fribidi_remove_bidi_marks.3 index c915ca7..e9cf157 100644 --- a/doc/fribidi_remove_bidi_marks.3 +++ b/doc/fribidi_remove_bidi_marks.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_remove_bidi_marks" 3 "19 February 2018" "c2man fribidi-deprecated.h" "Programmer's Manual" +.TH "fribidi_remove_bidi_marks" 3 "21 October 2019" "c2man fribidi.h" "Programmer's Manual" .SH "NAME" fribidi_remove_bidi_marks \- remove bidi marks out of an string .SH "SYNOPSIS" @@ -59,7 +59,6 @@ way, you should not use embedding_levels if str is visual string. For best results this function should be run on a whole paragraph, not lines; but feel free to do otherwise if you know what you are doing. -Deprecated. Use fribidi_remove_special_chars instead. .SH "RETURNS" New length of the string, or \-1 if an error occurred (memory allocation failure most probably). @@ -83,7 +82,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), diff --git a/doc/fribidi_reorder_line.3 b/doc/fribidi_reorder_line.3 index 5b374a8..8694735 100644 --- a/doc/fribidi_reorder_line.3 +++ b/doc/fribidi_reorder_line.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_reorder_line" 3 "19 February 2018" "c2man fribidi-bidi.h" "Programmer's Manual" +.TH "fribidi_reorder_line" 3 "20 July 2018" "c2man fribidi-bidi.h" "Programmer's Manual" .SH "NAME" fribidi_reorder_line \- reorder a line of logical string to visual .SH "SYNOPSIS" @@ -132,8 +132,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -143,4 +141,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_reorder_nsm_status.3 b/doc/fribidi_reorder_nsm_status.3 index 765aa81..5a3f4e1 100644 --- a/doc/fribidi_reorder_nsm_status.3 +++ b/doc/fribidi_reorder_nsm_status.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_reorder_nsm_status" 3 "19 February 2018" "c2man fribidi-deprecated.h" "Programmer's Manual" +.TH "fribidi_reorder_nsm_status" 3 "13 October 2019" "c2man fribidi-deprecated.h" "Programmer's Manual" .SH "NAME" fribidi_reorder_nsm_status \- get current marks reordering status .SH "SYNOPSIS" @@ -30,8 +30,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -41,4 +39,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_set_debug.3 b/doc/fribidi_set_debug.3 index 9d4448a..ff3cdd6 100644 --- a/doc/fribidi_set_debug.3 +++ b/doc/fribidi_set_debug.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_set_debug" 3 "20 February 2018" "c2man fribidi-common.h" "Programmer's Manual" +.TH "fribidi_set_debug" 3 "27 September 2019" "c2man fribidi-common.h" "Programmer's Manual" .SH "NAME" fribidi_set_debug \- set debug state .SH "SYNOPSIS" @@ -34,8 +34,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -45,4 +43,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_set_mirroring.3 b/doc/fribidi_set_mirroring.3 index b2acd6b..70d4404 100644 --- a/doc/fribidi_set_mirroring.3 +++ b/doc/fribidi_set_mirroring.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_set_mirroring" 3 "19 February 2018" "c2man fribidi-deprecated.h" "Programmer's Manual" +.TH "fribidi_set_mirroring" 3 "13 October 2019" "c2man fribidi-deprecated.h" "Programmer's Manual" .SH "NAME" fribidi_set_mirroring \- set mirroring on or off .SH "SYNOPSIS" @@ -44,8 +44,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -55,4 +53,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_set_reorder_nsm.3 b/doc/fribidi_set_reorder_nsm.3 index 761bdd8..bed140e 100644 --- a/doc/fribidi_set_reorder_nsm.3 +++ b/doc/fribidi_set_reorder_nsm.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_set_reorder_nsm" 3 "19 February 2018" "c2man fribidi-deprecated.h" "Programmer's Manual" +.TH "fribidi_set_reorder_nsm" 3 "13 October 2019" "c2man fribidi-deprecated.h" "Programmer's Manual" .SH "NAME" fribidi_set_reorder_nsm \- set marks reordering on or off .SH "SYNOPSIS" @@ -46,8 +46,6 @@ fribidi_reorder_nsm_status(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -57,4 +55,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_shape.3 b/doc/fribidi_shape.3 index ef84dc9..4a23e6c 100644 --- a/doc/fribidi_shape.3 +++ b/doc/fribidi_shape.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_shape" 3 "19 February 2018" "c2man fribidi-shape.h" "Programmer's Manual" +.TH "fribidi_shape" 3 "20 July 2018" "c2man fribidi-shape.h" "Programmer's Manual" .SH "NAME" fribidi_shape \- do bidi-aware shaping .SH "SYNOPSIS" @@ -76,8 +76,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -86,4 +84,5 @@ fribidi_get_joining_type_name(3), fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), -fribidi_get_bracket_types(3) +fribidi_get_bracket_types(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_shape_arabic.3 b/doc/fribidi_shape_arabic.3 index 7cfc8ec..e218245 100644 --- a/doc/fribidi_shape_arabic.3 +++ b/doc/fribidi_shape_arabic.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_shape_arabic" 3 "19 February 2018" "c2man fribidi-arabic.h" "Programmer's Manual" +.TH "fribidi_shape_arabic" 3 "20 July 2018" "c2man fribidi-arabic.h" "Programmer's Manual" .SH "NAME" fribidi_shape_arabic \- do Arabic shaping .SH "SYNOPSIS" @@ -81,8 +81,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -92,4 +90,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_shape_mirroring.3 b/doc/fribidi_shape_mirroring.3 index eb741c8..6489277 100644 --- a/doc/fribidi_shape_mirroring.3 +++ b/doc/fribidi_shape_mirroring.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_shape_mirroring" 3 "19 February 2018" "c2man fribidi-mirroring.h" "Programmer's Manual" +.TH "fribidi_shape_mirroring" 3 "20 July 2018" "c2man fribidi-mirroring.h" "Programmer's Manual" .SH "NAME" fribidi_shape_mirroring \- do mirroring shaping .SH "SYNOPSIS" @@ -58,8 +58,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -68,4 +66,5 @@ fribidi_get_joining_type_name(3), fribidi_get_mirror_char(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/doc/fribidi_unicode_to_charset.3 b/doc/fribidi_unicode_to_charset.3 index 58dc986..5358b0f 100644 --- a/doc/fribidi_unicode_to_charset.3 +++ b/doc/fribidi_unicode_to_charset.3 @@ -1,6 +1,6 @@ .\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man! .\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST! -.TH "fribidi_unicode_to_charset" 3 "19 February 2018" "c2man fribidi-char-sets.h" "Programmer's Manual" +.TH "fribidi_unicode_to_charset" 3 "27 September 2019" "c2man fribidi-char-sets.h" "Programmer's Manual" .SH "NAME" fribidi_unicode_to_charset \- convert string from Unicode .SH "SYNOPSIS" @@ -24,7 +24,7 @@ extern FriBidiStrIndex fribidi_unicode_to_charset .SH "PARAMETERS" .TP .B "FriBidiCharSet char_set" -Character set to conver to. +Character set to convert to. .sp Possible values for a \fBFriBidiCharSet\fR are as follows: .RS 0.75in @@ -85,8 +85,6 @@ fribidi_set_reorder_nsm(3), fribidi_log2vis_get_embedding_levels(3), fribidi_get_type(3), fribidi_get_type_internal(3), -fribidi_remove_bidi_marks(3), -fribidi_log2vis(3), fribidi_get_par_embedding_levels(3), fribidi_join_arabic(3), fribidi_get_joining_type(3), @@ -96,4 +94,5 @@ fribidi_get_mirror_char(3), fribidi_shape_mirroring(3), fribidi_get_bracket(3), fribidi_get_bracket_types(3), -fribidi_shape(3) +fribidi_shape(3), +fribidi_remove_bidi_marks(3) diff --git a/gen.tab/Makefile.in b/gen.tab/Makefile.in index a5df44f..78b2eed 100644 --- a/gen.tab/Makefile.in +++ b/gen.tab/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2017 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -154,7 +154,19 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/gen-arabic-shaping-tab.Po \ + ./$(DEPDIR)/gen-unicode-version.Po \ + ./$(DEPDIR)/gen_bidi_type_tab-gen-bidi-type-tab.Po \ + ./$(DEPDIR)/gen_bidi_type_tab-packtab.Po \ + ./$(DEPDIR)/gen_brackets_tab-gen-brackets-tab.Po \ + ./$(DEPDIR)/gen_brackets_tab-packtab.Po \ + ./$(DEPDIR)/gen_brackets_type_tab-gen-brackets-type-tab.Po \ + ./$(DEPDIR)/gen_brackets_type_tab-packtab.Po \ + ./$(DEPDIR)/gen_joining_type_tab-gen-joining-type-tab.Po \ + ./$(DEPDIR)/gen_joining_type_tab-packtab.Po \ + ./$(DEPDIR)/gen_mirroring_tab-gen-mirroring-tab.Po \ + ./$(DEPDIR)/gen_mirroring_tab-packtab.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -420,8 +432,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -467,18 +479,24 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen-arabic-shaping-tab.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen-unicode-version.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_bidi_type_tab-gen-bidi-type-tab.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_bidi_type_tab-packtab.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_brackets_tab-gen-brackets-tab.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_brackets_tab-packtab.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_brackets_type_tab-gen-brackets-type-tab.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_brackets_type_tab-packtab.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_joining_type_tab-gen-joining-type-tab.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_joining_type_tab-packtab.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_mirroring_tab-gen-mirroring-tab.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_mirroring_tab-packtab.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen-arabic-shaping-tab.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen-unicode-version.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_bidi_type_tab-gen-bidi-type-tab.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_bidi_type_tab-packtab.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_brackets_tab-gen-brackets-tab.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_brackets_tab-packtab.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_brackets_type_tab-gen-brackets-type-tab.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_brackets_type_tab-packtab.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_joining_type_tab-gen-joining-type-tab.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_joining_type_tab-packtab.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_mirroring_tab-gen-mirroring-tab.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_mirroring_tab-packtab.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -699,7 +717,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -770,7 +791,18 @@ clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/gen-arabic-shaping-tab.Po + -rm -f ./$(DEPDIR)/gen-unicode-version.Po + -rm -f ./$(DEPDIR)/gen_bidi_type_tab-gen-bidi-type-tab.Po + -rm -f ./$(DEPDIR)/gen_bidi_type_tab-packtab.Po + -rm -f ./$(DEPDIR)/gen_brackets_tab-gen-brackets-tab.Po + -rm -f ./$(DEPDIR)/gen_brackets_tab-packtab.Po + -rm -f ./$(DEPDIR)/gen_brackets_type_tab-gen-brackets-type-tab.Po + -rm -f ./$(DEPDIR)/gen_brackets_type_tab-packtab.Po + -rm -f ./$(DEPDIR)/gen_joining_type_tab-gen-joining-type-tab.Po + -rm -f ./$(DEPDIR)/gen_joining_type_tab-packtab.Po + -rm -f ./$(DEPDIR)/gen_mirroring_tab-gen-mirroring-tab.Po + -rm -f ./$(DEPDIR)/gen_mirroring_tab-packtab.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -816,7 +848,18 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/gen-arabic-shaping-tab.Po + -rm -f ./$(DEPDIR)/gen-unicode-version.Po + -rm -f ./$(DEPDIR)/gen_bidi_type_tab-gen-bidi-type-tab.Po + -rm -f ./$(DEPDIR)/gen_bidi_type_tab-packtab.Po + -rm -f ./$(DEPDIR)/gen_brackets_tab-gen-brackets-tab.Po + -rm -f ./$(DEPDIR)/gen_brackets_tab-packtab.Po + -rm -f ./$(DEPDIR)/gen_brackets_type_tab-gen-brackets-type-tab.Po + -rm -f ./$(DEPDIR)/gen_brackets_type_tab-packtab.Po + -rm -f ./$(DEPDIR)/gen_joining_type_tab-gen-joining-type-tab.Po + -rm -f ./$(DEPDIR)/gen_joining_type_tab-packtab.Po + -rm -f ./$(DEPDIR)/gen_mirroring_tab-gen-mirroring-tab.Po + -rm -f ./$(DEPDIR)/gen_mirroring_tab-packtab.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -837,18 +880,19 @@ uninstall-am: .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - 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-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool cscopelist-am ctags ctags-am \ + distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am 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-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am .PRECIOUS: Makefile diff --git a/gen.tab/gen-arabic-shaping-tab.c b/gen.tab/gen-arabic-shaping-tab.c index e613768..369501c 100644 --- a/gen.tab/gen-arabic-shaping-tab.c +++ b/gen.tab/gen-arabic-shaping-tab.c @@ -30,6 +30,10 @@ #include #include +#ifdef HAVE_CONFIG_H +# include +#endif + #ifdef STDC_HEADERS # include # include diff --git a/gen.tab/gen-bidi-type-tab.c b/gen.tab/gen-bidi-type-tab.c index a0a61ef..05b1d16 100644 --- a/gen.tab/gen-bidi-type-tab.c +++ b/gen.tab/gen-bidi-type-tab.c @@ -30,6 +30,10 @@ #include #include +#ifdef HAVE_CONFIG_H +# include +#endif + #ifdef STDC_HEADERS # include # include diff --git a/gen.tab/gen-brackets-tab.c b/gen.tab/gen-brackets-tab.c index 8c1f1df..cd99e01 100644 --- a/gen.tab/gen-brackets-tab.c +++ b/gen.tab/gen-brackets-tab.c @@ -32,6 +32,10 @@ #include #include +#ifdef HAVE_CONFIG_H +# include +#endif + #ifdef STDC_HEADERS # include # include diff --git a/gen.tab/gen-brackets-type-tab.c b/gen.tab/gen-brackets-type-tab.c index 221db07..9ec60cc 100644 --- a/gen.tab/gen-brackets-type-tab.c +++ b/gen.tab/gen-brackets-type-tab.c @@ -32,6 +32,10 @@ #include #include +#ifdef HAVE_CONFIG_H +# include +#endif + #ifdef STDC_HEADERS # include # include diff --git a/gen.tab/gen-joining-type-tab.c b/gen.tab/gen-joining-type-tab.c index 07c0953..29ab3ed 100644 --- a/gen.tab/gen-joining-type-tab.c +++ b/gen.tab/gen-joining-type-tab.c @@ -30,6 +30,10 @@ #include #include +#ifdef HAVE_CONFIG_H +# include +#endif + #ifdef STDC_HEADERS # include # include diff --git a/gen.tab/gen-mirroring-tab.c b/gen.tab/gen-mirroring-tab.c index 21d33cf..e19be91 100644 --- a/gen.tab/gen-mirroring-tab.c +++ b/gen.tab/gen-mirroring-tab.c @@ -30,6 +30,10 @@ #include #include +#ifdef HAVE_CONFIG_H +# include +#endif + #ifdef STDC_HEADERS # include # include diff --git a/gen.tab/gen-unicode-version.c b/gen.tab/gen-unicode-version.c index 4291551..35306ca 100644 --- a/gen.tab/gen-unicode-version.c +++ b/gen.tab/gen-unicode-version.c @@ -28,6 +28,10 @@ #include #include +#ifdef HAVE_CONFIG_H +# include +#endif + #ifdef STDC_HEADERS # include # include diff --git a/gen.tab/meson.build b/gen.tab/meson.build index 6006d98..8c21e98 100644 --- a/gen.tab/meson.build +++ b/gen.tab/meson.build @@ -33,7 +33,8 @@ gen_unicode_version = executable('gen-unicode-version', 'gen-unicode-version.c', include_directories: incs, c_args: native_args, - install: false) + install: false, + native: true) fribidi_unicode_version_h = custom_target('fribidi-unicode-version.h', input: files('unidata/ReadMe.txt', 'unidata/BidiMirroring.txt'), @@ -67,7 +68,8 @@ foreach tab : tabs gen_prog_src, 'packtab.c', include_directories: incs, c_args: native_args, - install: false) + install: false, + native: true) tab_inc_file = custom_target(gen_prog_name, input: gen_prog_inputs, diff --git a/install-sh b/install-sh index 0360b79..8175c64 100755 --- a/install-sh +++ b/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-11.20; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -271,15 +271,18 @@ do fi dst=$dst_arg - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. + # If destination is a directory, append the input filename. if test -d "$dst"; then 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"` + dstbase=`basename "$src"` + case $dst in + */) dst=$dst$dstbase;; + *) dst=$dst/$dstbase;; + esac dstdir_status=0 else dstdir=`dirname "$dst"` @@ -288,6 +291,11 @@ do fi fi + case $dstdir in + */) dstdirslash=$dstdir;; + *) dstdirslash=$dstdir/;; + esac + obsolete_mkdir_used=false if test $dstdir_status != 0; then @@ -324,34 +332,43 @@ do # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) + # Note that $RANDOM variable is not portable (e.g. dash); Use it + # here however when possible just to lower collision chance. tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 + + # Because "mkdir -p" follows existing symlinks and we likely work + # directly in world-writeable /tmp, make sure that the '$tmpdir' + # directory is successfully created first before we actually test + # 'mkdir -p' feature. if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + $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. - ls_ld_tmpdir=`ls -ld "$tmpdir"` + 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 -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + $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/d" "$tmpdir" + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null fi trap '' 0;; esac;; @@ -427,8 +444,8 @@ do else # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ + dsttmp=${dstdirslash}_inst.$$_ + rmtmp=${dstdirslash}_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 @@ -493,7 +510,7 @@ do done # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/lib/Makefile.in b/lib/Makefile.in index 54f7a68..e9691d5 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2017 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -166,7 +166,22 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/fribidi-arabic.Plo \ + ./$(DEPDIR)/fribidi-bidi-types.Plo \ + ./$(DEPDIR)/fribidi-bidi.Plo ./$(DEPDIR)/fribidi-brackets.Plo \ + ./$(DEPDIR)/fribidi-char-sets-cap-rtl.Plo \ + ./$(DEPDIR)/fribidi-char-sets-cp1255.Plo \ + ./$(DEPDIR)/fribidi-char-sets-cp1256.Plo \ + ./$(DEPDIR)/fribidi-char-sets-iso8859-6.Plo \ + ./$(DEPDIR)/fribidi-char-sets-iso8859-8.Plo \ + ./$(DEPDIR)/fribidi-char-sets-utf8.Plo \ + ./$(DEPDIR)/fribidi-char-sets.Plo \ + ./$(DEPDIR)/fribidi-deprecated.Plo \ + ./$(DEPDIR)/fribidi-joining-types.Plo \ + ./$(DEPDIR)/fribidi-joining.Plo \ + ./$(DEPDIR)/fribidi-mirroring.Plo ./$(DEPDIR)/fribidi-run.Plo \ + ./$(DEPDIR)/fribidi-shape.Plo ./$(DEPDIR)/fribidi.Plo am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -461,8 +476,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(srcdir)/Headers.mk $(am__empty): @@ -521,24 +536,30 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-arabic.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-bidi-types.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-bidi.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-brackets.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-char-sets-cap-rtl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-char-sets-cp1255.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-char-sets-cp1256.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-char-sets-iso8859-6.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-char-sets-iso8859-8.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-char-sets-utf8.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-char-sets.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-deprecated.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-joining-types.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-joining.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-mirroring.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-run.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-shape.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-arabic.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-bidi-types.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-bidi.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-brackets.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-char-sets-cap-rtl.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-char-sets-cp1255.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-char-sets-cp1256.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-char-sets-iso8859-6.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-char-sets-iso8859-8.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-char-sets-utf8.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-char-sets.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-deprecated.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-joining-types.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-joining.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-mirroring.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-run.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi-shape.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fribidi.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -661,7 +682,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -738,7 +762,24 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/fribidi-arabic.Plo + -rm -f ./$(DEPDIR)/fribidi-bidi-types.Plo + -rm -f ./$(DEPDIR)/fribidi-bidi.Plo + -rm -f ./$(DEPDIR)/fribidi-brackets.Plo + -rm -f ./$(DEPDIR)/fribidi-char-sets-cap-rtl.Plo + -rm -f ./$(DEPDIR)/fribidi-char-sets-cp1255.Plo + -rm -f ./$(DEPDIR)/fribidi-char-sets-cp1256.Plo + -rm -f ./$(DEPDIR)/fribidi-char-sets-iso8859-6.Plo + -rm -f ./$(DEPDIR)/fribidi-char-sets-iso8859-8.Plo + -rm -f ./$(DEPDIR)/fribidi-char-sets-utf8.Plo + -rm -f ./$(DEPDIR)/fribidi-char-sets.Plo + -rm -f ./$(DEPDIR)/fribidi-deprecated.Plo + -rm -f ./$(DEPDIR)/fribidi-joining-types.Plo + -rm -f ./$(DEPDIR)/fribidi-joining.Plo + -rm -f ./$(DEPDIR)/fribidi-mirroring.Plo + -rm -f ./$(DEPDIR)/fribidi-run.Plo + -rm -f ./$(DEPDIR)/fribidi-shape.Plo + -rm -f ./$(DEPDIR)/fribidi.Plo -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -785,7 +826,24 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/fribidi-arabic.Plo + -rm -f ./$(DEPDIR)/fribidi-bidi-types.Plo + -rm -f ./$(DEPDIR)/fribidi-bidi.Plo + -rm -f ./$(DEPDIR)/fribidi-brackets.Plo + -rm -f ./$(DEPDIR)/fribidi-char-sets-cap-rtl.Plo + -rm -f ./$(DEPDIR)/fribidi-char-sets-cp1255.Plo + -rm -f ./$(DEPDIR)/fribidi-char-sets-cp1256.Plo + -rm -f ./$(DEPDIR)/fribidi-char-sets-iso8859-6.Plo + -rm -f ./$(DEPDIR)/fribidi-char-sets-iso8859-8.Plo + -rm -f ./$(DEPDIR)/fribidi-char-sets-utf8.Plo + -rm -f ./$(DEPDIR)/fribidi-char-sets.Plo + -rm -f ./$(DEPDIR)/fribidi-deprecated.Plo + -rm -f ./$(DEPDIR)/fribidi-joining-types.Plo + -rm -f ./$(DEPDIR)/fribidi-joining.Plo + -rm -f ./$(DEPDIR)/fribidi-mirroring.Plo + -rm -f ./$(DEPDIR)/fribidi-run.Plo + -rm -f ./$(DEPDIR)/fribidi-shape.Plo + -rm -f ./$(DEPDIR)/fribidi.Plo -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -807,9 +865,9 @@ uninstall-am: uninstall-libLTLIBRARIES \ .MAKE: all check install install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ diff --git a/lib/arabic-shaping.tab.i b/lib/arabic-shaping.tab.i index e235766..76190ec 100644 --- a/lib/arabic-shaping.tab.i +++ b/lib/arabic-shaping.tab.i @@ -1,5 +1,5 @@ /* arabic-shaping.tab.i - * generated by gen-arabic-shaping-tab (GNU FriBidi 1.0.1) + * generated by gen-arabic-shaping-tab (GNU FriBidi 1.0) * from the files UnicodeData.txt, (null) of Unicode version 10.0.0. */ /* diff --git a/lib/bidi-type.tab.i b/lib/bidi-type.tab.i index 532f4c3..433cdec 100644 --- a/lib/bidi-type.tab.i +++ b/lib/bidi-type.tab.i @@ -1,5 +1,5 @@ /* bidi-type.tab.i - * generated by gen-bidi-type-tab (GNU FriBidi 1.0.1) + * generated by gen-bidi-type-tab (GNU FriBidi 1.0) * from the file UnicodeData.txt of Unicode version 10.0.0. */ #define PACKTAB_UINT8 uint8_t diff --git a/lib/bidi-types.h b/lib/bidi-types.h index 385ef05..86f3d02 100644 --- a/lib/bidi-types.h +++ b/lib/bidi-types.h @@ -27,7 +27,7 @@ #ifndef _BIDI_TYPES_H #define _BIDI_TYPES_H -#include "common.h" +#include "fribidi-common.h" #include #include diff --git a/lib/brackets-type.tab.i b/lib/brackets-type.tab.i index d57b4f8..1f701db 100644 --- a/lib/brackets-type.tab.i +++ b/lib/brackets-type.tab.i @@ -1,5 +1,5 @@ /* brackets-type.tab.i - * generated by gen-brackets-type-tab (GNU FriBidi 1.0.1) + * generated by gen-brackets-type-tab (GNU FriBidi 1.0) * from the file BidiBrackets.txt of Unicode version 10.0.0. */ #define PACKTAB_UINT8 uint8_t diff --git a/lib/brackets.tab.i b/lib/brackets.tab.i index c74a101..a503425 100644 --- a/lib/brackets.tab.i +++ b/lib/brackets.tab.i @@ -1,5 +1,5 @@ /* brackets.tab.i - * generated by gen-brackets-tab (GNU FriBidi 1.0.1) + * generated by gen-brackets-tab (GNU FriBidi 1.0) * from the file BidiBrackets.txt of Unicode version 10.0.0. */ #define PACKTAB_UINT8 uint8_t diff --git a/lib/fribidi-arabic.c b/lib/fribidi-arabic.c index dbfdc09..6854c1a 100644 --- a/lib/fribidi-arabic.c +++ b/lib/fribidi-arabic.c @@ -27,6 +27,10 @@ #include "common.h" +#ifdef HAVE_CONFIG_H +# include +#endif + #ifdef HAVE_STDLIB_H # include #endif @@ -84,6 +88,26 @@ comp_PairMap (const void *pa, const void *pb) 0; } +static void * +fribidi_bsearch (const void *key, const void *base, + unsigned int nmemb, unsigned int size, + int (*compar)(const void *_key, const void *_item)) +{ + int min = 0, max = (int) nmemb - 1; + while (min <= max) + { + int mid = ((unsigned int) min + (unsigned int) max) / 2; + const void *p = (const void *) (((const char *) base) + (mid * size)); + int c = compar (key, p); + if (c < 0) + max = mid - 1; + else if (c > 0) + min = mid + 1; + else + return (void *) p; + } + return NULL; +} static FriBidiChar find_pair_match (const PairMap *table, int size, FriBidiChar first, FriBidiChar second) @@ -93,7 +117,7 @@ find_pair_match (const PairMap *table, int size, FriBidiChar first, FriBidiChar x.pair[0] = first; x.pair[1] = second; x.to = 0; - match = bsearch (&x, table, size, sizeof (table[0]), comp_PairMap); + match = fribidi_bsearch (&x, table, size, sizeof (table[0]), comp_PairMap); return match ? match->to : 0; } diff --git a/lib/fribidi-bidi-types.h b/lib/fribidi-bidi-types.h index db947a5..d243c5d 100644 --- a/lib/fribidi-bidi-types.h +++ b/lib/fribidi-bidi-types.h @@ -223,10 +223,10 @@ typedef uint32_t FriBidiCharType; # define FRIBIDI_TYPE_LRO FRIBIDI_TYPE_LRO_VAL # define FRIBIDI_TYPE_RLO FRIBIDI_TYPE_RLO_VAL # define FRIBIDI_TYPE_PDF FRIBIDI_TYPE_PDF_VAL -# define FRIBIDI_TYPE_LRI FRIBIDI_TYPE_PDF_LRI -# define FRIBIDI_TYPE_RLI FRIBIDI_TYPE_PDF_RLI -# define FRIBIDI_TYPE_FSI FRIBIDI_TYPE_PDF_FSI -# define FRIBIDI_TYPE_PDI FRIBIDI_TYPE_PDF_PDI +# define FRIBIDI_TYPE_LRI FRIBIDI_TYPE_LRI_VAL +# define FRIBIDI_TYPE_RLI FRIBIDI_TYPE_RLI_VAL +# define FRIBIDI_TYPE_FSI FRIBIDI_TYPE_FSI_VAL +# define FRIBIDI_TYPE_PDI FRIBIDI_TYPE_PDI_VAL typedef uint32_t FriBidiParType; # define FRIBIDI_PAR_LTR FRIBIDI_TYPE_LTR_VAL diff --git a/lib/fribidi-bidi.c b/lib/fribidi-bidi.c index 713fff6..f3389bd 100644 --- a/lib/fribidi-bidi.c +++ b/lib/fribidi-bidi.c @@ -149,7 +149,7 @@ static FriBidiRun *get_adjacent_run(FriBidiRun *list, fribidi_boolean forward, f { FriBidiCharType ppp_type = RL_TYPE (ppp); - if (ppp_type == _FRIBIDI_TYPE_SENTINEL) + if (ppp_type == FRIBIDI_TYPE_SENTINEL) break; /* Note that when sweeping forward we continue one run @@ -289,7 +289,7 @@ static void print_pairing_nodes(FriBidiPairingNode *nodes) * define macros for push and pop the status in to / out of the stack *-------------------------------------------------------------------------*/ -/* There are a few little points in pushing into and poping from the status +/* There are a few little points in pushing into and popping from the status stack: 1. when the embedding level is not valid (more than FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL=125), you must reject it, and not to push @@ -506,7 +506,6 @@ fribidi_get_par_embedding_levels_ex ( FriBidiLevel *embedding_levels ) { - FriBidiLevel base_level_per_iso_level[FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL]; FriBidiLevel base_level, max_level = 0; FriBidiParType base_dir; FriBidiRun *main_run_list = NULL, *explicits_list = NULL, *pp; @@ -565,8 +564,6 @@ fribidi_get_par_embedding_levels_ex ( DBG2 (" base level : %c", fribidi_char_from_level (base_level)); DBG2 (" base dir : %s", fribidi_get_bidi_type_name (base_dir)); - base_level_per_iso_level[0] = base_level; - # if DEBUG if UNLIKELY (fribidi_debug_status ()) @@ -747,8 +744,9 @@ fribidi_get_par_embedding_levels_ex ( } RL_LEVEL (pp) = level; - RL_ISOLATE_LEVEL (pp) = isolate_level++; - base_level_per_iso_level[isolate_level] = new_level; + RL_ISOLATE_LEVEL (pp) = isolate_level; + if (isolate_level < FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL-1) + isolate_level++; if (!FRIBIDI_IS_NEUTRAL (override)) RL_TYPE (pp) = override; @@ -1098,8 +1096,7 @@ fribidi_get_par_embedding_levels_ex ( FriBidiPairingNode *ppairs = pairing_nodes; while (ppairs) { - int iso_level = ppairs->open->isolate_level; - int embedding_level = base_level_per_iso_level[iso_level]; + int embedding_level = ppairs->open->level; /* Find matching strong. */ fribidi_boolean found = false; @@ -1151,7 +1148,6 @@ fribidi_get_par_embedding_levels_ex ( compare with the preceding strong to establish whether to apply N0c1 (opposite) or N0c2 embedding */ RL_TYPE(ppairs->open) = RL_TYPE(ppairs->close) = prec_strong_level % 2 ? FRIBIDI_TYPE_RTL : FRIBIDI_TYPE_LTR; - RL_LEVEL(ppairs->open) = RL_LEVEL(ppairs->close) = prec_strong_level; found = true; break; } diff --git a/lib/fribidi-char-sets.h b/lib/fribidi-char-sets.h index a4af248..98ea109 100644 --- a/lib/fribidi-char-sets.h +++ b/lib/fribidi-char-sets.h @@ -70,7 +70,7 @@ FRIBIDI_ENTRY FriBidiStrIndex fribidi_charset_to_unicode ( * Returns: The length of the new string. */ FRIBIDI_ENTRY FriBidiStrIndex fribidi_unicode_to_charset ( - FriBidiCharSet char_set, /* character set to conver to */ + FriBidiCharSet char_set, /* character set to convert to */ const FriBidiChar *us, /* input Unicode string */ FriBidiStrIndex len, /* input string length */ char *s /* output string encoded in char_set */ diff --git a/lib/fribidi-common.h b/lib/fribidi-common.h index 0e873cc..4db1f22 100644 --- a/lib/fribidi-common.h +++ b/lib/fribidi-common.h @@ -49,7 +49,7 @@ * The dllimport is needed here mostly for the fribidi_version_info variable, * for functions it's not required. Probably needs more fine-tuning if * someone starts building fribidi as static library with MSVC. We'll cross - * that brige when we get there. */ + * that bridge when we get there. */ # define FRIBIDI_ENTRY __declspec(dllimport) extern # else # define FRIBIDI_ENTRY extern diff --git a/lib/fribidi-deprecated.c b/lib/fribidi-deprecated.c index 12a13d2..7a97292 100644 --- a/lib/fribidi-deprecated.c +++ b/lib/fribidi-deprecated.c @@ -76,19 +76,6 @@ fribidi_reorder_nsm_status ( -FRIBIDI_ENTRY FriBidiLevel -fribidi_log2vis_get_embedding_levels ( - const FriBidiCharType *bidi_types, /* input list of bidi types as returned by - fribidi_get_bidi_types() */ - const FriBidiStrIndex len, /* input string length of the paragraph */ - FriBidiParType *pbase_dir, /* requested and resolved paragraph - * base direction */ - FriBidiLevel *embedding_levels /* output list of embedding levels */ -) -{ - return fribidi_get_par_embedding_levels_ex (bidi_types, NULL, len, pbase_dir, embedding_levels); -} - FRIBIDI_ENTRY FriBidiCharType fribidi_get_type ( FriBidiChar ch /* input character */ @@ -106,238 +93,6 @@ fribidi_get_type_internal ( } - -FRIBIDI_ENTRY FriBidiStrIndex -fribidi_remove_bidi_marks ( - FriBidiChar *str, - const FriBidiStrIndex len, - FriBidiStrIndex *positions_to_this, - FriBidiStrIndex *position_from_this_list, - FriBidiLevel *embedding_levels -) -{ - register FriBidiStrIndex i, j = 0; - fribidi_boolean private_from_this = false; - fribidi_boolean status = false; - - if UNLIKELY - (len == 0) - { - status = true; - goto out; - } - - DBG ("in fribidi_remove_bidi_marks"); - - fribidi_assert (str); - - /* If to_this is not NULL, we must have from_this as well. If it is - not given by the caller, we have to make a private instance of it. */ - if (positions_to_this && !position_from_this_list) - { - position_from_this_list = fribidi_malloc (sizeof - (position_from_this_list[0]) * - len); - if UNLIKELY - (!position_from_this_list) goto out; - private_from_this = true; - for (i = 0; i < len; i++) - position_from_this_list[positions_to_this[i]] = i; - } - - for (i = 0; i < len; i++) - if (!FRIBIDI_IS_EXPLICIT_OR_BN (fribidi_get_bidi_type (str[i])) - && !FRIBIDI_IS_ISOLATE (fribidi_get_bidi_type (str[i])) - && str[i] != FRIBIDI_CHAR_LRM && str[i] != FRIBIDI_CHAR_RLM) - { - str[j] = str[i]; - if (embedding_levels) - embedding_levels[j] = embedding_levels[i]; - if (position_from_this_list) - position_from_this_list[j] = position_from_this_list[i]; - j++; - } - - /* Convert the from_this list to to_this */ - if (positions_to_this) - { - for (i = 0; i < len; i++) - positions_to_this[i] = -1; - for (i = 0; i < len; i++) - positions_to_this[position_from_this_list[i]] = i; - } - - status = true; - -out: - - if (private_from_this) - fribidi_free (position_from_this_list); - - return status ? j : -1; -} - -/* Local array size, used for stack-based local arrays */ -#define LOCAL_LIST_SIZE 128 - -FRIBIDI_ENTRY FriBidiLevel -fribidi_log2vis ( - /* input */ - const FriBidiChar *str, - FriBidiStrIndex len, - /* input and output */ - FriBidiParType *pbase_dir, - /* output */ - FriBidiChar *visual_str, - FriBidiStrIndex *positions_L_to_V, - FriBidiStrIndex *positions_V_to_L, - FriBidiLevel *embedding_levels -) -{ - register FriBidiStrIndex i; - FriBidiLevel max_level = 0; - fribidi_boolean private_V_to_L = false; - fribidi_boolean private_embedding_levels = false; - fribidi_boolean status = false; - FriBidiArabicProp local_ar_props[LOCAL_LIST_SIZE]; - FriBidiArabicProp *ar_props = NULL; - FriBidiLevel local_embedding_levels[LOCAL_LIST_SIZE]; - FriBidiCharType local_bidi_types[LOCAL_LIST_SIZE]; - FriBidiCharType *bidi_types = NULL; - FriBidiBracketType local_bracket_types[LOCAL_LIST_SIZE]; - FriBidiBracketType *bracket_types = NULL; - FriBidiStrIndex local_positions_V_to_L[LOCAL_LIST_SIZE]; - - if UNLIKELY - (len == 0) - { - status = true; - goto out; - } - - DBG ("in fribidi_log2vis"); - - fribidi_assert (str); - fribidi_assert (pbase_dir); - - if (len < LOCAL_LIST_SIZE) - bidi_types = local_bidi_types; - else - bidi_types = fribidi_malloc (len * sizeof bidi_types[0]); - if (!bidi_types) - goto out; - - fribidi_get_bidi_types (str, len, bidi_types); - - if (len < LOCAL_LIST_SIZE) - bracket_types = local_bracket_types; - else - bracket_types = fribidi_malloc (len * sizeof bracket_types[0]); - - if (!bracket_types) - goto out; - - fribidi_get_bracket_types (str, len, bidi_types, - /* output */ - bracket_types); - if (!embedding_levels) - { - if (len < LOCAL_LIST_SIZE) - embedding_levels = local_embedding_levels; - else - embedding_levels = fribidi_malloc (len * sizeof embedding_levels[0]); - if (!embedding_levels) - goto out; - private_embedding_levels = true; - } - - max_level = fribidi_get_par_embedding_levels_ex (bidi_types, - bracket_types, - len, - pbase_dir, - embedding_levels) - 1; - if UNLIKELY - (max_level < 0) goto out; - - /* If l2v is to be calculated we must have v2l as well. If it is not - given by the caller, we have to make a private instance of it. */ - if (positions_L_to_V && !positions_V_to_L) - { - if (len < LOCAL_LIST_SIZE) - positions_V_to_L = local_positions_V_to_L; - else - positions_V_to_L = - (FriBidiStrIndex *) fribidi_malloc (sizeof (FriBidiStrIndex) * len); - if (!positions_V_to_L) - goto out; - private_V_to_L = true; - } - - /* Set up the ordering array to identity order */ - if (positions_V_to_L) - { - for (i = 0; i < len; i++) - positions_V_to_L[i] = i; - } - - - if (visual_str) - { - /* Using memcpy instead - for (i = len - 1; i >= 0; i--) - visual_str[i] = str[i]; - */ - memcpy (visual_str, str, len * sizeof (*visual_str)); - - /* Arabic joining */ - if (len < LOCAL_LIST_SIZE) - ar_props = local_ar_props; - else - ar_props = fribidi_malloc (len * sizeof ar_props[0]); - fribidi_get_joining_types (str, len, ar_props); - fribidi_join_arabic (bidi_types, len, embedding_levels, ar_props); - - fribidi_shape (flags, embedding_levels, len, ar_props, visual_str); - } - - /* line breaking goes here, but we assume one line in this function */ - - /* and this should be called once per line, but again, we assume one - * line in this deprecated function */ - status = - fribidi_reorder_line (flags, bidi_types, len, 0, *pbase_dir, - embedding_levels, visual_str, - positions_V_to_L); - - /* Convert the v2l list to l2v */ - if (positions_L_to_V) - { - for (i = 0; i < len; i++) - positions_L_to_V[i] = -1; - for (i = 0; i < len; i++) - positions_L_to_V[positions_V_to_L[i]] = i; - } - -out: - - if (private_V_to_L && positions_V_to_L != local_positions_V_to_L) - fribidi_free (positions_V_to_L); - - if (private_embedding_levels && embedding_levels != local_embedding_levels) - fribidi_free (embedding_levels); - - if (ar_props && ar_props != local_ar_props) - fribidi_free (ar_props); - - if (bidi_types && bidi_types != local_bidi_types) - fribidi_free (bidi_types); - - if (bracket_types && bracket_types != local_bracket_types) - fribidi_free (bracket_types); - - return status ? max_level + 1 : 0; -} - FRIBIDI_ENTRY FriBidiLevel fribidi_get_par_embedding_levels ( /* input */ diff --git a/lib/fribidi-deprecated.h b/lib/fribidi-deprecated.h index 0eaecd7..56b5ea3 100644 --- a/lib/fribidi-deprecated.h +++ b/lib/fribidi-deprecated.h @@ -127,75 +127,6 @@ fribidi_get_type_internal ( FriBidiChar ch /* input character */ ) FRIBIDI_GNUC_DEPRECATED; -/* fribidi_remove_bidi_marks - remove bidi marks out of an string - * - * This function removes the bidi and boundary-neutral marks out of an string - * and the accompanying lists. It implements rule X9 of the Unicode - * Bidirectional Algorithm available at - * http://www.unicode.org/reports/tr9/#X9, with the exception that it removes - * U+200E LEFT-TO-RIGHT MARK and U+200F RIGHT-TO-LEFT MARK too. - * - * If any of the input lists are NULL, the list is skipped. If str is the - * visual string, then positions_to_this is positions_L_to_V and - * position_from_this_list is positions_V_to_L; if str is the logical - * string, the other way. Moreover, the position maps should be filled with - * valid entries. - * - * A position map pointing to a removed character is filled with \-1. By the - * way, you should not use embedding_levels if str is visual string. - * - * For best results this function should be run on a whole paragraph, not - * lines; but feel free to do otherwise if you know what you are doing. - * Deprecated. Use fribidi_remove_special_chars instead. - * - * Returns: New length of the string, or \-1 if an error occurred (memory - * allocation failure most probably). - */ -FRIBIDI_ENTRY FriBidiStrIndex -fribidi_remove_bidi_marks ( - FriBidiChar *str, /* input string to clean */ - const FriBidiStrIndex len, /* input string length */ - FriBidiStrIndex *positions_to_this, /* list mapping positions to the - order used in str */ - FriBidiStrIndex *position_from_this_list, /* list mapping positions from the - order used in str */ - FriBidiLevel *embedding_levels /* list of embedding levels */ -) - FRIBIDI_GNUC_WARN_UNUSED FRIBIDI_GNUC_DEPRECATED; - - -/* fribidi_log2vis - get visual string - * - * This function converts the logical input string to the visual output - * strings as specified by the Unicode Bidirectional Algorithm. As a side - * effect it also generates mapping lists between the two strings, and the - * list of embedding levels as defined by the algorithm. - * - * If NULL is passed as any of the the lists, the list is ignored and not - * filled. - * - * This function is obsolete because it only handles one-line paragraphs. - * Please consider using other functions instead. Deprecated. - * - * Returns: Maximum level found plus one, or zero if any error occurred - * (memory allocation failure most probably). - */ - FRIBIDI_ENTRY FriBidiLevel fribidi_log2vis ( - const FriBidiChar *str, /* input logical string */ - const FriBidiStrIndex len, /* input string length */ - FriBidiParType *pbase_dir, /* requested and resolved paragraph - * base direction */ - FriBidiChar *visual_str, /* output visual string */ - FriBidiStrIndex *positions_L_to_V, /* output mapping from logical to - * visual string positions */ - FriBidiStrIndex *positions_V_to_L, /* output mapping from visual string - * back to the logical string - * positions */ - FriBidiLevel *embedding_levels /* output list of embedding levels */ -) - FRIBIDI_GNUC_WARN_UNUSED FRIBIDI_GNUC_DEPRECATED; - - /* fribidi_get_par_embedding_levels - get bidi embedding levels of a paragraph * * Deprecated interface to fribidi_get_par_embedding_levels_ex(). Refer to diff --git a/lib/fribidi-types.h b/lib/fribidi-types.h index 9f1746f..90238b4 100644 --- a/lib/fribidi-types.h +++ b/lib/fribidi-types.h @@ -27,10 +27,6 @@ #ifndef _FRIBIDI_TYPES_H #define _FRIBIDI_TYPES_H -#ifdef HAVE_CONFIG_H -# include -#endif - #include "fribidi-common.h" #include "fribidi-begindecls.h" diff --git a/lib/fribidi-unicode-version.h b/lib/fribidi-unicode-version.h index 6d8ed04..77d1f45 100644 --- a/lib/fribidi-unicode-version.h +++ b/lib/fribidi-unicode-version.h @@ -1,10 +1,14 @@ /* fribidi-unicode-version.h - * generated by gen-unicode-version (GNU FriBidi 1.0.1) + * generated by gen-unicode-version (GNU FriBidi 1.0) * from the file ReadMe.txt */ #define FRIBIDI_UNICODE_VERSION "10.0.0" #define FRIBIDI_UNICODE_MAJOR_VERSION 10 #define FRIBIDI_UNICODE_MINOR_VERSION 0 #define FRIBIDI_UNICODE_MICRO_VERSION 0 +#define FRIBIDI_UNICODE_NAMESPACE(SYMBOL) \ + FRIBIDI_NAMESPACE(SYMBOL##_unicode_10_0_0) +#define FRIBIDI_UNICODE_PRIVATESPACE(SYMBOL) \ + FRIBIDI_PRIVATESPACE(SYMBOL##_unicode_10_0_0) /* End of generated fribidi-unicode-version.h */ diff --git a/lib/fribidi-unicode.h b/lib/fribidi-unicode.h index b057c8a..745a312 100644 --- a/lib/fribidi-unicode.h +++ b/lib/fribidi-unicode.h @@ -45,7 +45,7 @@ /* An string containing the version the Unicode standard implemented, * in the form of "x.y.z", or "unknown". */ -extern const char *fribidi_unicode_version; +FRIBIDI_ENTRY const char *fribidi_unicode_version; /* Unicode Bidirectional Algorithm definitions: */ diff --git a/lib/fribidi.c b/lib/fribidi.c index 02ebae8..f5da0da 100644 --- a/lib/fribidi.c +++ b/lib/fribidi.c @@ -60,7 +60,238 @@ fribidi_set_debug ( #endif } +FRIBIDI_ENTRY FriBidiStrIndex +fribidi_remove_bidi_marks ( + FriBidiChar *str, + const FriBidiStrIndex len, + FriBidiStrIndex *positions_to_this, + FriBidiStrIndex *position_from_this_list, + FriBidiLevel *embedding_levels +) +{ + register FriBidiStrIndex i, j = 0; + fribidi_boolean private_from_this = false; + fribidi_boolean status = false; + + if UNLIKELY + (len == 0) + { + status = true; + goto out; + } + + DBG ("in fribidi_remove_bidi_marks"); + + fribidi_assert (str); + + /* If to_this is not NULL, we must have from_this as well. If it is + not given by the caller, we have to make a private instance of it. */ + if (positions_to_this && !position_from_this_list) + { + position_from_this_list = fribidi_malloc (sizeof + (position_from_this_list[0]) * + len); + if UNLIKELY + (!position_from_this_list) goto out; + private_from_this = true; + for (i = 0; i < len; i++) + position_from_this_list[positions_to_this[i]] = i; + } + + for (i = 0; i < len; i++) + if (!FRIBIDI_IS_EXPLICIT_OR_BN (fribidi_get_bidi_type (str[i])) + && !FRIBIDI_IS_ISOLATE (fribidi_get_bidi_type (str[i])) + && str[i] != FRIBIDI_CHAR_LRM && str[i] != FRIBIDI_CHAR_RLM) + { + str[j] = str[i]; + if (embedding_levels) + embedding_levels[j] = embedding_levels[i]; + if (position_from_this_list) + position_from_this_list[j] = position_from_this_list[i]; + j++; + } + + /* Convert the from_this list to to_this */ + if (positions_to_this) + { + for (i = 0; i < len; i++) + positions_to_this[i] = -1; + for (i = 0; i < len; i++) + positions_to_this[position_from_this_list[i]] = i; + } + + status = true; + +out: + + if (private_from_this) + fribidi_free (position_from_this_list); + + return status ? j : -1; +} + +/* Local array size, used for stack-based local arrays */ +#define LOCAL_LIST_SIZE 128 +static FriBidiFlags flags = FRIBIDI_FLAGS_DEFAULT | FRIBIDI_FLAGS_ARABIC; + + +FRIBIDI_ENTRY FriBidiLevel +fribidi_log2vis ( + /* input */ + const FriBidiChar *str, + const FriBidiStrIndex len, + /* input and output */ + FriBidiParType *pbase_dir, + /* output */ + FriBidiChar *visual_str, + FriBidiStrIndex *positions_L_to_V, + FriBidiStrIndex *positions_V_to_L, + FriBidiLevel *embedding_levels +) +{ + register FriBidiStrIndex i; + FriBidiLevel max_level = 0; + fribidi_boolean private_V_to_L = false; + fribidi_boolean private_embedding_levels = false; + fribidi_boolean status = false; + FriBidiArabicProp local_ar_props[LOCAL_LIST_SIZE]; + FriBidiArabicProp *ar_props = NULL; + FriBidiLevel local_embedding_levels[LOCAL_LIST_SIZE]; + FriBidiCharType local_bidi_types[LOCAL_LIST_SIZE]; + FriBidiCharType *bidi_types = NULL; + FriBidiBracketType local_bracket_types[LOCAL_LIST_SIZE]; + FriBidiBracketType *bracket_types = NULL; + FriBidiStrIndex local_positions_V_to_L[LOCAL_LIST_SIZE]; + + if UNLIKELY + (len == 0) + { + status = true; + goto out; + } + + DBG ("in fribidi_log2vis"); + + fribidi_assert (str); + fribidi_assert (pbase_dir); + if (len < LOCAL_LIST_SIZE) + bidi_types = local_bidi_types; + else + bidi_types = fribidi_malloc (len * sizeof bidi_types[0]); + if (!bidi_types) + goto out; + + fribidi_get_bidi_types (str, len, bidi_types); + + if (len < LOCAL_LIST_SIZE) + bracket_types = local_bracket_types; + else + bracket_types = fribidi_malloc (len * sizeof bracket_types[0]); + + if (!bracket_types) + goto out; + + fribidi_get_bracket_types (str, len, bidi_types, + /* output */ + bracket_types); + if (!embedding_levels) + { + if (len < LOCAL_LIST_SIZE) + embedding_levels = local_embedding_levels; + else + embedding_levels = fribidi_malloc (len * sizeof embedding_levels[0]); + if (!embedding_levels) + goto out; + private_embedding_levels = true; + } + + max_level = fribidi_get_par_embedding_levels_ex (bidi_types, + bracket_types, + len, + pbase_dir, + embedding_levels) - 1; + if UNLIKELY + (max_level < 0) goto out; + + /* If l2v is to be calculated we must have v2l as well. If it is not + given by the caller, we have to make a private instance of it. */ + if (positions_L_to_V && !positions_V_to_L) + { + if (len < LOCAL_LIST_SIZE) + positions_V_to_L = local_positions_V_to_L; + else + positions_V_to_L = + (FriBidiStrIndex *) fribidi_malloc (sizeof (FriBidiStrIndex) * len); + if (!positions_V_to_L) + goto out; + private_V_to_L = true; + } + + /* Set up the ordering array to identity order */ + if (positions_V_to_L) + { + for (i = 0; i < len; i++) + positions_V_to_L[i] = i; + } + + + if (visual_str) + { + /* Using memcpy instead + for (i = len - 1; i >= 0; i--) + visual_str[i] = str[i]; + */ + memcpy (visual_str, str, len * sizeof (*visual_str)); + + /* Arabic joining */ + if (len < LOCAL_LIST_SIZE) + ar_props = local_ar_props; + else + ar_props = fribidi_malloc (len * sizeof ar_props[0]); + fribidi_get_joining_types (str, len, ar_props); + fribidi_join_arabic (bidi_types, len, embedding_levels, ar_props); + + fribidi_shape (flags, embedding_levels, len, ar_props, visual_str); + } + + /* line breaking goes here, but we assume one line in this function */ + + /* and this should be called once per line, but again, we assume one + * line in this deprecated function */ + status = + fribidi_reorder_line (flags, bidi_types, len, 0, *pbase_dir, + embedding_levels, visual_str, + positions_V_to_L); + + /* Convert the v2l list to l2v */ + if (positions_L_to_V) + { + for (i = 0; i < len; i++) + positions_L_to_V[i] = -1; + for (i = 0; i < len; i++) + positions_L_to_V[positions_V_to_L[i]] = i; + } + +out: + + if (private_V_to_L && positions_V_to_L != local_positions_V_to_L) + fribidi_free (positions_V_to_L); + + if (private_embedding_levels && embedding_levels != local_embedding_levels) + fribidi_free (embedding_levels); + + if (ar_props && ar_props != local_ar_props) + fribidi_free (ar_props); + + if (bidi_types && bidi_types != local_bidi_types) + fribidi_free (bidi_types); + + if (bracket_types && bracket_types != local_bracket_types) + fribidi_free (bracket_types); + + return status ? max_level + 1 : 0; +} const char *fribidi_unicode_version = FRIBIDI_UNICODE_VERSION; @@ -75,7 +306,7 @@ const char *fribidi_version_info = ".\n\n" "Copyright (C) 2004 Sharif FarsiWeb, Inc.\n" "Copyright (C) 2001, 2002, 2004, 2005 Behdad Esfahbod\n" - "Copyright (C) 1999, 2000, 2017 Dov Grobgeld\n" + "Copyright (C) 1999, 2000, 2017, 2018, 2019 Dov Grobgeld\n" FRIBIDI_NAME " comes with NO WARRANTY, to the extent permitted by law.\n" "You may redistribute copies of " FRIBIDI_NAME " under\n" "the terms of the GNU Lesser General Public License.\n" diff --git a/lib/fribidi.h b/lib/fribidi.h index c925bd5..9124624 100644 --- a/lib/fribidi.h +++ b/lib/fribidi.h @@ -41,6 +41,74 @@ #include "fribidi-shape.h" #include "fribidi-char-sets.h" +#include "fribidi-begindecls.h" + +/* fribidi_remove_bidi_marks - remove bidi marks out of an string + * + * This function removes the bidi and boundary-neutral marks out of an string + * and the accompanying lists. It implements rule X9 of the Unicode + * Bidirectional Algorithm available at + * http://www.unicode.org/reports/tr9/#X9, with the exception that it removes + * U+200E LEFT-TO-RIGHT MARK and U+200F RIGHT-TO-LEFT MARK too. + * + * If any of the input lists are NULL, the list is skipped. If str is the + * visual string, then positions_to_this is positions_L_to_V and + * position_from_this_list is positions_V_to_L; if str is the logical + * string, the other way. Moreover, the position maps should be filled with + * valid entries. + * + * A position map pointing to a removed character is filled with \-1. By the + * way, you should not use embedding_levels if str is visual string. + * + * For best results this function should be run on a whole paragraph, not + * lines; but feel free to do otherwise if you know what you are doing. + * + * Returns: New length of the string, or \-1 if an error occurred (memory + * allocation failure most probably). + */ +FRIBIDI_ENTRY FriBidiStrIndex +fribidi_remove_bidi_marks ( + FriBidiChar *str, /* input string to clean */ + const FriBidiStrIndex len, /* input string length */ + FriBidiStrIndex *positions_to_this, /* list mapping positions to the + order used in str */ + FriBidiStrIndex *position_from_this_list, /* list mapping positions from the + order used in str */ + FriBidiLevel *embedding_levels /* list of embedding levels */ +); + + +/* fribidi_log2vis - get visual string + * + * This function converts the logical input string to the visual output + * strings as specified by the Unicode Bidirectional Algorithm. As a side + * effect it also generates mapping lists between the two strings, and the + * list of embedding levels as defined by the algorithm. + * + * If NULL is passed as any of the the lists, the list is ignored and not + * filled. + * + * Note that this function handles one-line paragraphs. For multi- + * paragraph texts it is necessary to first split the text into + * separate paragraphs and then carry over the resolved pbase_dir + * between the subsequent invocations. + * + * Returns: Maximum level found plus one, or zero if any error occurred + * (memory allocation failure most probably). + */ +FRIBIDI_ENTRY FriBidiLevel fribidi_log2vis ( + const FriBidiChar *str, /* input logical string */ + const FriBidiStrIndex len, /* input string length */ + FriBidiParType *pbase_dir, /* requested and resolved paragraph + * base direction */ + FriBidiChar *visual_str, /* output visual string */ + FriBidiStrIndex *positions_L_to_V, /* output mapping from logical to + * visual string positions */ + FriBidiStrIndex *positions_V_to_L, /* output mapping from visual string + * back to the logical string + * positions */ + FriBidiLevel *embedding_levels /* output list of embedding levels */ +); #ifdef FRIBIDI_NO_DEPRECATED #else @@ -48,10 +116,6 @@ #endif /* !FRIBIDI_NO_DEPRECATED */ -#include "fribidi-begindecls.h" - - - /* An string containing the version information of the library. */ FRIBIDI_ENTRY const char *fribidi_version_info; diff --git a/lib/joining-type.tab.i b/lib/joining-type.tab.i index d3625ba..a8ea611 100644 --- a/lib/joining-type.tab.i +++ b/lib/joining-type.tab.i @@ -1,5 +1,5 @@ /* joining-type.tab.i - * generated by gen-joining-type-tab (GNU FriBidi 1.0.1) + * generated by gen-joining-type-tab (GNU FriBidi 1.0) * from the files UnicodeData.txt, ArabicShaping.txt of Unicode version 10.0.0. */ #define PACKTAB_UINT8 uint8_t diff --git a/lib/joining-types.h b/lib/joining-types.h index 94b9fe3..6e11fa1 100644 --- a/lib/joining-types.h +++ b/lib/joining-types.h @@ -27,7 +27,7 @@ #ifndef _JOINING_TYPES_H #define _JOINING_TYPES_H -#include "common.h" +#include "fribidi-common.h" #include #include diff --git a/lib/meson.build b/lib/meson.build index e3691d1..573d47f 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -79,3 +79,7 @@ libfribidi = library('fribidi', version: libversion, soversion: soversion, install: true) + +libfribidi_dep = declare_dependency(link_with: libfribidi, + include_directories: incs, + sources: [fribidi_unicode_version_h, fribidi_config_h]) diff --git a/lib/mirroring.tab.i b/lib/mirroring.tab.i index 873b016..64f1f49 100644 --- a/lib/mirroring.tab.i +++ b/lib/mirroring.tab.i @@ -1,5 +1,5 @@ /* mirroring.tab.i - * generated by gen-mirroring-tab (GNU FriBidi 1.0.1) + * generated by gen-mirroring-tab (GNU FriBidi 1.0) * from the file BidiMirroring.txt of Unicode version 10.0.0. */ #define PACKTAB_UINT8 uint8_t diff --git a/lib/run.h b/lib/run.h index 8c4e259..44ddfec 100644 --- a/lib/run.h +++ b/lib/run.h @@ -29,7 +29,7 @@ #ifndef _RUN_H #define _RUN_H -#include "common.h" +#include "fribidi-common.h" #include diff --git a/ltmain.sh b/ltmain.sh index 30be9c8..7f3523d 100644 --- a/ltmain.sh +++ b/ltmain.sh @@ -2124,7 +2124,7 @@ fi # a configuration failure hint, and exit. func_fatal_configuration () { - func__fatal_error ${1+"$@"} \ + func_fatal_error ${1+"$@"} \ "See the $PACKAGE documentation for more information." \ "Fatal configuration error." } diff --git a/meson.build b/meson.build index f173987..939646a 100644 --- a/meson.build +++ b/meson.build @@ -1,4 +1,4 @@ -project('fribidi', 'c', version: '1.0.5', +project('fribidi', 'c', version: '1.0.8', meson_version : '>= 0.44') # New release: @@ -80,7 +80,7 @@ cdata.set('FRIBIDI_NO_DEPRECATED', no_deprecated) # write config.h config_h = configure_file(output: 'config.h', configuration: cdata) -incs = include_directories('.', 'lib') +incs = include_directories('.', 'lib', 'gen.tab') subdir('gen.tab') subdir('lib') diff --git a/missing b/missing index b7e571e..625aeb1 100755 --- a/missing +++ b/missing @@ -1,9 +1,9 @@ -#!/bin/sh +#! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ scriptversion=2016-01-11.22; # UTC # 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 . +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -101,9 +101,9 @@ else exit $st fi -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software +perl_URL=https://www.perl.org/ +flex_URL=https://github.com/westes/flex +gnu_software_URL=https://www.gnu.org/software program_details () { @@ -207,7 +207,7 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \ exit $st # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/test-driver b/test-driver index de1e61d..b8521a4 100755 --- a/test-driver +++ b/test-driver @@ -1,9 +1,9 @@ -#!/bin/sh +#! /bin/sh # test-driver - basic testsuite driver script. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 2011-2017 Free Software Foundation, Inc. +# Copyright (C) 2011-2018 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 @@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC # 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 . +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -140,7 +140,7 @@ echo ":copy-in-global-log: $gcopy" >> $trs_file # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/test/Makefile.in b/test/Makefile.in index 3e2ce24..fb0367f 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2017 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -135,7 +135,7 @@ am__recursive_targets = \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - check recheck distdir + check recheck distdir distdir-am am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is @@ -571,8 +571,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -809,7 +809,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) fi; \ $$success || exit 1 -check-TESTS: +check-TESTS: $(check_SCRIPTS) @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @@ -852,7 +852,10 @@ run.tests.log: run.tests @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ diff --git a/test/unicode-conformance/BidiCharacterTest.c b/test/unicode-conformance/BidiCharacterTest.c index cf3f676..f832e4f 100644 --- a/test/unicode-conformance/BidiCharacterTest.c +++ b/test/unicode-conformance/BidiCharacterTest.c @@ -289,8 +289,9 @@ main (int argc, char **argv) die ("Failed opening %s\n", filename); while (!feof(channel)) { + int len; fgets(line, LINE_SIZE, channel); - int len = strlen(line); + len = strlen(line); if (len == LINE_SIZE-1) die("LINE_SIZE=%d too small at line %d!\n", LINE_SIZE, line_no); diff --git a/test/unicode-conformance/BidiTest.c b/test/unicode-conformance/BidiTest.c index 5f931f1..bad7a95 100644 --- a/test/unicode-conformance/BidiTest.c +++ b/test/unicode-conformance/BidiTest.c @@ -288,8 +288,9 @@ main (int argc, char **argv) die ("Failed opening %s\n", filename); while (!feof(channel)) { + int len; fgets(line, LINE_SIZE, channel); - int len = strlen(line); + len = strlen(line); if (len == LINE_SIZE-1) die("LINE_SIZE too small at line %d!\n", line_no); diff --git a/test/unicode-conformance/Makefile.in b/test/unicode-conformance/Makefile.in index 7765f60..5c389a2 100644 --- a/test/unicode-conformance/Makefile.in +++ b/test/unicode-conformance/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2017 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -128,7 +128,9 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/BidiCharacterTest.Po \ + ./$(DEPDIR)/BidiTest.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -562,8 +564,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -598,8 +600,14 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BidiCharacterTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BidiTest.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BidiCharacterTest.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BidiTest.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -800,7 +808,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) fi; \ $$success || exit 1 -check-TESTS: +check-TESTS: $(check_PROGRAMS) @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @@ -836,7 +844,10 @@ recheck: all $(check_PROGRAMS) @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TXT_LOG_DRIVER_FLAGS) $(TXT_LOG_DRIVER_FLAGS) -- $(TXT_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -911,7 +922,8 @@ clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/BidiCharacterTest.Po + -rm -f ./$(DEPDIR)/BidiTest.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -957,7 +969,8 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/BidiCharacterTest.Po + -rm -f ./$(DEPDIR)/BidiTest.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -978,16 +991,16 @@ uninstall-am: .MAKE: check-am install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am 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 \ +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \ + check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ + cscopelist-am ctags ctags-am distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am 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-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ recheck tags tags-am uninstall uninstall-am diff --git a/test/unicode-conformance/meson.build b/test/unicode-conformance/meson.build index bd2ce2f..62a7e41 100644 --- a/test/unicode-conformance/meson.build +++ b/test/unicode-conformance/meson.build @@ -5,7 +5,7 @@ tests = [ foreach t : tests exe = executable(t[0], t[1], fribidi_unicode_version_h, - c_args: ['-DHAVE_CONFIG_H'], + c_args: ['-DHAVE_CONFIG_H'] + visibility_args, include_directories: incs, link_with: libfribidi) test(t[0], exe, args: files('@0@.txt'.format(t[0])))