public inbox for newlib-cvs@sourceware.org help / color / mirror / Atom feed
From: Corinna Vinschen <corinna@sourceware.org> To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] fix and amend scripts and makefile rules to generate Unicode data Date: Tue, 6 Jul 2021 13:43:43 +0000 (GMT) [thread overview] Message-ID: <20210706134343.B0E2D3888C40@sourceware.org> (raw) https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=204ee3cf6aca29652272d943946f9809060d054d commit 204ee3cf6aca29652272d943946f9809060d054d Author: Thomas Wolff <towo@towo.net> Date: Sat Apr 17 00:00:00 2021 +0200 fix and amend scripts and makefile rules to generate Unicode data Diff: --- newlib/Makefile.am | 4 ---- newlib/Makefile.in | 4 ---- newlib/libc/Makefile.unidata | 11 +++++++++++ newlib/libc/ctype/mkunidata | 4 +++- newlib/libc/string/mkunidata | 6 ++++-- newlib/libc/string/uniset | 29 +++++++++++++++-------------- 6 files changed, 33 insertions(+), 25 deletions(-) diff --git a/newlib/Makefile.am b/newlib/Makefile.am index 03390cd17..3a8b99fce 100644 --- a/newlib/Makefile.am +++ b/newlib/Makefile.am @@ -420,10 +420,6 @@ endif # Generate Unicode data tables for libc/string/wcwidth and libc/ctype/??w* unidata: - cd $(srcdir)/libc/string; ./mkunidata - cd $(srcdir)/libc/ctype; ./mkunidata - -unidate-download: cd $(srcdir)/libc/string; ./mkunidata -u cd $(srcdir)/libc/ctype; ./mkunidata -u diff --git a/newlib/Makefile.in b/newlib/Makefile.in index fdaf34586..a4eba9120 100644 --- a/newlib/Makefile.in +++ b/newlib/Makefile.in @@ -1168,10 +1168,6 @@ install-data-local: install-toollibLIBRARIES # Generate Unicode data tables for libc/string/wcwidth and libc/ctype/??w* unidata: - cd $(srcdir)/libc/string; ./mkunidata - cd $(srcdir)/libc/ctype; ./mkunidata - -unidate-download: cd $(srcdir)/libc/string; ./mkunidata -u cd $(srcdir)/libc/ctype; ./mkunidata -u diff --git a/newlib/libc/Makefile.unidata b/newlib/libc/Makefile.unidata new file mode 100644 index 000000000..c85c428f2 --- /dev/null +++ b/newlib/libc/Makefile.unidata @@ -0,0 +1,11 @@ +# Generate Unicode data tables for string/wcwidth and ctype/??w* +# Download Unicode data files +unidata: + cd string; ./mkunidata -u + cd ctype; ./mkunidata -u + +# Generate Unicode data tables for string/wcwidth and ctype/??w* +# Use installed Unicode data files from package unicode-ucd +unidata-local: + cd string; ./mkunidata -i + cd ctype; ./mkunidata -i diff --git a/newlib/libc/ctype/mkunidata b/newlib/libc/ctype/mkunidata index 4bdf3bc81..4adf667ef 100755 --- a/newlib/libc/ctype/mkunidata +++ b/newlib/libc/ctype/mkunidata @@ -20,7 +20,9 @@ case "$1" in ;; -u) wget () { - curl -R -O --connect-timeout 55 -z "`basename $1`" "$1" + ref=`basename $1` + ref=`ls "$ref" 2> /dev/null || echo 01-Jan-1970` + curl -R -O --connect-timeout 55 -z "$ref" "$1" } echo downloading data from unicode.org diff --git a/newlib/libc/string/mkunidata b/newlib/libc/string/mkunidata index 7ebebeb07..7b6135f8d 100755 --- a/newlib/libc/string/mkunidata +++ b/newlib/libc/string/mkunidata @@ -21,11 +21,13 @@ case "$1" in ;; -u) wget () { - curl -R -O --connect-timeout 55 -z "`basename $1`" "$1" + ref=`basename $1` + ref=`ls "$ref" 2> /dev/null || echo 01-Jan-1970` + curl -R -O --connect-timeout 55 -z "$ref" "$1" } echo downloading uniset tool - wget http://www.cl.cam.ac.uk/~mgk25/download/uniset.tar.gz + wget https://www.cl.cam.ac.uk/~mgk25/download/uniset.tar.gz gzip -dc uniset.tar.gz | tar xvf - uniset echo downloading data from unicode.org diff --git a/newlib/libc/string/uniset b/newlib/libc/string/uniset index 85d3b2a6f..b118dd663 100755 --- a/newlib/libc/string/uniset +++ b/newlib/libc/string/uniset @@ -2,7 +2,7 @@ # Uniset -- Unicode subset manager -- Markus Kuhn # http://www.cl.cam.ac.uk/~mgk25/download/uniset.tar.gz -require 5.008; +require 5.014; use open ':utf8'; use FindBin qw($RealBin); # to find directory where this file is located @@ -147,11 +147,12 @@ sub is_unicode { return exists $name{$ucs}; } -my @search_path; -push @search_path, "$ENV{HOME}/local/share/uniset" - if -d "$ENV{HOME}/local/share/uniset"; -push @search_path, "/usr/share/uniset" if -d "/usr/share/uniset"; -push @search_path, $RealBin unless $RealBin =~ m|^/usr/bin|; +my @search_path = (); +if ($RealBin =~ m|^(.*)/bin\z| && -d "$1/share/uniset") { + push @search_path, "$1/share/uniset"; +} else { + push @search_path, $RealBin; +} sub search_open { my ($mode, $fn) = @_; @@ -186,7 +187,7 @@ while (<$data>) { $category{$ucs} = $3; $comment{$ucs} = $12; } else { - die("Syntax error in line '$_' in file '$unicodedata'"); + die("Syntax error in line '$_' in file '$unicodedata'\n"); } } close($data); @@ -209,7 +210,7 @@ while (<$data>) { } elsif (/^\s*\#/ || /^\s*$/) { # ignore comments and empty lines } else { - die("Syntax error in line '$_' in file '$blockdata'"); + die("Syntax error in line '$_' in file '$blockdata'\n"); } } close($data); @@ -231,16 +232,16 @@ while ($_ = shift(@ARGV)) { $image = 1; } elsif (/^template$/) { $template = shift(@ARGV); - open(TEMPLATE, $template) || die("Can't open template file '$template': '$!'"); + open(TEMPLATE, $template) || die("Can't open template file '$template': $!\n"); while (<TEMPLATE>) { if (/^\#\s*include\s+\"([^\"]*)\"\s*$/) { - open(INCLUDE, $1) || die("Can't open template include file '$1': '$!'"); + open(INCLUDE, $1) || die("Can't open template include file '$1': $!\n"); while (<INCLUDE>) { print $_; } close(INCLUDE); } elsif (/^\#\s*quote\s+\"([^\"]*)\"\s*$/) { - open(INCLUDE, $1) || die("Can't open template include file '$1': '$!'"); + open(INCLUDE, $1) || die("Can't open template include file '$1': $!\n"); while (<INCLUDE>) { s/&/&/g; s/</</g; @@ -275,7 +276,7 @@ while ($_ = shift(@ARGV)) { $setfile = $2; $setfile = shift(@ARGV) if $setfile eq ""; push(@SETS, $setfile); - open(SET, $setfile) || die("Can't open set file '$setfile': '$!'"); + open(SET, $setfile) || die("Can't open set file '$setfile': $!\n"); $setname = $setfile; while (<SET>) { while ($_) { @@ -303,7 +304,7 @@ while ($_ = shift(@ARGV)) { $setfile = shift(@ARGV) if $setfile eq ""; push(@SETS, $setfile); my $setf = search_open('<', $setfile); - die("Can't open set file '$setfile': '$!'") unless $setf; + die("Can't open set file '$setfile': $!\n") unless $setf; $cedf = ($setfile =~ /cedf/); # detect Kosta Kosti's trans CEDF format by path name $setname = $setfile; $setname =~ s/([^.\[\]]*)\..*/$1/; @@ -691,6 +692,6 @@ while ($_ = shift(@ARGV)) { delete $used{$i} if is_unicode($i); } } else { - die("Unknown command line command '$_'"); + die("Unknown command line command '$_'\n"); }; }
reply other threads:[~2021-07-06 13:43 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210706134343.B0E2D3888C40@sourceware.org \ --to=corinna@sourceware.org \ --cc=newlib-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).