Hi Gün, et all 2011/1/5 Guenter wrote:
> @Yang: hope you read that here, and can take a look at the macros in > curlrules.h and probably have an idea what we can do here ... I've just updated curlrules.h and Borland's makefiles... First of all, the only version of BCC I've tried is the 5.5.1 free one. AFAIK all of Borland's BCC are 'one-pass' compilers with an integrated internal preprocessor. And fortunately with an additional external preprocessor which is capable of accepting same options as the compiler. Both, the internal and external preprocessors are capable of using the token-pasting operator ##, and both are capable of doing macro expansion properly in many situations. BUT as soon as both features are required to properly define a macro, forget about ISO preprocessor compliance :-( and forget about 'proper' macro expansion. No matter the levels of indirection used the results are always ISO-surprising, at least for libcurl's intended usage. The modification done to curlrules.h is BCC 5.5.1 specific and requires usage of the external cpp32 preprocessor, makefiles updated accordingly. Every source file gets externally preprocessed first with cpp32 generating an intermediate source code file, I used extension '.int' for these, and later compiled with bcc32 to generate each object file. We can not further expand support in curlrules.h to other BCC versions unless someone shows up with a version different than 5.5.1. I would assume that older versions exhibit same problems and that the same definition in curlrules.h would be valid. But, who knows! -- -=[Yang]=- ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html
