|
|
|||||||||||||||||||||||||||||||||||||
![]() |
![]() |
||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
3.1.1 A Shell Script CompilerJust as for any other computer language, in order to properly program `configure.ac' in Autoconf you must understand what problem the language tries to address and how it does so.
The problem Autoconf addresses is that the world is a mess. After all,
you are using Autoconf in order to have your package compile easily on
all sorts of different systems, some of them being extremely hostile.
Autoconf itself bears the price for these differences:
Naturally, you might then think of shell scripts; who needs
So, what is really needed is some kind of compiler,
How does
There are two obvious possibilities: creating a brand new language or
extending an existing one. The former option is very attractive: all
sorts of optimizations could easily be implemented in the compiler and
many rigorous checks could be performed on the Autoconf program
(e.g. rejecting any non-portable construct). Alternatively, you can
extend an existing language, such as the
Autoconf does the latter: it is a layer on top of
|
|
|||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||
|
Marketplace: | |||||||||||||||||||||||||||||||||||||
| " A computer lets you make more mistakes faster than any other invention in human history, with the possible exception of handguns and tequila. " | |||||||||||||||||||||||||||||||||||||