aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--pc/ChangeLog11
-rw-r--r--pc/Makefile21
-rw-r--r--pc/install.awk10
-rw-r--r--regex_internal.h2
-rw-r--r--regexec.c3
6 files changed, 41 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index e8b40d24..62a99af8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2013-01-01 Arnold D. Robbins <arnold@skeeve.com>
+
+ Sync with GLIBC regex files.
+
+ * regex_internal.h (struct re_dfa_t): Remove ifdefs around
+ __libc_lock_define since it's already defined to empty in non-LIBC
+ case.
+ * regexec.c (check_node_accept_bytes): Restore decl with use from
+ GLIBC code since this is LIBC case.
+
2012-12-27 Arnold D. Robbins <arnold@skeeve.com>
* builtin.c (do_print, do_printf): Use output_fp as default
diff --git a/pc/ChangeLog b/pc/ChangeLog
index fdbc14a7..a24c5dbb 100644
--- a/pc/ChangeLog
+++ b/pc/ChangeLog
@@ -1,3 +1,14 @@
+2012-12-28 Eli Zaretskii <eliz@gnu.org>
+
+ * Makefile (install1): Don't require a Unixy shell and Sed. Don't
+ edit igawk.bat to point to the igawk script in $(prefix)/bin, as
+ that directory should be on PATH when Gawk is installed. Create
+ $(prefix)/bin/awk.exe, to emulate a symlink created on Unix.
+ Install documentation in $(prefix)/share. Install gawkinet.info.
+ (install-strip): New target.
+
+ * install.awk: Install documentation in $prefix/share.
+
2012-12-24 Arnold D. Robbins <arnold@skeeve.com>
* 4.0.2: Release tar ball made.
diff --git a/pc/Makefile b/pc/Makefile
index f01849a8..52354f34 100644
--- a/pc/Makefile
+++ b/pc/Makefile
@@ -69,8 +69,8 @@ MAK = $(MAKE) $(MAKEFILE)
prefix = c:/gnu
pkgdatadir = $(prefix)/lib/awk
#
-# Define the install method. Method 1 is Unix-like (and requires cat,
-# cp, mkdir, sed, and sh); method 2 uses gawk and batch files.
+# Define the install method. Method 1 is Unix-like (and requires cat
+# and cp); method 2 uses gawk and batch files.
install = 1
#------------------------------------------------------------------------
# To work around command-line length problems, this makefile assumes
@@ -262,18 +262,25 @@ install1:
echo extproc sh $(prefix)/bin/igawk.cmd > igawk.cmd
echo shift >> igawk.cmd
cat pc/awklib/igawk >> igawk.cmd
- sed "s;igawk;$(prefix)/bin/igawk;" pc/awklib/igawk.bat > igawk.bat
- sh mkinstal.sh $(prefix)/bin
- sh mkinstal.sh $(pkgdatadir) $(prefix)/man/man1 $(prefix)/info
+ cat pc/awklib/igawk.bat > igawk.bat
+ -mkdir "$(prefix)"
+ -mkdir "$(prefix)/bin"
+ -mkdir "$(prefix)/share"
+ -mkdir "$(prefix)/share/man"
+ -mkdir "$(pkgdatadir)" "$(prefix)/share/man/man1" "$(prefix)/share/info"
cp *awk.exe igawk.bat igawk.cmd pc/awklib/igawk $(prefix)/bin
+ cp gawk.exe $(prefix)/bin/awk.exe
cp awklib/eg/lib/* pc/awklib/igawk.awk $(pkgdatadir)
- cp doc/*.1 $(prefix)/man/man1
- cp doc/gawk.info $(prefix)/info
+ cp doc/*.1 $(prefix)/share/man/man1
+ cp doc/*.info $(prefix)/share/info
# install2 is equivalent to install1, but doesn't require cp, sed, etc.
install2:
gawk -v prefix=$(prefix) -f install.awk
+install-strip: install$(install)
+ strip "$(prefix)/bin"/*.exe
+
clean:
-rm -rf gawk *.exe gawk.map *.o *.obj core a.out $(RSPFILE) $(PRSPFILE) $(DRSPFILE) $(DYN_EXP)
# cd doc && $(MAKE) clean
diff --git a/pc/install.awk b/pc/install.awk
index 367e8b98..7b8e1c90 100644
--- a/pc/install.awk
+++ b/pc/install.awk
@@ -50,13 +50,13 @@ printf("extproc sh %s/bin/igawk.cmd\nshift\n", prefix) > igawk_cmd
while (getline < igawk) print $0 > igawk_cmd
# Create igawk.bat for DOS
-printf("@sh %s/bin/igawk %%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9", prefix) > igawk_bat
+printf("@sh igawk %%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9", prefix) > igawk_bat
# Do common
cp(igawk " *awk.exe " prefix "/bin")
-mkinstalldirs(prefix "/lib/awk " prefix "/man/man1 " prefix "/info")
+mkinstalldirs(prefix "/lib/awk " prefix "/share/man/man1 " prefix "/share/info")
cp("awklib/eg/lib/* pc/awklib/igawk.awk " prefix "/lib/awk");
-cp("doc/*.1 " prefix "/man/man1");
-cp("doc/gawk.info " prefix "/info");
-cp("doc/gawkinet.info " prefix "/info");
+cp("doc/*.1 " prefix "/share/man/man1");
+cp("doc/gawk.info " prefix "/share/info");
+cp("doc/gawkinet.info " prefix "/share/info");
}
diff --git a/regex_internal.h b/regex_internal.h
index 36f29e47..ca403b1d 100644
--- a/regex_internal.h
+++ b/regex_internal.h
@@ -692,9 +692,7 @@ struct re_dfa_t
#ifdef DEBUG
char* re_str;
#endif
-#if defined _LIBC
__libc_lock_define (, lock)
-#endif
};
#define re_node_set_init_empty(set) memset (set, '\0', sizeof (re_node_set))
diff --git a/regexec.c b/regexec.c
index ff90fe31..e6425ad2 100644
--- a/regexec.c
+++ b/regexec.c
@@ -3932,7 +3932,6 @@ check_node_accept_bytes (const re_dfa_t *dfa, int node_idx,
if (cset->nequiv_classes)
{
const unsigned char *cp = pin;
- int32_t idx;
table = (const int32_t *)
_NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB);
weights = (const unsigned char *)
@@ -3941,7 +3940,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, int node_idx,
_NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB);
indirect = (const int32_t *)
_NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
- idx = findidx (&cp, elem_len);
+ int32_t idx = findidx (&cp, elem_len);
if (idx > 0)
for (i = 0; i < cset->nequiv_classes; ++i)
{