Changeset 2a6acc7 in rtems-source-builder


Ignore:
Timestamp:
May 4, 2014, 6:22:46 AM (6 years ago)
Author:
Chris Johns <chrisj@…>
Branches:
4.10, 4.11, 4.9, master
Children:
74da24c
Parents:
3adcfbf
Message:

config: Fix the host and build options for Canadian cross builds.

The ARM on 4.9.0 with clang fails and needs an extra option and
this is only valid building the build cross compiler. This change
fxies the host and build flags so they only apply where needed.

Location:
source-builder
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • source-builder/defaults.mc

    r3adcfbf r2a6acc7  
    5454_uid:                none,    convert,  '%(%{__id_u} -n)'
    5555
    56 # Default flags
    57 optflags:            none,    convert,  '-O2 -pipe'
    58 optincludes:         none,    convert,  ''
     56# Default flags that can be overridded to supply specific host or build
     57# flags and include paths to the tools. The host is the final platform
     58# the tools will run on and build is the host building the tools.
     59optflags_host:       none,    convert,  '-O2 -pipe'
     60optincludes_host:    none,    convert,  ''
     61optflags_build:      none,    convert,  '-O2 -pipe'
     62optincludes_build:   none,    convert,  ''
    5963
    6064# Extra path a platform can override.
     
    180184SB_SOURCE_DIR="%{_sourcedir}"
    181185SB_BUILD_DIR="%{_builddir}"
    182 SB_OPT_HOST_CFLAGS="%{optflags} %{?_tmproot:-I%{_tmproot}/${SB_PREFIX_CLEAN}/include}"
     186# host == build, use build; host != build , host uses host and build uses build
     187SB_OPT_HOST_CFLAGS="%{optflags_host} %{optincludes_host}"
    183188SB_OPT_HOST_LDFLAGS="%{?_tmproot:-L%{_tmproot}/${SB_PREFIX_CLEAN}/lib}"
    184 SB_OPT_BUILD_CFLAGS="%{optflags} %{optincludes}"
    185 SB_OPT_CFLAGS="${SB_OPT_HOST_CFLAGS} %{optincludes}"
     189SB_OPT_BUILD_CFLAGS="%{optflags_build} %{?_tmproot:-I%{_tmproot}/${SB_PREFIX_CLEAN}/include}"
     190SB_OPT_BUILD_LDFLAGS="%{?_tmproot:-L%{_tmproot}/${SB_PREFIX_CLEAN}/lib}"
     191SB_OPT_CFLAGS="${SB_OPT_BUILD_CFLAGS} %{optincludes_build}"
    186192SB_ARCH="%{_arch}"
    187193SB_OS="%{_os}"
    188 export SB_SOURCE_DIR SB_BUILD_DIR SB_OPT_HOST_CFLAGS SB_OPT_BUILD_CFLAGS SB_OPT_CFLAGS SB_ARCH SB_OS
     194export SB_SOURCE_DIR SB_BUILD_DIR SB_ARCH SB_OS
     195export SB_OPT_HOST_CFLAGS SB_OPT_HOST_LDFLAGS SB_OPT_BUILD_CFLAGS SB_OPT_BUILD_LDFLAGS SB_OPT_CFLAGS
    189196# Documentation
    190197SB_DOC_DIR="%{_docdir}"
     
    277284# Host/build flags.
    278285host_build_flags:    none,    none,     '''
    279 # Host and build flags
     286# Host and build flags, Cxc build if host and build are different.
     287# Note, gcc is not ready to be compiled with -std=gnu99 (this needs to be checked).
    280288if test "%{_build}" != "%{_host}" ; then
    281   CFLAGS_FOR_BUILD="${SB_OPT_HOST_CFLAGS}"
    282   LDFLAGS_FOR_BUILD="${SB_OPT_HOST_LDFLAGS}"
     289  # Canadian cross build
    283290  CC=$(echo "%{_host}-gcc ${SB_OPT_HOST_CFLAGS} ${SB_OPT_HOST_LDFLAGS}" | sed -e 's,-std=gnu99 ,,')
    284   CXXFLAGS_FOR_BUILD="${SB_OPT_HOST_CFLAGS}"
    285291  CXX=$(echo "%{_host}-g++ ${SB_OPT_HOST_CFLAGS} ${SB_OPT_HOST_LDFLAGS}" | sed -e 's,-std=gnu99 ,,')
    286   CC_FOR_BUILD=$(echo "%{__cc} ${SB_OPT_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
    287   CXX_FOR_BUILD=$(echo "%{__cxx} ${SB_OPT_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
     292  CFLAGS="${SB_OPT_HOST_CFLAGS}"
     293  LDFLAGS="${SB_OPT_HOST_LDFLAGS}"
     294  CFLAGS_FOR_BUILD="${SB_OPT_BUILD_CFLAGS}"
     295  LDFLAGS_FOR_BUILD="${SB_OPT_BUILD_LDFLAGS}"
     296  CXXFLAGS_FOR_BUILD="${SB_OPT_BUILD_CFLAGS}"
     297  CC_FOR_BUILD=$(echo "%{__cc} ${SB_OPT_BUILD_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
     298  CXX_FOR_BUILD=$(echo "%{__cxx} ${SB_OPT_BUILD_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
    288299else
    289   # gcc is not ready to be compiled with -std=gnu99
    290   LDFLAGS="${SB_OPT_HOST_LDFLAGS}"
    291   CC=$(echo "%{__cc} ${SB_OPT_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
    292   CXX=$(echo "%{__cxx} ${SB_OPT_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
     300   LDFLAGS="${SB_OPT_BUILD_LDFLAGS}"
     301  CC=$(echo "%{__cc} ${SB_OPT_BUILD_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
     302  CXX=$(echo "%{__cxx} ${SB_OPT_BUILD_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
    293303  CC_FOR_BUILD=${CC}
    294304  CXX_FOR_BUILD=${CXX}
  • source-builder/sb/freebsd.py

    r3adcfbf r2a6acc7  
    8484        if check.check_exe(cxx, cxx):
    8585            defines['__cxx'] = cxx
     86            defines['optflags_build'] = '-O2 -pipe -fbracket-depth=1024'
    8687        cvs = 'cvs'
    8788        if check.check_exe(cvs, cvs):
  • source-builder/sb/netbsd.py

    r3adcfbf r2a6acc7  
    4848        version = version.split('-')[0]
    4949    defines = {
    50         '_ncpus':           ('none',    'none',    '1'),
    51         '_os':              ('none',    'none',     'netbsd'),
    52         '_host':            ('triplet', 'required', cpu + '-netbsd' + version),
    53         '_host_vendor':     ('none',    'none',     'pc'),
    54         '_host_os':         ('none',    'none',     'netbsd'),
    55         '_host_os_version': ('none',    'none',     version),
    56         '_host_cpu':        ('none',    'none',     cpu),
    57         '_host_alias':      ('none',    'none',     '%{nil}'),
    58         '_host_arch':       ('none',    'none',     cpu),
    59         '_usr':             ('dir',     'required', '/usr'),
    60         '_var':             ('dir',     'optional', '/var'),
    61         'optincludes':      ('none',    'none',     '-I/usr/pkg/include -L/usr/pkg/lib'),
    62         '__bash':           ('exe',     'optional', '/usr/pkg/bin/bash'),
    63         '__bison':          ('exe',     'required', '/usr/pkg/bin/bison'),
    64         '__git':            ('exe',     'required', '/usr/pkg/bin/git'),
    65         '__svn':            ('exe',     'required', '/usr/pkg/bin/svn'),
    66         '__xz':             ('exe',     'optional', '/usr/pkg/bin/xz'),
    67         '__make':           ('exe',     'required', 'gmake'),
    68         '__patch_opts':     ('none',     'none',    '-E')
     50        '_ncpus':            ('none',    'none',    '1'),
     51        '_os':               ('none',    'none',     'netbsd'),
     52        '_host':             ('triplet', 'required', cpu + '-netbsd' + version),
     53        '_host_vendor':      ('none',    'none',     'pc'),
     54        '_host_os':          ('none',    'none',     'netbsd'),
     55        '_host_os_version':  ('none',    'none',     version),
     56        '_host_cpu':         ('none',    'none',     cpu),
     57        '_host_alias':       ('none',    'none',     '%{nil}'),
     58        '_host_arch':        ('none',    'none',     cpu),
     59        '_usr':              ('dir',     'required', '/usr'),
     60        '_var':              ('dir',     'optional', '/var'),
     61        'optincludes_build': ('none',    'none',     '-I/usr/pkg/include -L/usr/pkg/lib'),
     62        '__bash':            ('exe',     'optional', '/usr/pkg/bin/bash'),
     63        '__bison':           ('exe',     'required', '/usr/pkg/bin/bison'),
     64        '__git':             ('exe',     'required', '/usr/pkg/bin/git'),
     65        '__svn':             ('exe',     'required', '/usr/pkg/bin/svn'),
     66        '__xz':              ('exe',     'optional', '/usr/pkg/bin/xz'),
     67        '__make':            ('exe',     'required', 'gmake'),
     68        '__patch_opts':      ('none',     'none',    '-E')
    6969        }
    7070
Note: See TracChangeset for help on using the changeset viewer.