Я хочу предоставить файл 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
варианта, а не просто добавления поверх динамического варианта?
При использовании stackoverflow также предлагается «длинный ответ». –