Как указать суффикс пути установки библиотеки в waf? - PullRequest
2 голосов
/ 08 февраля 2012

Я хочу установить библиотеки, созданные с помощью команды bld.shlib(...), в <prefix>/lib<arch_suffix>, где arch_suffix может быть 64 или пустым в соответствии с архитектурой.

Как я могу это сделать?

Если это невозможно, то как я могу явно указать этот суффикс?

1 Ответ

2 голосов
/ 08 февраля 2012

Это простой пример, который должен вам помочь. Изменить путь установки действительно легко. В этом примере я добавляю параметр «суффикс» в группу «Настройка параметров» в контексте параметра. Затем в контексте настройки я установил переменную среды с именем SUFFIX. В контексте сборки я использую переменную окружения в аргументе ключевого слова "install_path". Суть в том, что вы можете ссылаться на любую переменную среды, которая была установлена.

def options(opt):
    opt.load('compiler_cxx')
    grp = opt.get_option_group('configure options')
    grp.add_option('--suffix',default='',dest='suffix')

def configure(cfg):
    cfg.load('compiler_cxx')
    cfg.env.SUFFIX = cfg.options.suffix

def build(bld):
    src=['example.cpp']
    inc=['.']
    libs=['']
    bld(features=['cxx','cxxprogram'],
        source=src,
        includes=inc,
        target='example',
        name='example',
        use=libs,
        install_path='${PREFIX}/lib${SUFFIX}'
        )

<code>waf distclean configure build install --prefix=/tmp --suffix=64
...