static string header_filename;
static string internal_header_filename;
static string internal_vapi_filename;
+ static string includedir;
static bool compile_only;
static string output;
static bool debug;
{ "version", 0, 0, OptionArg.NONE, ref version, "Display version number", null },
{ "ccode", 'C', 0, OptionArg.NONE, ref ccode_only, "Output C code", null },
{ "header", 'H', 0, OptionArg.FILENAME, ref header_filename, "Output C header file", "FILE" },
+ { "includedir", 0, 0, OptionArg.FILENAME, ref includedir, "Directory used to include the C header file", "DIRECTORY" },
{ "internal-header", 'h', 0, OptionArg.FILENAME, ref internal_header_filename, "Output internal C header file", "FILE" },
{ "internal-vapi", 0, 0, OptionArg.FILENAME, ref internal_vapi_filename, "Output vapi with internal api", "FILE" },
{ "compile", 'c', 0, OptionArg.NONE, ref compile_only, "Compile but do not link", null },
context.compile_only = compile_only;
context.header_filename = header_filename;
context.internal_header_filename = internal_header_filename;
+ context.includedir = includedir;
context.output = output;
if (basedir == null) {
context.basedir = realpath (".");
if (cinclude_filename == null) {
if (context.header_filename != null) {
cinclude_filename = Path.get_basename (context.header_filename);
+ if (context.includedir != null) {
+ cinclude_filename = "%s/%s".printf (context.includedir, cinclude_filename);
+ }
} else {
cinclude_filename = "%s%s.h".printf (get_subdir (), get_basename ());
}