forked from Kakadu/sample-implementation
-
Notifications
You must be signed in to change notification settings - Fork 0
pacahon/sample-implementation
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Чтобы добавить в свой проект на OCaml скрипты automake/autoconf, следует: 1. Взять из репозитария template свежие файлы Makefile.am - шаблон Makefile configure.in - шаблон configure, определяет подстановки в Makefile acinclude.m4 - скрипт с недостающими макросами m4, будет включён в aclocal.m4 autogen.sh - скрипт запуска перегенерации 2. Поместить их в свой проект. 3. Адаптировать под свои нужды Makefile.am и configure.in, опираясь на комментарии в файлах. А именно: а) заменить SOURCES; б) записать в TARGET желаемый результат сборки: только .cmi/.cmo или ещё .cma/.cmxa/.a и т.п.; в) рекомендуется использовать переменные $(CMI)/$(CMO)/$(CMXA) вместо явного указания файлов и расширений; г) если для линковки требуются дополнительные библиотеки, указать их в EXTRA_CMA; библиотеки, указанные для проверки в configure.in, будут добавлены автоматически; д) если проект собирает библиотку .cma не из всех имеющихся объектов .cmo, следует привести правильный список в переменной CMO4CMA; е) дополнительные флаги парсера указать в P4FLAGS; ж) в секции all-am перечислить шаги сборки; можно просто удалить перечисленные в шаблоне ненужные; з) если проект собирает исполняемую программу, а не только модули/библиотеки, раскомменитровать секцию install-exec-am, раскомментировать удаление программы в секции uninstall-am; и) в секции META заполнить описание проекта (description) и зависимости (requires); к) в configure.in перечислить используемые модули парсера директивами AC_CHECK_CAMLP4_MODULE и модули компилятора директивами AC_CHECK_OCAML_MODULE; л) создать файл VERSION, содержащий строку $Revision: 0 $ м) ocamldep и ocamldsort не понимают синтаксис парсера (revised), так что для проектов-парсеров придётся закомментировать их вызов в Makefile.am и configure.in соответственно 4. Запустить autogen.sh. 5. Выполнить контрольную пересборку: $ ./configure $ make $ make install $ make uninstall $ make clean $ make maintainer-clean 6. Проверить соответствие оставшихся и исходных файлов. Если есть лишние или наоборот, отсутствующие, - разобраться и исправить. 7. Включить автозамену ключевого слова Revision на текущую ревизию в файле VERSION: svn propset "svn:keywords" "Revision" VERSION 8. Закоммитить проект в Subversion. При этом увеличится ревизия в файле VERSION, так и задумано. 9. Жить-поживать и добра наживать.
About
Automatically exported from code.google.com/p/sample-implementation
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- OCaml 67.7%
- TeX 11.6%
- Coq 7.2%
- HTML 5.6%
- JavaScript 2.7%
- Shell 2.4%
- Other 2.8%