> Just for adding my few cents : I'm not keen on FPC , and rather know a > little about FPC design but I think this is academical disscuss becouse > Pascal never used preprocessor like C++ and becouse of that was so fast, but > also so complicated when using it in multiplatform envinronment. > Look into wxWindows details and You will find that an platform independent > code and platform dependent library working very good together ! And even > processor specific such like type declaration or machines with different > byte orders is doable that way.
We can be short about this: The complexity of a few includefiles pales by the magnitude of complexity of bringing a C/C++ macro preprocessor. The average C system is a mess in this respect. People that disagree, are welcome to make a fully automatic (read: perfect) header translator for C header files to Pascal. Or at least come up with a design that _could_ work. It doesn't have to be compiler independant, just basic C+preprocessor macro's are enough. If you succeed, the gratitude and the glory would be immense :-) Moreover The average C system that interfaces to a multitude of OSes or other deeper libraries have the exact same solution as FPC. A directory per item (OS, GUI toolkit) that contains a wrapper if needed + headers that are independant of the system, and a common include dir. They use "make" to hide it. (check nearly every project, GDB, GCC, libc, _anything_), and you will find OS (or GUI toolkit, or both) directories. > I'm not insist that it is the right solution for FPC, but looking into it > could help. The C preprocessor is a kludge from an historical perspective. The main reason for it was to defer preprocessing from the actual compiler, so that the actual compiler needs less memory. Later it was extended to make up for other problems of C. (most of which reasons were valid then, but not now, to make the compiler more lightweight). C/C++ designers know that too, and have known it for a long time. You just have to read all C standards, and study the C++ design, and you see that the preprocessor got less and less important with time. _______________________________________________ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal