2015-07-15 1 views
0

Я хочу предоставить файл pkg-config, который (дополнительно) поддерживает статическое связывание.Запись файла pkg-config, который поддерживает `--static`

Обычно вы можете сделать это с чем-то вроде:

Libs: -L${libdir} -lfoo 
Libs.private: -L${libdir} -lbar 
Cflags: -I${includedir} -DFOO 

, который будет давать:

$ pkg-config --cflags foo 
-I/usr/local/include -DFOO 
$ pkg-config --libs foo 
-L/usr/local/lib -lfoo 
$ pkg-config --static --cflags foo 
-I/usr/local/include -DFOO 
$ pkg-config --static --libs foo 
-L/usr/local/lib -lfoo -lbar 

К сожалению, моя библиотека Foo требует использовать другой предварительный процессор определяет при связывании динамически/статически, а также для ссылки в другой версии lib.

Таким образом, желаемый результат будет:

$ pkg-config --cflags foo 
-I/usr/local/include -DFOO_DYNAMIC 
$ pkg-config --libs foo 
-L/usr/local/lib -lfoo 
$ pkg-config --static --cflags foo 
-I/usr/local/include -DFOO_STATIC 
$ pkg-config --static --libs foo 
-L/usr/local/lib -lfoo_static 

Таким образом, вопрос:

  • возможно обеспечить различные CFLAGS/LIBS для static варианта, а не просто добавления поверх динамического варианта?

ответ

1

Короткий ответ: Нет

Обходной является предоставление другой .pc файл, названный Foo-static.pc или что-то подобное.

+1

При использовании stackoverflow также предлагается «длинный ответ». –

 Смежные вопросы

  • Нет связанных вопросов^_^