[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: autotools & prayertime
- To: Development Discussions <developer at arabeyes dot org>
- Subject: Re: autotools & prayertime
- From: Behdad Esfahbod <behdad at bamdad dot org>
- Date: Fri, 19 Dec 2003 00:33:23 -0500
On Thu, 18 Dec 2003, Nadim Shaikli wrote:
> Thamer, to preface my questions and comments let me say that I know
> close to nothing about autotools/libtoolize beyond simply using 'em
> (I've never had the pleasure (or whatever you want to call it :-) in
> developing 'em). I do have a few issues with the autotools on the
> itl-prayertime lib specifically.
>
> I'm on a SUN machine using solaris, so I'm not sure if this is a
> portability issue or what, but here is a minimal description.
>
> $ make -f Makefile.cvs
> set -x
> aclocal
> aclocal: configure.in: 9: macro `AM_PROG_LIBTOOL' not found in library
> make: *** [all] Error 1
Do you have libtool installed?? Do "locate libtool.m4". Put
libtool.m4 somewhere accessable.
> once I comment-out the variable above (just for grins) I see this,
Well, you should not ;).
> set -x
> aclocal
> libtoolize --force --copy
> Remember to add `AC_PROG_LIBTOOL' to `configure.in'.
> You should update your `aclocal.m4' by running aclocal.
> autoheader
> automake --add-missing --copy
> configure.in: installing `./install-sh'
> configure.in: installing `./mkinstalldirs'
> configure.in: installing `./missing'
> Makefile.am:12: Libtool library used but `LIBTOOL' is undefined
> Makefile.am:12:
> Makefile.am:12: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
> Makefile.am:12: to `configure.in' and run `aclocal' and `autoconf' again.
> Makefile.am: installing `./compile'
> Makefile.am: installing `./depcomp'
> make: *** [all] Error 1
>
> I then tried to create my own configure.in by running 'autoscan' and
> that resulted in a completely different set of problems. As noted,
> I'm not familiar enough to know how to debug and correct these problems,
> but I know I need to know more (chances are, I'll have to do the same
> for the 'hijri' itl lib, etc). Do you have a short HOWTO or primer (not
> looking to read books and 26 chapters on the topic :-)
You may wanna look at fribidi's. When I need more autotools in
fribidi, I look in glib's.
> In passing, I believe the following suggestions might be of interest
> (Elzubeir, this might of interest to you too since it affects the examples
> in the developer guide),
>
> 1. In Makefile.cvs make 'all' appear first instead of 'configure' - this
> will then simply run the autotools to create their output instead of
> forcing the user to run configure as well (he/she might not have
> intended to do that as well).
Forcing a configure is Gnome's habbit. I don't like that.
Moreover, using Makefile.cvs is KDE's habbit. I don't like that
too. ;-). As simple bootstrap.sh or autogen.sh does the job.
> 2. Add a 'clean' option to the Makefile.cvs so that it goes back to the
> pristine condition things were in before running 'make -f Makefile.cvs'.
When you have your Makefile out of configure, you can do
make maintainer-clean.
> In other words, rm all the intermediate files (autom4te.cache/, *.m4,
> compile, config-h.in, config.guess, config.sub, configure, depcomp,
> install-sh, ltmain.sh, missing, mkinstalldirs, etc) if one were to
> have compiled everything and wanted to revert back to the very
> beginning.
>
> a. Not sure if this is worth it, but try to remove things once they
> are done in the normal auto-generation process.
>
> 3. All projects that incorporate autotools (and all are going in that
> direction), then the projects should put all its source files in
> a ./src directory and the documentations in ./doc, etc.
Are you talking politically, ideally, ..? ;)
> Using -- autoconf-2.57, automake-1.7.9, libtool-1.5
>
> BTW: on linux I have no issues; the above 3 points would be nice to see.
> I also don't see 'fribidi' for instance using "libtoolize", is our
> process over-complicated compared to their 'bootstrap' ?
libtoolize is something like autoscan. It should be run just
once at the very beginning.
> Just trying to learn...
We all do.
> Salam.
>
> - Nadim
behdad