On Thu, Jun 26, 2008 at 08:46:44PM +0200, Michal Simek wrote: > Adrian Bunk napsal(a): > > On Thu, Jun 26, 2008 at 02:29:31PM +0200, monstr@xxxxxxxxx wrote: > >> ... > >> --- /dev/null > >> +++ b/arch/microblaze/Makefile > >> ... > >> +# Work out HW multipler support. This is icky. > >> +# 1. Spartan2 has no HW multiplers. > >> +# 2. MicroBlaze v3.x always uses them, except in Spartan 2 > >> +# 3. All other FPGa/CPU ver combos, we can trust the CONFIG_ settings > >> +ifeq (,$(findstring spartan2,$(CONFIG_XILINX_MICROBLAZE0_FAMILY))) > >> + ifeq ($(CPU_MAJOR),3) > >> + CPUFLAGS-1 += -mno-xl-soft-mul > >> + else > >> + # USE_HW_MUL can be 0, 1, or 2, defining a heirarchy of HW Mul support. > >> + CPUFLAGS-$(subst 1,,$(CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL)) += -mxl-multiply-high > >> + CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL) += -mno-xl-soft-mul > >> + endif > >> +endif > >> +CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_DIV) += -mno-xl-soft-div > >> +CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_BARREL) += -mxl-barrel-shift > >> +CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_PCMP) += -mxl-pattern-compare > >> + > >> +CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER)) > >> + > >> +# The various CONFIG_XILINX cpu features options are integers 0/1/2... > >> +# rather than bools y/n > >> +CFLAGS += $(CPUFLAGS-1) > >> +CFLAGS += $(CPUFLAGS-2) > >> ... > > > > Why are the options not bools? > > > > cu > > Adrian > > because CONFIG_XILINX_... are 0, 1 or 2 not only y, n. I understood that. But _why_ are these options not bools? In most cases the order of gcc flags does not matter, and it is not obvious for me why the order matters here. > M cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html