aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2008-10-01 01:10:22 +0000
committerDaniel Dunbar <daniel@zuster.org>2008-10-01 01:10:22 +0000
commit1bf3f73598f1a67b8c6b0a7ee2034bdeacb6e444 (patch)
tree625c645311d75ec0eb718a49dca946b40978e63d
parentad2dc71a6f40e94331e72c18b2cffa0320b18eb3 (diff)
ccc: Use CCC_NATIVE=1 by default.
- So far this works fairly well for me for building applications using clang as a gcc substitute. If you are using ccc for a different purpose and this is a problem, speak up! Note you can also use CCC_NATIVE=0 to disable. - Also, turn CCC_ECHO off as default. - Also, pass through -Wl, to linker. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56904 91177308-0d34-0410-b5e6-96231b3b80d8
-rwxr-xr-xutils/ccc18
1 files changed, 14 insertions, 4 deletions
diff --git a/utils/ccc b/utils/ccc
index e3ee17226c..1745005c72 100755
--- a/utils/ccc
+++ b/utils/ccc
@@ -23,9 +23,18 @@ def checkenv(name, alternate=None):
return v.strip()
return alternate
-CCC_ECHO = checkenv('CCC_ECHO','1')
-CCC_NATIVE = checkenv('CCC_NATIVE')
-CCC_FALLBACK = checkenv('CCC_FALLBACK')
+def checkbool(name, default=False):
+ v = os.getenv(name)
+ if v:
+ try:
+ return bool(int(v))
+ except:
+ pass
+ return default
+
+CCC_ECHO = checkbool('CCC_ECHO')
+CCC_NATIVE = checkbool('CCC_NATIVE','1')
+CCC_FALLBACK = checkbool('CCC_FALLBACK')
CCC_LANGUAGES = checkenv('CCC_LANGUAGES','c,c++,c-cpp-output,objective-c,objective-c++,objective-c-cpp-output')
if CCC_LANGUAGES:
CCC_LANGUAGES = set([s.strip() for s in CCC_LANGUAGES.split(',')])
@@ -238,7 +247,8 @@ def main(args):
i += 1
# Options with no arguments that should pass through
- if arg in ('-dynamiclib', '-bundle', '-headerpad_max_install_names'):
+ if (arg in ('-dynamiclib', '-bundle', '-headerpad_max_install_names') or
+ arg.startswith('-Wl,')):
link_opts.append(arg)
# Options with one argument that should pass through