lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

023-build-take-compiler-options-from-environment.patch (5510B)


      1 From 5f9513eb341d520d10c48f8ba2bd145063405fdd Mon Sep 17 00:00:00 2001
      2 From: Hauke Mehrtens <hauke@hauke-m.de>
      3 Date: Sat, 10 Dec 2016 18:08:05 +0100
      4 Subject: [PATCH 23/23] build: take compiler options from environment
      5 
      6 This makes it possible to compile IoTivity with custom compiler
      7 options. This way someone can use optimized compiler settings for the
      8 target CPU. I want to use this in OpenWrt / LEDE to build specific
      9 IoTivity binaries for each CPU architecture, there the build system
     10 provides the matching compiler options.
     11 
     12 Change-Id: I86772f73b81c41d7e96e51b434fd9e3b4992753a
     13 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
     14 ---
     15  build_common/SConscript                           | 25 +++++++++++++++++++++
     16  build_common/linux/SConscript                     | 27 ++++++++++++-----------
     17  resource/csdk/connectivity/build/linux/SConscript | 27 ++++++++++++-----------
     18  3 files changed, 53 insertions(+), 26 deletions(-)
     19 
     20 --- a/build_common/SConscript
     21 +++ b/build_common/SConscript
     22 @@ -120,6 +120,7 @@ help_vars.Add(PathVariable('ANDROID_NDK'
     23  help_vars.Add(PathVariable('ANDROID_HOME', 'Android SDK path', None, PathVariable.PathAccept))
     24  help_vars.Add(PathVariable('ANDROID_GRADLE', 'Gradle binary file', None, PathVariable.PathIsFile))
     25  help_vars.Add(EnumVariable('WITH_UPSTREAM_LIBCOAP', 'Use latest stable version of LibCoAP downloaded from github', default_with_upstream_libcoap, allowed_values=('0','1')))
     26 +help_vars.Add(BoolVariable('WITH_ENV', 'Use compiler options from environment', False))
     27  
     28  AddOption('--prefix',
     29                    dest='prefix',
     30 @@ -153,6 +154,30 @@ else:
     31  			)
     32  Help(help_vars.GenerateHelpText(env))
     33  
     34 +if env.get('WITH_ENV'):
     35 +	env['ENV'] = os.environ
     36 +	if 'CC' in os.environ:
     37 +		env['CC'] = Split(os.environ['CC'])
     38 +		print "using CC from environment: %s" % env['CC']
     39 +	if 'CXX' in os.environ:
     40 +		env['CXX'] = Split(os.environ['CXX'])
     41 +		print "using CXX from environment: %s" % env['CXX']
     42 +	if 'CFLAGS' in os.environ:
     43 +		env['CFLAGS'] = Split(os.environ['CFLAGS'])
     44 +		print "using CFLAGS from environment: %s" % env['CFLAGS']
     45 +	if 'CXXFLAGS' in os.environ:
     46 +		env['CXXFLAGS'] = Split(os.environ['CXXFLAGS'])
     47 +       		print "using CXXFLAGS from environment: %s" % env['CXXFLAGS']
     48 +	if 'CCFLAGS' in os.environ:
     49 +		env['CCFLAGS'] = Split(os.environ['CCFLAGS'])
     50 +		print "using CCFLAGS from environment: %s" % env['CCFLAGS']
     51 +	if 'CPPFLAGS' in os.environ:
     52 +		env['CPPFLAGS'] = Split(os.environ['CPPFLAGS'])
     53 +		print "using CPPFLAGS from environment: %s" % env['CPPFLAGS']
     54 +	if 'LDFLAGS' in os.environ:
     55 +		env['LINKFLAGS'] = Split(os.environ['LDFLAGS'])
     56 +		print "using LDFLAGS/LINKFLAGS from environment: %s" % env['LINKFLAGS']
     57 +
     58  tc_set_msg = '''
     59  ************************************ Warning **********************************
     60  *   Enviornment variable TC_PREFIX/TC_PATH is set. It will change the default *
     61 --- a/build_common/linux/SConscript
     62 +++ b/build_common/linux/SConscript
     63 @@ -23,16 +23,17 @@ env.AppendUnique(CCFLAGS = ['-Wall', '-W
     64  env.AppendUnique(LIBS = ['dl', 'pthread', 'uuid'])
     65  
     66  # Set arch flags that match best TARGET_ARCH variable
     67 -target_arch = env.get('TARGET_ARCH')
     68 -if target_arch in ['x86']:
     69 -	env.AppendUnique(CCFLAGS = ['-m32'])
     70 -	env.AppendUnique(LINKFLAGS = ['-m32'])
     71 -elif target_arch in ['x86_64']:
     72 -	env.AppendUnique(CCFLAGS = ['-m64'])
     73 -	env.AppendUnique(LINKFLAGS = ['-m64'])
     74 -elif target_arch in ['arm']:
     75 -	env.AppendUnique(CPPFLAGS = ['-march=armv5te'])
     76 -elif target_arch in ['arm-v7a', 'armeabi-v7a']:
     77 -	env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
     78 -elif target_arch.find('arm64') > 0:
     79 -	env.AppendUnique(CPPFLAGS = ['-march=armv8-a'])
     80 +if not env.get('WITH_ENV'):
     81 +	target_arch = env.get('TARGET_ARCH')
     82 +	if target_arch in ['x86']:
     83 +		env.AppendUnique(CCFLAGS = ['-m32'])
     84 +		env.AppendUnique(LINKFLAGS = ['-m32'])
     85 +	elif target_arch in ['x86_64']:
     86 +		env.AppendUnique(CCFLAGS = ['-m64'])
     87 +		env.AppendUnique(LINKFLAGS = ['-m64'])
     88 +	elif target_arch in ['arm']:
     89 +		env.AppendUnique(CPPFLAGS = ['-march=armv5te'])
     90 +	elif target_arch in ['arm-v7a', 'armeabi-v7a']:
     91 +		env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
     92 +	elif target_arch.find('arm64') > 0:
     93 +		env.AppendUnique(CPPFLAGS = ['-march=armv8-a'])
     94 --- a/resource/csdk/connectivity/build/linux/SConscript
     95 +++ b/resource/csdk/connectivity/build/linux/SConscript
     96 @@ -22,16 +22,17 @@ env.AppendUnique(CCFLAGS = ['-Wall', '-f
     97  env.AppendUnique(LIBS = ['dl', 'pthread'])
     98  
     99  # Set arch flags
    100 -target_arch = env.get('TARGET_ARCH')
    101 -if target_arch in ['x86']:
    102 -	env.AppendUnique(CCFLAGS = ['-m32'])
    103 -	env.AppendUnique(LINKFLAGS = ['-m32'])
    104 -elif target_arch in ['x86_64']:
    105 -	env.AppendUnique(CCFLAGS = ['-m64'])
    106 -	env.AppendUnique(LINKFLAGS = ['-m64'])
    107 -elif target_arch in ['arm']:
    108 -	env.AppendUnique(CPPFLAGS = ['-march=armv5te'])
    109 -elif target_arch in ['arm-v7a', 'armeabi-v7a']:
    110 -	env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
    111 -elif target_arch.find('arm64') > 0:
    112 -	env.AppendUnique(CPPFLAGS = ['-march=armv8-a'])
    113 +if not env.get('WITH_ENV'):
    114 +	target_arch = env.get('TARGET_ARCH')
    115 +	if target_arch in ['x86']:
    116 +		env.AppendUnique(CCFLAGS = ['-m32'])
    117 +		env.AppendUnique(LINKFLAGS = ['-m32'])
    118 +	elif target_arch in ['x86_64']:
    119 +		env.AppendUnique(CCFLAGS = ['-m64'])
    120 +		env.AppendUnique(LINKFLAGS = ['-m64'])
    121 +	elif target_arch in ['arm']:
    122 +		env.AppendUnique(CPPFLAGS = ['-march=armv5te'])
    123 +	elif target_arch in ['arm-v7a', 'armeabi-v7a']:
    124 +		env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
    125 +	elif target_arch.find('arm64') > 0:
    126 +		env.AppendUnique(CPPFLAGS = ['-march=armv8-a'])