Changeset 177e4ea in mainline for kernel


Ignore:
Timestamp:
2010-03-18T23:34:00Z (16 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
3c80f2b
Parents:
3ad309d
Message:

move from a simple sanity check tool to a more feature-rich configuration autotool (generates Makefile.common)
check for the presence of cross-compiler toolchain
correct prefixing of GNU binutils on Solaris
remove redundant toolchain definitions from makefiles

Location:
kernel
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • kernel/Makefile

    r3ad309d r177e4ea  
    3131.PHONY: all clean
    3232
    33 all: ../version ../Makefile.config ../config.h ../config.defs
     33all: ../version ../Makefile.common ../Makefile.config ../config.h ../config.defs
    3434        -[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
    3535        $(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
  • kernel/Makefile.build

    r3ad309d r177e4ea  
    3333include Makefile.common
    3434include ../version
     35include ../Makefile.common
    3536include ../Makefile.config
    3637include ../config.defs
     
    4243INCLUDES = generic/include
    4344OPTIMIZATION = 3
    44 
    45 ifndef CROSS_PREFIX
    46         CROSS_PREFIX = /usr/local
    47 endif
    4845
    4946## Common compiler flags
     
    8986# Makefile.inc.
    9087#
     88
    9189ATSIGN ?= @
    9290
    9391## Cross-platform assembly to start a symtab.data section
    9492#
     93
    9594SYMTAB_SECTION = ".section symtab.data, \"a\", $(ATSIGN)progbits;"
    9695
    97 ## Simple detection for the type of the host system
    98 #
    99 HOST = $(shell uname)
    100 
    101 ## On Solaris, some utilities have slightly different names
    102 #
    103 ifeq ($(HOST),SunOS)
    104         BINUTILS_PREFIX = "g"
    105 else
    106         BINUTILS_PREFIX = ""
    107 endif
    108 
    109 ## Toolchain configuration
     96## Compilation options
    11097#
    11198
    11299ifeq ($(COMPILER),gcc_native)
    113         CC = gcc
    114         GCC = gcc
    115         AS = $(BINUTILS_PREFIX)as
    116         LD = $(BINUTILS_PREFIX)ld
    117         OBJCOPY = $(BINUTILS_PREFIX)objcopy
    118         OBJDUMP = $(BINUTILS_PREFIX)objdump
    119100        CFLAGS = $(GCC_CFLAGS)
    120101        DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
     
    122103
    123104ifeq ($(COMPILER),gcc_cross)
    124         CC = $(TOOLCHAIN_DIR)/bin/$(TARGET)-gcc
    125         GCC = $(CC)
    126         AS = $(TOOLCHAIN_DIR)/bin/$(TARGET)-as
    127         LD = $(TOOLCHAIN_DIR)/bin/$(TARGET)-ld
    128         OBJCOPY = $(TOOLCHAIN_DIR)/bin/$(TARGET)-objcopy
    129         OBJDUMP = $(TOOLCHAIN_DIR)/bin/$(TARGET)-objdump
    130105        CFLAGS = $(GCC_CFLAGS)
    131106        DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
     
    133108
    134109ifeq ($(COMPILER),icc)
    135         CC = icc
    136         GCC = gcc
    137         AS = as
    138         LD = ld
    139         OBJCOPY = objcopy
    140         OBJDUMP = objdump
    141110        CFLAGS = $(ICC_CFLAGS)
    142111        DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
     
    144113
    145114ifeq ($(COMPILER),suncc)
    146         CC = suncc
    147         GCC = gcc
    148         AS = $(BINUTILS_PREFIX)as
    149         LD = $(BINUTILS_PREFIX)ld
    150         OBJCOPY = $(BINUTILS_PREFIX)objcopy
    151         OBJDUMP = $(BINUTILS_PREFIX)objdump
    152115        CFLAGS = $(SUNCC_CFLAGS)
    153116        DEFS += $(CONFIG_DEFS)
     
    156119
    157120ifeq ($(COMPILER),clang)
    158         CC = clang
    159         GCC = gcc
    160         AS = $(BINUTILS_PREFIX)as
    161         LD = $(BINUTILS_PREFIX)ld
    162         OBJCOPY = $(BINUTILS_PREFIX)objcopy
    163         OBJDUMP = $(BINUTILS_PREFIX)objdump
    164121        CFLAGS = $(CLANG_CFLAGS)
    165122        DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
  • kernel/arch/abs32le/Makefile.inc

    r3ad309d r177e4ea  
    2727#
    2828
    29 ## Toolchain configuration
    30 #
    31 
    3229BFD = binary
    3330
    3431ifeq ($(COMPILER),gcc_cross)
    35         TOOLCHAIN_DIR = $(CROSS_PREFIX)/$(CROSS_TARGET)
    36        
    3732        ifeq ($(CROSS_TARGET),arm32)
    38                 TARGET = arm-linux-gnu
    3933                ATSIGN = %
    4034        endif
    4135       
    42         ifeq ($(CROSS_TARGET),ia32)
    43                 TARGET = i686-pc-linux-gnu
    44         endif
    45        
    4636        ifeq ($(CROSS_TARGET),mips32)
    47                 TARGET = mipsel-linux-gnu
    4837                GCC_CFLAGS += -mno-abicalls
    4938        endif
  • kernel/arch/amd64/Makefile.inc

    r3ad309d r177e4ea  
    2727#
    2828
    29 ## Toolchain configuration
    30 #
    31 
    3229BFD_NAME = elf64-x86-64
    3330BFD_ARCH = i386:x86-64
    3431BFD = binary
    35 TARGET = amd64-linux-gnu
    3632CLANG_ARCH = x86_64
    37 TOOLCHAIN_DIR = $(CROSS_PREFIX)/amd64
    3833
    3934FPU_NO_CFLAGS = -mno-sse -mno-sse2
  • kernel/arch/arm32/Makefile.inc

    r3ad309d r177e4ea  
    2727#
    2828
    29 ## Toolchain configuration
    30 #
    31 
    3229BFD_NAME = elf32-littlearm
    3330BFD_ARCH = arm
    3431BFD = binary
    35 TARGET = arm-linux-gnu
    36 TOOLCHAIN_DIR = $(CROSS_PREFIX)/arm32
    3732
    3833ATSIGN = %
  • kernel/arch/ia32/Makefile.inc

    r3ad309d r177e4ea  
    2727#
    2828
    29 ## Toolchain configuration
    30 #
    31 
    3229BFD_NAME = elf32-i386
    3330BFD_ARCH = i386
    3431BFD = binary
    35 TARGET = i686-pc-linux-gnu
    3632CLANG_ARCH = i386
    37 TOOLCHAIN_DIR = $(CROSS_PREFIX)/ia32
    3833
    3934BITS = 32
  • kernel/arch/ia64/Makefile.inc

    r3ad309d r177e4ea  
    2727#
    2828
    29 ## Toolchain configuration
    30 #
    31 
    3229BFD_NAME = elf64-little
    3330BFD_ARCH = ia64-elf64
    34 TARGET = ia64-pc-linux-gnu
    35 TOOLCHAIN_DIR = $(CROSS_PREFIX)/ia64
    3631
    3732CMN1 = -mconstant-gp -fno-unwind-tables -mfixed-range=f32-f127
  • kernel/arch/mips32/Makefile.inc

    r3ad309d r177e4ea  
    2727#
    2828
    29 ## Toolchain configuration
    30 #
    31 
    3229BFD_ARCH = mips
    3330BFD = binary
    34 TARGET = mipsel-linux-gnu
    35 TOOLCHAIN_DIR = $(CROSS_PREFIX)/mips32
    36 
    3731GCC_CFLAGS += -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mips3
    3832
     
    4842ifeq ($(MACHINE),bgxemul)
    4943        BFD_NAME = elf32-tradbigmips
    50         TOOLCHAIN_DIR = $(CROSS_PREFIX)/mips32eb
    51         TARGET = mips-linux-gnu
    5244        ENDIANESS = BE
    5345        GCC_CFLAGS += -D__BE__
  • kernel/arch/ppc32/Makefile.inc

    r3ad309d r177e4ea  
    2727#
    2828
    29 ## Toolchain configuration
    30 #
    31 
    3229BFD_NAME = elf32-powerpc
    3330BFD_ARCH = powerpc:common
    3431BFD = binary
    35 TARGET = ppc-linux-gnu
    36 TOOLCHAIN_DIR = $(CROSS_PREFIX)/ppc32
    3732
    3833GCC_CFLAGS += -mcpu=powerpc -msoft-float -m32
  • kernel/arch/sparc64/Makefile.inc

    r3ad309d r177e4ea  
    2727#
    2828
    29 ## Toolchain configuration
    30 #
    31 
    3229BFD_NAME = elf64-sparc
    3330BFD_ARCH = sparc
    3431BFD = binary
    35 TARGET = sparc64-linux-gnu
    36 TOOLCHAIN_DIR = $(CROSS_PREFIX)/sparc64
    3732
    3833GCC_CFLAGS += -m64 -mcpu=ultrasparc
Note: See TracChangeset for help on using the changeset viewer.