2010-07-21 1 views
3

Я пробовал редактировать SConstruct, чтобы указать на другой компилятор gcc, но он всегда использует тот, который определен в/usr/bin/gcc и/usr/bin/g ++.Как направить scons на другой компилятор, установленный в моем домашнем каталоге?

env = DefaultEnvironment() 
env['CC'] = '/home/aaron/devel/bin/gcc' 
env['CXX'] = '/home/aaron/devel/bin/g++' 

Что я делаю неправильно? Кроме того, есть ли способ, чтобы указать другой компилятор командной строки, используя что-то вроде:

scons cxx=/home/aaron/devel/bin/g++ 

Я сошел с ума, пытаясь сделать эту работу. Благодаря!

Daze

ответ

3

Существует предположение в "Почему SCons не найти мой компилятор/линкер/и т.д..?" в SCons wiki? В вашем случае, это было бы

path = ['/path/to/other/compiler/bin', '/bin', '/usr/bin',] 
env = Environment(ENV = {'PATH' : path}) 

т.е. сделать свою собственную среду точно с содержанием вы хотите, например, в $PATH (остальные биты полезные советы о средах находятся рядом в одной и той же вики-страницы).

Чтобы добавить свои параметры в командную строку scons, за the docs, вы сможете использовать AddOption, см. Раздел 12.1.5 (но, я не пробовал это сам).

+0

AddOption правильный способ сделать это. Вы также можете использовать ARGUMENTS.get ('cxx'), но тогда это не является липким. – cheez

0

А «подвох» является «просто», чтобы сделать символическую ссылку на новый интерпретатор в папке, в которой вы выдаете в SCons команду