Skip to content

Commit

Permalink
init from awka-0.7.5 on http://awka.sourceforge.net/index.html
Browse files Browse the repository at this point in the history
  • Loading branch information
noyesno committed Oct 23, 2015
0 parents commit 76ec398
Show file tree
Hide file tree
Showing 475 changed files with 59,533 additions and 0 deletions.
54 changes: 54 additions & 0 deletions ACKNOWLEDGEMENTS
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
Michael D. Brennan provided considerable inspiration with his excellent
Mawk product. Awka owes to Mawk the configure scripts, the AWK language
parser, and the idea that the language could be implemented for high
performance.

Thanks also to Arnold Robbins, maintainer of Gawk, for his ongoing encouragement
and helpfulness. The extensive test suite in Awka is mostly based on Gawk's
test suite and Gawk has led the way in new functionality, particularly with
version 3.1.0. The inet and coprocess functions in Awka were drawn directly
from Gawk, and were originally developed by J�rgen Kahrs.

Thanks to the many contributors to comp.lang.awk who made it clear that
a freely available awk-to-C translator was needed.

Finally, thanks in advance to everyone who reports bugs or offers
suggestions or constructive criticism, along with those who have already
contributed.

I along with everyone who uses Awka, owe special thanks to people who
have contributed with bug reports, suggestions and patches. Awka would
be a far poorer product without their help and encouragement. I've listed
these fine folk below in no particular order, and apologise if I've missed
anybody...

* Eiso AB <[email protected]>
* John H. DuBois III <[email protected]>
* chris proctor <[email protected]>
* Finn Drablos <[email protected]>
* Matthijs van Aalten <[email protected]>
* Phil Magson <[email protected]>
* Hans-Henrik Staerfeldt <[email protected]>
* David Lucido <[email protected]>
* Hannu Toivonen <[email protected]>
* Christoph A. Specjalski <[email protected]>
* Jack Kuan <[email protected]>
* Peter J. Farley III <[email protected]>
* Nethanel Elzas <[email protected]>
* Thomas Birnthaler <[email protected]>
* Mick Donna <[email protected]>
* John L Cox <[email protected]>
* Michael Mauch <[email protected]>
* Wenshio Gan <[email protected]>
* Christian Haul <[email protected]>
* Steven W. Orr <[email protected]>
* John Maybury <[email protected]>
* Nelson H. F. Beebe <[email protected]>
* Lothar Stache <[email protected]>
* Matthijs Kadijk <[email protected]>
* Urs Meier <[email protected]>
* Igor Mendelev <[email protected]>
* Kenny McCormack <[email protected]>
* Jules Altfas <[email protected]>

----------------------------------------------------------------------
805 changes: 805 additions & 0 deletions CHANGELOG.txt

Large diffs are not rendered by default.

339 changes: 339 additions & 0 deletions GPL.txt

Large diffs are not rendered by default.

84 changes: 84 additions & 0 deletions INSTALL.djg
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
The contents of this file contributed by Peter J. Farley III <[email protected]>

Versions Tested:
================

- GNU bash
(version 2.03.0(1)-release (i386-pc-msdosdjgpp) r0.4)

- GNU autoconf
(version 2.13)

- GNU gawk
(version 3.0.3)

- GNU sed
(version 3.02)

- GNU m4
(version 1.4)

- GNU gcc
(version 2.81)

- DJGPP DJTAR
(DJGPP version 2.02)



Building and installing:
========================

To build Awka under DJGPP bash, you must have your DJGPP environment
set up and operating correctly (environment variables set, PATH set,
etc.). If you have DJGPP already running, then these instructions
will allow you to build Awka.

Awka requires Win95/98 LFN support. You must have LFN=y in your DJGPP.ENV
file. Plain DOS building has not been tested.

If you did not use DJTAR to extract Awka, you should delete Awka and
re-extract it using DJTAR. Recent versions of WinZip (including the
most recent as of this writing, 7.0 SR-1) do not extract zero-length
files, and there are several zero-length files in the directories test
and test/reg that WinZip will fail to extract.

You can use this command to extract the Awka gzipped tarball:

djtar -x -d -v -!. ?:/awka-<version>.tar.gz

where "?:/" is the drive and path where the Awka file is located, and
"awka-<version>.tar.gz" is the filename of the Awka distribution that
you downloaded.

If you have not already done so, copy bash.exe to /bin/sh.exe, or make
a symbolic link file as described in the bash installation documentation.
Most of the Awka installation will not work properly unless you do this.

Ensure FILES=50 (or larger) exists in your CONFIG.SYS file. If it
does not, make the change and REBOOT YOUR SYSTEM. If you are not
booted with FILES=50 or better, the "manyfiles" test will fail in
strange and unpredictable ways.

In the Awka directory, you will need to rebuild the configure script
so that DJGPP-specific changes are included. To do this, type:

bash autoconf

To build Awka under DJGPP bash, type:

bash ./configdj

(bash is required as both autoconf and configdj are shell scripts)

To make and install Awka:

make install

To run the test suite (be patient, this can take a while)

make test

All the tests should run successfully. If you see any tests fail,
be sure to report them to Andrew Sumner, [email protected].

62 changes: 62 additions & 0 deletions INSTALL.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
HOW TO INSTALL AWKA
-------------------

DJGPP users should consult INSTALL.djg

1. Download awka from the Awka home page - make sure you check
this site to ensure you have the latest version. Awka lives at
http://awka.sourceforge.net

2. 'cd' to the directory containing the downloaded awka file.

3. type the following (insert the correct version number):-
gunzip -c awka-0.7.x.tgz | tar -xvf -
(you will need gzip installed).

4. cd to awka-0.7.x

5. type "./configure" (not including the quotes). You may specify
options to configure to control where awka is installed. For
instance, to put libawka.a in /mydir/lib, and awka in /mydir/bin,
you would run

./configure --prefix mydir

By default Awka will not seek to identify and 'clean' binary
characters in the input data by substituting them for spaces. To
make Awka do this, uncomment:

/* #define NO_BIN_CHARS */

in config.h.

HPUX users: If you don't have gcc, change CFLAGS in lib/Makefile and
awka/Makefile to equal "-O -Aa". Make the same change in config.h
as well.

By default, Awka will use /bin/sh when forking external tasks, either
using the builtin function system(), or the piped i/o methods. If you
would like to use a different shell, edit the line where awka_shell is
defined in config.h, and change the value to the location of the shell
program on your system.

6. type "make" (minus the quotes). This will compile the library and
the awka executable.

NOTE: Users of Solaris and some other platforms have experienced
errors in building the shared-object version of libawka. If you
find this happening to you, the easiest workaround is to comment
or remove the line "SHAREDLIB = libawka.so" in lib/Makefile.

Optionally you may then run "make test" to verify the program is
working properly (this may take some time). If you see any errors
reported in this stage, please take the time to let me know, along
with the platform and operating system you are using.

7. Type "make install". This will copy 'awka' to /usr/local/bin,
'libawka.a' to /usr/local/lib, 'libawka.h' to /usr/local/include and
'awka.1' to /usr/local/man/man1. Of course if you have specified
--prefix or --exec-prefix etc at configure time, the files will be
installed elsewhere.


81 changes: 81 additions & 0 deletions Makefile.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@

SHELL=/bin/sh

####################################

CC = @CC@
AR = @AR@
RANLIB = @RANLIB@
EXE = @EXE@

SHAREDFLAG = @SHAREDFLAG@
CFLAGS = @CFLAGS@

MATHLIB = @MATHLIB@
SOCKET_LIBS = @SOCKET_LIBS@

YACC = @YACC@
AWK = @AWK@
CMP = @CMP@

# where to put awka
prefix = @prefix@
exec_prefix = @exec_prefix@

BINDIR = @bindir@
LIBDIR = @libdir@
INCDIR = @includedir@
# where to put the man pages
MANEXT = @MANEXT@
MANSRCDIR = @mandir@
MANDIR = $(MANSRCDIR)/man$(MANEXT)
SHARED_LIB = @SHARED_LIB@
BUILDLIB = libawka.a $(SHARED_LIB)
#######################################

MAKEFILEIN = Makefile.in lib/Makefile.in awka/Makefile.in test/Makefile.in

all: awka_exe libawka

Makefile: $(MAKEFILEIN) config.status
/bin/sh ./config.status

libawka:
cd lib; $(MAKE)

awka_exe:
cd awka; $(MAKE)

AWKAMAN = $(MANDIR)/awka.$(MANEXT)
install: awka_exe libawka
if [ ! -d $(LIBDIR) ]; then mkdir -p $(LIBDIR); fi
if [ ! -d $(INCDIR) ]; then mkdir -p $(INCDIR); fi
if [ ! -d $(BINDIR) ]; then mkdir -p $(BINDIR); fi
if [ ! -d $(MANDIR) ]; then mkdir -p $(MANDIR); fi
if [ ! -d $(MANSRCDIR)/man5 ]; then mkdir -p $(MANSRCDIR)/man5; fi
cd awka; $(MAKE) install
cd lib; $(MAKE) install
cp doc/awka.1 $(AWKAMAN)
cp doc/awka-elm.5 $(MANSRCDIR)/man5
cp doc/awka-elmref.5 $(MANSRCDIR)/man5
chmod 0644 $(AWKAMAN)

clean:
cd awka; $(MAKE) clean
cd lib; $(MAKE) clean
cd test; $(MAKE) clean

distclean: clean
rm -f config.h Makefile lib/Makefile awka/Makefile test/Makefile \
config.status config.log config.cache
rm -f defines.out maxint.out
rm -f benchmark/*.c benchmark/core benchmark/*.o benchmark/x*

configure: configure.in awka.ac.m4
autoconf

check: awka_exe libawka
cd test; $(MAKE) -k

test: check

26 changes: 26 additions & 0 deletions PROBLEMS.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Generally I try to fix problems as soon as they are reported,
and eliminate them prior to the next release. Occasionally
stubborn issues arise that cannot readily be resolved.

1. The native C compiler under Irix 6.5 may produce incorrect
output from libawka if it is compiled with optimisation
at -02 or higher.

2. On some GNU/Linux distributions \r characters may be wrongly
translated as carriage returns by awka. This has so far been
noticed in Intel RedHat 7.0. If this occurs, the "print"
script in the test suite will fail.

3. The test suite script "printf1" fails on many platforms,
but not any I have access to. I'll work on this if and when
I can, and a patch to solve this would be most welcome.

4. The shared library support is rudimentary at best. If
it doesn't work for you, remove the relevant lines from
lib/Makefile.

5. Various code inefficiencies exist in the regex and dfa libraries,
as gcc -Wall will reveal. This code is from glibc and gawk
respectfully, and I treat it as a black box - I've no intention
of delving into it unless there's an actual bug.

Loading

0 comments on commit 76ec398

Please sign in to comment.