@@ -194,11 +194,12 @@ def generate(env):
194194 # that.
195195 env .Append (LINKFLAGS = ['/nodefaultlib:LIBCMT' ])
196196 else :
197- if not env .Detect ('llvm-config' ):
198- print 'scons: llvm-config script not found'
197+ llvm_config = os .environ .get ('LLVM_CONFIG' , 'llvm-config' )
198+ if not env .Detect (llvm_config ):
199+ print 'scons: %s script not found' % llvm_config
199200 return
200201
201- llvm_version = env .backtick ('llvm-config --version' ).rstrip ()
202+ llvm_version = env .backtick ('%s --version' % llvm_config ).rstrip ()
202203 llvm_version = distutils .version .LooseVersion (llvm_version )
203204
204205 if llvm_version < distutils .version .LooseVersion (required_llvm_version ):
@@ -208,24 +209,24 @@ def generate(env):
208209 try :
209210 # Treat --cppflags specially to prevent NDEBUG from disabling
210211 # assertion failures in debug builds.
211- cppflags = env .ParseFlags ('!llvm-config --cppflags' )
212+ cppflags = env .ParseFlags ('!%s --cppflags' % llvm_config )
212213 try :
213214 cppflags ['CPPDEFINES' ].remove ('NDEBUG' )
214215 except ValueError :
215216 pass
216217 env .MergeFlags (cppflags )
217218
218219 # Match llvm --fno-rtti flag
219- cxxflags = env .backtick ('llvm-config --cxxflags' ).split ()
220+ cxxflags = env .backtick ('%s --cxxflags' % llvm_config ).split ()
220221 if '-fno-rtti' in cxxflags :
221222 env .Append (CXXFLAGS = ['-fno-rtti' ])
222223
223224 components = ['engine' , 'mcjit' , 'bitwriter' , 'x86asmprinter' , 'mcdisassembler' , 'irreader' ]
224225
225- env .ParseConfig ('llvm-config --libs ' + ' ' .join (components ))
226- env .ParseConfig ('llvm-config --ldflags' )
226+ env .ParseConfig ('%s --libs ' % llvm_config + ' ' .join (components ))
227+ env .ParseConfig ('%s --ldflags' % llvm_config )
227228 if llvm_version >= distutils .version .LooseVersion ('3.5' ):
228- env .ParseConfig ('llvm-config --system-libs' )
229+ env .ParseConfig ('%s --system-libs' % llvm_config )
229230 env .Append (CXXFLAGS = ['-std=c++11' ])
230231 except OSError :
231232 print 'scons: llvm-config version %s failed' % llvm_version
0 commit comments