Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!mailrus!csd4.milw.wisc.edu!leah!albanycs!crdgw1!uunet!ginosko!infinet!sena From: sena@infinet.UUCP (Fred Sena) Newsgroups: comp.databases Subject: ingres, building abf 4GL using a makefile (long) Summary: looking for info (provided some info too...) Message-ID: <1604@infinet.UUCP> Date: 15 Jun 89 23:40:33 GMT Reply-To: sena@infinet.UUCP (Fred Sena) Followup-To: comp.databases Organization: Memotec, Inc. North Andover, MA Lines: 105 I am looking for information which will make it possible to compile 4GL with a makefile. We are using RCS (Revision Control System) to take care of the source control issues. We would like to automatically build our applications. ABF has no facility to do such a task without manual intervention. Although I am aware that Ingres release 6.0 has some batching capabilities, I still am not sure if that addresses the issues which I will explain below. We are running 4.2 BSD Unix on Sun 3 hardware and RTI Ingres 5.0. Is there anyone out there who has already tried to set up an environment similar to the one that I have described above? I posted a request similar to this one about a month ago. Because I was not sure that it was possible to automate externally to abf, I was not sure what information I needed. From what I know now, I am more confident that automation can be done without the use of abf. Well, almost everything. I still have not figured out how to generate a file called: abextract.obj. My concern at this point is whether I can be sure that the method that I am using to replicate abf's actions is a valid method. Valid meaning that building applications with a new method yield exactly the same results as if the applications had actually been built with abf. What I did was I moved the following Ingres binaries in /usr/ingres/bin: osl --> osl.exe oslsql --> oslsql.exe vifred --> vifred.exe Then, I put bourne shell scripts in place of the original scripts. Those bourne shells had 'set -x' so that you could see what was going on. Also, they took the argument lists which were used to call the binaries and saved the arguments into a file before passing them on to the actual binaries. This way I could try to replicate the actions of abf on the command line. This is an example of "vifred.sh": ---------------------------------------------------------- #!/bin/sh # # vifred.sh - shell to execute vifred so that argument list is saved and displayed. # # # Attempt to open arg file in current directory. touch vifred.args if [ $? = 0 ]; then echo "$*" >vifred.args fi set -x /usr/ingres/bin/vifred.exe $* ------------------------------------------------------------- \-- make sure that the directory on the last line is correct. To set it up, all you have to do is: % cd /usr/ingres/bin <-- move to the ingres bin directory % mv vifred vifred.exe % cp /usr/mydir/vifred.sh . % ln -s vifred.sh vifred What I found was that abf was calling vifred using special options which were not listed in the user's manual. Is there any published information which explains these special options? When I tried to invoke vifred from the command line using the exact argument list that abf used, it would not run. After some playing, I found that when the -Xblah-blah-blah option was removed, it ran fine. The binaries osl and oslsql work in exactly the same way. The reason that I did that was I wanted to have vifred automatically change a xxx.frm file into a xxxfo.c file. To automate it, all you have to do is to pipe the appropriate keys into the vifred command. Below is an example of how to invoke vifred as if you were in abf. e.g. To change xxx.frm into xxxfo.c, do the following: First, you have to run "copyform" to load the .frm file into the database... I have not done that yet, so I don't know the exact method. % tee key_list |vifred database_name -F xxx -C/usr/usrname/abf/xxxfo.c [ press appropriate keys to save and exit ] then, after that, all you have to do is: % cat key_list |vifred database_name -F xxx -C/usr/usrname/abf/xxxfo.c What I would like to know is what problems that I may encounter in this path that I am going down. I would like to exchange information with anyone else who may be tackling this issue. Oh, one more thing. Someone mentioned to me that there is a Advanced ABF/4GL seminar available from RTI. Where would I write to to obtain a copy of the notes from the seminar, or how do I sign up? Most importantly, would that information be of any use based on what I am doing? Thanks in advance for anyone who can provide further information, --fred -- -------------------------------------------------- Frederick J. Sena sena@infinet.UUCP Memotec, Inc. N. Andover, MA