Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!unmvax!pprg.unm.edu!hc!lll-winken!uunet!ginosko!infinet!sena From: sena@infinet.UUCP (Fred Sena) Newsgroups: comp.databases Subject: ingres, alt method for building abf applications Message-ID: <1506@infinet.UUCP> Date: 5 May 89 19:01:31 GMT Organization: Memotec, Inc. North Andover, MA Lines: 55 I am new to this news group so I might have missed a discussion on this subject. What I am looking for is information about how to build abf applications external to abf. The environment that we are using is Sun Unix release 3.5, and ingres 5.0. There are several reasons to move away from the abf environment. The most obvious is that it is not consistent with the way things are "done" in Unix. Unix utilities tend to be set up such that they can run in a "non-interactive" mode. That means that you can run a command on a bunch of files, go out to lunch, come back, and check to see which files had errors and what they were. In abf, however, the "Image" command forces you to sit there and press the key several times for each module which has an error. (Is there any way to prevent that?) If you do not happen to be tee'ing your output to a file, you then have to write down the module name and the errors that occurred. (Uug, back to The Stone Age... in the 20th century csh, I would use "!make > mod.out") Another limitation is that there is no way using abf to build a version of your code compiled with the '-g' debug option directly from the unix command line. And, there is no way to have abf link the code together with the '-lg' option, thus limiting the usefulness of dbx. I could go on, but I think that you get the general idea... Anyways, I have investigated two avenues for solving this problem with abf as it exists today in release 5.0. One solution involves sending keystrokes to abf via stdin. That solution is pretty cumbersome to figure out and the end result runs pretty slow (it's a Bourne shell, but much of the delay is in abf). It does not address linking with the debug option either. Another thing that I have been trying to do is replicate the compile and link sequence that abf goes through when it creates an executable image. I have found out how to compile everything except .osq files. And, I have figured out the argument list that abf sends to ld. (I did that by creating a Bourne shell called ld which calls /bin/ld. And by setting my PATH variable to make abf find my ld.) So now, I can at least make use of dbx. Does anyone know how .osq files are compiled? Abf runs something called "oslsql" to initially process the file, but I don't understand the arguments that abf is sending. There is also something else abf does, but I'm not sure what it is. I am also wondering what algorithm abf uses to figure out which files to compile. I would appreciate any information that anyone can send me. Also, I would be interested in hearing about changes made in ingres 6.0 which address the issues above. thanks in advance -- -------------------------------------------------- Frederick J. Sena sena@infinet.UUCP Memotec, Inc. N. Andover, MA