[comp.sys.atari.st] Sozobon C help.

waddella@dcs.glasgow.ac.uk (Alexander Waddell) (04/24/91)

Help me, please!

I am converting all my C listings from Laser C to Sozobon C, and I have
encountered a major problem - I can't make GEM programs any more!

The problem is this - I have changed the INCLUDE statement to include the
GEMFAST.H header file, compiling the source produces errors. The compiler
says it does not know about statements such as :

	appl_init
	v_clswrk...etc...

Everything works fine if I use Laser C, surely it should work with little
modification on Sozobon C.

Anybody out there got any suggestions?

Contact: Alex Waddell,
	 Glasgow University,
	 Scotland.

	 (waddella@hawaii.dcs.glasgow.ac.uk)

steve@thelake.mn.org (Steve Yelvington) (04/26/91)

[In article <1991Apr24.094735.19857@dcs.glasgow.ac.uk>,
     waddella@dcs.glasgow.ac.uk (Alexander Waddell) writes ... ]

> I am converting all my C listings from Laser C to Sozobon C, and I have
> encountered a major problem - I can't make GEM programs any more!
> 
> The problem is this - I have changed the INCLUDE statement to include the
> GEMFAST.H header file, compiling the source produces errors. The compiler
> says it does not know about statements such as :
> 
> 	appl_init
> 	v_clswrk...etc...

The GEMFAST.H file doesn't provide the library functions; it merely
replaces GEMDEFS.H and OBDEFS.H, which define various useful
constants, structures, etc.

You need to explicitly include the aesfast and vdifast libraries as
command-line arguments to CC.TTP. (You can add a -GEM feature to CC
if you want, since you have the sources.)

I use MAKE instead. Here is a generic makefile that can be modified
for any GEM program under Sozobon C and GEMFAST. Note that there is
no rule in this makefile for turning .C files into .O -- MAKE knows
how to do that without any special training.

PROGRAM = my.prg
MODULES = my.o
CFLAGS = -O
LIBS = aesfast.a vdifast.a

$(PROGRAM):	$(MODULES)
	cc -o $(PROGRAM) $(MODULES) $(LIBS)

I keep my aesfast.a and vdifast.a files in the same folder as
dlibs.a, dstart.o, libm.a, etc. The LIB environment variable points
there.

 ----
 Steve Yelvington, Marine on St. Croix, Minnesota, USA / steve@thelake.mn.org

harryk@bucsf.bu.edu (Harry Karayiannis) (04/27/91)

In article <1991Apr24.094735.19857@dcs.glasgow.ac.uk> waddella@dcs.glasgow.ac.uk (Alexander Waddell) writes:
>Help me, please!
>
>I am converting all my C listings from Laser C to Sozobon C, and I have
>encountered a major problem - I can't make GEM programs any more!
>
>The problem is this - I have changed the INCLUDE statement to include the
>GEMFAST.H header file, compiling the source produces errors. The compiler
>says it does not know about statements such as :
>
>	appl_init
>	v_clswrk...etc...
>
>Everything works fine if I use Laser C, surely it should work with little
>modification on Sozobon C.
>
>Anybody out there got any suggestions?
>
>Contact: Alex Waddell,
>	 Glasgow University,
>	 Scotland.
>


I think the problem is you don't link the libraries aesfast.a and vdifast.a
with the object code of your program.

So if your libraries are located in e:\sozobon\lib and your program is called
gemprg.c, your command line should look like the following:

% cc -o gemprg.prg gemprg.c e:\sozobon\lib\aesfast.a e:\sozobon\lib\vdifast.a 


The files aesfast.a & vdifast.a come with the gemfast package





===============================================================================
			     Harry Karayiannis          Post:
      ||   |#   ||					  15 N.Beacon, #316
     |#|  ||#|  |#|	     Boston University		  Allston, MA 02134
     |#|  ||#|  |#|	     Computer Science Dpt.	  U.S.A.
    |##|  ||#|  |##|				        _______________________
    ||#|  ||#|  ||#|				       |INTERnet:
   ////   ||||   \\\\	     % fortune -o	       |  harryk@bucsf.bu.edu
 /////    ||||    \\\\\	     "Hackers do it with       |BITnet:
///// ATARI ST     \\\\\      fewer instructions"      |  cscrzcc@buacca.bu.edu
=======================================================|_______________________