Standard Compatibility [was: Re: New Alpha]_(re)
Fri, 4 Apr 1997 13:23:05 +0100 (WET DST)
On Fri, 4 Apr 1997, Frank Heckenbach wrote:
>
> - A way to read in configuration files (like "gpc @gpc.cfg") seems good (in
> addition to environment variables and command line options). Even if gpc
> doesn't read in a config file by default, it should be no problem to set
> an alias accordingly (BTW, even modern DOSes support something like alias
> in the form of DosKey...)
>
Let me remind you that:
1) A config file already exists and it is called `specs' (`specs.gpc' if
you're using the djgpp version). It is shared among all members of the GNU
compiler family. Introducing a second, gpc specific config file doesn't
make sence IMHO.
2) GPC doesn't have to be modified to implement the @file trick. This is
a DOS "feature" to overcome DOS commandline-length limitations.
If you want a certain behaviour than:
------------- begin bpc.cfg --------------
--automake
--borland-pascal
--my-wild-language-switch
--------------- end bpc.cfg --------------
and:
------------- begin bpc.bat --------------
@echo off
gpc @c:\djgpp\bin\bpc.cfg %1 %2 %3 %4 %5 %6 %7 %8 %9
--------------- end bpc.bat --------------
This will do just what you want. Usually you would put the
long-name options which select the dialect in the CFG file (you want these
always on/off) and set optimization (-On) and debugging (-gn) from the
command line.
3) If you are a delphi/tp user and want point-and-click userfriendlyness,
I suggest you install RHIDE. Will look very familiar. Can even write one
of those dreaded makefiles for you ;-)
> - Putting those flags in a makefile is also an option, but only if one
> is to use makefiles at all. Personally, I don't like makefiles, and I
> think Pascal programs don't need makefiles, since all the dependencies
> between modules are there in the code (unlike C). Therefore, I'd like
> to be able to compile any Pascal program with simply
> "gpc --automake progname.pas". Any compiler options should be in the
> source (at least there should be a way to do so).
>
Answered above (I hope)
> BTW (not quite to this topic): Is there any reason why the default
> output file is called "a.out" (or "a.exe" with DOS) - other than
> historical reasons? Wouldn't it make more sense to default to the
> base filename of the main program, in order to save programmers from
> typing "gpc -o x x.pas"?
>
Besides hisotorical reasons, it is ofen used in automated testsuites
(in a unix environment) where the compiler is run on a large set of source
files.
> - Naming the program gpc, spc, epc and bpc seems like a sensible way for
> Un*x, but on systems that don't support either hard or symbolic links
> (aka DOS), it would mean 4 separate binaries - probably not a good solution
> there (although those DOS users who want to do only Borland style could
> rename gpc.exe to bpc.exe). So this could be one, but not the only, way to
> choose the defaults.
>
I'm currently experimenting with a seperate compiler pre-driver (like g++
and f77) which can set the language switches when invoked as `bpc' or
`gpc' etc. It's about 15K which is small compared to the 1.5M of gpc1,
even if you install it 4 times because your OS lacks symlinks.
just my HFL 0.02,
JanJaap
---
Thus spake the master programmer:
"After three days without programming, life becomes meaningless."
[The Tao Of Programming]
Jan-Jaap van der Heijden (janjaap@wit381304.student.utwente.nl)
HTML conversion by Lluís de Yzaguirre i Maura
Institut de Lingüística Aplicada -
Universitat "Pompeu Fabra"
e-mail: de_yza@upf.es