gawk-diffs
[Top][All Lists]
Advanced

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

[gawk-diffs] [SCM] gawk branch, gawk_mpfr, updated. e729adf120f279fd6557


From: John Haque
Subject: [gawk-diffs] [SCM] gawk branch, gawk_mpfr, updated. e729adf120f279fd65578a410ca8d2d93a56f0f0
Date: Mon, 16 Apr 2012 10:08:09 +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, gawk_mpfr has been updated
       via  e729adf120f279fd65578a410ca8d2d93a56f0f0 (commit)
      from  b07a47ccf4e41f45477a6cf9f3e4edba285ea095 (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=e729adf120f279fd65578a410ca8d2d93a56f0f0

commit e729adf120f279fd65578a410ca8d2d93a56f0f0
Author: john haque <address@hidden>
Date:   Mon Apr 16 04:48:30 2012 -0500

    MPFR fixes from Eli.

diff --git a/ChangeLog b/ChangeLog
index 2365e5a..67d016a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-04-16  Eli Zaretskii  <address@hidden>
+
+       * io.c (read_with_timeout) [__MINGW32__]: Just call the blocking
+       'read', as 'select' is only available for sockets.
+       * mpfr.c (set_ROUNDMODE) [!HAVE_MPFR]: Renamed from set_RNDMODE.
+       * main.c (load_procinfo): Declare name[] also when HAVE_MPFR is
+       defined even though HAVE_GETGROUPS etc. are not.
+
 2012-04-12         John Haque      <address@hidden>
 
        * array.c, awk.h, awkgram.y, builtin.c, command.y, debug.c,
diff --git a/README_d/README.mpfr b/README_d/README.mpfr
index d090e0d..b12c19b 100644
--- a/README_d/README.mpfr
+++ b/README_d/README.mpfr
@@ -4,11 +4,21 @@ Sat Mar 17 07:32:01 CDT 2012
 The MPFR and GMP versions known to work for Mac OS X on PPC:
 GNU MPFR 3.1.0, GNU MP 4.3.1
 
+----
 Precompiled binaries for GMP and MPFR in Windows may be available
 from here:
+
     http://sourceforge.net/projects/ezwinports/files/
+
+or here:
+
     http://sourceforge.net/projects/mingw/files/MinGW/Base/mpfr/
+    http://sourceforge.net/projects/mingw/files/MinGW/Base/gmp/
+
+You should try to use libraries downloaded from the same site
+to avoid possible incompatibilities.
 
+----
 Gawk has been compiled and tested using the following combinations
 of MPFR and GMP versions on GNU/Linux:
 GNU MPFR 2.4.2, GNU MP 4.3.2
diff --git a/io.c b/io.c
index e5ceedb..f6feab6 100644
--- a/io.c
+++ b/io.c
@@ -3432,6 +3432,7 @@ get_read_timeout(IOBUF *iop)
 static ssize_t
 read_with_timeout(int fd, char *buf, size_t size)
 {
+#ifndef __MINGW32__
        fd_set readfds;
        struct timeval tv;
 
@@ -3457,6 +3458,9 @@ read_with_timeout(int fd, char *buf, size_t size)
        errno = EAGAIN;
 #endif
        return -1;
+#else  /* __MINGW32__ */
+       return read(fd, buf, size);
+#endif /* __MINGW32__ */
 }
 
 
diff --git a/main.c b/main.c
index 4644926..dca938a 100644
--- a/main.c
+++ b/main.c
@@ -1064,6 +1064,8 @@ load_procinfo()
 {
 #if defined (HAVE_GETGROUPS) && defined(NGROUPS_MAX) && NGROUPS_MAX > 0
        int i;
+#endif
+#if (defined (HAVE_GETGROUPS) && defined(NGROUPS_MAX) && NGROUPS_MAX > 0) || 
defined(HAVE_MPFR)
        char name[100];
 #endif
        AWKNUM value;
diff --git a/mpfr.c b/mpfr.c
index 07f96ff..b28c720 100644
--- a/mpfr.c
+++ b/mpfr.c
@@ -1612,7 +1612,7 @@ set_PREC()
 }
 
 void
-set_RNDMODE()
+set_ROUNDMODE()
 {
        /* dummy function */
 }
diff --git a/pc/ChangeLog b/pc/ChangeLog
index 5f287dd..27a485c 100644
--- a/pc/ChangeLog
+++ b/pc/ChangeLog
@@ -1,3 +1,37 @@
+2012-04-16  Eli Zaretskii  <address@hidden>
+
+       * Makefile.tst (PGAWK): Redefine as "../gawk.exe -p".
+       (MPFR_TESTS): New variable, a list of MPFR-related tests.
+       (mpfr-tests): A new target.
+       (badargs): Reset GREP_OPTIONS to empty, to avoid gratuitous
+       failures when the user has something like -nH there.
+       (mpfrieee, mpfrexprange, mpfrrnd, mpfrnr, mpfrsort, mpfrbigint):
+       New tests.
+
+       * Makefile (default): Add descriptions of mingw32-mpfr and
+       mingw32-libreadline-mpfr targets.
+       (PRSPFILE, DRSPFILE, PRSP, DRSP, PLDRSP, DLDRSP, DO_PLNK)
+       (DO_PBIND, DO_DLNK, DO_DBIND, PLDJG, DLDJG, PLMINGW32)
+       (DLMINGW32, PAWKOBJS1, PAWKOBJS2, DAWKOBJS2, PGAWKOBJS)
+       (DGAWKOBJS): Remove unused variables.
+       (djgpp, djgpp-debug, mingw32): Don't use them.
+       (mingw32): Add -D__USE_MINGW_ANSI_STDIO to compilation flags.
+       (mingw32-readline, mingw32-mpfr, mingw32-readline-mpfr): New targets.
+       (CFLAGS, AWKOBJS2): Don't reference obsolete DYN_FLAGS and DYN_OBJ
+       variables.
+       (AWKOBJS2): Add symbol$O.
+       (AWKOBJS3): New variable, lists MPFR-related object files.
+       (AWKOBJS): Add $(AWKOBJS3).
+       (all): Remove pgawk.exe and dgawk.exe.
+       (pgawk.exe, dgawk.exe, $(PRSPFILE) $(DRSPFILE), eval_p$O)
+       (profile_p$O): Remove targets.
+       (random$O, debug$O): Don't depend on floatmagic.h
+       (eval$O): Depend on interpret.h.
+       (clean): Prepend '-' to command line, to ignore errors due to
+       non-existent files.
+
+       * config.h: Comment out "#undef HAVE_LIBREADLINE" (again).
+
 2011-12-12   Scott Deifik  <address@hidden>
 
        * Makefile.tst: Sync with mainline version.
diff --git a/pc/Makefile b/pc/Makefile
index 6156ce9..f01849a 100644
--- a/pc/Makefile
+++ b/pc/Makefile
@@ -14,6 +14,11 @@ default:
        @echo "  emxnt ... NT exe [emx/gcc with RSXNT]                 "
        @echo "  emxbnd .. OS/2 and DOS 32-bit exe [emx/gcc]           "
        @echo "  mingw32 . Windows32 exe [Mingw32 GNU C]               "
+       @echo "  mingw32-readline . Like mingw32, but with readline    "
+       @echo "   [You will need to have GNU readline library installed.] "
+       @echo "  mingw32-mpfr . Like mingw32, but with MPFR            "
+       @echo "   [You will need to have GNU MPFR library installed.]  "
+       @echo "  mingw32-readline-mpfr . mingw32 with readline and MPFR "
        @echo "  ----------------------------------------------------- "
        @echo "  test .... Perform tests (see README_d/README.pc)      "
        @echo "  install . Install gawk under $(prefix)/               "
@@ -37,8 +42,6 @@ default:
 
 #======================= Configuration ==================================
 RSPFILE = gawk.rsp
-PRSPFILE = pgawk.rsp
-DRSPFILE = dgawk.rsp
 #
 # Choose method for passing arguments to the linker.
 #
@@ -48,11 +51,7 @@ DRSPFILE = dgawk.rsp
 #
 # else use brain-dead approach (emxbnd will need 'tr').
 RSP = $(RSPFILE)
-PRSP = $(PRSPFILE)
-DRSP = $(DRSPFILE)
 LDRSP = @$(RSP)
-PLDRSP = @$(PRSP)
-DLDRSP = @$(DRSP)
 LNKRSP = $(LDRSP)
 #------------------------------------------------------------------------
 # Some makes do not define MAKE (and ndmake does not allow a define).
@@ -78,10 +77,6 @@ install = 1
 # that $($X) can be expanded.
 DO_LNK = $($(LNK))
 DO_BIND= $($(BIND))
-DO_PLNK = $($(PLNK))
-DO_PBIND= $($(PBIND))
-DO_DLNK = $($(DLNK))
-DO_DBIND= $($(DBIND))
 #========================================================================
 # End of general configuration. Some platform-specific configuration
 # notes appear below.
@@ -95,21 +90,19 @@ prefix = $(DJDIR)
 pkgdatadir = $(prefix)/share/awk
 endif
 LDJG = $(CC) $(LF) -o gawk.exe $(LDRSP) $(LF2)
-PLDJG = $(CC) $(LF) -o pgawk.exe $(PLDRSP) $(LF2)
-DLDJG = $(CC) $(LF) -o dgawk.exe $(DLDRSP) $(LF2)
 BDJG = stubify -g awk.exe | stubedit awk.exe runfile=gawk
 
 djgpp:
        $(MAK) all \
        CC=gcc O=.o CF=-O2 \
-       LNK=LDJG PLNK=PLDJG DLNK=DLDJG LF=-s LF2=-lm \
-       BIND=BDJG PBIND='' DBIND=''
+       LNK=LDJG LF=-s LF2=-lm \
+       BIND=BDJG
 
 djgpp-debug:
        $(MAK) all \
        CC=gcc O=.o CF='-O2 -g' \
-       LNK=LDJG PLNK=PLDJG DLNK=DLDJG LF2=-lm \
-       BIND=BDJG PBIND='' DBIND=''
+       LNK=LDJG LF2=-lm \
+       BIND=BDJG
 
 #========================================================================
 #========================== EMX =========================================
@@ -156,34 +149,47 @@ emxbnd-debug:
 #========================================================================
 
 LMINGW32 = $(CC) $(LF) -o $@ $(GAWKOBJS) $(LF2)
-PLMINGW32 = $(CC) $(LF) -o $@ $(PGAWKOBJS) $(LF2)
-DLMINGW32 = $(CC) $(LF) -o $@ $(DGAWKOBJS) $(LF2)
 # The following might work around command-line length limitations:
 #LMINGW32 = $(CC) $(LF) -o $@ *.o $(LF2)
 
 mingw32:
        $(MAK) all \
-       CC=gcc O=.o CF="-O2 -gdwarf-2 -g3" OBJ=popen.o \
-       LNK=LMINGW32 PLNK=PLMINGW32 DLNK=DLMINGW32 \
-       LF="-gdwarf-2 -g3" LF2=-lmsvcp60 RSP=
+       CC=gcc O=.o CF="-D__USE_MINGW_ANSI_STDIO -O2 -gdwarf-2 -g3" \
+       OBJ=popen.o LNK=LMINGW32 LF="-gdwarf-2 -g3" LF2=-lmsvcp60 RSP=
+
+mingw32-readline:
+       $(MAK) all \
+       CC=gcc O=.o \
+       CF="-D__USE_MINGW_ANSI_STDIO -DHAVE_LIBREADLINE -O2 -gdwarf-2 -g3" \
+       OBJ=popen.o LNK=LMINGW32 LF="-gdwarf-2 -g3" \
+       LF2="-lreadline -lmsvcp60 -Wl,--enable-auto-import" RSP=
+
+mingw32-mpfr:
+       $(MAK) all \
+       CC=gcc O=.o \
+       CF="-D__USE_MINGW_ANSI_STDIO -DHAVE_MPFR -O2 -gdwarf-2 -g3" \
+       OBJ=popen.o LNK=LMINGW32 LF="-gdwarf-2 -g3" \
+       LF2="-lmpfr -lgmp -lmsvcp60 -Wl,--enable-auto-import" RSP=
+
+mingw32-readline-mpfr:
+       $(MAK) all \
+       CC=gcc O=.o \
+       CF="-D__USE_MINGW_ANSI_STDIO -DHAVE_LIBREADLINE -DHAVE_MPFR -O2 
-gdwarf-2 -g3" \
+       OBJ=popen.o LNK=LMINGW32 LF="-gdwarf-2 -g3" \
+       LF2="-lmpfr -lgmp -lreadline -lmsvcp60 -Wl,--enable-auto-import" RSP=
 
 # Define BIND for BINDless compiles, otherwise $($(BIND)) may break.
 BIND = EMPTY
 PBIND = EMPTY
 EMPTY=
 
-# bitwise operations (-DBITOPS) and non-decimal input data (-DNONDECDATA) are
-# undocumented in 3.0.3.  They may be enabled in config.h, or added to CFLAGS.
-CFLAGS = $(CF) -DGAWK -I. -DHAVE_CONFIG_H $(DYN_FLAGS)
+CFLAGS = $(CF) -DGAWK -I. -DHAVE_CONFIG_H
 
 # object files
 AWKOBJS1  = array$O builtin$O eval$O field$O floatcomp$O gawkmisc$O io$O main$O
-AWKOBJS2  = ext$O msg$O node$O profile$O re$O replace$O version$O $(DYN_OBJ)
-PAWKOBJS1 = array$O builtin$O eval_p$O field$O floatcomp$O gawkmisc$O io$O 
main$O
-PAWKOBJS2 = ext$O msg$O node$O profile_p$O re$O replace$O version$O $(DYN_OBJ)
-DAWKOBJS1  = array$O builtin$O debug$O eval_d$O field$O floatcomp$O gawkmisc$O 
io$O main$O
-DAWKOBJS2  = ext$O msg$O node$O profile$O re$O replace$O version$O command$O 
$(DYN_OBJ)
-AWKOBJS = $(AWKOBJS1) $(AWKOBJS2)
+AWKOBJS2  = ext$O msg$O node$O profile$O re$O replace$O version$O symbol$O
+AWKOBJS3  = debug$O cint_array$O int_array$O mpfr$O str_array$O command$O
+AWKOBJS = $(AWKOBJS1) $(AWKOBJS2) $(AWKOBJS3)
 
 ALLOBJS = $(AWKOBJS) awkgram$O getid$O $(OBJ)
 
@@ -192,8 +198,6 @@ ALLOBJS = $(AWKOBJS) awkgram$O getid$O $(OBJ)
 LIBOBJS= getopt$O getopt1$O dfa$O regex$O random$O
 
 GAWKOBJS = $(ALLOBJS) $(LIBOBJS)
-PGAWKOBJS = $(PAWKOBJS1) $(PAWKOBJS2) $(LIBOBJS) awkgram$O getid$O $(OBJ)
-DGAWKOBJS = $(DAWKOBJS1) $(DAWKOBJS2) $(LIBOBJS) awkgram$O getid$O $(OBJ)
 
 # clear out suffixes list
 # .SUFFIXES:
@@ -203,52 +207,34 @@ DGAWKOBJS = $(DAWKOBJS1) $(DAWKOBJS2) $(LIBOBJS) 
awkgram$O getid$O $(OBJ)
        $(CC) -c $(CFLAGS) $<
 
 # rules to build gawk
-all : gawk.exe pgawk.exe dgawk.exe
+all : gawk.exe
 
 gawk.exe:: $(GAWKOBJS) $(RSP)
        $(DO_LNK)
        $(DO_BIND)
 
-pgawk.exe:: $(PGAWKOBJS) $(PRSP)
-       $(DO_PLNK)
-       $(DO_PBIND)
-
-dgawk.exe:: $(DGAWKOBJS) $(DRSP)
-       $(DO_DLNK)
-       $(DO_DBIND)
-
 $(RSPFILE) : $(GAWKOBJS)
        echo $(AWKOBJS1)$P > $@
        echo $(AWKOBJS2)$P >> $@
        echo awkgram$O getid$O $(OBJ) $(LIBOBJS)$P >> $@
 
-$(PRSPFILE) : $(PGAWKOBJS)
-       echo $(PAWKOBJS1)$P > $@
-       echo $(PAWKOBJS2)$P >> $@
-       echo awkgram$O getid$O $(OBJ) $(LIBOBJS)$P >> $@
-
-$(DRSPFILE) : $(DGAWKOBJS)
-       echo $(DAWKOBJS1)$P > $@
-       echo $(DAWKOBJS2)$P >> $@
-       echo awkgram$O getid$O $(OBJ) $(LIBOBJS)$P >> $@
-
 # Notes to dependencies:
 # 1. The dependency on getopt.h is because unistd.h includes it,
 #    and we have -I. on the compiler command line.  unistd.h is
 #    included by awk.h.
 # 2. custom.h is not mentioned because pc ports don't use it.
-$(ALLOBJS) $(LIBOBJS) eval_p$O profile_p$O: \
+$(ALLOBJS) $(LIBOBJS): \
   awk.h regex.h config.h gettext.h mbsupport.h protos.h dfa.h getopt.h
 
 builtin$O:     floatmagic.h random.h popen.h
 
-random$O:      floatmagic.h random.h
+random$O:      random.h
 
-debug$O:       floatmagic.h
+node$O:                floatmagic.h
 
 command$O debug$O:     cmd.h
 
-dfa$O: xalloc.h
+dfa$O:         xalloc.h
 
 gawkmisc$O:    pc/gawkmisc.pc
 
@@ -258,9 +244,7 @@ io$O:               popen.h
 
 regex$O:       regcomp.c regexec.c regex_internal.h
 
-eval_p$O:      eval.c
-
-profile_p$O:   profile.c
+eval$O:                interpret.h
 
 # A bug in ndmake requires the following rule
 awkgram$O: awk.h awkgram.c
@@ -291,7 +275,7 @@ install2:
        gawk -v prefix=$(prefix) -f install.awk
 
 clean:
-       rm -rf gawk pgawk dgawk *.exe gawk.map *.o *.obj core a.out $(RSPFILE) 
$(PRSPFILE) $(DRSPFILE) $(DYN_EXP)
+       -rm -rf gawk *.exe gawk.map *.o *.obj core a.out $(RSPFILE) $(PRSPFILE) 
$(DRSPFILE) $(DYN_EXP)
 #      cd doc && $(MAKE) clean
 #      cd test && $(MAKE) clean
 #      cd awklib && $(MAKE) clean
diff --git a/pc/Makefile.tst b/pc/Makefile.tst
index f14341c..83a8a32 100644
--- a/pc/Makefile.tst
+++ b/pc/Makefile.tst
@@ -67,7 +67,7 @@ AWK2 = '..\gawk.exe'
 AWKPROG = ../gawk.exe
 
 # Define PGAWK
-PGAWK = ../pgawk.exe
+PGAWK = ../gawk.exe -p
 
 # Set your cmp command here (you can use most versions of diff instead of cmp
 # if you don't want to convert the .ok files to the DOS CR/LF format).
@@ -179,6 +179,7 @@ GAWK_EXT_TESTS = \
 EXTRA_TESTS = inftest regtest
 INET_TESTS = inetdayu inetdayt inetechu inetecht
 MACHINE_TESTS = double1 double2 fmtspcl intformat
+MPFR_TESTS = mpfrnr mpfrrnd mpfrieee mpfrexprange mpfrsort mpfrbigint
 LOCALE_CHARSET_TESTS = \
        asort asorti fmttest fnarydel fnparydl lc_num1 mbfw1 \
        mbprintf1 mbprintf2 mbprintf3 rebt8b2 rtlenmb sort1 sprintfc
@@ -226,6 +227,8 @@ inet:       inetmesg $(INET_TESTS)
 
 machine-tests: $(MACHINE_TESTS)
 
+mpfr-tests: $(MPFR_TESTS)
+
 msg::
        @echo ""
        @echo "Any output from $(CMP) is bad news, although some differences"
@@ -353,7 +356,7 @@ argtest::
 
 badargs::
        @echo $@
-       @-$(AWK) -f 2>&1 | grep -v patchlevel >_$@
+       @-$(AWK) -f 2>&1 | GREP_OPTIONS='' grep -v patchlevel >_$@
        @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
 
 nonl::
@@ -789,6 +792,37 @@ exit:
        @echo $@
        @-AWK="$(AWKPROG)" $(srcdir)/address@hidden > _$@ 2>&1
        @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+
+mpfrieee:
+       @echo mpfrieee
+       @$(AWK) -M -vPREC=double -f $(srcdir)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+
+mpfrexprange:
+       @echo mpfrexprange
+       @$(AWK) -M -vPREC=53 -f $(srcdir)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+
+mpfrrnd:
+       @echo mpfrrnd
+       @$(AWK) -M -vPREC=53 -f $(srcdir)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+
+mpfrnr:
+       @echo mpfrnr
+       @$(AWK) -M -vPREC=113 -f $(srcdir)/address@hidden 
$(srcdir)/address@hidden > _$@
+       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+
+mpfrsort:
+       @echo mpfrsort
+       @$(AWK) -M -vPREC=53 -f $(srcdir)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+
+mpfrbigint:
+       @echo mpfrbigint
+       @$(AWK) -M -f $(srcdir)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+
 Gt-dummy:
 # file Maketests, generated from Makefile.am by the Gentests program
 addcomma:
diff --git a/pc/config.h b/pc/config.h
index a9dac51..4893fe5 100644
--- a/pc/config.h
+++ b/pc/config.h
@@ -123,7 +123,7 @@
 #define HAVE_LIBM 1
 
 /* Define to 1 if you have a fully functional readline library. */
-#undef HAVE_LIBREADLINE
+/* #undef HAVE_LIBREADLINE */
 
 /* Define if you have the libsigsegv library. */
 #undef HAVE_LIBSIGSEGV

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

Summary of changes:
 ChangeLog            |    8 ++++
 README_d/README.mpfr |   10 +++++
 io.c                 |    4 ++
 main.c               |    2 +
 mpfr.c               |    2 +-
 pc/ChangeLog         |   34 +++++++++++++++++
 pc/Makefile          |  102 +++++++++++++++++++++-----------------------------
 pc/Makefile.tst      |   38 +++++++++++++++++-
 pc/config.h          |    2 +-
 9 files changed, 139 insertions(+), 63 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

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