gawk-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gawk-diffs] [SCM] gawk branch, feature/zOS-try2, updated. gawk-4.1.0-74


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, feature/zOS-try2, updated. gawk-4.1.0-744-gd8ed23b
Date: Tue, 01 Sep 2015 03:00:43 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, feature/zOS-try2 has been updated
       via  d8ed23b4604a9366f9d532d614ab74943fb1748d (commit)
       via  810affb79bab243f7e177de4943e7060c9e26d41 (commit)
      from  5e547510dfad2ce5f00e2f495b054c4331c62dfc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=d8ed23b4604a9366f9d532d614ab74943fb1748d

commit d8ed23b4604a9366f9d532d614ab74943fb1748d
Author: Arnold D. Robbins <address@hidden>
Date:   Tue Sep 1 06:00:19 2015 +0300

    ChangeLog entries for z/OS added.

diff --git a/ChangeLog b/ChangeLog
index e685dd6..b000aac 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,38 @@
+2015-08-28     Daniel Richard G.       <address@hidden>
+
+       * Makefile.am, configure.ac: Use an Automake conditional to
+       enable/disable the "extensions" subdirectory instead of
+       producing a stub Makefile therein from the configure script.
+       * awk.h, custom.h, regex_internal.h: Removed z/OS-specific code
+       that is no longer needed due to improvements in Gawk's general
+       Autotools support.
+       * awk.h: Allow <strings.h> to be #included together with
+       <string.h> as this is required on some systems (z/OS).
+       * io.c, configure.ac: <sys/select.h> is needed for select()
+       and related bits on z/OS.
+       * awk.h: Handle the redefinition of EXIT_FAILURE on z/OS in a
+       more elegant/general way.
+       * awkgram.y, command.y, configure.ac, eval.c,
+       helpers/testdfa.c: Define and use the USE_EBCDIC cpp symbol
+       instead of checking the value of 'a' whenever we want to know
+       if we're on an EBCDIC system. Also, don't assume that z/OS
+       necessarily means EBCDIC, as the compiler does have an ASCII
+       mode (-qascii).
+       * awkgram.y, command.y, configure.ac: On EBCDIC systems,
+       convert singleton EBCDIC characters in the input stream to
+       ASCII on the fly so that the generated awkgram.c/command.c in
+       the distributed sources can be used, i.e. we don't have to
+       require the user to build Bison and re-generate those files
+       themselves. This implementation uses a z/OS-specific function
+       (__etoa_l()) to do the conversion, but support for other
+       systems can be added in the future as necessary.
+       * io.c: No need to protect this block of "#if
+       defined(HAVE_TERMIOS_H)" code from z/OS; it works just fine
+       there.
+       * configure.ac: Check for the "struct passwd.pw_passwd" and
+       "struct group.gr_passwd" fields and conditionalize their use,
+       as they don't exist on z/OS.  Needed for doc/gawktexi.in.
+
 2015-08-25         Arnold D. Robbins     <address@hidden>
 
        * node.c (str2wstr): Upon finding an invalid character, if
diff --git a/awklib/ChangeLog b/awklib/ChangeLog
index 791c25f..eb9ffcd 100644
--- a/awklib/ChangeLog
+++ b/awklib/ChangeLog
@@ -1,3 +1,15 @@
+2015-08-28     Daniel Richard G.       <address@hidden>
+
+       * Makefile.am: Build pwcat.c and grcat.c with (copied)
+       source in the current directory, so that (1) we can use
+       Automake-generated build rules instead of rolling our own, and
+       (2) Automake doesn't then admonish us to enable subdir-objects
+       due to the source files being in another directory.
+       * Makefile.am: Make the $(srcdir)/stamp-eg rule depend
+       on gawktexi.in instead of the gawk.texi file that is generated
+       from same, so that the build doesn't break if the latter is
+       missing.
+
 2015-06-19         Arnold D. Robbins     <address@hidden>
 
        * extract.awk: Sync with current version in the doc. Thanks to
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 6062121..8b9d4c1 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,11 @@
+2015-08-28     Daniel Richard G.       <address@hidden>
+
+       * doc/gawktexi.in: Check for the "struct passwd.pw_passwd" and
+       "struct group.gr_passwd" fields and conditionalize their use, as
+       they don't exist on z/OS.
+       * Makefile.am (pdf-local): Renamed from "pdf", as Automake already
+       defines "pdf" and warns us as much.
+
 2015-08-14         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in: Typo fixes in Appendix A.
diff --git a/extension/ChangeLog b/extension/ChangeLog
index 3cd932b..e0089cc 100644
--- a/extension/ChangeLog
+++ b/extension/ChangeLog
@@ -1,3 +1,13 @@
+2015-08-28     Daniel Richard G.       <address@hidden>
+
+       * rwarray.c: Removed z/OS-specific code that is no longer needed due
+       to improvements in Gawk's general Autotools support.
+       * Makefile.am, configure.ac: Make use of the AC_ZOS_USS macro so
+       that this sub-project can support that platform as well.
+       * gawkfts.h, readdir.c: Use a proper platform cpp symbol to guard
+       z/OS-specific code, and eliminate the z/OS-specific use of "long"
+       inode numbers as "long long" works perfectly well there.
+
 2015-08-02         Arnold D. Robbins     <address@hidden>
 
        * revoutput.c (init_revoutput): Don't install REVOUT if it's
diff --git a/helpers/ChangeLog b/helpers/ChangeLog
index 4188c17..3215d15 100644
--- a/helpers/ChangeLog
+++ b/helpers/ChangeLog
@@ -1,3 +1,11 @@
+2015-08-28     Daniel Richard G.       <address@hidden>
+
+       * testdfa.c: Define and use the USE_EBCDIC cpp symbol
+       instead of checking the value of 'a' whenever we want to know
+       if we're on an EBCDIC system. Also, don't assume that z/OS
+       necessarily means EBCDIC, as the compiler does have an ASCII
+       mode (-qascii).
+
 2015-05-27         Arnold D. Robbins     <address@hidden>
 
        * mb_cur_max.c, timeformat.c: New files.
diff --git a/m4/ChangeLog b/m4/ChangeLog
index c3704e4..8086522 100644
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,3 +1,15 @@
+2015-08-28     Daniel Richard G.       <address@hidden>
+
+       * arch.m4: Complete rewrite of AC_ZOS_USS. It no longer
+       deletes awkgram.c and command.c on a z/OS system, as these are
+       now usable in EBCDIC-land without regeneration; it sets some
+       important CFLAGS/CPPFLAGS to enable standard compiler
+       behavior, like giving an error instead of a warning when a
+       header file cannot be found (!); prevents the use of cc(1),
+       which on z/OS does not build gawk correctly; and gives some
+       help to the user if s/he is building with c89(1), which
+       presents some difficulties due to its option syntax.
+
 2015-08-02         Arnold D. Robbins     <address@hidden>
 
        * codeset.m4, glibc2.m4, glibc21.m4, intdiv0.m4, intl.m4,
diff --git a/test/ChangeLog b/test/ChangeLog
index 7b9e273..ba2856b 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,11 @@
+2015-08-28     Daniel Richard G.       <address@hidden>
+
+       * Makefile.am: Generate the Maketests file without
+       reference to its directory, because putting it directly into
+       srcdir can be problematic (e.g. srcdir could be read-only).
+       (clean-local): Renamed from "clean", as Automake already defines
+       "clean" and warns us as much.
+
 2015-08-25         Arnold D. Robbins     <address@hidden>
 
        * mbstr1.ok: Updated after code change.

http://git.sv.gnu.org/cgit/gawk.git/commit/?id=810affb79bab243f7e177de4943e7060c9e26d41

commit 810affb79bab243f7e177de4943e7060c9e26d41
Author: Arnold D. Robbins <address@hidden>
Date:   Tue Sep 1 05:44:44 2015 +0300

    Update configure machinery for z/OS.

diff --git a/configure b/configure
index 78f1681..3e6f197 100755
--- a/configure
+++ b/configure
@@ -5871,18 +5871,6 @@ else
 
 if test "OS/390" = "`uname`"
 then
-  CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE -D_XOPEN_SOURCE=600"
-  if test "x$GCC" != "xyes"
-  then
-                        if echo " $CC " | $EGREP ' (/bin/)?(cc|c89) ' 
>/dev/null
-    then
-:      as_fn_error $? "invalid-cc
-GNU Awk does not support the \"cc\" nor \"c89\" compiler frontends on z/OS.
-Please set CC to \"c99\" or one of the \"xlc\" frontends." "$LINENO" 5
-    fi
-    :    CFLAGS="$CFLAGS -qlanglvl=stdc99:libext"
-            :    CPPFLAGS="$CPPFLAGS -qhaltonmsg=CCN3296"
-  fi
   ac_cv_zos_uss=yes
 else
   ac_cv_zos_uss=no
@@ -5891,6 +5879,37 @@ fi
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_cv_zos_uss}" >&5
 $as_echo "${ac_cv_zos_uss}" >&6; }
+if test "x$ac_cv_zos_uss" = "xyes"
+then
+    CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE -D_XOPEN_SOURCE=600"
+                    if test -n "$_C89_OPTIONS"
+  then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: _C89_OPTIONS = $_C89_OPTIONS" >&5
+$as_echo "$as_me: _C89_OPTIONS = $_C89_OPTIONS" >&6;}
+  elif test "x$GCC" != "xyes"
+  then
+    if echo " $CC " | $EGREP ' (/bin/)?cc ' >/dev/null
+    then
+      as_fn_error $? "cc-invalid
+The z/OS \"cc\" compiler does not build GNU Awk correctly.
+
+If the \"xlc\" or \"c89\" compiler is available, please set CC accordingly
+and reconfigure. (\"xlc\" is the recommended compiler on z/OS.)" "$LINENO" 5
+    fi
+    if echo " $CC " | $EGREP ' (/bin/)?c89 ' >/dev/null
+    then
+      as_fn_error $? "c89-setup-required
+To build GNU Awk using \"c89\", please set
+
+    _C89_OPTIONS=\"-W c,langlvl(stdc99,libext),haltonmsg(CCN3296)\"
+
+in your environment, and reconfigure. (The above flags cannot be specified
+in CFLAGS/CPPFLAGS, due to the parentheses.)" "$LINENO" 5
+    fi
+        CFLAGS="$CFLAGS -qlanglvl=stdc99:libext"
+                CPPFLAGS="$CPPFLAGS -qhaltonmsg=CCN3296"
+  fi
+fi
 
 
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strerror in 
-lcposix" >&5
diff --git a/extension/configure b/extension/configure
index 40eccf5..e2cbd28 100755
--- a/extension/configure
+++ b/extension/configure
@@ -3668,18 +3668,6 @@ else
 
 if test "OS/390" = "`uname`"
 then
-  CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE -D_XOPEN_SOURCE=600"
-  if test "x$GCC" != "xyes"
-  then
-                        if echo " $CC " | $EGREP ' (/bin/)?(cc|c89) ' 
>/dev/null
-    then
-:      as_fn_error $? "invalid-cc
-GNU Awk does not support the \"cc\" nor \"c89\" compiler frontends on z/OS.
-Please set CC to \"c99\" or one of the \"xlc\" frontends." "$LINENO" 5
-    fi
-    :    CFLAGS="$CFLAGS -qlanglvl=stdc99:libext"
-            :    CPPFLAGS="$CPPFLAGS -qhaltonmsg=CCN3296"
-  fi
   ac_cv_zos_uss=yes
 else
   ac_cv_zos_uss=no
@@ -3688,6 +3676,37 @@ fi
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_cv_zos_uss}" >&5
 $as_echo "${ac_cv_zos_uss}" >&6; }
+if test "x$ac_cv_zos_uss" = "xyes"
+then
+    CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE -D_XOPEN_SOURCE=600"
+                    if test -n "$_C89_OPTIONS"
+  then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: _C89_OPTIONS = $_C89_OPTIONS" >&5
+$as_echo "$as_me: _C89_OPTIONS = $_C89_OPTIONS" >&6;}
+  elif test "x$GCC" != "xyes"
+  then
+    if echo " $CC " | $EGREP ' (/bin/)?cc ' >/dev/null
+    then
+      as_fn_error $? "cc-invalid
+The z/OS \"cc\" compiler does not build GNU Awk correctly.
+
+If the \"xlc\" or \"c89\" compiler is available, please set CC accordingly
+and reconfigure. (\"xlc\" is the recommended compiler on z/OS.)" "$LINENO" 5
+    fi
+    if echo " $CC " | $EGREP ' (/bin/)?c89 ' >/dev/null
+    then
+      as_fn_error $? "c89-setup-required
+To build GNU Awk using \"c89\", please set
+
+    _C89_OPTIONS=\"-W c,langlvl(stdc99,libext),haltonmsg(CCN3296)\"
+
+in your environment, and reconfigure. (The above flags cannot be specified
+in CFLAGS/CPPFLAGS, due to the parentheses.)" "$LINENO" 5
+    fi
+        CFLAGS="$CFLAGS -qlanglvl=stdc99:libext"
+                CPPFLAGS="$CPPFLAGS -qhaltonmsg=CCN3296"
+  fi
+fi
 
 
 INSTALL="$ac_aux_dir/install-sh -c"
diff --git a/m4/arch.m4 b/m4/arch.m4
index be15a27..ec1e9ed 100644
--- a/m4/arch.m4
+++ b/m4/arch.m4
@@ -64,31 +64,54 @@ AC_MSG_CHECKING([for z/OS USS compilation])
 AC_CACHE_VAL(ac_cv_zos_uss, [
 if test "OS/390" = "`uname`"
 then
+  ac_cv_zos_uss=yes
+else
+  ac_cv_zos_uss=no
+fi
+])dnl
+AC_MSG_RESULT([${ac_cv_zos_uss}])
+if test "x$ac_cv_zos_uss" = "xyes"
+then
+  dnl These feature test macros are needed on z/OS.
   CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE -D_XOPEN_SOURCE=600"
-  if test "x$GCC" != "xyes"
+  dnl If _C89_OPTIONS is set, then assume the user is building with the c89
+  dnl compiler frontend, and knows what they are doing. c89 (as well as cc)
+  dnl pre-dates xlc, and accepts an option syntax that involves parentheses
+  dnl and cannot be handled in the usual way in C(PP)FLAGS. However, c89
+  dnl will also accept options via the aforementioned environment variable,
+  dnl which gives the user one way around the problem. (If you're wondering
+  dnl about cc, it is meant for programs written in "Common Usage C"
+  dnl [a.k.a. K&R C] as opposed to "Standard C" [a.k.a. ANSI], and does not
+  dnl build gawk correctly.)
+  if test -n "$_C89_OPTIONS"
   then
-    dnl If the user is using the "cc" or "c89" compiler frontends, then
-    dnl give up. These do not accept standard XL C -qfoobar options, and
-    dnl instead use a devil's-spawn option syntax involving parentheses.
-    dnl (For example, the below CFLAGS addendum becomes
-    dnl "-W c,langlvl(stdc99,libext)". Good luck quoting that.)
-    if echo " $CC " | $EGREP ' (/bin/)?(cc|c89) ' >/dev/null
+    AC_MSG_NOTICE([_C89_OPTIONS = $_C89_OPTIONS])
+  elif test "x$GCC" != "xyes"
+  then
+    if echo " $CC " | $EGREP ' (/bin/)?cc ' >/dev/null
+    then
+      AC_MSG_ERROR([cc-invalid
+The z/OS "cc" compiler does not build GNU Awk correctly.
+
+If the "xlc" or "c89" compiler is available, please set CC accordingly
+and reconfigure. ("xlc" is the recommended compiler on z/OS.)])
+    fi
+    if echo " $CC " | $EGREP ' (/bin/)?c89 ' >/dev/null
     then
-:      AC_MSG_ERROR([invalid-cc
-GNU Awk does not support the "cc" nor "c89" compiler frontends on z/OS.
-Please set CC to "c99" or one of the "xlc" frontends.])
+      AC_MSG_ERROR([c89-setup-required
+To build GNU Awk using "c89", please set
+
+    _C89_OPTIONS="-W c,langlvl(stdc99,libext),haltonmsg(CCN3296)"
+
+in your environment, and reconfigure. (The above flags cannot be specified
+in CFLAGS/CPPFLAGS, due to the parentheses.)])
     fi
     dnl This enables C99, and on z/OS 1.11, the setenv() prototype.
-:    CFLAGS="$CFLAGS -qlanglvl=stdc99:libext"
+    CFLAGS="$CFLAGS -qlanglvl=stdc99:libext"
     dnl This is needed so that xlc considers a missing header file to be an
     dnl error and not a warning. (Yes, the latter is in fact the default
     dnl behavior on z/OS.)
-:    CPPFLAGS="$CPPFLAGS -qhaltonmsg=CCN3296"
+    CPPFLAGS="$CPPFLAGS -qhaltonmsg=CCN3296"
   fi
-  ac_cv_zos_uss=yes
-else
-  ac_cv_zos_uss=no
 fi
 ])dnl
-AC_MSG_RESULT([${ac_cv_zos_uss}])
-])dnl

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog           |   35 +++++++++++++++++++++++++++++++
 awklib/ChangeLog    |   12 ++++++++++
 configure           |   43 +++++++++++++++++++++++++++----------
 doc/ChangeLog       |    8 +++++++
 extension/ChangeLog |   10 +++++++++
 extension/configure |   43 +++++++++++++++++++++++++++----------
 helpers/ChangeLog   |    8 +++++++
 m4/ChangeLog        |   12 ++++++++++
 m4/arch.m4          |   57 +++++++++++++++++++++++++++++++++++---------------
 test/ChangeLog      |    8 +++++++
 10 files changed, 195 insertions(+), 41 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]