Re: [ng-spice-devel] ACS converted to automake, autoconf
On Mon, Oct 30, 2000 at 07:45:16PM -0800, Al Davis wrote:
> [Comments on previous difficulties with autoconf and automake removed]
>
> Can you tell me what the benefits are? I really want to know.
I noticed you have confined all platform dependent code to md.h and
md.cc. This is good practice. But the only switches available to
select platform dependencies were -DUNIX and -DWIN32.
With autoconf can test for specific functions in the compiler and/or
library APIs. Based on them, you can enable or disable certain
functionality in the sources. This allows a much finer grained
control over what can be supported on a particular platform.
Autoconf and automake also allow you to build in another directory
than the one holding the sources. Using autoconf, every directory can
have different configuration switches including cross compilation
options. You could do for example:
----
$ cd test-coverage
$ ../acs/configure --enable-test-coverage
$ make check
In the directory test-coverage, configure ACS with coverage testing
enabled and run all the tests after compilation.
----
$ cd trace
$ ../acs/configure --enable-trace
$ make
In the directory trace, build ACS with tracing enabled and build the
executable.
----
cd m68k
CC=m68k-coff-gcc configure --target=m68k-coff
make
In the directory m68k, configure ACS to use m68k-coff-gcc as its
default compiler and select m68k-coff as the target platform for which
to build executables. Build the executable.
----
cd production
../acs/configure --disable-debug --prefix=/usr
make
make install
In the directory production, configure ACS without assertion checking.
After building, acs (the executable) is installed in /usr/bin.
----
Automake/autoconf transparently handles dependency generation, packing
up a tarball for distribution, building static and shared libraries.
This allows the developer to put more time into improving the code
instead of taking care of administrative detail.
I hope this clarifies matters a bit.
--
Arno
PGP signature
Partial thread listing:
- Re: [ng-spice-devel] ACS converted to automake, autoconf, (continued)