Anonymous avatar Anonymous committed 28973ec

Removed Autotools - it is auto-generated from something else.

Comments (0)

Files changed (67)

vipe/lecture/Autotools/Makefile_am/extra_dist.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-EXTRA_DIST
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./headers.html" class="nav">Previous</a></td>
-<td>
-<a href="./plain.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-6.5 EXTRA_DIST
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-The <tt>EXTRA_DIST</tt> argument holds a list of all the files that are part
-of the package, but are not installed by default and were not specified
-in any other way.
-</li>
-<li>
-It includes such odds and ends as README files, internal headers and
-maintainance scripts.
-</li>
-</ul>
-</h3>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./headers.html" class="nav">Previous</a></td>
-<td>
-<a href="./plain.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/Makefile_am/headers.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-Library Headers
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./ldadd.html" class="nav">Previous</a></td>
-<td>
-<a href="./extra_dist.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-6.4 Library Headers
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-Headers of libraries to be installed during the installation are specified
-using the <tt>_HEADERS</tt> directive.
-</li>
-</ul>
-</h3>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./ldadd.html" class="nav">Previous</a></td>
-<td>
-<a href="./extra_dist.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/Makefile_am/index.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-Format of the Makefile.am File
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="../" class="nav">Contents</a></td>
-<td>
-<a href="../" class="nav">Up</a></td>
-<td>
-<a href="../changequote.html" class="nav">Previous</a></td>
-<td>
-<a href="super.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-6 Format of the Makefile.am File
-</h1>
-<ul>
-<a href="./super.html" class="contents">6.1 Super Targets</a><br>
-<a href="./sources.html" class="contents">6.2 Specifying the source files</a><br>
-<a href="./ldadd.html" class="contents">6.3 Linking with internal libraries</a><br>
-<a href="./headers.html" class="contents">6.4 Library Headers</a><br>
-<a href="./extra_dist.html" class="contents">6.5 EXTRA_DIST</a><br>
-<a href="./plain.html" class="contents">6.6 Plain Rules</a><br>
-<a href="./lt-version.html" class="contents">6.7 Libtool Library Versioning</a><br>
-</ul>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="../" class="nav">Contents</a></td>
-<td>
-<a href="../" class="nav">Up</a></td>
-<td>
-<a href="../changequote.html" class="nav">Previous</a></td>
-<td>
-<a href="super.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/Makefile_am/ldadd.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-Linking with internal libraries
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./sources.html" class="nav">Previous</a></td>
-<td>
-<a href="./headers.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-6.3 Linking with internal libraries
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-To link a target with an internal library specify the target name as before
-along with <tt>_LDADD</tt> variable and type the library name ending
-with <tt>.la</tt>.
-</li>
-</ul>
-</h3>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./sources.html" class="nav">Previous</a></td>
-<td>
-<a href="./headers.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/Makefile_am/lt-version.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-Libtool Library Versioning
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./plain.html" class="nav">Previous</a></td>
-<td>
-<a href="./../acconfig.h/" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-6.7 Libtool Library Versioning
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-In the flag <tt>mylibrary_LDFLAGS</tt> one should specify an option like that:
-<tt>-version-info [CURRENT]:[REVISION]:[AGE]</tt>.
-</li>
-<li>
-<tt>[CURRENT]</tt> is the most recent version of the library that the library
-supports.
-</li>
-<li>
-<tt>[REVISION]</tt> is the implementation number of the current interface (i.e:
-patch releases)
-</li>
-<li>
-<tt>[AGE]</tt> is the number of versions back that this version is still
-backwards compatible with.
-</li>
-</ul>
-</h3>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./plain.html" class="nav">Previous</a></td>
-<td>
-<a href="./../acconfig.h/" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/Makefile_am/plain.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-Plain Rules
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./extra_dist.html" class="nav">Previous</a></td>
-<td>
-<a href="./lt-version.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-6.6 Plain Rules
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-It is possible to specify plain rules in an Automake file, just as you
-would in a normal makefile.
-</li>
-<li>
-Within these rules one can use the meta-variables <tt>$&lt;</tt> as the
-source and <tt>$@</tt> as the target.
-</li>
-</ul>
-</h3>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./extra_dist.html" class="nav">Previous</a></td>
-<td>
-<a href="./lt-version.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/Makefile_am/sources.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-Specifying the source files
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./super.html" class="nav">Previous</a></td>
-<td>
-<a href="./ldadd.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-6.2 Specifying the source files
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-One can specify the source files for each super target by typing the base
-name of the package (with <tt>_</tt>'s instead of <tt>-</tt>'s etc) followed
-by <tt>_SOURCES</tt> followed by an equal sign and a list of the sources.
-</li>
-<li>Example:</li>
-</ul>
-</h3>
-<table class="mycode" summary="">
-<tr class="mycode">
-<td class="mycode">
-<pre>
-<font color="#a52a2a"><b>lib_LTLIBRARIES </b></font>= libpthread_rwlock_fcfs.la
-<font color="#2e8b57"><b>libpthread_rwlock_fcfs_la_SOURCES </b></font>= rwlock.c queue.c
-</pre>
-</td>
-</tr>
-</table>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./super.html" class="nav">Previous</a></td>
-<td>
-<a href="./ldadd.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/Makefile_am/super.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-Super Targets
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./" class="nav">Previous</a></td>
-<td>
-<a href="./sources.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-6.1 Super Targets
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-There are several top targets available. In each one, you can specify several
-targets to build.
-</li>
-<li>
-A partial list is:
-</li>
-<ol>
-<li>
-<tt>bin_PROGRAMS</tt> - programs that should be compiled and installed.
-</li>
-<li>
-<tt>bin_SCRIPTS</tt> - programs that should be installed but not compiled
-</li>
-<li>
-<tt>man_MANS</tt> - man pages that should be installed.
-</li>
-<li>
-<tt>lib_LTLIBRARIES</tt> - Libraries that should be built using libtool.
-</li>
-<li>
-<tt>noinst_PROGRAMS</tt> - Programs that should be compiled but not installed.
-</li>
-</ol>
-</ul>
-</h3>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./" class="nav">Previous</a></td>
-<td>
-<a href="./sources.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/Summary.txt

-Autoconf/Automake/Libtool Lecture Summary:
-------------------------------------------
-
-* Introduction:
-
-    - The de-facto standard for portably building C and C++ applications.
-    - Supports all UNIX platforms as well as Microsoft Win32.
-    - As far as the installer is concerned depends on nothing but
-    a Bourne shell, a C compiler, and a standard "make" program.
-    - The developer requires other tools such as the Autoconf package
-    , Perl, the automake package and m4.
-
-* How it all fits together:
-    - Automake takes as input Makefile.am and produces Makefile.in
-    - The "autoconf" program takes as input the file configure.in (or in
-    Autoconf 2.5 the file configure.ac) and generates the ./configure script
-    out of it.
-    - ./configure, when ran by the user generates the normal "Makefile"
-    out of "Makefile.in" and optionally processes other files (such as 
-    config.h.in -> config.h, an optional RPM Spec, Makefiles in other
-    directories, etc)
-
-* A simple project:
-    - Show the pthread_rwlock and explain it
-
-* Commonly used configure.in macros:
-    AC_DEFINE / AC_DEFINE_UNQUOTED
-    AC_CHECK_LIB
-    AC_ARG_ENABLE
-    AC_OUTPUT
-    AC_CHECK_FUNCS
-    AC_CHECK_HEADERS
-
-* configure.in : changequote(, ) and changequote([, ])
-
-* Commonly used configure.in variables:
-    CFLAGS
-
-* Format of Makefile.am
-    - bin_PROGRAMS
-    - bin_SCRIPTS
-    - prog_SOURCES
-    - prog_LDADD
-    - EXTRA_DIST
-    - man_MANS
-    - lib_LTLIBRARIES
-    - prog_la_LDFLAGS
-    - proginclude_HEADERS
-    - Vanilla targets
-
-* Format of config.h.in
-
-Issues:
--------
-
-* Creating a sub-directory with a different configuration:
-    - SUBDIRS variable in automake
-    - (cd $mydir && ./configure --prefix="$prefix")
-
-* Creating a mylibrary-config program
-
-* Creating an RPM Spec
-
-
-
-
-

vipe/lecture/Autotools/acconfig.h/example.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-Example
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./" class="nav">Previous</a></td>
-<td>
-<a href="./../issues/" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-7.1 Example
-</h1>
-<table class="mycode" summary="">
-<tr class="mycode">
-<td class="mycode">
-<pre>
-
-<font color="#0000ff">/*</font>
-<font color="#0000ff">    config.h - Configuration file for Freecell Solver</font>
-
-<font color="#0000ff">    Written by Shlomi Fish, 2000</font>
-
-<font color="#0000ff">    This file is distributed under the public domain.</font>
-<font color="#0000ff">    (It is not copyrighted).</font>
-<font color="#0000ff">*/</font>
-
-<font color="#a020f0">#ifndef __CONFIG_H</font>
-<font color="#a020f0">#define __CONFIG_H</font>
-
-<font color="#a020f0">#ifdef __cplusplus</font>
-<font color="#2e8b57"><b>extern</b></font> <font color="#ff00ff">&quot;C&quot;</font> {
-<font color="#a020f0">#endif</font>
-
-<font color="#a020f0">#undef DEBUG_STATES</font>
-<font color="#a020f0">#undef COMPACT_STATES</font>
-<font color="#a020f0">#undef INDIRECT_STACK_STATES</font>
-
-<font color="#a020f0">#undef CARD_DEBUG_PRES</font>
-
-<font color="#0000ff">/*</font>
-<font color="#0000ff"> * Define this macro if the C compiler supports the keyword inline or</font>
-<font color="#0000ff"> * a similar keyword that was found by Autoconf (and defined as inline).</font>
-<font color="#0000ff"> * */</font>
-<font color="#a020f0">#undef HAVE_C_INLINE</font>
-
-
-<font color="#0000ff">/*</font>
-<font color="#0000ff">    The sort margin size for the previous states array.</font>
-<font color="#0000ff">*/</font>
-<font color="#a020f0">#define PREV_STATES_SORT_MARGIN </font><font color="#ff00ff">32</font>
-<font color="#0000ff">/*</font>
-<font color="#0000ff">    The amount prev_states grow by each time it each resized.</font>
-<font color="#0000ff">    Should be greater than 0 and in order for the program to be</font>
-<font color="#0000ff">    efficient, should be much bigger than</font>
-<font color="#0000ff">    PREV_STATES_SORT_MARGIN.</font>
-<font color="#0000ff">*/</font>
-<font color="#a020f0">#define PREV_STATES_GROW_BY </font><font color="#ff00ff">128</font>
-
-<font color="#0000ff">/*</font>
-<font color="#0000ff">    The amount the pack pointers array grows by. Shouldn't be too high</font>
-<font color="#0000ff">    because it doesn't happen too often.</font>
-<font color="#0000ff">*/</font>
-<font color="#a020f0">#define IA_STATE_PACKS_GROW_BY </font><font color="#ff00ff">32</font>
-
-<font color="#0000ff">/*</font>
-<font color="#0000ff"> * The maximal number of Freecells. For efficiency's sake it should be a</font>
-<font color="#0000ff"> * multiple of 4.</font>
-<font color="#0000ff"> * */</font>
-
-<font color="#a020f0">#define MAX_NUM_FREECELLS </font><font color="#ff00ff">4</font>
-
-<font color="#0000ff">/*</font>
-<font color="#0000ff"> * The maximal number of Stacks. For efficiency's sake it should be a</font>
-<font color="#0000ff"> * multiple of 4.</font>
-<font color="#0000ff"> * */</font>
-
-<font color="#a020f0">#define MAX_NUM_STACKS </font><font color="#ff00ff">10</font>
-<font color="#0000ff">/*</font>
-<font color="#0000ff"> * The maximal number of initial cards that can be found in a stack. The rule</font>
-<font color="#0000ff"> * of the thumb is that it plus 13 should be a multiple of 4.</font>
-<font color="#0000ff"> * */</font>
-<font color="#a020f0">#define MAX_NUM_INITIAL_CARDS_IN_A_STACK </font><font color="#ff00ff">8</font>
-
-<font color="#a020f0">#define MAX_NUM_DECKS </font><font color="#ff00ff">2</font>
-
-
-<font color="#a020f0">#define FCS_STATE_STORAGE_INDIRECT </font><font color="#ff00ff">0</font>
-<font color="#a020f0">#define FCS_STATE_STORAGE_INTERNAL_HASH </font><font color="#ff00ff">1</font>
-<font color="#a020f0">#define FCS_STATE_STORAGE_LIBAVL_AVL_TREE </font><font color="#ff00ff">2</font>
-<font color="#a020f0">#define FCS_STATE_STORAGE_LIBAVL_REDBLACK_TREE </font><font color="#ff00ff">3</font>
-<font color="#a020f0">#define FCS_STATE_STORAGE_LIBREDBLACK_TREE </font><font color="#ff00ff">4</font>
-<font color="#a020f0">#define FCS_STATE_STORAGE_GLIB_TREE </font><font color="#ff00ff">5</font>
-<font color="#a020f0">#define FCS_STATE_STORAGE_GLIB_HASH </font><font color="#ff00ff">6</font>
-<font color="#a020f0">#define FCS_STATE_STORAGE_DB_FILE </font><font color="#ff00ff">7</font>
-
-<font color="#a020f0">#define FCS_STACK_STORAGE_INTERNAL_HASH </font><font color="#ff00ff">0</font>
-<font color="#a020f0">#define FCS_STACK_STORAGE_LIBAVL_AVL_TREE </font><font color="#ff00ff">1</font>
-<font color="#a020f0">#define FCS_STACK_STORAGE_LIBAVL_REDBLACK_TREE </font><font color="#ff00ff">2</font>
-<font color="#a020f0">#define FCS_STACK_STORAGE_LIBREDBLACK_TREE </font><font color="#ff00ff">3</font>
-<font color="#a020f0">#define FCS_STACK_STORAGE_GLIB_TREE </font><font color="#ff00ff">4</font>
-<font color="#a020f0">#define FCS_STACK_STORAGE_GLIB_HASH </font><font color="#ff00ff">5</font>
-
-<font color="#a020f0">#undef FCS_STATE_STORAGE</font>
-<font color="#a020f0">#undef FCS_STACK_STORAGE</font>
-
-<font color="#a020f0">#ifdef __cplusplus</font>
-}
-<font color="#a020f0">#endif</font>
-
-<font color="#a020f0">#endif</font>
-
-</pre>
-</td>
-</tr>
-</table>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./" class="nav">Previous</a></td>
-<td>
-<a href="./../issues/" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/acconfig.h/index.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-Format of acconfig.h
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="../" class="nav">Contents</a></td>
-<td>
-<a href="../" class="nav">Up</a></td>
-<td>
-<a href="../Makefile_am/lt-version.html" class="nav">Previous</a></td>
-<td>
-<a href="example.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-7 Format of acconfig.h
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-<tt>acconfig.h</tt> is used to generate <tt>config.h.in</tt>, which is the
-file used to generate <tt>config.h</tt>.
-</li>
-<li>
-It should contain all the macro definitions needed to control the program.
-</li>
-<li>
-In it, a line of <tt>#undef MYMACRO</tt> specifies that the macro should
-not be defined by default. If it was defined during the run of the ./configure
-script, it would replace it as such.
-</li>
-<li>
-A line containing <tt>#define MYMACRO</tt> specifies that the macro would
-always be defined, but its value may vary.
-</li>
-<li>
-The utility <tt>autoheader</tt> can help in creating an initial
-<tt>config.h.in</tt> file.
-</li>
-</ul>
-</h3>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="../" class="nav">Contents</a></td>
-<td>
-<a href="../" class="nav">Up</a></td>
-<td>
-<a href="../Makefile_am/lt-version.html" class="nav">Previous</a></td>
-<td>
-<a href="example.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/changequote.html

-<html>
-<head>
-<link rel="StyleSheet" href="./style.css" type="text/css">
-<title>
-Using changequote
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./common_macros/AC_CHECK_HEADERS.html" class="nav">Previous</a></td>
-<td>
-<a href="./Makefile_am/" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-5 Using changequote
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-The m4 preprocessor which is used to process <tt>configure.in</tt>
-uses <tt>[</tt> and <tt>]</tt> for grouping arguments.
-</li>
-<li>
-If you want to use them yourself, type <tt>changequote(, )</tt> at the
-beginning of the offending code and <tt>changequote([, ])</tt> afterwards.
-</li>
-<li>
-Here's an example:
-</li>
-</ul>
-</h3>
-<table class="mycode" summary="">
-<tr class="mycode">
-<td class="mycode">
-<pre>
-<font color="#008b8b">AC_ARG_ENABLE</font><font color="#6a5acd">(</font>max-num-stacks<font color="#6a5acd">,</font>
- <font color="#6a5acd">[</font>  --enable-max-num-stacks<font color="#6a5acd">[</font><font color="#a52a2a"><b>=</b></font>stacks num<font color="#6a5acd">]</font> Set the maximal number of Stacks<font color="#6a5acd">],</font>
- <font color="#6a5acd">[</font> <font color="#a52a2a"><b>if</b></font>   <font color="#a52a2a"><b>test</b></font> <font color="#ff00ff">&quot;x$enableval&quot;</font> <font color="#a52a2a"><b>=</b></font> <font color="#ff00ff">&quot;x&quot;</font> <font color="#6a5acd">;</font> <font color="#a52a2a"><b>then</b></font>
-      max_num_stacks<font color="#a52a2a"><b>=</b></font><font color="#ff00ff">8</font>
-   <font color="#a52a2a"><b>else</b></font>
-       changequote<font color="#6a5acd">(,</font> <font color="#6a5acd">)</font>
-       <font color="#0000ff"># Check if it's indeed a number</font>
-       <font color="#a52a2a"><b>if</b></font> echo <font color="#ff00ff">&quot;0$enableval&quot;</font> <font color="#a52a2a"><b>|</b></font> grep '<font color="#6a5acd">[</font>^<font color="#ff00ff">0-9</font><font color="#6a5acd">]</font>' <font color="#a52a2a"><b>&gt;</b></font> /dev/null <font color="#6a5acd">;</font> <font color="#a52a2a"><b>then</b></font>
-           echo
-           echo <font color="#ff00ff">&quot;Error!&quot;</font>
-           echo <font color="#ff00ff">&quot;max-num-stacks should be a number!&quot;</font>
-           exit <font color="#ff00ff">-1</font>
-       elif expr $enableval <font color="#a52a2a"><b>\&lt;</b></font> <font color="#ff00ff">8</font> <font color="#a52a2a"><b>&gt;</b></font> /dev/null <font color="#6a5acd">;</font> <font color="#a52a2a"><b>then</b></font>
-           echo
-           echo <font color="#ff00ff">&quot;Error!&quot;</font>
-           echo <font color="#ff00ff">&quot;max-num-stacks cannot be lower than 8&quot;</font>
-           exit <font color="#ff00ff">-1</font>
-       elif expr $enableval <font color="#a52a2a"><b>\&gt;</b></font> <font color="#ff00ff">20</font> <font color="#a52a2a"><b>&gt;</b></font> /dev/null <font color="#6a5acd">;</font> <font color="#a52a2a"><b>then</b></font>
-           echo
-           echo <font color="#ff00ff">&quot;Error!&quot;</font>
-           echo <font color="#ff00ff">&quot;max-num-stacks cannot be greater than 20&quot;</font>
-           exit <font color="#ff00ff">-1</font>
-       <font color="#a52a2a"><b>else</b></font>
-           max_num_stacks<font color="#a52a2a"><b>=</b></font><font color="#ff00ff">&quot;$enableval&quot;</font>
-       <font color="#a52a2a"><b>fi</b></font>
-       changequote<font color="#6a5acd">([,</font> <font color="#6a5acd">])</font>
-   <font color="#a52a2a"><b>fi</b></font><font color="#6a5acd">])</font>
-
-</pre>
-</td>
-</tr>
-</table>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./common_macros/AC_CHECK_HEADERS.html" class="nav">Previous</a></td>
-<td>
-<a href="./Makefile_am/" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/common_macros/AC_ARG_ENABLE.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-AC_ARG_ENABLE
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./AC_CHECK_LIB.html" class="nav">Previous</a></td>
-<td>
-<a href="./AC_OUTPUT.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-4.3 AC_ARG_ENABLE
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-<tt>AC_ARG_ENABLE</tt> allows you to define another command line option.
-</li>
-<li>
-It accepts three arguments:
-<ol>
-<li>
-The flag base: the flag would be
-<tt>--enable-[option base]</tt>
-</li>
-<li>
-The help for this option
-</li>
-<li>
-The code to execute when the <tt>configure</tt> script is invoked with this
-option. In it the command line variable <tt>enableval</tt> would be set to
-the argument
-</li>
-</ol>
-</li>
-<li>
-Examples:
-</li>
-</ul>
-</h3>
-<table class="mycode" summary="">
-<tr class="mycode">
-<td class="mycode">
-<pre>
-<font color="#008b8b">AC_ARG_ENABLE</font><font color="#6a5acd">(</font>debug-rwlock<font color="#6a5acd">,</font>
- <font color="#6a5acd">[</font>  --enable-debug-rwlock  Enable an RWLock that prints debug notices <font color="#a52a2a"><b>\</b></font>
-  on the screen. This is a debugging feature which should not be <font color="#a52a2a"><b>\</b></font>
-  usually enabled<font color="#6a5acd">],</font>
- <font color="#6a5acd">[</font> debug_rwlock<font color="#a52a2a"><b>=</b></font>yes
- <font color="#6a5acd">])</font>
-
-<font color="#008b8b">AC_ARG_ENABLE</font><font color="#6a5acd">(</font>states-type<font color="#6a5acd">,</font>
- <font color="#6a5acd">[</font>  --enable-states-type<font color="#6a5acd">[</font><font color="#a52a2a"><b>=</b></font>state type<font color="#6a5acd">]</font> Specify the states type:
-                      compact <font color="#6a5acd">[</font>default<font color="#6a5acd">]</font>: Compact States
-                      debug: Debug States <font color="#6a5acd">(</font>very slow<font color="#6a5acd">)</font>
-                      indirect: Indirect Stack States<font color="#6a5acd">],</font>
- <font color="#6a5acd">[</font> <font color="#a52a2a"><b>if</b></font>   <font color="#a52a2a"><b>test</b></font> <font color="#ff00ff">&quot;x$enableval&quot;</font> <font color="#a52a2a"><b>=</b></font> <font color="#ff00ff">&quot;xcompact&quot;</font> <font color="#6a5acd">;</font> <font color="#a52a2a"><b>then</b></font>
-      states_type<font color="#a52a2a"><b>=</b></font>compact
-   elif <font color="#a52a2a"><b>test</b></font> <font color="#ff00ff">&quot;x$enableval&quot;</font> <font color="#a52a2a"><b>=</b></font> <font color="#ff00ff">&quot;xdebug&quot;</font> <font color="#6a5acd">;</font> <font color="#a52a2a"><b>then</b></font>
-      states_type<font color="#a52a2a"><b>=</b></font>debug
-   elif <font color="#a52a2a"><b>test</b></font> <font color="#ff00ff">&quot;x$enableval&quot;</font> <font color="#a52a2a"><b>=</b></font> <font color="#ff00ff">&quot;xindirect&quot;</font> <font color="#6a5acd">;</font> <font color="#a52a2a"><b>then</b></font>
-      states_type<font color="#a52a2a"><b>=</b></font>indirect
-   <font color="#a52a2a"><b>else</b></font>
-      echo
-      echo <font color="#ff00ff">&quot;Error!&quot;</font>
-      echo <font color="#ff00ff">&quot;Unknown states' type&quot;</font>
-      exit <font color="#ff00ff">-1</font>
-   <font color="#a52a2a"><b>fi</b></font>
- <font color="#6a5acd">])</font>
-</pre>
-</td>
-</tr>
-</table>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./AC_CHECK_LIB.html" class="nav">Previous</a></td>
-<td>
-<a href="./AC_OUTPUT.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/common_macros/AC_CHECK_FUNCS.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-AC_CHECK_FUNCS
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./AC_OUTPUT.html" class="nav">Previous</a></td>
-<td>
-<a href="./AC_CHECK_HEADERS.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-4.5 AC_CHECK_FUNCS
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-<tt>AC_CHECK_FUNCS</tt> checks for the existence of functions in the C standard
-library.
-</li>
-<li>
-If found, the preprocessor macro <tt>HAVE_[function]</tt> is defined.
-</li>
-</ul>
-</h3>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./AC_OUTPUT.html" class="nav">Previous</a></td>
-<td>
-<a href="./AC_CHECK_HEADERS.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/common_macros/AC_CHECK_HEADERS.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-AC_CHECK_HEADERS
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./AC_CHECK_FUNCS.html" class="nav">Previous</a></td>
-<td>
-<a href="./../changequote.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-4.6 AC_CHECK_HEADERS
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-<tt>AC_CHECK_HEADERS</tt> check for the existence of the header files
-specified as the first argument.
-</li>
-<li>
-If they are found the preprocessor macro <tt>HAVE_[header]</tt> (in all caps)
-is defined.
-</li>
-</ul>
-</h3>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./AC_CHECK_FUNCS.html" class="nav">Previous</a></td>
-<td>
-<a href="./../changequote.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/common_macros/AC_CHECK_LIB.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-AC_CHECK_LIB
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./AC_DEFINE.html" class="nav">Previous</a></td>
-<td>
-<a href="./AC_ARG_ENABLE.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-4.2 AC_CHECK_LIB
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-<tt>AC_CHECK_LIB</tt> checks for a presence of a symbol inside a library.
-</li>
-<li>
-It can run optional shell codes, (accepted as the third and fourth arguments)
-if it succeeds or fails.
-</li>
-<li>
-If it succeeds it will prepend <tt>-l[library]</tt> to compiler flags,
-and define the preprocessor macro <tt>HAVE_LIB[library]</tt>.
-</li>
-<li>
-Examples:
-</li>
-</ul>
-</h3>
-<table class="mycode" summary="">
-<tr class="mycode">
-<td class="mycode">
-<pre>
-<font color="#008b8b">AC_CHECK_LIB</font><font color="#6a5acd">(</font>m<font color="#6a5acd">,</font> pow<font color="#6a5acd">)</font>
-
-<font color="#a52a2a"><b>if</b></font> <font color="#a52a2a"><b>test</b></font> <font color="#ff00ff">&quot;x$requires_libavl&quot;</font> <font color="#a52a2a"><b>=</b></font> <font color="#ff00ff">&quot;xyes&quot;</font> <font color="#6a5acd">;</font> <font color="#a52a2a"><b>then</b></font>
-    <font color="#008b8b">AC_CHECK_LIB</font><font color="#6a5acd">(</font>avl<font color="#6a5acd">,</font> avl_create<font color="#6a5acd">,</font> <font color="#6a5acd">[],</font> <font color="#6a5acd">[</font>
-        echo <font color="#ff00ff">&quot;Error! You need to have libavl around.&quot;</font>
-        exit <font color="#ff00ff">-1</font>
-        <font color="#6a5acd">])</font>
-<font color="#a52a2a"><b>fi</b></font>
-</pre>
-</td>
-</tr>
-</table>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./AC_DEFINE.html" class="nav">Previous</a></td>
-<td>
-<a href="./AC_ARG_ENABLE.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/common_macros/AC_DEFINE.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-AC_DEFINE
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./" class="nav">Previous</a></td>
-<td>
-<a href="./AC_CHECK_LIB.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-4.1 AC_DEFINE
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-The macro <tt>AC_DEFINE</tt> can be used anywhere in the script, to define
-a C preprocessor macro.
-</li>
-<li>
-It accepts an optional argument indicating the value of the macro.
-</li>
-<li>
-If you want to do shell expansion for the value,
-use <tt>AC_DEFINE_UNQUOTED</tt> instead.
-</li>
-<li>
-Some Examples:
-</li>
-</ul>
-</h3>
-<table class="mycode" summary="">
-<tr class="mycode">
-<td class="mycode">
-<pre>
-<font color="#008b8b">AC_DEFINE</font><font color="#6a5acd">(</font><font color="#008b8b">HELLO</font><font color="#6a5acd">)</font>
-
-<font color="#008b8b">AC_DEFINE</font><font color="#6a5acd">(</font><font color="#008b8b">VERSION</font><font color="#6a5acd">,</font> <font color="#ff00ff">&quot;5.6&quot;</font><font color="#6a5acd">)</font>
-
-myvar<font color="#a52a2a"><b>=</b></font><font color="#ff00ff">&quot;foo&quot;</font>
-othervar<font color="#a52a2a"><b>=</b></font><font color="#ff00ff">&quot;bar&quot;</font>
-<font color="#008b8b">AC_DEFINE_UNQUOTED</font><font color="#6a5acd">(</font><font color="#008b8b">TEST</font><font color="#6a5acd">,</font> <font color="#ff00ff">&quot;${myvar}${othervar}&quot;</font><font color="#6a5acd">)</font>
-</pre>
-</td>
-</tr>
-</table>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./" class="nav">Previous</a></td>
-<td>
-<a href="./AC_CHECK_LIB.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/common_macros/AC_OUTPUT.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-AC_OUTPUT
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./AC_ARG_ENABLE.html" class="nav">Previous</a></td>
-<td>
-<a href="./AC_CHECK_FUNCS.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-4.4 AC_OUTPUT
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-<tt>AC_OUTPUT</tt> generates files that are required for building the packages.
-</li>
-<li>
-Its first argument is a whitespace separated list of files. The script will
-look for these files along with the suffix <tt>.in</tt> and convert them
-to their output files while substituting the output variable values.
-</li>
-<li>
-Two optional argument are commands to be excuted afterwards, and commands to
-be excuted beforehand.
-</li>
-<li>
-Example:
-</li>
-</ul>
-</h3>
-<table class="mycode" summary="">
-<tr class="mycode">
-<td class="mycode">
-<pre>
-<font color="#008b8b">AC_OUTPUT</font><font color="#6a5acd">([</font>Makefile freecell-solver-config freecell-solver.spec<font color="#6a5acd">],</font> <font color="#6a5acd">[</font>chmod <font color="#a52a2a"><b>+</b></font>x freecell-solver-config<font color="#6a5acd">])</font>
-</pre>
-</td>
-</tr>
-</table>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./AC_ARG_ENABLE.html" class="nav">Previous</a></td>
-<td>
-<a href="./AC_CHECK_FUNCS.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/common_macros/index.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-Commonly Used configure.in macros
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="../" class="nav">Contents</a></td>
-<td>
-<a href="../" class="nav">Up</a></td>
-<td>
-<a href="../simple_project/configure.in.html" class="nav">Previous</a></td>
-<td>
-<a href="AC_DEFINE.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-4 Commonly Used configure.in macros
-</h1>
-<p>
-This section will cover some commonly used Autoconf Macros.
-</p>
-<ul>
-<a href="./AC_DEFINE.html" class="contents">4.1 AC_DEFINE</a><br>
-<a href="./AC_CHECK_LIB.html" class="contents">4.2 AC_CHECK_LIB</a><br>
-<a href="./AC_ARG_ENABLE.html" class="contents">4.3 AC_ARG_ENABLE</a><br>
-<a href="./AC_OUTPUT.html" class="contents">4.4 AC_OUTPUT</a><br>
-<a href="./AC_CHECK_FUNCS.html" class="contents">4.5 AC_CHECK_FUNCS</a><br>
-<a href="./AC_CHECK_HEADERS.html" class="contents">4.6 AC_CHECK_HEADERS</a><br>
-</ul>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="../" class="nav">Contents</a></td>
-<td>
-<a href="../" class="nav">Up</a></td>
-<td>
-<a href="../simple_project/configure.in.html" class="nav">Previous</a></td>
-<td>
-<a href="AC_DEFINE.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/how_it_fits.html

-<html>
-<head>
-<link rel="StyleSheet" href="./style.css" type="text/css">
-<title>
-How it all fits together
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./intro.html" class="nav">Previous</a></td>
-<td>
-<a href="./simple_project/" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-2 How it all fits together
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-Automake takes as input the file <tt>Makefile.am</tt> and produces
-<tt>Makefile.in</tt>.
-</li>
-<li>
-The "autoconf" program takes as input the file <tt>configure.in</tt>
-(or in Autoconf 2.5 the file <tt>configure.ac</tt>) and generates the
-<tt>./configure</tt> script out of it.
-</li>
-<li>
-Autoheader takes as input the files <tt>acconfig.h</tt> and generates the
-<tt>config.h.in</tt> template by parsing <tt>configure.in</tt>.
-</li>
-<li>
-<tt>./configure</tt>, when ran by the user generates the normal
-<tt>Makefile</tt> out of <tt>Makefile.in</tt> and optionally processes other
-files (such as <tt>config.h.in</tt> -&gt; <tt>config.h</tt>, an optional
-RPM Spec, Makefiles in other directories, etc.
-</li>
-</ul>
-</h3>
-<p>
-<img src="processing-diagram.png" border="0" alt="Processing the Files" width="489" height="361">
-</p>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./intro.html" class="nav">Previous</a></td>
-<td>
-<a href="./simple_project/" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/index.html

-<html>
-<head>
-<link rel="StyleSheet" href="./style.css" type="text/css">
-<title>
-GNU Autoconf, Automake and Libtool
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./" class="nav">Contents</a></td>
-<td>
-<b class="nav">Up</b></td>
-<td>
-<b class="nav">Previous</b></td>
-<td>
-<a href="./intro.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-GNU Autoconf, Automake and Libtool
-</h1>
-<ul>
-<a href="./intro.html" class="contents">1 Introduction</a><br>
-<a href="./how_it_fits.html" class="contents">2 How it all fits together</a><br>
-<a href="./simple_project/" class="contents">3 A Simple Project</a><br>
-<ul>
-<a href="./simple_project/Makefile.am.html" class="contents">3.1 The Makefile.am file</a><br>
-<a href="./simple_project/configure.in.html" class="contents">3.2 The configure.in file</a><br>
-</ul>
-<a href="./common_macros/" class="contents">4 Commonly Used configure.in macros</a><br>
-<ul>
-<a href="./common_macros/AC_DEFINE.html" class="contents">4.1 AC_DEFINE</a><br>
-<a href="./common_macros/AC_CHECK_LIB.html" class="contents">4.2 AC_CHECK_LIB</a><br>
-<a href="./common_macros/AC_ARG_ENABLE.html" class="contents">4.3 AC_ARG_ENABLE</a><br>
-<a href="./common_macros/AC_OUTPUT.html" class="contents">4.4 AC_OUTPUT</a><br>
-<a href="./common_macros/AC_CHECK_FUNCS.html" class="contents">4.5 AC_CHECK_FUNCS</a><br>
-<a href="./common_macros/AC_CHECK_HEADERS.html" class="contents">4.6 AC_CHECK_HEADERS</a><br>
-</ul>
-<a href="./changequote.html" class="contents">5 Using changequote</a><br>
-<a href="./Makefile_am/" class="contents">6 Format of the Makefile.am File</a><br>
-<ul>
-<a href="./Makefile_am/super.html" class="contents">6.1 Super Targets</a><br>
-<a href="./Makefile_am/sources.html" class="contents">6.2 Specifying the source files</a><br>
-<a href="./Makefile_am/ldadd.html" class="contents">6.3 Linking with internal libraries</a><br>
-<a href="./Makefile_am/headers.html" class="contents">6.4 Library Headers</a><br>
-<a href="./Makefile_am/extra_dist.html" class="contents">6.5 EXTRA_DIST</a><br>
-<a href="./Makefile_am/plain.html" class="contents">6.6 Plain Rules</a><br>
-<a href="./Makefile_am/lt-version.html" class="contents">6.7 Libtool Library Versioning</a><br>
-</ul>
-<a href="./acconfig.h/" class="contents">7 Format of acconfig.h</a><br>
-<ul>
-<a href="./acconfig.h/example.html" class="contents">7.1 Example</a><br>
-</ul>
-<a href="./issues/" class="contents">8 Various Issues</a><br>
-<ul>
-<a href="./issues/sub-dir.html" class="contents">8.1 Creating a Sub-Directory with a Different Configuration</a><br>
-<a href="./issues/mylib-config.html" class="contents">8.2 mylibrary-config program</a><br>
-<a href="./issues/rpm-spec.html" class="contents">8.3 Creating an RPM Spec</a><br>
-</ul>
-<a href="./links.html" class="contents">9 Links and References</a><br>
-</ul>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./" class="nav">Contents</a></td>
-<td>
-<b class="nav">Up</b></td>
-<td>
-<b class="nav">Previous</b></td>
-<td>
-<a href="./intro.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/intro.html

-<html>
-<head>
-<link rel="StyleSheet" href="./style.css" type="text/css">
-<title>
-Introduction
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./" class="nav">Previous</a></td>
-<td>
-<a href="./how_it_fits.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-1 Introduction
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-The GNU Autotools (Autoconf, Automake and Libtool) are the de-facto
-standard for portably building C and C++ applications.
-</li>
-<li>
-They support all UNIX platforms as well as Microsoft Win32
-</li>
-<li>
-As far as the installer is concerned, building the program depends on nothing
-but a Bourne shell implementation, a C compiler and a standard "make"
-program.
-</li>
-<li>
-The developer requires other tools such as
-<a href="http://www.gnu.org/software/autoconf/autoconf.html">the Autoconf package</a>,
-<a href="http://www.perl.com/">Perl</a>,
-<a href="http://www.gnu.org/software/automake/">the Automake package</a> and
-<a href="http://www.gnu.org/software/m4/">GNU m4</a>.
-</li>
-</ul>
-</h3>
-<h2>Philosophy</h2>
-<h3 class="notbold">
-<ul>
-<li>
-Autoconf performs some system-wide tests to check for common system parameters:
-the location of programs, the existence of functions and system calls, their
-behaviour, the availability of libraries, etc.
-</li>
-<li>
-Using this it builds (on each target system) an appropriate makefile and a
-header file, which can be used to build the package natively
-</li>
-<li>
-This is superior than writing various "#ifdef" for every system out there,
-or writing a different makefile for every system.
-</li>
-</ul>
-</h3>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./" class="nav">Previous</a></td>
-<td>
-<a href="./how_it_fits.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/issues/index.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-Various Issues
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="../" class="nav">Contents</a></td>
-<td>
-<a href="../" class="nav">Up</a></td>
-<td>
-<a href="../acconfig.h/example.html" class="nav">Previous</a></td>
-<td>
-<a href="sub-dir.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-8 Various Issues
-</h1>
-<ul>
-<a href="./sub-dir.html" class="contents">8.1 Creating a Sub-Directory with a Different Configuration</a><br>
-<a href="./mylib-config.html" class="contents">8.2 mylibrary-config program</a><br>
-<a href="./rpm-spec.html" class="contents">8.3 Creating an RPM Spec</a><br>
-</ul>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="../" class="nav">Contents</a></td>
-<td>
-<a href="../" class="nav">Up</a></td>
-<td>
-<a href="../acconfig.h/example.html" class="nav">Previous</a></td>
-<td>
-<a href="sub-dir.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/issues/mylib-config.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-mylibrary-config program
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./sub-dir.html" class="nav">Previous</a></td>
-<td>
-<a href="./rpm-spec.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-8.2 mylibrary-config program
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-To have a mylibrary-config script, you need to put it in <tt>AC_OUTPUT</tt>.
-</li>
-<li>
-<tt>configure</tt> would expect a <tt>mylibrary-config.in</tt> file to be
-present, so you'll need to write a template for it there.
-</li>
-<li>
-You can look at pre-existing packages such as
-<a href="http://vipe.technion.ac.il/~shlomif/freecell-solver/">Freecell Solver
-</a> or <a href="http://www.gtk.org/">GLib</a> for reference.
-</li>
-</ul>
-</h3>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./sub-dir.html" class="nav">Previous</a></td>
-<td>
-<a href="./rpm-spec.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/issues/rpm-spec.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-Creating an RPM Spec
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./mylib-config.html" class="nav">Previous</a></td>
-<td>
-<a href="./../links.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-8.3 Creating an RPM Spec
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-To generate an RPM Spec, include a template for the RPM as
-<tt>mypackage.spec.in</tt> in the main directory of the package.
-</li>
-<li>
-The template is identical to the spec except that the <tt>Version:</tt>
-field should contain <tt>@VERSION@</tt> as its contents.
-</li>
-<li>
-Add <tt>mypackage.spec</tt> to <tt>AC_OUTPUT</tt>.
-</li>
-<li>
-And add both <tt>mypackage.spec</tt> and <tt>mypackae.spec.in</tt> to the
-<tt>EXTRA_DIST</tt> of <tt>Makefile.am</tt>.
-</li>
-<li>
-Now, invoking <tt>rpm -tb</tt> with the archive name as a paramater would
-build an RPM out of it.
-</li>
-</ul>
-</h3>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./mylib-config.html" class="nav">Previous</a></td>
-<td>
-<a href="./../links.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/issues/sub-dir.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-Creating a Sub-Directory with a Different Configuration
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./" class="nav">Previous</a></td>
-<td>
-<a href="./mylib-config.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-8.1 Creating a Sub-Directory with a Different Configuration
-</h1>
-<h3 class="notbold">
-<ul>
-<li>
-To have a directory with its own separate <tt>configure</tt> script, first
-put it in the <tt>SUBDIRS</tt> variable of Makefile.am
-</li>
-<li>
-Then use the <tt>AC_CONFIG_SUBDIRS</tt> macro in <tt>configure.in</tt> to
-configure them as separate sub-directories.
-</li>
-<li>
-If a sub-directory inherits from the same subdirectory, then they will
-also be linked against all the shared libraries, which may not be
-desirable.
-</li>
-</ul>
-</h3>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./" class="nav">Previous</a></td>
-<td>
-<a href="./mylib-config.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/links.html

-<html>
-<head>
-<link rel="StyleSheet" href="./style.css" type="text/css">
-<title>
-Links and References
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./issues/rpm-spec.html" class="nav">Previous</a></td>
-<td>
-<b class="nav">Next</b></td>
-</tr>
-</table>
-<h1>
-9 Links and References
-</h1>
-<h2>Manuals</h2>
-<p>
-<a href="http://www.gnu.org/manual/autoconf-2.53/autoconf.html">The Autoconf Manual</a>
-</p>
-<p>
-<a href="http://www.gnu.org/manual/automake-1.6.1/automake.html">The Automake Manual</a>
-</p>
-<p>
-<a href="http://www.gnu.org/manual/libtool-1.4.2/libtool.html">The Libtool
-Manual</a>
-</p>
-<p>
-<a href="http://www.gnu.org/manual/m4-1.4/m4.html">GNU m4</a>
-</p>
-<h2>Other Sources of Information</h2>
-<p>
-<a href="http://www.gnu.org/software/autoconf/autoconf.html">Autoconf</a>,
-<a href="http://www.gnu.org/software/automake/">Automake</a> and
-<a href="http://www.gnu.org/software/libtool/">Libtool</a><br>
-<a href="http://sources.redhat.com/autobook/">Autobook</a> - an online
-book about the GNU Autotools<br>
-<a href="http://www.amath.washington.edu/~lf/tutorials/autoconf/">An
-Autoconf Tutorial</a><br>
-<a href="http://seul.org/docs/autotut/">Autotut - an Autotools tutorial</a><br>
-</p>
-<h2><a href="http://www.gnu.org/software/ac-archive/">Autoconf Macros Archive</a></h2>
-<p>
-Contains a lot of predefined macros which are free for use.
-</p>
-</p>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./issues/rpm-spec.html" class="nav">Previous</a></td>
-<td>
-<b class="nav">Next</b></td>
-</tr>
-</table>
-</body>
-</html>
Add a comment to this file

vipe/lecture/Autotools/processing-diagram.png

Removed
Old image

vipe/lecture/Autotools/simple_project/Makefile.am.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-The Makefile.am file
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./" class="nav">Previous</a></td>
-<td>
-<a href="./configure.in.html" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-3.1 The Makefile.am file
-</h1>
-<table class="mycode" summary="">
-<tr class="mycode">
-<td class="mycode">
-<pre>
-<font color="#0000ff"># Define sub-directories of the project</font>
-<font color="#a52a2a"><b>SUBDIRS </b></font>= man
-
-<font color="#0000ff"># noinst_PROGRAMS are programs that should be compiled but not installed</font>
-<font color="#a52a2a"><b>noinst_PROGRAMS </b></font>= test_rwlock
-<font color="#0000ff"># Source files for test_rwlock</font>
-<font color="#2e8b57"><b>test_rwlock_SOURCES </b></font>= test_rwlock.c
-<font color="#0000ff"># Libraries to link against</font>
-<font color="#2e8b57"><b>test_rwlock_LDADD </b></font>= libpthread_rwlock_fcfs.la
-
-<font color="#0000ff"># Libraries that are built using libtool</font>
-<font color="#a52a2a"><b>lib_LTLIBRARIES </b></font>= libpthread_rwlock_fcfs.la
-<font color="#0000ff"># Where to install the headers</font>
-<font color="#008b8b">libpthread_rwlock_fcfsincludedir</font>=<font color="#008b8b"></font>/pthread
-<font color="#0000ff"># The source files of the library</font>
-<font color="#2e8b57"><b>libpthread_rwlock_fcfs_la_SOURCES </b></font>= rwlock.c queue.c
-<font color="#0000ff"># A libtool library version numbers</font>
-<font color="#2e8b57"><b>libpthread_rwlock_fcfs_la_LDFLAGS </b></font>= -version-info 0:0:0
-<font color="#0000ff"># The headers of the library</font>
-<font color="#a52a2a"><b>libpthread_rwlock_fcfsinclude_HEADERS </b></font>= rwlock_fcfs.h rwlock_fcfs_queue.h
-
-<font color="#0000ff"># Extra files in the distribution</font>
-<font color="#008b8b">EXTRA_DIST </font>+= Docs/FCFS_RWLock_Scheme.txt Docs/FCFS_RWLock_Scheme_RLE.txt
-<font color="#008b8b">EXTRA_DIST </font>+= test_rwlock.c
-<font color="#008b8b">EXTRA_DIST </font>+= test_queue.cpp
-
-<font color="#008b8b">EXTRA_DIST </font>+= pthread/rwlock_fcfs.h pthread/rwlock_fcfs_queue.h
-
-<font color="#008b8b">EXTRA_DIST </font>+= TODO
-
-
-
-</pre>
-</td>
-</tr>
-</table>
-<hr>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./" class="nav">Previous</a></td>
-<td>
-<a href="./configure.in.html" class="nav">Next</a></td>
-</tr>
-</table>
-</body>
-</html>

vipe/lecture/Autotools/simple_project/configure.in.html

-<html>
-<head>
-<link rel="StyleSheet" href="../style.css" type="text/css">
-<title>
-The configure.in file
-</title>
-</head>
-<body>
-<table summary="">
-<tr>
-<td>
-<a href="./../" class="nav">Contents</a></td>
-<td>
-<a href="./" class="nav">Up</a></td>
-<td>
-<a href="./Makefile.am.html" class="nav">Previous</a></td>
-<td>
-<a href="./../common_macros/" class="nav">Next</a></td>
-</tr>
-</table>
-<h1>
-3.2 The configure.in file
-</h1>
-<table class="mycode" summary="">
-<tr class="mycode">
-<td class="mycode">
-<pre>
-<font color="#0000ff">dnl Process this file with autoconf to produce a configure script.</font>
-
-<font color="#0000ff">dnl AC_INIT is the first macro that should be called in an Autoconf</font>
-<font color="#0000ff">dnl script. It should be called with one argument that exhibits one</font>
-<font color="#0000ff">dnl of the source files</font>
-<font color="#008b8b">AC_INIT</font><font color="#6a5acd">(</font>rwlock.c<font color="#6a5acd">)</font>
-
-<font color="#0000ff">dnl Initialize Automake</font>
-<font color="#0000ff">dnl The first paramater is the project name</font>
-<font color="#0000ff">dnl The second is the version</font>
-<font color="#008b8b">AM_INIT_AUTOMAKE</font><font color="#6a5acd">(</font>pthread_rwlock_fcfs<font color="#6a5acd">,</font> <font color="#ff00ff">0.4</font>.<font color="#ff00ff">0</font><font color="#6a5acd">)</font>
-
-<font color="#0000ff">dnl Initialize libtool</font>
-<font color="#008b8b">AM_PROG_LIBTOOL</font>
-
-<font color="#0000ff">dnl Checks for programs.</font>
-<font color="#008b8b">AC_PROG_CC</font>
-
-