Hi! We have still traces of the old error message processing that only complicate things.
We define errors in .sql files (it was database) and then everything is as before. We have generated files in the tree, which frequently causes merge conflicts, not very simple to fix, as generated files needs to be edited. Utility that generate the files needs gpre and the engine previously built, and ready to use database, which also requires isql. Chicken and egg problem. That makes no sense IMHO and I propose a change to make things simpler and faster. We define error messages (and all necessary things) in .h files and with help of the preprocessor (from the compiler) we use them (something like done in ini.epp), where macros could be changed for different result needs. #define FB_MSG(...) ... #include "message-file.h" #undef FB_MSG For case like gds_codes.pas, preprocessor (and maybe sed) is also used to emit the generated file. And I propose to generate that file during the build and put in the output, not storing it in the source tree. So messages could be defined like this: FB_MSG(sysf_invalid_null_empty, 0, 956, -901, "22", "023", "Empty or NULL parameter @1 is not accepted") (Note that I mixed messages2.sql and system_errrors2.sql and also removed ROUTINE, MODULE and other unimportant things.) Adriano Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel