From 0193476ea790963884059c27d7fdd607a6f79019 Mon Sep 17 00:00:00 2001 From: Ali Saidi Date: Wed, 30 May 2007 17:08:12 -0400 Subject: 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 --- ext/libelf/SConscript | 12 +++++++++++- ext/libelf/elf_begin.c | 2 +- ext/libelf/elf_common.h | 6 +++--- ext/libelf/elf_strptr.c | 3 +++ ext/libelf/elf_update.c | 3 +++ ext/libelf/libelf_allocate.c | 2 +- 6 files changed, 22 insertions(+), 6 deletions(-) (limited to 'ext/libelf') diff --git a/ext/libelf/SConscript b/ext/libelf/SConscript index 2fae8c25f..aebd0da85 100644 --- a/ext/libelf/SConscript +++ b/ext/libelf/SConscript @@ -28,7 +28,7 @@ # # Authors: Nathan Binkert -import os +import os, subprocess Import('env') @@ -88,6 +88,15 @@ ElfFile('libelf_fsize.c') ElfFile('libelf_msize.c') 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['M4COM'] = '$M4 $M4FLAGS $SOURCES > $TARGET' m4env.M4(target=File('libelf_convert.c'), @@ -101,3 +110,4 @@ m4env.Library('elf', elf_files) env.Append(CPPPATH=Dir('.')) env.Append(LIBS=['elf']) env.Append(LIBPATH=[Dir('.')]) + diff --git a/ext/libelf/elf_begin.c b/ext/libelf/elf_begin.c index 1ffd26651..1b37aa061 100644 --- a/ext/libelf/elf_begin.c +++ b/ext/libelf/elf_begin.c @@ -26,7 +26,7 @@ #include -#include +#include #include #include diff --git a/ext/libelf/elf_common.h b/ext/libelf/elf_common.h index 0a48d5cb2..c169e7e40 100644 --- a/ext/libelf/elf_common.h +++ b/ext/libelf/elf_common.h @@ -45,9 +45,9 @@ */ typedef struct { - u_int32_t n_namesz; /* Length of name. */ - u_int32_t n_descsz; /* Length of descriptor. */ - u_int32_t n_type; /* Type of this note. */ + uint32_t n_namesz; /* Length of name. */ + uint32_t n_descsz; /* Length of descriptor. */ + uint32_t n_type; /* Type of this note. */ } Elf_Note; /* Indexes into the e_ident array. Keep synced with diff --git a/ext/libelf/elf_strptr.c b/ext/libelf/elf_strptr.c index b89b0eac7..6a05fa1d4 100644 --- a/ext/libelf/elf_strptr.c +++ b/ext/libelf/elf_strptr.c @@ -26,6 +26,9 @@ #include +#ifdef __sun +#include +#endif #include #include "gelf.h" diff --git a/ext/libelf/elf_update.c b/ext/libelf/elf_update.c index 513789563..6959d3c3e 100644 --- a/ext/libelf/elf_update.c +++ b/ext/libelf/elf_update.c @@ -27,6 +27,9 @@ #include #include +#ifdef __sun +#include +#endif #include #include diff --git a/ext/libelf/libelf_allocate.c b/ext/libelf/libelf_allocate.c index c4c1b6ac5..9e1280c47 100644 --- a/ext/libelf/libelf_allocate.c +++ b/ext/libelf/libelf_allocate.c @@ -28,7 +28,7 @@ * Internal APIs */ -#include +#include #include #include "libelf.h" -- cgit v1.2.3