GPC platforms_(re)
Thu, 29 May 1997 13:15:58 +0100 (WET DST)
On Thu, 29 May 1997, The African Chief wrote:
> On Wed, 28 May 1997 19:41:17 +0200 (MET DST) Peter Gerwinski
> wrote:
>
> >> Is it possible to tell which GPC platform and version is being used?
> >> [...]
> >> This would really help in writing portable code. What do you think?
> >
> >I agree in complete. Let's ask the list what they think, but I am almost
> >sure that everybody will agree.
>
> Ok. I am sending this response to the list.
>
> >> [...]
> >> So, can this be done with GPC? It would help with a lot of things, e.g.,
> >> in the SYSTEM unit - so, could we have these pre-defined in GPC;
> >> __LINUX__
> >> __UNIX__
> >> __DJGPP__ (or __MSDOS__)
> >> __EMX__ (or __OS2__)
> >> __WIN32__ (or __CYGWIN__)
> >> - depending on which GPC port you are using.
> >
They *are* defined
Run gpc -v and see what's defined if gpc-cpp is executed.
> >Since `__MSDOS__' is ambiguous and with EMX one and the same executable
> >runs on DOS as well as on OS/2 making this a run-time, not a compile-time
> >decision, I vote for `__DJGPP__' and `__EMX__' rather than `__MSDOS__'
> >and `__OS2__'.
>
> Yes, I agree.
>
> >Since I agree with "xxxx" that Windows 95/NT is
> >not a "win" in the sence of hacker's speech (see `jarg400.info.gz' from
> >the GNU distribution), but Cygnus is, I'd vote for `__CYGWIN__' rather
> >than `__WIN32__', although "Win32" is the official name of that API.
>
> Yes, "__CYGWIN__" seems fine.
>
No. Read back the cygwin32 mailinglists.
cygwin32 defines __CYGWIN32__ for code specific for the cygwin32
environment. It also defines _WIN32 for the more generic win32
dependencies. It used to define __WIN32__ but they don't do that anymore
because they figured out that cygwin.dll wasn't presenting a WIN32 API
(that's in kernel32, user32.dll etc. from M$)
DJGPP specific stuff (read: _go32_xxx and _dpmi_xxx functions) are best
surrounded by __DJGPP__
MS-DOS related code (lets's see, something about CRLF conversions for
example) should be surrounded by __MSDOS__ because it applies to EMX too.
> >> and you could have;
> >> __VER20__
> >>
> >> or whatever, depending on the GPC version.
See __GPC_MAJOR__ and __GPC_MINOR__
Greetings,
JanJaap
---
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going
to land, and it could be dangerous sitting under them as they fly
overhead. -- RFC1925.
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