Hello, Neil! On Sun, 14 Oct 2001 18:59:34 +0100, you wrote: > Nick Kurshev wrote:- > > > It was only way to build such trick. Else how you will notice > > compiler to build preprocessor string without space characters? > > Like I told you. > > > Well, the same code with space characters around __MACHINE__: > > source: > > #define _INLINES > > #define __CONFIG > > #include __CONFIG > > #include _INLINES > > Why have you added spaces? Of course it will now break: > > > output: > > biewlib/sysdep/_sys_dep.h:30:22: biewlib/sysdep/ ia32 /__config.h: No such file or directory > > biewlib/sysdep/_sys_dep.h:31:22: biewlib/sysdep/ ia32 /_inlines.h: No such file or directory > > The following works for me: > > #define STDIO stdio > #define STDIO_H > #include STDIO_H > > Note that the preprocessor does not do string literal concatenation in > header names. > > Neil. > But for me - no. #undef __MACHINE__ #define __MACHINE__ ia32 #define _INLINES #define __CONFIG #include __CONFIG #include _INLINES In file included from biewlib/biewlib.c:24: biewlib/sysdep/__config.h:27:14: warning: pasting "/" and "__MACHINE__" does not give a valid preprocessing token biewlib/sysdep/__config.h:27:22: biewlib/sysdep/__MACHINE__/__config.h: No such file or directory make: *** [biewlib/biewlib.o] ïÛÉÂËÁ 1 Best regards! Nick