Hi! We have ugly things related to API functions and public headers: - Different ibase.h files - why_proto.h API duplication - FB_COMPILING_WHY_CPP - different include files used internally and published - different types (ISC_USHORT vs USHORT) used in same functions - alt.cpp also implement API functions but does not define FB_COMPILING_WHY_CPP - some function under why_proto is in #ifdef JRD_IBASE_H, some not
I do want to try to simplify things. For example, we may publish some (*_pub.h) headers under include/firebird/impl. In the past we had flat include directory, so I thought that header machinery with sed was not to put new files under include. That should not be a problem anymore. I think y-valve implementation should use the public types (ISC_*). In the past there were problems when declaring and implementing different prototypes for Darwin even with extern "C". These two problems seems to be the major cause for that headaches AFAIU. Comments, advices? Adriano Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
