Портативно включайте Бойкие заголовки в autoconf/automake

Я думаю, что Вы на правильном пути с, ОБЪЕДИНЯЮТ. Посмотрите здесь для примера создания разграниченной запятой строки:

http://www.sqlteam.com/article/using-coalesce-to-build-comma-delimited-string

7
задан Daniel Trebbien 21 August 2010 в 21:16
поделиться

2 ответа

The GLib 2.22 INSTALL file states that pkg-config is a requirement for installing this library. I am not being GLib (pun intended!); statement of this requirement is one of the first things on the top of the INSTALL file.

From the text surrounding it is unclear whether pkg-config is needed to compile GLib itself, however it is clear that GLib 2.22 authors do not intend for any users to compile against GLib without having pkg-config. In particular, GLib's make install will install .pc files appropriately.

For platform portability, instruct the user to set $PKG_CONFIG_PATH appropriately.

4
ответ дан 6 December 2019 в 12:52
поделиться

С помощью макроса PKG_CHECK_MODULES сгенерированные Autoconf сценарии configure могут получить пакеты -config данные автоматически. Например, добавление этой строки в ваш файл configure.ac :

PKG_CHECK_MODULES([DEPS], [glib-2.0 >= 2.24.1])

приведет к тому, что результирующий сценарий configure будет гарантировать, что установленная версия glib-2.0 больше или равна к версии 2.24.1, а также добавить к переменным DEPS_CFLAGS и DEPS_LIBS вывод pkg-config --cflags glib-2.0 и pkg- config --libs glib-2.0 соответственно. Затем вы используете переменные $ (DEPS_CFLAGS) и $ (DEPS_LIBS) в основных параметрах _CFLAGS и _LDADD :

bin_PROGRAMS = hello

hello_CFLAGS = $(DEPS_CFLAGS)
hello_SOURCES = hello.c
hello_LDADD = $(DEPS_LIBS)
12
ответ дан 6 December 2019 в 12:52
поделиться