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.

Regards,

Greg



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
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


_______________________________________________ Linuxbios mailing list [EMAIL PROTECTED] http://www.clustermatic.org/mailman/listinfo/linuxbios

Reply via email to