Ada_Ru форум

Обсуждение языка Ада

gnatmake или gprmake или gmake?

Оставить новое сообщение

Сообщения

KsiCom
gnatmake или gprmake или gmake?
2007-05-31 09:09:47

Разрабатывается программный продукт.

Языки разработки: Ada, C, Fortran.

GPS не используется.

 

Есть желание разбить проект на много мелких, имеющих самостоятельную ценность и поддерживаемых независимо от основного проекта. Мелкие проекты могут зависить друг от друга. Выходом каждого мелкого проекта является дерево исходников, исходники процедур самотестирования, документация, правила сборки (в настоящее время набор .gpr файлов и Makefile для управления). Заведомо собранные объектные файлы продуктом не считаются. Желательно, чтобы для всех проектов выполнялся принцип: знаем, где находится файл проекта - можем полностью использовать проект в новом проекте.

 

Нужен какой-то "клей" для сборки мелких проектов ну и основного проекта.

Пока была только Ada, идеально подходил gnatmake с .gpr файлами. Для удовлетворения зависимостей на уровне исходников достаточно знать где находится соответсвующий .gpr файл проекта. Внутреннее устройство проекта и его зависимости отрабатываются автоматически. Всё прекрасно.

 

Как только в проекте появились исходники на "C" возникла проблема. Добавление for Languages use ("Ada", "C");

в .gpr файл ну и далее по списку не приводит к компиляции исходников, написанных на "C". Т. е. для сборки всего проекта уже недостаточно задать правильный ADA_PROJECT_PATH и запустить gnatmake -Pxxx.gpr Приходится отдельно компилировать "C" исходники, нести полученные объектные файлы в Object_Dir и только потом запускать gnatmake. Ничего сложного, но как-то совсем некрасиво.

 

Использование gprmake конечно снимает эту проблему. Но честно говоря я не очень понимаю статус данной программы и её дальнеюшую судьбу.

 

Для решения данной проблемы можно конечно ещё сделать смесь из скриптов и Makefileов. Но это уже как-то совсем велосипедно.

 

А теперь вопросы:

1. Может я просто не умею использовать файлы проектов gnatmake? Тогда если можно, привидите пожалуйста пример, в котором Автоматически собираются исходники на C и на Ada и затем успешно линкуются во что-то рабочее.

2. Если gnatmake действительно не умеет работать с исходниками на других языках, то может кто знает, планируется ли его этому научить?

3. Какой всё-таки статус у программы gprmake. Где для неё найти документацию?

KsiCom wrote:

 

1. Может я просто не умею использовать файлы проектов gnatmake?

Нам тоже не удалось использовать GNAT Project Files для сборки Ada и C++. :-(

 

В проектах с несколькими языками мы обычно используем AutoTools и ряд вспомогательных скриптов. Примеры всех средств можно найти внутри QtAda.

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти