Re: INFORMIX 4GL CGI kit
Posted in 1996
Additionally, none of the code in the p-code (I4GL-RDS) CGI kit needs to be ESQL/C code in fact -- the same is probably true of the c-code (I4GL) version. I attach some email from around Christmas which discusses what has to be done. Yours, Jonathan Leffler (johnl@informix.com) #include <disclaimer.h> =========================================================================== >From: David Kosenko <davek@informix.com> >Date: Thu, 08 Feb 1996 10:39:52 -0800 >X-Informix-List-Id: <news.21035> > >Oniel wrote: >> Would like to know if ESQLC compiler is needed to install >> and compile the INFORMIX-CGI Kit for 4GL. >> Because I did find some ESQLC functions in the kit. >> Is there a way around this. > >ESQL/C is sort of part of 4gl (4gl gets translated to esql/c which gets >translated to C which gets compiled). In fact, you can compile a .ec >file with c4gl no problem. So you shouldn't need anything but the 4gl >compiler & libs. =========================================================================== From: hlt@napcc-hp.cvm.uiuc.edu (Harold Trammel) Date: 21 Dec 95 20:00:36 GMT X-Informix-List-Id: <news.19855> I downloaded the latest versions of the Informix WWW Freeware. I followed the instructions and read the Informix CGI.FAQ. We only have the Informix-4GL/RDS and do not have esql/c. The makefile that comes with the package appears to expect esql regardless. There are 6 .ec files that my system cannot handle (obviously?). =========================================================================== Date: Thu Dec 21 18:12:22 1995 From: johnl (Jonathan Leffler) Subject: Re: cgi_rds problems w/o esql/c I'll let you into a minuscule secret -- you don't really need ESQL/C after all, but you do have to fix the source code, file names and the makefile for the build to work without ESQL/C. As far as I can see, the files in question are: cgiprintblob.ec icgiencode.ec icgimimetype.ec icgidecode.ec icgigetvalue.ec icgiprintblob.ec None of these contain executable ESQL/C statements. They are named as ESQL/C files to simplify compilation; the esql script provides the correct -I directives. To fix the problem, rename these files as .c files. Edit them, replacing '$include xyz;' by '#include "xyz.h"'. Remove stray $ signs from variable declarations. Edit the makefile lib4glcgi.mak: change the suffixes in the macros CGIU_ECFILES and IECFILES from ".ec" to ".c". Change the macro for UEOBJ to use ".c" in place of ".ec". Change the macros for ICECFILES and UCECFILES so that the RHS of the macro is empty; this means that your carefully produced .c files don't get cleaned up for you. I haven't done the necessary testing to be certain that that's all you have to do, but there's a reasonable chance. It assumes that you have, or can locate, copies of the sqltypes.h and locator.h headers -- if you can't, you are completely stuck. Yours, Jonathan Leffler (johnl@informix.com) #include <disclaimer.h> =========================================================================== Subsequently, Harold Trammel wrote: > On Thu, 21 Dec 1995, Jonathan Leffler wrote: > > To fix the problem, rename these files as .c files. [...] > > Thanks so very much, Jonathan. One addition though. The IEOBJ macro has > to be changed from ".ec" to ".c" as well. > > With that change, everything compiled fine. Now I get to try all the > examples.