Как лучше всего объединить отдельные проекты автоинструментов в другой «проект»? - PullRequest
0 голосов
/ 04 февраля 2009

Я собираюсь создать «библиотеку библиотек» и хотел бы, чтобы каждый отдельный проект управлялся с помощью autotoolset. Кроме того, я хотел бы иметь возможность собирать весь набор библиотек одновременно.

Отдельные библиотеки:

  • libyarconveniencezzz
  • libyarfoo
  • libyarbar
  • libyarbaz

Я подозреваю, что мне может понадобиться просто создать Makefile верхнего уровня, написанный вручную, а затем иметь каждую отдельную библиотеку / вспомогательную библиотеку в своем собственном пакете autotoolset.

Я сделал нечто подобное (четыре или пять лет назад), но я потерял свой ссылочный код. О единственной вещи, которую я действительно помню, было несколько месяцев возиться в автоинструментах, прежде чем все настроить так, как я хотел.

1 Ответ

1 голос
/ 05 февраля 2010

Я использую следующий код для создания нескольких пакетов, управляемых автоинструментами (хотя все они создают «нормальные» двоичные файлы, а не «библиотеку библиотек»):

configure.ac:

AC_INIT(bigpackage, 1.0, bigpackage@email.org)
AM_INIT_AUTOMAKE
AC_CONFIG_FILES(Makefile)
AC_CONFIG_SUBDIRS([package1 package2 package3])
AC_OUTPUT

Makefile.am:

SUBDIRS = package1 package2 package3

Тогда все это можно настроить как обычно:

touch NEWS README AUTHORS ChangeLog
autoreconf -i
./configure
make

Не обязательно называть это «лучшим способом», но он работает и хорошо передает все флаги подпакетам.

...