Installing and Using Ctalk

1. Quick Installation
2. Installation with DJGPP and MS Windows
3. Notes for Solaris
4. Learning about Ctalk
5. Bug Reports, Feedback, and Support


1. Quick Installation

This release of Ctalk builds under Linux, Solaris, and MS Windows
using GCC and GNU make.

To build and install ctalk under Linux or UNIX:

  # ./configure
  # ./make
  # ./make install

Typing, "./configure --help" displays the configuration 
options.

The programs subdirectory contains example programs
for Ctalk.  To build them, use the following commands.

  $ cd programs
  $ make

The file programs/README describes the example programs.

The file test/README contains information about Ctalk
test programs.

To test Ctalk, use the following commands under Linux or
UNIX.

  $ cd test
  $ make test
  $ cd expect
  $ for i in *.exp; do echo $i; ./$i; done  # To run all tests.

The files test/README and test/expect/README describe the tests.

2. Installation with DJGPP and MS Windows

Ctalk works DJGPP on Windows XP, but it has not yet been tested 
with Windows Vista.

To build and install ctalk under MS Windows with DJGPP:

  > make -f Makefile.djgpp
  > make -f Makefile.djgpp install

To test ctalk under MS Windows:

  > cd test
  > make -f Makefile.djgpp test

DJGPP provides only about 1.5 MB of memory space in the
default heap.  Ctalk's memory requirements are far in excess
of that (about 130 MB for a 800 line source file with most
of the standard C library headers), so your results may vary.
If you want to adjust ctalk's memory use, the heap size 
parameter is in djgpp.h, and the stack size parameters
N_MESSAGES and P_MESSAGES are in ctalk.h.

IMPORTANT - Because DJGPP only supports mixed case file
names on systems that support long file names (e.g., NTFS
1and later), ctalk does not (at this time) work on machines
that use 8+3 file names or MS-DOS file system calls.  Refer
to the opendir () and _preserve_fncase () DJGPP info pages.

The long file name restriction may change in a future
release if there is demand for MS-DOS file name support.

Note that on some platforms (like Windows XP) DJGPP segfaults
when compiling input files that are already preprocessed.  In this
case, you still need to preprocess the input with DJGPP, using
the extension, ".c," for the ctalk output.

  > ctalk hello.c -o hello1.c
  > gcc hello1.c -o hello.exe -lctalk
  > ./hello.exe


3. Notes for Solaris

Ctalk should build on Solaris 8-10 with any 3.x or 4.x series GCC
compiler using either the native Solaris build utilities (ld, ar, as,
etc.), or with GNU binutils.  

The normal development compilers are the GCC 3.x distributions from
sunfreeware.com.  

The bundled versions of GCC installed in either /opt/sfw/ or /usr/sfw,
work also.  With these compilers, you should set the PATH and
LD_LIBRARY_PATH for them, and also to find the build utilities in 
/usr/ccs/bin.

Ctalk also needs GNU make to build - you can use either the bundled
SunFreeWare make, or one of the packages from sunfreeware.com.

Problems with earlier GCC versions (i.e., version 2.95) can usually be
worked around by building Ctalk without optimization; for example:

$ ./configure --without-optimization
$ make
$ su
# make install
# exit
$ cd programs
$ ctdb hello.c    # Builds the app without optimization.
$ ./hello


4. Learning about Ctalk

The example applications in the programs/ and programs/cgi directories
describe a few of the language's features.  To compile, install, and 
run them, follow the instructions in the source files, or in the 
files programs/utils.texi and programs/cgi/web.texi.

The Texinfo manuals, "ctalk.info," and "tutorial.info," provide a
description of the language and its application programming interface.
You can read them under Emacs with the, "M-x info," "m ctalk,"
commands, or, "info ctalk," or, "info tutorial," from the shell.  

All of the manuals are also available online in different formats at
http://www.ctalklang.org/doc/.

The UNIX configuration provides a manual page ("man ctalk").  Typing,
"ctalk -h," displays the command line options.


5. Bug Reports, Feedback, and Support

The Ctalk forums are located at: http://www.ctalklang.org/forums/.

