generator.c 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #include <genex_config.h>
  2. #include <stdio.h>
  3. /* FIXME Get this working */
  4. /*#include <intdir_config.h>*/
  5. const char* generatorlib_genex_config_definition(void);
  6. const char* generatorlib_genex_config_include_dir(void);
  7. const char* generatorobj_genex_config_definition(void);
  8. const char* generatorobj_genex_config_include_dir(void);
  9. static const char contents[] =
  10. /* clang-format off */
  11. "#include <stdio.h>\n"
  12. "\n"
  13. "#include <genex_config.h>\n"
  14. /* FIXME Get this working */
  15. /*"#include <intdir_config.h>\n"*/
  16. "\n"
  17. "const char* generatorlib_genex_config_definition(void);\n"
  18. "const char* generatorlib_genex_config_include_dir(void);\n"
  19. "const char* generatorobj_genex_config_definition(void);\n"
  20. "const char* generatorobj_genex_config_include_dir(void);\n"
  21. "\n"
  22. "int main(void)\n"
  23. "{\n"
  24. " printf(\n"
  25. " \"Generator genex config definition: "
  26. GENEX_CONFIG_DEFINITION "\\n\"\n"
  27. /* FIXME Get this working */
  28. /*" \"Generator INTDIR config definition: "
  29. INTDIR_CONFIG_DEFINITION "\\n\"\n"*/
  30. " \"Generator genex config include dir: "
  31. GENEX_CONFIG_INCLUDE_DIR "\\n\"\n"
  32. /* FIXME Get this working */
  33. /*" \"Generator INTDIR config include dir: "
  34. INTDIR_CONFIG_INCLUDE_DIR "\\n\"\n"*/
  35. " \"Generator library genex config definition: %s\\n\"\n"
  36. /* FIXME Get this working */
  37. /*" \"Generator library INTDIR config definition: %s\\n\"\n"*/
  38. " \"Generator library genex config include dir: %s\\n\"\n"
  39. /* FIXME Get this working */
  40. /*" \"Generator library INTDIR config include dir: %s\\n\"\n"*/
  41. " \"Generator object genex config definition: %s\\n\"\n"
  42. /* FIXME Get this working */
  43. /*" \"Generator object INTDIR config definition: %s\\n\"\n"*/
  44. " \"Generator object genex config include dir: %s\\n\"\n"
  45. /* FIXME Get this working */
  46. /*" \"Generator object INTDIR config include dir: %s\\n\"\n"*/
  47. " \"Generated genex config definition: \""
  48. " GENEX_CONFIG_DEFINITION \"\\n\"\n"
  49. /* FIXME Get this working */
  50. /*" \"Generated INTDIR config definition: \""
  51. " INTDIR_CONFIG_DEFINITION \"\\n\"\n"*/
  52. " \"Generated genex config include dir: \""
  53. " GENEX_CONFIG_INCLUDE_DIR \"\\n\"\n"
  54. /* FIXME Get this working */
  55. /*" \"Generated INTDIR config include dir: \""
  56. " INTDIR_CONFIG_INCLUDE_DIR \"\\n\"\n"*/
  57. " \"Generated library genex config definition: %%s\\n\"\n"
  58. /* FIXME Get this working */
  59. /*" \"Generated library INTDIR config definition: %%s\\n\"\n"*/
  60. " \"Generated library genex config include dir: %%s\\n\"\n"
  61. /* FIXME Get this working */
  62. /*" \"Generated library INTDIR config include dir: %%s\\n\"\n"*/
  63. " \"Generated object genex config definition: %%s\\n\"\n"
  64. /* FIXME Get this working */
  65. /*" \"Generated object INTDIR config definition: %%s\\n\"\n"*/
  66. " \"Generated object genex config include dir: %%s\\n\"\n"
  67. /* FIXME Get this working */
  68. /*" \"Generated object INTDIR config include dir: %%s\\n\"\n"*/
  69. " , generatorlib_genex_config_definition()\n"
  70. " , generatorlib_genex_config_include_dir()\n"
  71. " , generatorobj_genex_config_definition()\n"
  72. " , generatorobj_genex_config_include_dir());\n"
  73. " return 0;\n"
  74. "}\n";
  75. /* clang-format on */
  76. int main(int argc, char** argv)
  77. {
  78. const char* filename;
  79. FILE* fout;
  80. if (argc < 2) {
  81. fprintf(stderr, "Usage: %s <filename>\n", argv[0]);
  82. return 1;
  83. }
  84. filename = argv[1];
  85. if (!(fout = fopen(filename, "w"))) {
  86. fprintf(stderr, "Could not open %s for writing\n", filename);
  87. return 1;
  88. }
  89. fprintf(fout, contents, generatorlib_genex_config_definition(),
  90. generatorlib_genex_config_include_dir(),
  91. generatorobj_genex_config_definition(),
  92. generatorobj_genex_config_include_dir());
  93. fclose(fout);
  94. return 0;
  95. }