On 03.04.2009 15:33, Stefan Reinauer wrote:
> I figured we really want to have settings.h, so I added support for it
> to romcc.
>   

Awesome, thanks!

> This patch implements --include=file.h for romcc.
>   

Please add --include to the romcc usage messsage as well.

> 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);
>   

This looks strange. Do we really want to compile the include file
_after_ compiling the .c file? Wouldn't that make all #defines ineffective?

>  
>       /* 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;
>  }
>   

Regards,
Carl-Daniel

-- 
http://www.hailfinger.org/


-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to