two changes to make building EPIA work

Greg Watson gwatson at
Mon Mar 22 23:05:00 CET 2004

Close, but no banana.

The new rules for options are as follows:

1. Options declared as 'default none' and 'export always' MUST have a 
value set or a default value assigned. Any options of this type that 
are still undefined when processing of config files is finished will 
result in a fatal error.

2. All options declared as 'export always' and those declared as 
'export used' that have a value set, or the default value altered, will 
result in an entry in Makefile.settings and ldoptions (for numeric 
values only.)

3. The appropriate way to test for a variable is '#if VAR==0' or '#if 
VAR==1'. Tests using '#ifdef VAR' or '#if defined(VAR)' may produced 
incorrect results.

So far I've checked the epia and arima configurations and they build 
ok. I'll check the others tomorrow before I commit the changes.



On 22/03/2004, at 3:00 PM, ron minnich wrote:

> First, src/include/cpu/cpufixup.h is changed to follow the common
> linuxbios usage.
> #if CPU_FIXUP == 1
> #  if (k8==1)
> #warning "====>Temporary notice that we are using k8 cpufixup"
> #    define cpufixup(mem) k8_cpufixup(mem)
> #  elif (k7==1)
> #warning "====>Temporary notice that we are using k7 cpufixup"
> #    define cpufixup(mem) k7_cpufixup(mem)
> #  elif (i786==1)
> #warning "====>Temporary notice that we are using i786 cpufixup"
> #    define cpufixup(mem) i786_cpufixup(mem)
> #  elif (i686==1)
> #warning "====>Temporary notice that we are using i686 cpufixup"
> #    define cpufixup(mem) p6_cpufixup(mem)
> #  endif
> #else
> #warning "====>YOU DID NOT DEFINE ONE OF: k8, k7, i786, i686"
> #  define cpufixup(mem) do {} while(0)
> #endif
> note that it is compare to 1, not just an #ifdef. We are leaving the
> warning in for a while to make sure people see this. In the EPIA, the
> symbol k8 even if defined to 1 would end up needing k8_cpufixup, which 
> is
> wrong.
> Just a reminder, make your stuff testing against ==1, not ifdef.
> Second, a subtle change in the config tool.
> IF: a symbol is always exported and has no default value, AND the 
> value is
> not set by the time the config tool is generating makefile settings, 
> then
> you will get an error, not just a warning.
> One error in the EPIA build process was because the symbol 'k8' was
> defined but had no value.
> I don't think this will break anything, but you never know. Watch your 
> K8
> builds carefully. We're hoping this fixes the latest EPIA problems.
> ron
> _______________________________________________
> Linuxbios mailing list
> Linuxbios at

More information about the coreboot mailing list