Thanks for the lead on that IDE. I haven't touched Pascal in many years, so I don't really know what's out there. I've done quite a bit of looking around, but having seen a couple of other IDEs for pascal that I didn't find useful, I decided to stick with GNU stuff, which I was hoping would work for me. The gpc compiler was looking hopeful for a little bit there, but then I ran into these problems. Thanks for the pointer to use this IDE. It's much nicer.
I am having an issue with my compilation using the IDE. I did a compile of my project and two errors are popping up in different places that I am not sure what to do with. The Intr() procedure is not recognized, and it's used throughout most of the thirteen project files that I have inherited. Getting an "undeclared identifier 'Intr'" error message. I found a note in the file gpc.info-2 that says that the procedures Intr and MsDos are only supported under DJGPP if `__BP_UNPORTABLE_ROUTINES__' is defined with the `-D__BP_UNPORTABLE_ROUTINES__' option. I didn't know whether this IDE relied on DJGPP or not, but I tried it anyway. It didn't help. Any ideas here?
Thanks... Bruce
----- Original Message ----- From: "The African Chief" chiefsoft@bigfoot.com To: "Bruce Mahfood" bruce.mahfood@tseboston.com Cc: gpc@gnu.de Sent: Monday, June 11, 2007 1:44:55 PM (GMT-0500) America/New_York Subject: Re: GPC on Cygwin having a problem compiling using crt
On Mon, 2007-06-11 at 12:27 -0400, Bruce Mahfood wrote:
Hi all, I am on the warpath trying to compile a set of pascal files that were left to me by a predecessor. My latest issue is that my files have the statement "Uses graph". Looking online, I find that this is a Borland thing referring to the use of the Borland Graphics Interface (BGI).
I have found that GNU supports a package called GRX (http://grx.gnu.de/download/index.html), and the link "http://www.gnu-pascal.de/gpc/Graph-unit.html#Graph-unit" says it's known to work under Cygwin. I have extracted the files into my cygwin installation at /usr/local/src, and am looking at the makefiles. Unfortunately, there is only a mingw specific makefile and not a cygwin specific one. I have not yet worked with mingw, and don't really know how these two correlate.
Can anyone point me in the right direction for compiling this for cygwin?
Is there any particular reason why you are using Cygwin? You might want to try a Mingw version, which has all that stuff built in (with an IDE): http://www.gnu-pascal.de/contrib/chief/win32/dev_gnu_pascal-1.9.4.8.exe
On Mon, 2007-06-11 at 17:21 -0400, Bruce Mahfood wrote:
Thanks for the lead on that IDE. I haven't touched Pascal in many years, so I don't really know what's out there. I've done quite a bit of looking around, but having seen a couple of other IDEs for pascal that I didn't find useful, I decided to stick with GNU stuff, which I was hoping would work for me. The gpc compiler was looking hopeful for a little bit there, but then I ran into these problems. Thanks for the pointer to use this IDE. It's much nicer.
I am having an issue with my compilation using the IDE. I did a compile of my project and two errors are popping up in different places that I am not sure what to do with. The Intr() procedure is not recognized, and it's used throughout most of the thirteen project files that I have inherited. Getting an "undeclared identifier 'Intr'" error message. I found a note in the file gpc.info-2 that says that the procedures Intr and MsDos are only supported under DJGPP if `__BP_UNPORTABLE_ROUTINES__' is defined with the `-D__BP_UNPORTABLE_ROUTINES__' option. I didn't know whether this IDE relied on DJGPP or not, but I tried it anyway. It didn't help. Any ideas here?
The Intr routine works only on DJGPP (DOS-32). This IDE is based on Mingw. Unless you can find a portable way to do what you want to do with Intr, I think you are well and truly stuck there.
The African Chief wrote:
On Mon, 2007-06-11 at 17:21 -0400, Bruce Mahfood wrote:
I am having an issue with my compilation using the IDE. I did a compile of my project and two errors are popping up in different places that I am not sure what to do with. The Intr() procedure is not recognized, and it's used throughout most of the thirteen project files that I have inherited. Getting an "undeclared identifier 'Intr'" error message. I found a note in the file gpc.info-2 that says that the procedures Intr and MsDos are only supported under DJGPP if `__BP_UNPORTABLE_ROUTINES__' is defined with the `-D__BP_UNPORTABLE_ROUTINES__' option. I didn't know whether this IDE relied on DJGPP or not, but I tried it anyway. It didn't help. Any ideas here?
The Intr routine works only on DJGPP (DOS-32). This IDE is based on Mingw. Unless you can find a portable way to do what you want to do with Intr, I think you are well and truly stuck there.
Indeed, "Intr" in BP is just a wrapper to the "int" assembler instruction. This can be used to call low-level BIOS and DOS functions or various other things.
On DJGPP, some of them will work, but on other systems (including Windows), you need to rewrite them.
If you're lucky, the previous programmer used "Intr" (out of ignorance) for things that can easily be done other ways. If you're unlucky, they access the internals of BIOS and DOS structures, install TSR programs, redirect interrupt vectors and various other stuff ...
If you can post some of the statements (with context) here, some of us might be able to give some suggestions.
Frank
So I seem to have gotten past the Intr() procedure problem. Turns out that the TechnoJock's Turbo Toolkit files that came with this project were not complete. I downloaded the full distribution of files, compiled them to .tpu unit files using TP and TASM, and now I have unit files to play with. I have tried recompiling in the Dev+GNU Pascal IDE, but am not quite sure how to get the IDE to find these files. I put the .tpu files in the same directory as the project's .pas files, but they didn't get recognized. I created a units directory in the project directory and added a --unit-path="units" option in the Extra Compiler Options field for the Project/Project options dialog. No luck. Did I need to put all the supporting .pas and .asm files into the directory with the .tpu files? Any pointers on this? I believe I am very close to having this problem fixed. Bruce
----- Original Message ----- From: "The African Chief" To: "Bruce Mahfood" Cc: gpc@gnu.de Sent: Monday, June 11, 2007 5:47:43 PM (GMT-0500) America/New_York Subject: Re: GPC on Cygwin having a problem compiling using crt
On Mon, 2007-06-11 at 17:21 -0400, Bruce Mahfood wrote:
Thanks for the lead on that IDE. I haven't touched Pascal in many years, so I don't really know what's out there. I've done quite a bit of looking around, but having seen a couple of other IDEs for pascal that I didn't find useful, I decided to stick with GNU stuff, which I was hoping would work for me. The gpc compiler was looking hopeful for a little bit there, but then I ran into these problems. Thanks for the pointer to use this IDE. It's much nicer.
I am having an issue with my compilation using the IDE. I did a compile of my project and two errors are popping up in different places that I am not sure what to do with. The Intr() procedure is not recognized, and it's used throughout most of the thirteen project files that I have inherited. Getting an "undeclared identifier 'Intr'" error message. I found a note in the file gpc.info-2 that says that the procedures Intr and MsDos are only supported under DJGPP if `__BP_UNPORTABLE_ROUTINES__' is defined with the `-D__BP_UNPORTABLE_ROUTINES__' option. I didn't know whether this IDE relied on DJGPP or not, but I tried it anyway. It didn't help. Any ideas here?
The Intr routine works only on DJGPP (DOS-32). This IDE is based on Mingw. Unless you can find a portable way to do what you want to do with Intr, I think you are well and truly stuck there.
Bruce Mahfood wrote:
So I seem to have gotten past the Intr() procedure problem. Turns out that the TechnoJock's Turbo Toolkit files that came with this project were not complete. I downloaded the full distribution of files, compiled them to .tpu unit files using TP and TASM, and now I have unit files to play with. I have tried recompiling in the Dev+GNU Pascal IDE, but am not quite sure how to get the IDE to find these files.
Sorry, this won't work. TPU files are BP's internal files, and cannot be used with other compilers (leave alone, on other systems than 16 bit DOS), I'm afraid.
I don't know TechnoJock's Turbo Toolkit, but it reminds me of the bad old times when just about everybody (myself not necessarily excluded ...) wrote their own toolkit to overcome BP's limitations, and these were usually full of assembler and other dirty stuff. Same here, I guess.
If you're lucky, someone on this list knows about this toolkit and can suggest some changes or alternatives. If not, you might have to find out what this toolkit is actually used for in your project. With luck, the project uses only a few of the toolkit's functions, and these might not even contain the problematic Intr calls, or the toolkit functions used can be replaced with rather simple code in GPC (not unlikely, since GPC has a much richer runtime environment) ...
Frank
On Tue, 2007-06-12 at 17:29 +0200, Frank Heckenbach wrote:
Bruce Mahfood wrote:
So I seem to have gotten past the Intr() procedure problem. Turns out that the TechnoJock's Turbo Toolkit files that came with this project were not complete. I downloaded the full distribution of files, compiled them to .tpu unit files using TP and TASM, and now I have unit files to play with. I have tried recompiling in the Dev+GNU Pascal IDE, but am not quite sure how to get the IDE to find these files.
Sorry, this won't work. TPU files are BP's internal files, and cannot be used with other compilers (leave alone, on other systems than 16 bit DOS), I'm afraid.
I don't know TechnoJock's Turbo Toolkit, but it reminds me of the bad old times when just about everybody (myself not necessarily excluded ...) wrote their own toolkit to overcome BP's limitations, and these were usually full of assembler and other dirty stuff. Same here, I guess.
If you're lucky, someone on this list knows about this toolkit and can suggest some changes or alternatives. If not, you might have to find out what this toolkit is actually used for in your project. With luck, the project uses only a few of the toolkit's functions, and these might not even contain the problematic Intr calls, or the toolkit functions used can be replaced with rather simple code in GPC (not unlikely, since GPC has a much richer runtime environment) ...
I used this toolkit in the late 80s/early 90s. There is a significant amount of low-level stuff involved (for things like menus, overlapped windows, boxes, etc - all in text mode DOS). The toolkit is very closely tied to 16-bit DOS, and there are loads of assembler and inline functions. I do not see any reasonable prospect of porting the toolkit to any portable Pascal compiler. I don't even think you can port it to Delphi (console or GUI). For the effort that would be required, you might as well start from scratch and write your own.
Again, I think you're well and truly stumped. My advice: cut your losses and start all over again. You would get a good head start if you could separate the user interface part of the inherited code from the real meat of it.