From 58a4c5e8e3b12bc4dd4659bda48f2f3188067eea Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 24 Jun 2008 17:44:42 +0000 Subject: [PATCH] Add support for building on solaris, working around namespace polution problems from system headers. Patch by Nathan Keynes! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52682 91177308-0d34-0410-b5e6-96231b3b80d8 --- Makefile.rules | 4 ++++ include/llvm/System/Solaris.h | 40 +++++++++++++++++++++++++++++++++++ utils/GenLibDeps.pl | 2 +- 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 include/llvm/System/Solaris.h diff --git a/Makefile.rules b/Makefile.rules index 74b5a32ae85..b8006a2a1f7 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -451,6 +451,10 @@ ifdef UNIVERSAL DISABLE_AUTO_DEPENDENCIES=1 endif +ifeq ($(OS),SunOS) +CPP.BaseFlags += -include llvm/System/Solaris.h +endif + LD.Flags += -L$(LibDir) -L$(LLVMLibDir) CPP.BaseFlags += -D_GNU_SOURCE -D__STDC_LIMIT_MACROS # All -I flags should go here, so that they don't confuse llvm-config. diff --git a/include/llvm/System/Solaris.h b/include/llvm/System/Solaris.h new file mode 100644 index 00000000000..15adb7472c1 --- /dev/null +++ b/include/llvm/System/Solaris.h @@ -0,0 +1,40 @@ +/*===- llvm/System/Solaris.h ------------------------------------*- C++ -*-===* + * + * The LLVM Compiler Infrastructure + * + * This file is distributed under the University of Illinois Open Source + * License. See LICENSE.TXT for details. + * + *===----------------------------------------------------------------------===* + * + * This file contains portability fixes for Solaris hosts. + * + *===----------------------------------------------------------------------===*/ + +#ifndef LLVM_SYSTEM_SOLARIS_H +#define LLVM_SYSTEM_SOLARIS_H + +#include +#include + +#undef CS +#undef DS +#undef ES +#undef FS +#undef GS +#undef SS +#undef EAX +#undef ECX +#undef EDX +#undef EBX +#undef ESP +#undef EBP +#undef ESI +#undef EDI +#undef EIP +#undef UESP +#undef EFL +#undef ERR +#undef TRAPNO + +#endif diff --git a/utils/GenLibDeps.pl b/utils/GenLibDeps.pl index 74eedd3383b..35811b4e3cd 100755 --- a/utils/GenLibDeps.pl +++ b/utils/GenLibDeps.pl @@ -96,7 +96,7 @@ sub gen_one_entry { print "
$lib
    \n"; } open UNDEFS, - "$nmPath -g -u $Directory/$lib | sed -e 's/^ *U //' | sort | uniq |"; + "$nmPath -g -u $Directory/$lib | sed -e 's/^[ 0]* U //' | sort | uniq |"; my %DepLibs; while () { chomp;