diff options
Diffstat (limited to 'pc')
-rw-r--r-- | pc/ChangeLog | 38 | ||||
-rw-r--r-- | pc/Makefile | 100 | ||||
-rw-r--r-- | pc/Makefile.tst | 37 | ||||
-rw-r--r-- | pc/config.h | 44 |
4 files changed, 132 insertions, 87 deletions
diff --git a/pc/ChangeLog b/pc/ChangeLog index 41cc25bd..8d340b45 100644 --- a/pc/ChangeLog +++ b/pc/ChangeLog @@ -1,3 +1,37 @@ +2012-04-16 Eli Zaretskii <eliz@gnu.org> + + * 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). + 2012-03-29 Arnold D. Robbins <arnold@skeeve.com> * config.h: Add definition for _Noreturn. @@ -56,6 +90,10 @@ * Makefile.tst: Sync with mainline version. +2011-12-12 Scott Deifik <scottd.mail@sbcglobal.net> + + * Makefile.tst: Sync with mainline version. + 2011-12-06 Scott Deifik <scottd.mail@sbcglobal.net> * Makefile.tst: Sync with mainline version. diff --git a/pc/Makefile b/pc/Makefile index af3044d3..21fe0bfe 100644 --- a/pc/Makefile +++ b/pc/Makefile @@ -16,6 +16,9 @@ default: @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)/ " @@ -39,8 +42,6 @@ default: #======================= Configuration ================================== RSPFILE = gawk.rsp -PRSPFILE = pgawk.rsp -DRSPFILE = dgawk.rsp # # Choose method for passing arguments to the linker. # @@ -50,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). @@ -80,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. @@ -97,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 ========================================= @@ -158,16 +149,34 @@ 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= mingw32-readline: $(MAK) all \ @@ -181,18 +190,13 @@ 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) @@ -201,8 +205,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: @@ -212,52 +214,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 eval_d$O debug$O command$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 @@ -267,9 +251,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 @@ -300,7 +282,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 c10430a7..ab566531 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). @@ -186,6 +186,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 @@ -233,6 +234,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" @@ -360,7 +363,7 @@ argtest:: badargs:: @echo $@ - @-$(AWK) -f 2>&1 | grep -v patchlevel >_$@ + @-$(AWK) -f 2>&1 | GREP_OPTIONS='' grep -v patchlevel >_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ nonl:: @@ -800,6 +803,36 @@ exit: @-AWK="$(AWKPROG)" $(srcdir)/$@.sh > _$@ 2>&1 @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +mpfrieee: + @echo mpfrieee + @$(AWK) -M -vPREC=double -f $(srcdir)/$@.awk > _$@ 2>&1 + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +mpfrexprange: + @echo mpfrexprange + @$(AWK) -M -vPREC=53 -f $(srcdir)/$@.awk > _$@ 2>&1 + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +mpfrrnd: + @echo mpfrrnd + @$(AWK) -M -vPREC=53 -f $(srcdir)/$@.awk > _$@ 2>&1 + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +mpfrnr: + @echo mpfrnr + @$(AWK) -M -vPREC=113 -f $(srcdir)/$@.awk $(srcdir)/$@.in > _$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +mpfrsort: + @echo mpfrsort + @$(AWK) -M -vPREC=53 -f $(srcdir)/$@.awk > _$@ 2>&1 + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +mpfrbigint: + @echo mpfrbigint + @$(AWK) -M -f $(srcdir)/$@.awk > _$@ 2>&1 + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + rri1:: @echo $@ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ diff --git a/pc/config.h b/pc/config.h index 6b50eefa..8b39a640 100644 --- a/pc/config.h +++ b/pc/config.h @@ -74,7 +74,7 @@ /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV -/* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */ +/* Define to 1 if the system has the type `intmax_t'. */ #ifdef __MINGW32__ #define HAVE_INTMAX_T 1 #endif @@ -84,12 +84,6 @@ #define HAVE_INTTYPES_H 1 #endif -/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and - declares uintmax_t. */ -#ifdef __MINGW32__ -#define HAVE_INTTYPES_H_WITH_UINTMAX 1 -#endif - /* Define to 1 if you have the `isascii' function. */ #ifdef __MINGW32__ #define HAVE_ISASCII 1 @@ -136,11 +130,6 @@ #define HAVE_LOCALE_H 1 #endif -/* Define if you have the 'long long' type. */ -#ifdef __MINGW32__ -#define HAVE_LONG_LONG 1 -#endif - /* Define to 1 if the system has the type `long long int'. */ #undef HAVE_LONG_LONG_INT @@ -188,6 +177,9 @@ /* we have the mktime function */ #define HAVE_MKTIME 1 +/* Define to 1 if you have fully functional mpfr and gmp libraries. */ +#undef HAVE_MPFR + /* Define to 1 if you have the <netdb.h> header file. */ #undef HAVE_NETDB_H @@ -231,10 +223,6 @@ #define HAVE_STDINT_H 1 #endif -/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares - uintmax_t. */ -#undef HAVE_STDINT_H_WITH_UINTMAX - /* Define to 1 if you have the <stdlib.h> header file. */ #ifdef __MINGW32__ #define HAVE_STDLIB_H 1 @@ -350,7 +338,7 @@ /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 -/* Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>. */ +/* Define to 1 if the system has the type `uintmax_t'. */ #if defined(DJGPP) || defined(__MINGW32__) #define HAVE_UINTMAX_T 1 #ifdef DJGPP @@ -363,9 +351,6 @@ #define HAVE_UNISTD_H 1 #endif -/* Define if you have the 'unsigned long long' type. */ -#define HAVE_UNSIGNED_LONG_LONG 1 - /* Define to 1 if the system has the type `unsigned long long int'. */ #undef HAVE_UNSIGNED_LONG_LONG_INT @@ -425,7 +410,7 @@ #define PACKAGE_NAME "GNU Awk" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU Awk 4.0.1" +#define PACKAGE_STRING "GNU Awk 4.0.70" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gawk" @@ -434,7 +419,7 @@ #define PACKAGE_URL "http://www.gnu.org/software/gawk/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "4.0.1" +#define PACKAGE_VERSION "4.0.70" /* Define to 1 if *printf supports %F format */ #undef PRINTF_HAS_F_FORMAT @@ -496,7 +481,12 @@ /* Version number of package */ -#define VERSION "4.0.1" +#define VERSION "4.0.70" + +/* Enable large inode numbers on Mac OS X 10.5. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS @@ -519,6 +509,7 @@ # endif #endif + /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE @@ -545,7 +536,8 @@ #endif #endif -/* Define to long or long long if <inttypes.h> and <stdint.h> don't define. */ +/* Define to the widest signed integer type if <stdint.h> and <inttypes.h> do + not define. */ #ifdef DJGPP #define intmax_t long long #endif @@ -581,8 +573,8 @@ /* Define to `int' if <sys/types.h> doesn't define. */ #undef uid_t -/* Define to unsigned long or unsigned long long if <stdint.h> and - <inttypes.h> don't define. */ +/* Define to the widest unsigned integer type if <stdint.h> and <inttypes.h> + do not define. */ #ifdef DJGPP #define uintmax_t unsigned long long #endif |