Re: [cc65] NULL descrepency

From: Andrew J. Kroll <forge1dr.ea.ms>
Date: 2006-04-08 03:11:19
> 
> 
> > We have the cbm.h file which calls on the other CBM platforms, atari.h, apple,
> > and so on. Would it not make sense that if we have these particular headers
> > which grab OS dependencies, to point any header at the proper header, and if
> > you have them reentrantly wrapped with #ifdef _CC65_STDDEF_H_SEEN_ (example)
> > more code can compile out of the box. This makes total sense to me, and how
> > the many other cross compilers do it... with the pre-set cpp macros...
> > Why not follow suit?
> 
> I do not really understand what you mean. Could you please elaborate?
> 

Simple example...
File cc65.h could contian...
-------------------------------------
#ifndef _CC65_H_SEEN_
#define _CC65_H_SEEN_
#ifdef __CBM__
#include <cbm.h>
#endif
... next arch
... next arch
#endif /* _CC65_H_SEEN_ */
-------------------------------------

This way even if you just #include <cc65.h> you get support for all arch's
depending on the -t option fed to cc65.... and it won't spew a message saying
you can't use a certain header for programs that are arch independant,
and it could be an "automatic include" on the commandline as an option
so one does not need to alter thier code.

Furtermore, if each .h file was wrapped, it would only get included once.
Including a header file more than once can cause errors. It is a nice way
to mitagate the problem.

Yours,
-- 
Andrew J. Kroll
Software and Hardware Engineer and Consultant
Grafixoft http://dr.ea.ms/HW/
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Sat Apr 8 03:11:26 2006

This archive was generated by hypermail 2.1.8 : 2006-04-08 03:11:28 CEST