Fix compiling on Solaris since Nate's libelf change
SConstruct: export env after we've set CC/CXX ext/libelf/SConscript: pull in the CC/CXX variables from env. Use gm4 if it exists ext/libelf/elf_begin.c: ext/libelf/libelf_allocate.c: include errno.h instead of sys/errno.h ext/libelf/elf_common.h: use the more standard uintX_t ext/libelf/elf_strptr.c: ext/libelf/elf_update.c: include sysmacros.h on Solaris for roundup() --HG-- extra : convert_revision : ea1aab834029399c445dfa4c9f78febf2c3d8f0c
This commit is contained in:
parent
4e65d2678d
commit
0193476ea7
7 changed files with 24 additions and 7 deletions
|
@ -182,7 +182,6 @@ for t in abs_targets:
|
||||||
env = Environment(ENV = os.environ, # inherit user's environment vars
|
env = Environment(ENV = os.environ, # inherit user's environment vars
|
||||||
ROOT = ROOT,
|
ROOT = ROOT,
|
||||||
SRCDIR = SRCDIR)
|
SRCDIR = SRCDIR)
|
||||||
Export('env')
|
|
||||||
|
|
||||||
#Parse CC/CXX early so that we use the correct compiler for
|
#Parse CC/CXX early so that we use the correct compiler for
|
||||||
# to test for dependencies/versions/libraries/includes
|
# to test for dependencies/versions/libraries/includes
|
||||||
|
@ -192,6 +191,8 @@ if ARGUMENTS.get('CC', None):
|
||||||
if ARGUMENTS.get('CXX', None):
|
if ARGUMENTS.get('CXX', None):
|
||||||
env['CXX'] = ARGUMENTS.get('CXX')
|
env['CXX'] = ARGUMENTS.get('CXX')
|
||||||
|
|
||||||
|
Export('env')
|
||||||
|
|
||||||
env.SConsignFile(joinpath(build_root,"sconsign"))
|
env.SConsignFile(joinpath(build_root,"sconsign"))
|
||||||
|
|
||||||
# Default duplicate option is to use hard links, but this messes up
|
# Default duplicate option is to use hard links, but this messes up
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
#
|
#
|
||||||
# Authors: Nathan Binkert
|
# Authors: Nathan Binkert
|
||||||
|
|
||||||
import os
|
import os, subprocess
|
||||||
|
|
||||||
Import('env')
|
Import('env')
|
||||||
|
|
||||||
|
@ -88,6 +88,15 @@ ElfFile('libelf_fsize.c')
|
||||||
ElfFile('libelf_msize.c')
|
ElfFile('libelf_msize.c')
|
||||||
|
|
||||||
m4env = Environment(ENV=os.environ)
|
m4env = Environment(ENV=os.environ)
|
||||||
|
if env.get('CC'):
|
||||||
|
m4env['CC'] = env['CC']
|
||||||
|
if env.get('CXX'):
|
||||||
|
m4env['CXX'] = env['CXX']
|
||||||
|
# If we have gm4 use it
|
||||||
|
if subprocess.Popen("gm4 --version", shell=True, stdout=subprocess.PIPE,
|
||||||
|
stderr=subprocess.STDOUT, close_fds=True).communicate()[0].find('GNU') >= 0:
|
||||||
|
m4env['M4'] = 'gm4'
|
||||||
|
|
||||||
m4env.Append(M4FLAGS='-DSRCDIR=%s' % Dir('.').path)
|
m4env.Append(M4FLAGS='-DSRCDIR=%s' % Dir('.').path)
|
||||||
m4env['M4COM'] = '$M4 $M4FLAGS $SOURCES > $TARGET'
|
m4env['M4COM'] = '$M4 $M4FLAGS $SOURCES > $TARGET'
|
||||||
m4env.M4(target=File('libelf_convert.c'),
|
m4env.M4(target=File('libelf_convert.c'),
|
||||||
|
@ -101,3 +110,4 @@ m4env.Library('elf', elf_files)
|
||||||
env.Append(CPPPATH=Dir('.'))
|
env.Append(CPPPATH=Dir('.'))
|
||||||
env.Append(LIBS=['elf'])
|
env.Append(LIBS=['elf'])
|
||||||
env.Append(LIBPATH=[Dir('.')])
|
env.Append(LIBPATH=[Dir('.')])
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/errno.h>
|
#include <errno.h>
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
|
|
|
@ -45,9 +45,9 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
u_int32_t n_namesz; /* Length of name. */
|
uint32_t n_namesz; /* Length of name. */
|
||||||
u_int32_t n_descsz; /* Length of descriptor. */
|
uint32_t n_descsz; /* Length of descriptor. */
|
||||||
u_int32_t n_type; /* Type of this note. */
|
uint32_t n_type; /* Type of this note. */
|
||||||
} Elf_Note;
|
} Elf_Note;
|
||||||
|
|
||||||
/* Indexes into the e_ident array. Keep synced with
|
/* Indexes into the e_ident array. Keep synced with
|
||||||
|
|
|
@ -26,6 +26,9 @@
|
||||||
|
|
||||||
|
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
|
#ifdef __sun
|
||||||
|
#include <sys/sysmacros.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include "gelf.h"
|
#include "gelf.h"
|
||||||
|
|
|
@ -27,6 +27,9 @@
|
||||||
|
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
|
#ifdef __sun
|
||||||
|
#include <sys/sysmacros.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
* Internal APIs
|
* Internal APIs
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include "libelf.h"
|
#include "libelf.h"
|
||||||
|
|
Loading…
Reference in a new issue