2016-07-07 7 views
0

autoscan произвел ряд проверок функций (AC_FUNC_* и AC_CHECK_FUNCS) и . Теперь мне нужно взять код gnulib. Я просто пытаюсь импортировать каждую функцию и заголовок, идентифицированные автоскандами? Половина из них не отображается на выходе gnulib-tool --list. Или я жду, пока ./configure не сработает на какой-либо платформе?Как определить, что импортировать с помощью gnulib-инструмента

ответ

1

Мое предложение было бы ignore autoscan entirely и вместо этого попытаться выяснить, на какой платформе вы нацеливаетесь.

В частности, autoscan попытается добавить тесты для функций, которые доступны на каждой платформе с 1990 года, но может отсутствовать, например, на ОС, отличной от SysV.

Начните работу с целевой базой платформы (например, C99 и последней версией POSIX), а затем выясните, какие другие ОС вы хотите настроить и чего не хватает.

Не пытайтесь покрыть базы для ОС, к которым у вас нет доступа, скорее всего, вы не будете знать, что им нужно для их создания, не говоря уже о запуске.

Полное указание всех источников обязательно.

0

Есть два способа, чтобы определить, какой список из gnulib модулей, которые вы, возможно, потребуется:

  • Вы можете сканировать исходный код или файлы объектов (с nm) вручную.
  • Вы можете импортировать all the POSIX header file modules через gnulib-tool, а затем добавить -DGNULIB_POSIXCHECK в CFLAGS, скомпилировать ваш пакет и проанализировать полученные предупреждения.

Кроме того, некоторые ограничения gnulib существуют только для старых платформ. Вы можете прочитать list of what each override fixes и применить свое собственное мнение.