Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/newlib
diff options
context:
space:
mode:
authorThomas Wolff <towo@towo.net>2021-04-17 01:00:00 +0300
committerCorinna Vinschen <corinna@vinschen.de>2021-07-06 16:35:37 +0300
commit204ee3cf6aca29652272d943946f9809060d054d (patch)
treeddab4ae3c6a317b1a32210aacb4fc8f3899d1969 /newlib
parent11fdae24b71fc3e9c2e480344ec25a026d65afaf (diff)
fix and amend scripts and makefile rules to generate Unicode data
Diffstat (limited to 'newlib')
-rw-r--r--newlib/Makefile.am4
-rw-r--r--newlib/Makefile.in4
-rw-r--r--newlib/libc/Makefile.unidata11
-rwxr-xr-xnewlib/libc/ctype/mkunidata4
-rwxr-xr-xnewlib/libc/string/mkunidata6
-rwxr-xr-xnewlib/libc/string/uniset29
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/&/&amp;/g;
s/</&lt;/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");
};
}