[libclc] r200414 - Fixed ninja build issues relating to use of $(DESTDIR)
Tom Stellard
thomas.stellard at amd.com
Wed Jan 29 12:03:26 PST 2014
Author: tstellar
Date: Wed Jan 29 14:03:26 2014
New Revision: 200414
URL: http://llvm.org/viewvc/llvm-project?rev=200414&view=rev
Log:
Fixed ninja build issues relating to use of $(DESTDIR)
We use ${DESTDIR} syntax now instead of $(DESTDIR) because that syntax
works both is the shell (at least it does for bash) and for make (at
least it does for GNU Make)
Patch By: Dan Liew
Modified:
libclc/trunk/build/ninja_syntax.py
libclc/trunk/configure.py
Modified: libclc/trunk/build/ninja_syntax.py
URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/build/ninja_syntax.py?rev=200414&r1=200413&r2=200414&view=diff
==============================================================================
--- libclc/trunk/build/ninja_syntax.py (original)
+++ libclc/trunk/build/ninja_syntax.py Wed Jan 29 14:03:26 2014
@@ -8,6 +8,7 @@ use Python.
"""
import textwrap
+import re
class Writer(object):
def __init__(self, output, width=78):
@@ -31,7 +32,7 @@ class Writer(object):
def rule(self, name, command, description=None, depfile=None,
generator=False):
self._line('rule %s' % name)
- self.variable('command', command, indent=1)
+ self.variable('command', escape(command), indent=1)
if description:
self.variable('description', description, indent=1)
if depfile:
@@ -103,8 +104,15 @@ class Writer(object):
def escape(string):
- """Escape a string such that it can be embedded into a Ninja file without
- further interpretation."""
+ """Escape a string such that Makefile and shell variables are
+ correctly escaped for use in a Ninja file.
+ """
assert '\n' not in string, 'Ninja syntax does not allow newlines'
# We only have one special metacharacter: '$'.
- return string.replace('$', '$$')
+
+ # We should leave $in and $out untouched.
+ # Just look for makefile/shell style substitutions
+ return re.sub(r'(\$[{(][a-z_]+[})])',
+ r'$\1',
+ string,
+ flags=re.IGNORECASE)
Modified: libclc/trunk/configure.py
URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/configure.py?rev=200414&r1=200413&r2=200414&view=diff
==============================================================================
--- libclc/trunk/configure.py (original)
+++ libclc/trunk/configure.py Wed Jan 29 14:03:26 2014
@@ -220,15 +220,15 @@ for target in targets:
b.default(builtins_bc)
-install_cmd = ' && '.join(['mkdir -p $(DESTDIR)/%(dst)s && cp -r %(src)s $(DESTDIR)/%(dst)s' %
+install_cmd = ' && '.join(['mkdir -p ${DESTDIR}/%(dst)s && cp -r %(src)s ${DESTDIR}/%(dst)s' %
{'src': file,
'dst': libexecdir}
for (file, dest) in install_files_bc])
-install_cmd = ' && '.join(['%(old)s && mkdir -p $(DESTDIR)/%(dst)s && cp -r %(srcdir)s/generic/include/clc $(DESTDIR)/%(dst)s' %
+install_cmd = ' && '.join(['%(old)s && mkdir -p ${DESTDIR}/%(dst)s && cp -r %(srcdir)s/generic/include/clc ${DESTDIR}/%(dst)s' %
{'old': install_cmd,
'dst': includedir,
'srcdir': srcdir}])
-install_cmd = ' && '.join(['%(old)s && mkdir -p $(DESTDIR)/%(dst)s && cp -r libclc.pc $(DESTDIR)/%(dst)s' %
+install_cmd = ' && '.join(['%(old)s && mkdir -p ${DESTDIR}/%(dst)s && cp -r libclc.pc ${DESTDIR}/%(dst)s' %
{'old': install_cmd,
'dst': pkgconfigdir}])
More information about the cfe-commits
mailing list