I figured we really want to have settings.h, so I added support for it
to romcc.
See patch.
Stefan
--
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: [email protected] • http://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866
This patch implements --include=file.h for romcc.
Signed-off-by: Stefan Reinauer <[email protected]>
Index: util/romcc/romcc.c
===================================================================
--- util/romcc/romcc.c (revision 4046)
+++ util/romcc/romcc.c (working copy)
@@ -3,8 +3,8 @@
#undef RELEASE_DATE
#undef VERSION
#define VERSION_MAJOR "0"
-#define VERSION_MINOR "70"
-#define RELEASE_DATE "23 October 2007"
+#define VERSION_MINOR "71"
+#define RELEASE_DATE "03 April 2009"
#define VERSION VERSION_MAJOR "." VERSION_MINOR
#include <stdarg.h>
@@ -24925,7 +24925,7 @@
}
}
-static void compile(const char *filename,
+static void compile(const char *filename, const char *includefile,
struct compiler_state *compiler, struct arch_state *arch)
{
int i;
@@ -24998,7 +24998,10 @@
/* Enter the globl definition scope */
start_scope(&state);
register_builtins(&state);
+
compile_file(&state, filename, 1);
+ if (includefile)
+ compile_file(&state, includefile, 1);
/* Stop if all we want is preprocessor output */
if (state.compiler->flags & COMPILER_PP_ONLY) {
@@ -25065,6 +25068,7 @@
int main(int argc, char **argv)
{
const char *filename;
+ const char *includefile = NULL;
struct compiler_state compiler;
struct arch_state arch;
int all_opts;
@@ -25114,6 +25118,14 @@
else if (strncmp(argv[1], "-m", 2) == 0) {
result = arch_encode_flag(&arch, argv[1]+2);
}
+ else if (strncmp(argv[1], "--include=", 10) == 0) {
+ if (includefile) {
+ arg_error("Only one --include option
may be specified.\n");
+ } else {
+ includefile = argv[1] + 10;
+ result = 0;
+ }
+ }
if (result < 0) {
arg_error("Invalid option specified: %s\n",
argv[1]);
@@ -25133,7 +25145,7 @@
if (!filename) {
arg_error("No filename specified\n");
}
- compile(filename, &compiler, &arch);
+ compile(filename, includefile, &compiler, &arch);
return 0;
}
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot