1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
============
Introduction
============
In essence, "ui-auto"'s goal is to phase out redundancies when
maintaining projects using autotools (autoconf+automake+libtool), as
well as generally help doing administrative tasks around
administrating and developing software packages.
Specifically, ui-auto is
=> a) an m4 macro archive.
=> b) a set of shell tools, mainly:
- ui-auto-release : Releasing, automatic snasphots, uploading etc.
- ui-auto-env, ui-auto-update: Inter-dependency helper for developing w/ ui-auto projects.
a) What an ui-auto enabled project looks like on the autotool side
A typical configure.ac looks like
---
AC_INIT([myproject], [1.1.32])
UI_INIT([src/myproject/Main.cpp])
...
UI_DOXYGEN
UI_DISTDIR_CRUFT
---
, and a typical top level Makefile.am looks like
---
AUTOMAKE_OPTIONS = 1.9
ACLOCAL_AMFLAGS =
SUBDIRS = src doc
docdir = $(datadir)/doc/$(PACKAGE)
doc_DATA = README NEWS AUTHORS ChangeLog COPYING
EXTRA_DIST=.ui-auto.conf
incdir = $(includedir)/$(PACKAGE)
@UI_AUTO_AM@
all-local: ui-auto-all
clean-local: ui-auto-clean
distclean-local: ui-auto-distclean
install-data-local: ui-auto-install-data
install-exec-local: ui-auto-install-exec
uninstall-local: ui-auto-uninstall
dist-hook: ui-auto-dist
----
TODO some explanation about how the ui-* m4 macros work.
b) How tools help maintain a project (releases, snaphots, upload, etc)
To use the ui-auto tools, a per-project configuration .ui-auto.conf
should be placed in the top level of the project.
TODO
b) How tools help when developing a project (builds)
TODO
|