tinycobol/README

110 lines
4.1 KiB
Plaintext

The TinyCOBOL Project:
The TinyCOBOL project is a COBOL compiler being actively developed by
members of the free software community.
The long term goal is to produce a COBOL compiler which is 'COBOL 85 standard'
compliant, or at least as close as reasonably possible.
TinyCOBOL supports the IA32 (x86) architecture and the following platforms.
- FreeBSD using the GCC compiler.
- Linux using the GCC compiler.
- Win32 using the GCC MinGW (Mingw32) compiler.
- Win32 using the GCC Cygwin compiler and POSIX emulation layer.
-------------------------------------------------------------------------------
BUILD AND INSTALL INSTRUCTIONS:
See INSTALL for Linux and BSD build, install instructions.
See INSTALL.bin for Linux binary install instructions.
See INSTALL.Win32 for Win32 systems build, install instructions.
For Record Locking on Indexed IO, follow these steps
- Use the option --enable-lockserv in configure script.
- Use the option --enable-sync if you want to ensure muliple users all see the same data. It will run much slower as every write will be forced to disk.
- Compile the Lockserver in the lockserver directory using the supplied
Makefile.
ex:
$ cd lockserver
$ make
$ make install
- Run the Lockserver process. (You can use ./lockserver -d for debugging)
- Build the Compiler as Normal.
Notes about lockserver:
1). To start the lockserver.
cd <to the Lockserver home>
Then run the following command as root
$ ./lockserver
2). To debug the lockserver process use the "-d" switch
$ ./lockserver -d
This way, lockserver will not start as a daemon and will display
all output on the screen.
3). To stop the lockserver in debug mode press Control-C.
To stop the Lockserver in Daemon mode first get the pid.
Use the -SIGINT signal to shut it down gracefully.
$ kill -2 <pid of Lockserver>
remove the .lf file in the Lockserver Home is it exists.
Notes about the Behavior of Locking in TC:
On All Indexed IO ALWAYS check the FILE STATUS
to make sure your IO was successfull. If a Record was locked it will
return FILE STATUS 51. You will need to repeat your IO until the FILE Status
is NOT 51 (Failure to have Recovery/Repeat Code will render the Results of
your IO to be Undefined and Unexpected results). If one of your programs
crashes all the locks it had will still be defined. In order to clear this
Stop the Lockserver and remove the lockdump and .lf files if they exist
in /usr/local/lockserver. Then restart the Lockserver. We plan to add code
to Ignore a lock on records of programs that have crashed.
WARNING Once you turn on Locking your programs will not run unless the
Lockserver process is running.
To lock a Record use:-
READ ... WITH LOCK
To Read a Record Ignoring Locking use:-
READ ... WITH IGNORE LOCK
To Unlock a Record use:-
REWRITE ....
UNLOCK
or
DELETE the record.
-------------------------------------------------------------------------------
LINKS:
Home pages:
http://tiny-cobol.sourceforge.net/
http://www.tinycobol.org/
http://br.tinycobol.org/
Download:
http://tiny-cobol.sourceforge.net/download.html
http://www.ibiblio.org/pub/Linux/devel/lang/cobol/
http://br.tinycobol.org/download.html
Mailing lists:
http://lists.sourceforge.net/mailman/listinfo/tiny-cobol-users
http://listas.cipsga.org.br/cgi-bin/mailman/listinfo/cobol-br
Mailing list archives:
http://www.geocrawler.com/redir-sf.php3?list=tiny-cobol-users
http://listas.cipsga.org.br/pipermail/cobol-br/
Old mailing list archives:
http://www.egroups.com/group/gnucobol/
-------------------------------------------------------------------------------
HOW TO DOWNLOAD A SOURCE SNAPSHOT FROM CVS:
If you have CVS installed on your system, TinyCOBOL's CVS version can be
checked out via the anonymous CVS (pserver) server, using the following commands.
- cvs -d:pserver:anonymous@cvs.tiny-cobol.sourceforge.net:/cvsroot/tiny-cobol login
- When prompted for a password for anonymous, simply press the Enter key.
- cvs -d:pserver:anonymous@cvs.tiny-cobol.sourceforge.net:/cvsroot/tiny-cobol co development
- The module you wish to check out must be specified as the module-name (development).