Regenerate charmonizer.c
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/4a231ed4 Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/4a231ed4 Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/4a231ed4 Branch: refs/heads/chaz-cflags Commit: 4a231ed49724e646791e3996a58ea9d9730de3b9 Parents: 8e24b88 Author: Nick Wellnhofer <[email protected]> Authored: Wed Apr 3 18:50:00 2013 +0200 Committer: Nick Wellnhofer <[email protected]> Committed: Wed Apr 3 18:50:00 2013 +0200 ---------------------------------------------------------------------- clownfish/compiler/common/charmonizer.c | 26 ++++++++++++++ clownfish/runtime/common/charmonizer.c | 26 ++++++++++++++ common/charmonizer.c | 48 +++++++++++++++++++------- 3 files changed, 87 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucy/blob/4a231ed4/clownfish/compiler/common/charmonizer.c ---------------------------------------------------------------------- diff --git a/clownfish/compiler/common/charmonizer.c b/clownfish/compiler/common/charmonizer.c index 627552f..d7c412e 100644 --- a/clownfish/compiler/common/charmonizer.c +++ b/clownfish/compiler/common/charmonizer.c @@ -71,6 +71,10 @@ void chaz_CFlags_set_output_exe(chaz_CFlags *flags, const char *filename); void +chaz_CFlags_add_define(chaz_CFlags *flags, const char *name, + const char *value); + +void chaz_CFlags_add_include_dir(chaz_CFlags *flags, const char *dir); void @@ -1170,6 +1174,28 @@ chaz_CFlags_set_output_exe(chaz_CFlags *flags, const char *filename) { } void +chaz_CFlags_add_define(chaz_CFlags *flags, const char *name, + const char *value) { + const char *define; + char *string; + if (flags->style == CHAZ_CFLAGS_STYLE_MSVC) { + define = "/D"; + } + else { + /* POSIX */ + define = "-D "; + } + if (value) { + string = chaz_Util_join("", define, name, "=", value, NULL); + } + else { + string = chaz_Util_join("", define, name, NULL); + } + chaz_CFlags_append(flags, string); + free(string); +} + +void chaz_CFlags_add_include_dir(chaz_CFlags *flags, const char *dir) { const char *include; char *string; http://git-wip-us.apache.org/repos/asf/lucy/blob/4a231ed4/clownfish/runtime/common/charmonizer.c ---------------------------------------------------------------------- diff --git a/clownfish/runtime/common/charmonizer.c b/clownfish/runtime/common/charmonizer.c index a0dd426..6cf33ce 100644 --- a/clownfish/runtime/common/charmonizer.c +++ b/clownfish/runtime/common/charmonizer.c @@ -71,6 +71,10 @@ void chaz_CFlags_set_output_exe(chaz_CFlags *flags, const char *filename); void +chaz_CFlags_add_define(chaz_CFlags *flags, const char *name, + const char *value); + +void chaz_CFlags_add_include_dir(chaz_CFlags *flags, const char *dir); void @@ -1475,6 +1479,28 @@ chaz_CFlags_set_output_exe(chaz_CFlags *flags, const char *filename) { } void +chaz_CFlags_add_define(chaz_CFlags *flags, const char *name, + const char *value) { + const char *define; + char *string; + if (flags->style == CHAZ_CFLAGS_STYLE_MSVC) { + define = "/D"; + } + else { + /* POSIX */ + define = "-D "; + } + if (value) { + string = chaz_Util_join("", define, name, "=", value, NULL); + } + else { + string = chaz_Util_join("", define, name, NULL); + } + chaz_CFlags_append(flags, string); + free(string); +} + +void chaz_CFlags_add_include_dir(chaz_CFlags *flags, const char *dir) { const char *include; char *string; http://git-wip-us.apache.org/repos/asf/lucy/blob/4a231ed4/common/charmonizer.c ---------------------------------------------------------------------- diff --git a/common/charmonizer.c b/common/charmonizer.c index 1eaf9cf..26905be 100644 --- a/common/charmonizer.c +++ b/common/charmonizer.c @@ -71,6 +71,10 @@ void chaz_CFlags_set_output_exe(chaz_CFlags *flags, const char *filename); void +chaz_CFlags_add_define(chaz_CFlags *flags, const char *name, + const char *value); + +void chaz_CFlags_add_include_dir(chaz_CFlags *flags, const char *dir); void @@ -1475,6 +1479,28 @@ chaz_CFlags_set_output_exe(chaz_CFlags *flags, const char *filename) { } void +chaz_CFlags_add_define(chaz_CFlags *flags, const char *name, + const char *value) { + const char *define; + char *string; + if (flags->style == CHAZ_CFLAGS_STYLE_MSVC) { + define = "/D"; + } + else { + /* POSIX */ + define = "-D "; + } + if (value) { + string = chaz_Util_join("", define, name, "=", value, NULL); + } + else { + string = chaz_Util_join("", define, name, NULL); + } + chaz_CFlags_append(flags, string); + free(string); +} + +void chaz_CFlags_add_include_dir(chaz_CFlags *flags, const char *dir) { const char *include; char *string; @@ -6171,16 +6197,6 @@ S_add_compiler_flags(struct chaz_CLIArgs *args) { /* Only core source files require this -- not our headers and * autogenerated files. */ chaz_CFlags_append(extra_cflags, "-std=gnu99 -D_GNU_SOURCE"); - - /* When compiling for Perl bindings, define HAS_BOOL so that the Perl - * headers don't redefine 'bool' in conflict with C++. - * - * TODO: Compile all files that #include Perl headers separately and - * remove this directive. - */ - if (args->charmony_pm) { - chaz_CFlags_append(extra_cflags, "-DHAS_BOOL"); - } } else if (chaz_Probe_msvc_version_num()) { /* Compile as C++ under MSVC. */ @@ -6194,10 +6210,16 @@ S_add_compiler_flags(struct chaz_CLIArgs *args) { /* Redefine 'for' to fix broken 'for' scoping under MSVC6. */ chaz_CFlags_append(extra_cflags, "/Dfor=\"if(0);else for\""); } + } - if (args->charmony_pm) { - chaz_CFlags_append(extra_cflags, "/DHAS_BOOL"); - } + /* When compiling for Perl bindings, define HAS_BOOL so that the Perl + * headers don't redefine 'bool' in conflict with C++. + * + * TODO: Compile all files that #include Perl headers separately and + * remove this directive. + */ + if (args->charmony_pm) { + chaz_CFlags_add_define(extra_cflags, "HAS_BOOL", NULL); } }
