Я хочу собрать библиотеку с помощью waf, но установить ее под другим именем, нежели имя цели.Кажется, вы можете сделать
bld.shlib(..., install_path='${PREFIX}/lib')
, но мне нужно иметь возможность сделать что-то вроде:
bld.shlib(..., install_as='${PREFIX}/lib/xyz')
Кроме того, bld.install_as () не будет работать, так как это не кажетсяпринять задачу в качестве цели, и я не могу понять, как превратить задачу в узел, представляющий цель, поэтому следующее тоже не работает:
tgt = bld.shlib(...)
bld.install_as('foo', tgt)
Или, наоборот, мне нужновозможность отключить префикс "lib", который автоматически добавляется в имена библиотек, но только для этой библиотеки - не для всех их во время сборки, например что-то вроде:
bld.shlib(..., libprefix='', install_path="${PREFIX}/lib/")
Я знаю, что вы можете установить shlib_PATTERNтакже, но это, похоже, влияет на все библиотеки в текущей среде.У нас довольно сложная сборка, в которой используется много разных сред для одновременной сборки отладки / выпуска, поэтому простое клонирование текущей среды и изменение флага также не работает, поскольку она клонирует среду по умолчанию, а не ту, в которой в конечном итоге будет построена цельпод (потому что мы клонируем цели для каждой среды во время сборки).
Есть мысли?Спасибо!