anjuta r4819 - in trunk: . manuals/anjuta-build-tutorial/C



Author: claudep
Date: Mon Mar  2 20:19:06 2009
New Revision: 4819
URL: http://svn.gnome.org/viewvc/anjuta?rev=4819&view=rev

Log:
2009-03-02  Claude Paroz  <claude 2xlibre net>

	* manuals/anjuta-build-tutorial/C/anjuta-build-tutorial.xml:
	Fix #562113 â Clean docbook syntax in order to validate.

Modified:
   trunk/ChangeLog
   trunk/manuals/anjuta-build-tutorial/C/anjuta-build-tutorial.xml

Modified: trunk/manuals/anjuta-build-tutorial/C/anjuta-build-tutorial.xml
==============================================================================
--- trunk/manuals/anjuta-build-tutorial/C/anjuta-build-tutorial.xml	(original)
+++ trunk/manuals/anjuta-build-tutorial/C/anjuta-build-tutorial.xml	Mon Mar  2 20:19:06 2009
@@ -1,8 +1,8 @@
 <?xml version="1.0"?>
-<!DOCTYPE manual PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; >
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"; >
 
-<!-- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; [ 
+<!-- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"; [ 
   <!ENTITY date "March 2004">
   <!ENTITY app "anjuta"> -->
 <!-- =============Document Header ============================= -->
@@ -51,7 +51,7 @@
 
   <!-- this is the version of manual, not application --> 
   <releaseinfo>
-   This is version 0.2 of <application>Anjuta</application> build tutorial
+   This is version 0.2 of Anjuta build tutorial
   </releaseinfo>
  </bookinfo>
  <!-- Document Body -->
@@ -87,16 +87,16 @@
 		or <application>Anjuta</application> in general, you can:
 		<itemizedlist>
 			<listitem>
-				Fill a bug in <ulink url="http://bugzilla.gnome.org/enter_bug.cgi?product=anjuta";>
-				<application>Anjuta</application> bugzilla database</ulink>. 
+				<para>Fill a bug in <ulink url="http://bugzilla.gnome.org/enter_bug.cgi?product=anjuta";>
+				<application>Anjuta</application> bugzilla database</ulink>.</para>
 			</listitem>
 			<listitem>
-				Send a message to <application>Anjuta</application> developer mailing list
-				<email>anjuta-devel lists sourceforge net</email>
+				<para>Send a message to <application>Anjuta</application> developer mailing list
+				<email>anjuta-devel lists sourceforge net</email></para>
 			</listitem>
 			<listitem>
-				Join <application>Anjuta</application> IRC channel
-				<ulink url="irc://irc.gnome.org/anjuta">#anjuta on irc.gnome.org</ulink>
+				<para>Join <application>Anjuta</application> IRC channel
+				<ulink url="irc://irc.gnome.org/anjuta">#anjuta on irc.gnome.org</ulink></para>
 			</listitem>
 		</itemizedlist>
 	</para>
@@ -127,24 +127,28 @@
 			<varlistentry>
 			<term><parameter>-g</parameter></term>
 			<listitem>
-				tells <application>GCC</application> to include debug information into the binary.
+				<para>tells <application>GCC</application> to include debug information into the binary.</para>
 			</listitem>
 			</varlistentry>			
 			<varlistentry>
 			<term><parameter>-Wall</parameter></term>
-			<listitem>Warning all : print every warning. This switch is used by the C compiler only.</listitem>
+			<listitem>
+				<para>Warning all : print every warning. This switch is used by the C compiler only.</para>
+			</listitem>
 			</varlistentry>			
 			<varlistentry>
 			<term><parameter>-Idir <replaceable>dir</replaceable></parameter></term>
-			<listitem>Look for included header files (like in #include &lt;myheader.h&gt;) in directory
+			<listitem>
+				<para>Look for included header files (like in #include &lt;myheader.h&gt;) in directory
 				<replaceable>dir</replaceable>.
-				This switch is used by the C preprocessor only.</listitem>
+				This switch is used by the C preprocessor only.</para>
+			</listitem>
 			</varlistentry>			
 			<varlistentry>
 			<term><parameter>-llib <replaceable>lib</replaceable></parameter></term>
 			<listitem>
-				Link to library <replaceable>lib</replaceable>; here <application>libxml2</application>,
-				used by the linker.
+				<para>Link to library <replaceable>lib</replaceable>; here <application>libxml2</application>,
+				used by the linker.</para>
 			</listitem>
 			</varlistentry>			
 		</variablelist>			
@@ -156,9 +160,11 @@
 		</para>			
 		<figure>
 			<title><application>GCC</application> compilation stage</title>
-			<imageobject>
-				<imagedata fileref="figures/compilation-stages.png" format="PNG"></imagedata>			
-			</imageobject>
+			<mediaobject>
+				<imageobject>
+					<imagedata fileref="figures/compilation-stages.png" format="PNG"></imagedata>
+				</imageobject>
+			</mediaobject>
 		</figure>
 		<sect2 id="build-gcc-cpp"> 
 			<title>Preprocessor</title>
@@ -272,47 +278,47 @@
 			<variablelist>
 				<varlistentry>
 				<term><envar>CC</envar></term>
-				<listitem>Program for compiling C programs, default 'cc'</listitem>
+				<listitem><para>Program for compiling C programs, default 'cc'</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><envar>CXX</envar></term>
-				<listitem>Program for compiling C++ programs, default 'g++'</listitem>
+				<listitem><para>Program for compiling C++ programs, default 'g++'</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><envar>CPP</envar></term>
-				<listitem>Program for running C preprocessor, default '$(CC) -E'</listitem>
+				<listitem><para>Program for running C preprocessor, default '$(CC) -E'</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><envar>FC</envar></term>
-				<listitem>Program for running Fortran compiler, default 'f77'</listitem>
+				<listitem><para>Program for running Fortran compiler, default 'f77'</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><envar>RM</envar></term>
-				<listitem>Command to remove a file, default 'rm -f'</listitem>
+				<listitem><para>Command to remove a file, default 'rm -f'</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><envar>CFLAGS</envar></term>
-				<listitem>Extra flags for the C compiler</listitem>
+				<listitem><para>Extra flags for the C compiler</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><envar>CXXFLAGS</envar></term>
-				<listitem>Extra flags for the C++ compiler</listitem>
+				<listitem><para>Extra flags for the C++ compiler</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><envar>CPPFLAGS</envar></term>
-				<listitem>Extra flags for the C++ compiler</listitem>
+				<listitem><para>Extra flags for the C++ compiler</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><envar>CXXFLAGS</envar></term>
-				<listitem>Extra flags for the C preprocessor</listitem>
+				<listitem><para>Extra flags for the C preprocessor</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><envar>FFLAGS</envar></term>
-				<listitem>Extra flags for the Fortran compiler</listitem>
+				<listitem><para>Extra flags for the Fortran compiler</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><envar>LDFLAGS</envar></term>
-				<listitem>Extra flags for the linker</listitem>
+				<listitem><para>Extra flags for the linker</para></listitem>
 				</varlistentry>
 			</variablelist>
 			</para>
@@ -333,8 +339,8 @@
 				The rule is interpreted as in order to make the target or update
 				it if it is older than its prerequisites, you need
 				to make all prerequisites and then run all commands.
-			<para>
 			</para>
+			<para>
 				<application>make</application> starts with the first target of the
 				makefile or the one given in the command line and looks for a rule.
 				If this rules has no prerequisites, the associated commands are run
@@ -370,40 +376,40 @@
 			<variablelist>
 				<varlistentry>
 				<term><parameter>all</parameter></term>
-				<listitem>Do everything</listitem>
+				<listitem><para>Do everything</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><parameter>check</parameter></term>
-				<listitem>Perform some self test after building the program</listitem>
+				<listitem><para>Perform some self test after building the program</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><parameter>clean</parameter></term>
-				<listitem>Delete all files created by <application>make</application></listitem>
+				<listitem><para>Delete all files created by <application>make</application></para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><parameter>distclean</parameter></term>
-				<listitem>Delete more files than clean, could delete the Makefile itself</listitem>
+				<listitem><para>Delete more files than clean, could delete the Makefile itself</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><parameter>dist</parameter></term>
-				<listitem>Create a distribution package, a compressed tarball by example</listitem>
+				<listitem><para>Create a distribution package, a compressed tarball by example</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><parameter>install</parameter></term>
-				<listitem>Install target created by <application>make</application>,
-					need to be run as root to install in system directories</listitem>
+				<listitem><para>Install target created by <application>make</application>,
+					need to be run as root to install in system directories</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><parameter>uninstall</parameter></term>
-				<listitem>Remove files installed by <application>make</application></listitem>
+				<listitem><para>Remove files installed by <application>make</application></para></listitem>
 				</varlistentry>
 			</variablelist>
 			<note>
-				Programs compiled from sources are installed by default in <filename class="directory">
+				<para>Programs compiled from sources are installed by default in <filename class="directory">
 				/usr/local</filename>.
 				If you want to install (or uninstall) a program in such system directory, you normally
 				need to log as root using <userinput>su</userinput> or 				
-				<userinput>sudo</userinput> before running <userinput>make install</userinput>.
+				<userinput>sudo</userinput> before running <userinput>make install</userinput>.</para>
 			</note>
 		</sect2>
 	</sect1>
@@ -440,11 +446,11 @@
 				stricly necessary or are generated automatically.
 			</para>
 			<tip>
-				If you look inside these files, you will see that they are quite complex.
+				<para>If you look inside these files, you will see that they are quite complex.
 				Do not worry, these files are generated by <application>Autotools</application>
 				from other templates easier to write as explained in <xref linkend="create-autotools"/>.
 				For the moment, we do not care, we consider these files exist as it is the case
-				when you get a source package.
+				when you get a source package.</para>
 			</tip>
 		</sect2>
 		<sect2 id="build-autotools-configure"> 
@@ -457,33 +463,36 @@
 				makefiles from the templates.
 			</para>
 			<important>
-				In order to build a project using a library, you need more information about it,
+				<para>In order to build a project using a library, you need more information about it,
 				so additional files. For a library used in a C program, you need the
 				corresponding header files. This has to be installed on your system and is
 				typically found in a so called development package. By example for the
-				library <application>libxml2</application>, there are two packages:
+				library <application>libxml2</application>, there are two packages:</para>
 				<itemizedlist>
-					<listitem><filename>libxml2</filename> necessary to run a program
+					<listitem>
+						<para><filename>libxml2</filename> necessary to run a program
 						using it and installed automatically as a dependency of such
-						program.
+						program.</para>
 					</listitem>
 					<listitem>
-						<filename>libxml2-devel</filename> necessary to build a program
+						<para><filename>libxml2-devel</filename> necessary to build a program
 						using it. If you don't have it <application>configure</application>
-						will display an error message.
+						will display an error message.</para>
 					</listitem>
 				</itemizedlist>
 			</important>
 			<figure>
 				<title>Configure process</title>
-				<imageobject>
-					<imagedata fileref="figures/configure-process.png" format="PNG"></imagedata>			
-				</imageobject>
+				<mediaobject>
+					<imageobject>
+						<imagedata fileref="figures/configure-process.png" format="PNG"></imagedata>
+					</imageobject>
+				</mediaobject>
 			</figure>
 			<para>
 				<application>configure</application> creates all files in the directory where it is
 				called. This directory is the <emphasis>build directory</emphasis>. If you run it from
-				the source directory, using <userinput><emphasis>./</emphasis>configure</userinput>,
+				the source directory, using <userinput>./configure</userinput>,
 				the build directory will be the same.
 			</para>
 			<para>
@@ -498,28 +507,28 @@
 			<variablelist>
 				<varlistentry>
 				<term><parameter>--enable-maintainer-mode</parameter></term>
-				<listitem>Add extra rules useful when modifying the project source code</listitem>
+				<listitem><para>Add extra rules useful when modifying the project source code</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><parameter>--help</parameter></term>
-				<listitem>List all available options</listitem>
+				<listitem><para>List all available options</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><parameter>--host <replaceable>host</replaceable></parameter></term>
-				<listitem>Compile to run on another system (cross compilation)</listitem>
+				<listitem><para>Compile to run on another system (cross compilation)</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><parameter>--prefix <replaceable>dir</replaceable></parameter></term>
-				<listitem>Select the root directory for installing the project, default /usr/local</listitem>
+				<listitem><para>Select the root directory for installing the project, default /usr/local</para></listitem>
 				</varlistentry>
 			</variablelist>
 			<note>
-				<application>configure</application> generates a few additional files which
+				<para><application>configure</application> generates a few additional files which
 				are less important. <filename>config.log</filename> is a log file useful
 				when something goes wrong to get more details. <filename>config.status</filename>
 				is another shell script, it can be run to restore the current configuration.
 				<filename>config.h</filename> is a header file generated like <filename>Makefile</filename>
-				from a template <filename>config.h.in</filename> if it exists.
+				from a template <filename>config.h.in</filename> if it exists.</para>
 			</note>
 		</sect2>
 		<sect2 id="build-autotools-make"> 
@@ -531,15 +540,15 @@
 			</para>
 			<itemizedlist>
 				<listitem>
-				<userinput>make</userinput> or <userinput>make all</userinput> builds the program.
+				<para><userinput>make</userinput> or <userinput>make all</userinput> builds the program.</para>
 				</listitem>				
 				<listitem>
-				<userinput>make install</userinput> installs the program.
+				<para><userinput>make install</userinput> installs the program.</para>
 				</listitem>				
 				<listitem>
-				<userinput>make distclean</userinput> removes all files generated by
+				<para><userinput>make distclean</userinput> removes all files generated by
 				<application>configure</application>, to let the project in the state
-				it was when unpacking the distribution package.
+				it was when unpacking the distribution package.</para>
 				</listitem>				
 			</itemizedlist>
 		</sect2>
@@ -578,26 +587,25 @@
 				this particular configuration to switch between different ones later. For 
 				<application>Anjuta</application> each configuration corresponds to one build
 				directory and a set of configure options. <application>Anjuta</application> already
-				provides some default configurations that you can select here.
+				provides some default configurations that you can select here.</para>
 			<note>
-				It is recommended to use the Debug configuration for debugging. It will
+				<para>It is recommended to use the Debug configuration for debugging. It will
 				compile your program with all optimizations disabled.
 				When optimizations are enabled, some variables and functions are removed,
 				you will not be able to see them with the debugger. Moreover some lines in
-				your source code are re-ordered, so some steps will go backward.
+				your source code are re-ordered, so some steps will go backward.</para>
 			</note>
-			</para>
 			<para>
 				The <guilabel>Build Directory</guilabel> field allow to select the directory
 				used to build the project. It must be different for each configuration.
 			</para>
 			<important>
-				If you build the project in the source directory (leaving the 
+				<para>If you build the project in the source directory (leaving the 
 				<guilabel>Build Directory</guilabel> field empty), you cannot create a new
 				configuration. It is a limitation of <application>Autotools</application>.
 				You need to select <menuchoice><guisubmenu>Build</guisubmenu>
 				<guimenuitem>Remove Configuration</guimenuitem></menuchoice> that will run
-				<userinput>make distclean</userinput> in the source directory first.
+				<userinput>make distclean</userinput> in the source directory first.</para>
 			</important>
 			<para>
 				The <guilabel>Configure Options</guilabel> field allow passing different options
@@ -624,39 +632,39 @@
 			<variablelist>
 				<varlistentry>
 				<term><menuchoice><guisubmenu>Build</guisubmenu><guimenu>Compile</guimenu></menuchoice></term>
-				<listitem>make <replaceable>current_file</replaceable></listitem>
+				<listitem><para>make <replaceable>current_file</replaceable></para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><menuchoice><guisubmenu>Build</guisubmenu><guimenu>Build</guimenu></menuchoice></term>
-				<listitem>cd <userinput>current_file_directory</userinput>; make</listitem>
+				<listitem><para>cd <userinput>current_file_directory</userinput>; make</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><menuchoice><guisubmenu>Build</guisubmenu><guimenu>Build Project</guimenu></menuchoice></term>
-				<listitem>cd <userinput>project_directory</userinput>; make</listitem>
+				<listitem><para>cd <userinput>project_directory</userinput>; make</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><menuchoice><guisubmenu>Build</guisubmenu><guimenu>Build Tarball</guimenu></menuchoice></term>
-				<listitem>cd <userinput>project_directory</userinput>; make dist</listitem>
+				<listitem><para>cd <userinput>project_directory</userinput>; make dist</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><menuchoice><guisubmenu>Build</guisubmenu><guimenu>Install</guimenu></menuchoice></term>
-				<listitem>cd <userinput>current_file_directory</userinput>; make install</listitem>
+				<listitem><para>cd <userinput>current_file_directory</userinput>; make install</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><menuchoice><guisubmenu>Build</guisubmenu><guimenu>Install Project</guimenu></menuchoice></term>
-				<listitem>cd <userinput>project_directory</userinput>; make install</listitem>
+				<listitem><para>cd <userinput>project_directory</userinput>; make install</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><menuchoice><guisubmenu>Build</guisubmenu><guimenu>Clean</guimenu></menuchoice></term>
-				<listitem>cd <userinput>current_file_directory</userinput>; make clean</listitem>
+				<listitem><para>cd <userinput>current_file_directory</userinput>; make clean</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><menuchoice><guisubmenu>Build</guisubmenu><guimenu>Clean Project</guimenu></menuchoice></term>
-				<listitem>cd <userinput>project_directory</userinput>; make clean</listitem>
+				<listitem><para>cd <userinput>project_directory</userinput>; make clean</para></listitem>
 				</varlistentry>
 				<varlistentry>
 				<term><menuchoice><guisubmenu>Build</guisubmenu><guimenu>Remove Configuration</guimenu></menuchoice></term>
-				<listitem>cd <userinput>project_directory</userinput>; make distclean</listitem>
+				<listitem><para>cd <userinput>project_directory</userinput>; make distclean</para></listitem>
 				</varlistentry>
 			</variablelist>
 			<para>
@@ -714,21 +722,23 @@
 		</para>
 		<itemizedlist>
 			<listitem>
-			<application>Autoconf</application> is used to generate the configure script, from
+			<para><application>Autoconf</application> is used to generate the configure script, from
 			a template named <filename>configure.ac</filename>. The configure script
 			will check all characteristics of the host system and generate the makefiles from
-			Makefile.in templates.
+			Makefile.in templates.</para>
 			</listitem>
 			<listitem>
-			<application>Automake</application> is used to generate complete Makefile.in
-			templates, following GNU standards from very simple Makefile.am templates.
+			<para><application>Automake</application> is used to generate complete Makefile.in
+			templates, following GNU standards from very simple Makefile.am templates.</para>
 			</listitem>
 		</itemizedlist>
 		<figure>
 			<title><application>Autotools</application> process</title>
-			<imageobject>
-				<imagedata fileref="figures/autotools-process.png" format="PNG"></imagedata>			
-			</imageobject>
+			<mediaobject>
+				<imageobject>
+					<imagedata fileref="figures/autotools-process.png" format="PNG"></imagedata>
+				</imageobject>
+			</mediaobject>
 		</figure>
 		<para>
 			Now let's see a minimal example to start grasping the relationships between the various
@@ -738,11 +748,11 @@
 			<title>Write sources</title>
 			<orderedlist>
 			<listitem>	
-				Create an empty directory called <filename>tut_prog</filename> and enter in it.
+				<para>Create an empty directory called <filename>tut_prog</filename> and enter in it.</para>
 			</listitem>
 			<listitem>
-				In this new directory, create a new file named <filename>main.c</filename> 
-				containing:
+				<para>In this new directory, create a new file named <filename>main.c</filename> 
+				containing:</para>
 			</listitem>
 			</orderedlist>	
 			<example>
@@ -760,8 +770,8 @@
 		<sect2 id="create-autotools-autoconf"> 
 			<title>Run <application>Autoconf</application></title>
 			<orderedlist continuation="continues">
-			<listitem>	
-				Write the following in a file named <filename>configure.ac</filename>:
+			<listitem>
+				<para>Write the following in a file named <filename>configure.ac</filename>:</para>
 			</listitem>
 			</orderedlist>	
 			<example>
@@ -774,14 +784,14 @@
 AC_OUTPUT</programlisting>
 			</example>
 			<note>
-				The configure template script could be named <filename>configure.in</filename>.
+				<para>The configure template script could be named <filename>configure.in</filename>.
 				It is the name used in older version (before 2001) of <application>Autoconf</application>.
 				Nevertheless, it is recommended to use <filename>configure.ac</filename> because the 
 				<filename>.in</filename> extension
 				is already used by files processed by <application>configure</application> and
 				generated by <application>Automake</application>: 
 				<filename>Makefile.in</filename> and <application>autoheader</application>:
-				<filename>config.h.in</filename>.
+				<filename>config.h.in</filename>.</para>
 			</note>
 			<para>
 				AC_INIT, AM_INIT_AUTOMAKE, etc... are <application>M4</application> macros. 
@@ -836,15 +846,15 @@
 				</varlistentry>
 			</variablelist>
 			<note>
-				The use of some macros has changed between different versions of <application>Autoconf</application>:
+				<para>The use of some macros has changed between different versions of <application>Autoconf</application>:</para>
 				<itemizedlist>
 					<listitem>
-						The package name and version was defined as arguments of 
-						AM_INIT_AUTOMAKE instead of AC_INIT.
+						<para>The package name and version was defined as arguments of 
+						AM_INIT_AUTOMAKE instead of AC_INIT.</para>
 					</listitem>
 					<listitem>
-						AC_OUTPUT was getting the list of generated files instead of
-						using the additional macro AC_CONFIG_FILES.
+						<para>AC_OUTPUT was getting the list of generated files instead of
+						using the additional macro AC_CONFIG_FILES.</para>
 					</listitem>
 				</itemizedlist>
 			</note>
@@ -867,25 +877,25 @@
 			</para>
 			<orderedlist continuation="continues">
 			<listitem>	
-				Launch <userinput>aclocal</userinput>. It will create a new file named
-				<filename>aclocal.m4</filename> in the current directory.
+				<para>Launch <userinput>aclocal</userinput>. It will create a new file named
+				<filename>aclocal.m4</filename> in the current directory.</para>
 			</listitem>
 			<listitem>	
-				Launch <userinput>autoconf</userinput>. It will create the configure
-				script <filename>configure</filename>.
+				<para>Launch <userinput>autoconf</userinput>. It will create the configure
+				script <filename>configure</filename>.</para>
 			</listitem>
 			</orderedlist> 
 			<tip>
-				On my system, I actually get an extra directory called <filename>autom4te.cache</filename>.
+				<para>On my system, I actually get an extra directory called <filename>autom4te.cache</filename>.
 				That is for <application>Autoconf</application> internal purposes. You do not need
-				to care about it.
+				to care about it.</para>
 			</tip>
 		</sect2>
 		<sect2 id="create-autotools-automake"> 
 			<title>Run <application>Automake</application></title>
 			<orderedlist continuation="continues">
 			<listitem>	
-				Write the following in a file named <filename>Makefile.am</filename>:
+				<para>Write the following in a file named <filename>Makefile.am</filename>:</para>
 			</listitem>
 			</orderedlist>	
 			<example>
@@ -912,7 +922,7 @@
 			</para>
 			<orderedlist continuation="continues">
 			<listitem>	
-				Run the command <userinput>automake --add-missing --foreign</userinput>. It will create
+				<para>Run the command <userinput>automake --add-missing --foreign</userinput>. It will create
 				a new file named <filename>Makefile.in</filename> as expected. Moreover, due to the
 				switch <parameter>--add-missing</parameter> you get a few
 				links to scripts necessary for building the project: 
@@ -923,7 +933,7 @@
 				<filename>NEWS</filename>, <filename>README</filename>, <filename>AUTHORS</filename>,
 				<filename>ChangeLog</filename> and <filename>COPYING</filename>. I have used it here
 				to keep the number of created file to a minimum but else it is a good idea to
-				provide these files, you can start with empty files.
+				provide these files, you can start with empty files.</para>
 			</listitem>
 			</orderedlist>	
 		</sect2>
@@ -931,8 +941,8 @@
 			<title>Build project</title>
 			<orderedlist continuation="continues">
 			<listitem>	
-				Run now the new configure script: <userinput>./configure</userinput>. You get
-				the following output and it create the makefile for your program.
+				<para>Run now the new configure script: <userinput>./configure</userinput>. You get
+				the following output and it create the makefile for your program.</para>
 			<screen>
 checking for a BSD-compatible install... /usr/bin/install -c
 checking whether build environment is sane... yes
@@ -955,8 +965,8 @@
 config.status: executing depfiles commands</screen>
 			</listitem>
 			<listitem>
-				Run now <userinput>make</userinput>, to build your program. You get the following
-				output and a new tut_prog executable
+				<para>Run now <userinput>make</userinput>, to build your program. You get the following
+				output and a new tut_prog executable</para>
 			<screen>
 gcc -DPACKAGE_NAME=\"Tutorial\ Program\" -DPACKAGE_TARNAME=\"tutorial-program\"   \
         -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"Tutorial\ Program\ 1.0\"     \
@@ -968,11 +978,11 @@
 gcc  -g -O2   -o tut_prog main.o</screen>
 			</listitem>
 			<listitem>
-				Now, if you can write in <filename>/usr/local/bin</filename>, run
+				<para>Now, if you can write in <filename>/usr/local/bin</filename>, run
 				<userinput>make install</userinput> to install your program. Else you need to
 				log as root before or use <application>sudo</application> and run 
 				<userinput>sudo make install</userinput>.
-				You should get.
+				You should get.</para>
 			<screen>
 make[1]: Entering directory `/home/seb/Projects/Tutorial'
 test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin"
@@ -990,9 +1000,9 @@
 			<title>Clean project</title>
 			<orderedlist continuation="continues">
 			<listitem>
-				The program is installed, so you can clean the build directory running
+				<para>The program is installed, so you can clean the build directory running
 				<userinput>make clean</userinput>. It removes all object files and the
-				program but not the makefiles.
+				program but not the makefiles.</para>
 				<screen>
 test -z "tut_prog" || rm -f tut_prog
 rm -f *.o</screen>
@@ -1001,9 +1011,9 @@
 				</para>
 			</listitem>
 			<listitem>
-				To remove the installed program, run <userinput>make uninstall</userinput>.
+				<para>To remove the installed program, run <userinput>make uninstall</userinput>.
 				Like for the installation, you need to use have the writing right in the
-				directory or use <application>su</application> or <application>sudo</application>.
+				directory or use <application>su</application> or <application>sudo</application>.</para>
 				<screen>
 rm -f '/usr/local/bin/tut_prog'</screen>
 			</listitem>
@@ -1027,19 +1037,19 @@
 				<varlistentry>
 				<term>autoreconf</term>
 				<listitem>
-					It is another tool part of the <application>Autoconf</application> package
+					<para>It is another tool part of the <application>Autoconf</application> package
 					which is running all scripts in the right order. To start a new project, you
 					can just run <userinput>autoreconf --install</userinput> and it will call
-					all necessary commands.
+					all necessary commands.</para>
 				</listitem>
 				</varlistentry>
 				<varlistentry>
 				<term>autogen.sh</term>
 				<listitem>
-					It is a script not part of <application>Autotools</application>, that it doing
+					<para>It is a script not part of <application>Autotools</application>, that it doing
 					the same thing. There is one named <filename>gnome-autogen.sh</filename> which
 					comes with GNOME common development package but other project can write their
-					own ones.
+					own ones.</para>
 				</listitem>
 				</varlistentry>
 			</variablelist>
@@ -1055,12 +1065,12 @@
 			<title>Create a new project</title>
 			<orderedlist>
 			<listitem>
-				Click on <menuchoice><guisubmenu>File</guisubmenu><guisubmenu>New</guisubmenu>
+				<para>Click on <menuchoice><guisubmenu>File</guisubmenu><guisubmenu>New</guisubmenu>
 				<guimenuitem>Project</guimenuitem></menuchoice>. The new project assistant
-				appears.
+				appears.</para>
 			</listitem>
 			<listitem>
-				Click on <guibutton>Forward</guibutton>. The project selection page appears:
+				<para>Click on <guibutton>Forward</guibutton>. The project selection page appears:</para>
 				<figure>
 					<title>Project selection page</title>
 					<screenshot>
@@ -1073,10 +1083,10 @@
 				</figure>
 			</listitem>
 			<listitem>
-				Select <guilabel>Generic (minimal)</guilabel> project in the <guilabel>C</guilabel> page.
+				<para>Select <guilabel>Generic (minimal)</guilabel> project in the <guilabel>C</guilabel> page.</para>
 			</listitem>
 			<listitem>
-				Click on <guibutton>Forward</guibutton>.
+				<para>Click on <guibutton>Forward</guibutton>.</para>
 				<figure>
 					<title>Project basic information page</title>
 					<screenshot>
@@ -1094,7 +1104,7 @@
 				</para>
 			</listitem>
 			<listitem>
-				Click on <guilabel>Forward</guilabel>.	
+				<para>Click on <guilabel>Forward</guilabel>.</para>
 				<figure>
 					<title>Project options page</title>
 					<screenshot>
@@ -1112,7 +1122,7 @@
 				</para>
 			</listitem>
 			<listitem>
-				Click on <guibutton>Forward</guibutton>.
+				<para>Click on <guibutton>Forward</guibutton>.</para>
 				<figure>
 					<title>Project summary page</title>
 					<screenshot>
@@ -1128,9 +1138,9 @@
 				</para>
 			</listitem>
 			<listitem>
-				Click on <guibutton>Forward</guibutton>. <application>Anjuta</application> will
+				<para>Click on <guibutton>Forward</guibutton>. <application>Anjuta</application> will
 				create all needed files and directories, in the message window,
-				you will see the following:
+				you will see the following:</para>
 				<figure>
 					<title>Project creation messages</title>
 					<screenshot>
@@ -1356,8 +1366,8 @@
 		</para>
 		<orderedlist>
 		<listitem>	
-			Open the old tutorial project and replace <filename>main.c</filename> by the
-			following.
+			<para>Open the old tutorial project and replace <filename>main.c</filename> by the
+			following.</para>
 			<example>
 				<title>main.c using <application>libxml2</application>:</title>
 				<programlisting role="C">
@@ -1401,7 +1411,7 @@
 			</para>
 			<orderedlist>
 			<listitem>
-				Add the following line in <filename>configure.ac</filename>.
+				<para>Add the following line in <filename>configure.ac</filename>.</para>
 				<programlisting>PKG_CHECK_MODULES(XML, libxml-2.0 >= 2.4)</programlisting>
 				<para>	
 				This macro will check the existence of <application>libxml2</application> with a version higher or
@@ -1413,7 +1423,7 @@
 				</para>
 			</listitem>
 			<listitem>
-				Add the following lines in <filename>Makefile.am</filename>.
+				<para>Add the following lines in <filename>Makefile.am</filename>.</para>
 				<programlisting>tut_prog_CPPFLAGS = $(XML_CFLAGS)
 tut_prog_LDFLAGS= $(XML_LIBS)</programlisting>
 				<para>	
@@ -1422,7 +1432,7 @@
 				</para>
 			</listitem>
 			<listitem>
-				That's all. You can run <userinput>make</userinput> again.
+				<para>That's all. You can run <userinput>make</userinput> again.</para>
 			<screen>
 cd . &amp;&amp; /bin/sh /home/seb2008.1/Projects/tutprog/missing --run aclocal-1.10 
 cd . &amp;&amp; /bin/sh /home/seb2008.1/Projects/tutprog/missing --run automake-1.10 --foreign 
@@ -1491,13 +1501,13 @@
 			</listitem> 
 			</orderedlist>
 			<tip>
-				When installed, each library supporting pkg-config copy a small text file,
+				<para>When installed, each library supporting pkg-config copy a small text file,
 				with .pc extension, in a system directory; normally 
 				<filename>/usr/lib/pkgconfig</filename>. If you install a library from
 				source it will be by default in <filename>/usr/local/lib/pkgconfig</filename>.
 				You can ask <application>pkg-config</application> to search in this
 				directory too, by defining the environment variable <userinput>
-				PKG_CONFIG_PATH=/usr/local/lib/pkgconfig</userinput>.
+				PKG_CONFIG_PATH=/usr/local/lib/pkgconfig</userinput>.</para>
 			</tip>
 		</sect2>
 		<sect2 id="library-autotools-m4"> 
@@ -1508,22 +1518,23 @@
 				You need a <application>Autoconf</application> macro:
 				<itemizedlist>
 				<listitem>
-					Check if the library author shipped a <application>M4</application> macro, and use
+					<para>Check if the library author shipped a <application>M4</application> macro, and use
 					it if present. It is a text file named like the library with a .m4 extension
-					often installed in <filename>/usr/share/aclocal</filename>.
+					often installed in <filename>/usr/share/aclocal</filename>.</para>
 				</listitem>
 				<listitem>
-					If your library is a basic one, it might be checked
+					<para>If your library is a basic one, it might be checked
 					by the standard <application>Autoconf</application> macros (see the list 
 					<ulink type="http" url="http://sources.redhat.com/autobook/autobook/autobook_283.html#SEC283";>
-					here</ulink>).
+					here</ulink>).</para>
 				</listitem>
-				<listitem>Perhaps the <application>M4</application> macro you need has already be programmed by someone
-					else. Look at the contributions <ulink type="http" url="http://www.gnu.org/software/ac-archive/";>here</ulink>.
+				<listitem>
+					<para>Perhaps the <application>M4</application> macro you need has already be programmed by someone
+					else. Look at the contributions <ulink type="http" url="http://www.gnu.org/software/ac-archive/";>here</ulink>.</para>
 				</listitem>
 				<listitem>
-					If all that fail, go deeper in <application>M4</application>, make your own macro, and
-					donate it to the library's author !
+					<para>If all that fail, go deeper in <application>M4</application>, make your own macro, and
+					donate it to the library's author!</para>
 				</listitem>
 				</itemizedlist>			
 			</para>
@@ -1535,7 +1546,7 @@
 			</para>
 			<orderedlist>
 			<listitem>
-				Add the following line in <filename>configure.ac</filename>.
+				<para>Add the following line in <filename>configure.ac</filename>.</para>
 				<programlisting>AM_PATH_XML2(2.4.0)</programlisting>
 				<para>	
 				This macro will check the existence of the library with a version higher or
@@ -1545,7 +1556,7 @@
 				</para>
 			</listitem>
 			<listitem>
-				Add the following lines in <filename>Makefile.am</filename>.
+				<para>Add the following lines in <filename>Makefile.am</filename>.</para>
 				<programlisting>tut_prog_CPPFLAGS = $(XML_CPPFLAGS)
 tut_prog_LDFLAGS= $(XML_LIBS)</programlisting>
 				<para>	
@@ -1556,8 +1567,8 @@
 				</para>
 			</listitem>
 			<listitem>
-				That's all. You can run <userinput>make</userinput> again. The generated
-				<filename>Makefile</filename> is almost the same.
+				<para>That's all. You can run <userinput>make</userinput> again. The generated
+				<filename>Makefile</filename> is almost the same.</para>
 			</listitem>
 			</orderedlist>
 		</sect2>	
@@ -1566,13 +1577,13 @@
 			<para>
 				It is the approach one could naturally have: let's give <application>GCC</application> the stuff
 				it needs directly ! On my system, <filename>libxml/parser.h</filename>
-				is in <filename classs="directory">/usr/include/libxml2</filename>, and
+				is in <filename class="directory">/usr/include/libxml2</filename>, and
 				the shared object is 'libxml.so', located in <filename>/usr/lib</filename>.
 				(I will assume it's all the same for you).
 			</para>
 			<orderedlist>
 			<listitem>
-				Add the following lines in <filename>Makefile.am</filename>.
+				<para>Add the following lines in <filename>Makefile.am</filename>.</para>
 				<programlisting>tut_prog_CPPFLAGS = -I /usr/include/libxml2
 tut_prog_LDFLAGS= -lxml2</programlisting>
 				<para>
@@ -1582,8 +1593,8 @@
 				</para>
 			</listitem>
 			<listitem>
-				You can run <userinput>make</userinput> and it should work if you have the same
-				system than me.
+				<para>You can run <userinput>make</userinput> and it should work if you have the same
+				system than me.</para>
 			<screen>
  cd . &amp;&amp; /bin/sh /home/seb2008.1/Projects/tutprog/missing --run automake-1.10 --foreign  Makefile
  cd . &amp;&amp; /bin/sh ./config.status Makefile depfiles
@@ -1604,19 +1615,19 @@
 				approach has several drawbacks:
 				<itemizedlist>
 					<listitem>
-						It is not portable to various linuxes: perhaps on other
-						distribution the include path is different.					
+						<para>It is not portable to various linuxes: perhaps on other
+						distribution the include path is different.</para>
 					</listitem>
 					<listitem>
-						If the next versions of libxml have different paths,
-						or different needed libraries, we will need to update the project.
+						<para>If the next versions of libxml have different paths,
+						or different needed libraries, we will need to update the project.</para>
 					</listitem>
 					<listitem>
-						We don't test whether the system of the packager/user has
-						the library.
+						<para>We don't test whether the system of the packager/user has
+						the library.</para>
 					</listitem>
 					<listitem>
-						We cannot check the version of the <application>libxml2</application> we use.
+						<para>We cannot check the version of the <application>libxml2</application> we use.</para>
 					</listitem>
 				</itemizedlist>
 			</para>
@@ -1632,8 +1643,8 @@
 			<title>With pkg-config</title>
 			<orderedlist>
 			<listitem>
-				Open the file <filename>main.c</filename> of the <application>Anjuta</application>
-				project created in the previous chapter. Replace it with the following text:
+				<para>Open the file <filename>main.c</filename> of the <application>Anjuta</application>
+				project created in the previous chapter. Replace it with the following text:</para>
 				<example>
 				<title>main.c using <application>libxml2</application>:</title>
 				<programlisting role="C">
@@ -1658,19 +1669,19 @@
 				</example>
 			</listitem>
 			<listitem>
-				Select <menuchoice><guisubmenu>Project</guisubmenu>
+				<para>Select <menuchoice><guisubmenu>Project</guisubmenu>
 				<guimenuitem>Properties</guimenuitem><guilabel>Packages</guilabel></menuchoice>, to get the
-				package properties dialog.
+				package properties dialog.</para>
 			</listitem>
 			<listitem>
-				Click on <guibutton>Add module</guibutton> button and Enter a name
-				in the <guilabel>Module/Package</guilabel> column, "XML" by example.
+				<para>Click on <guibutton>Add module</guibutton> button and Enter a name
+				in the <guilabel>Module/Package</guilabel> column, "XML" by example.</para>
 			</listitem>
 			<listitem>
-				Click on <guibutton>Add Package</guibutton> button that should be enabled
+				<para>Click on <guibutton>Add Package</guibutton> button that should be enabled
 				now. You get the a dialog where you can select the library that you want to
 				use. This dialog list all libraries supporting <application>pkg-config</application>.
-				Select <userinput>libxml-2.0</userinput>. Then click on <guibutton>Add</guibutton> button.
+				Select <userinput>libxml-2.0</userinput>. Then click on <guibutton>Add</guibutton> button.</para>
 			</listitem>
 			<listitem>
 				<para>
@@ -1693,14 +1704,14 @@
 				</para>
 			</listitem>
 			<listitem>
-				Close the dialog and select <menuchoice><guisubmenu>Project</guisubmenu>
+				<para>Close the dialog and select <menuchoice><guisubmenu>Project</guisubmenu>
 				<guimenuitem>Refresh</guimenuitem></menuchoice>. This should not be needed but is
 				necessary with the current version of <application>Anjuta</application>.
-				This bug has already been reported (#541694) and will be fixed soon 
+				This bug has already been reported (#541694) and will be fixed soon </para>
 			</listitem>
 			<listitem>
-				In the project view, select the project target tutprog and click on right button to
-				get a context menu and select Properties. You will get the target properties dialog.
+				<para>In the project view, select the project target tutprog and click on right button to
+				get a context menu and select Properties. You will get the target properties dialog.</para>
 			</listitem>
 			<listitem>
 				<para>
@@ -1720,9 +1731,9 @@
 				</figure>
 			</listitem>
 			<listitem>
-				Click on <guibutton>Close</guibutton> and that's all. You can select
+				<para>Click on <guibutton>Close</guibutton> and that's all. You can select
 				<menuchoice><guisubmenu>Build</guisubmenu>
-				<guimenuitem>Build</guimenuitem></menuchoice> to rebuild your project.
+				<guimenuitem>Build</guimenuitem></menuchoice> to rebuild your project.</para>
 			</listitem>
 			</orderedlist>
 		</sect2>
@@ -1750,37 +1761,41 @@
 		<varlistentry>
 			<term>English</term>
 
-			<listitem>First, you can take a look at the
-				<ulink type="http" url="http://www.gnu.org/software/autoconf/manual/autoconf.html";>
-				Autoconf</ulink>,
-				<ulink type="http" url="http://www.gnu.org/software/automake/manual/automake.html";>
-				Automake</ulink>,
-				<ulink type="http" url="http://www.gnu.org/software/libtool/manual/libtool.html";>
-				Libtool</ulink>,
-				<ulink type="http" url="http://www.gnu.org/software/make/manual/make.html";>
-				make</ulink> and
-				<ulink type="http" url="http://www.gnu.org/software/m4/manual/m4.html";>
-				M4</ulink>
-				 manuals.
-			</listitem>
-
 			<listitem>
-				The <ulink type="http" url="http://sources.redhat.com/autobook/autobook/autobook_toc.html";>
-				Autobook</ulink> explains in details how the <application>Autotools</application> work.
-			</listitem>
+				<itemizedlist>
+				<listitem>
+					<para>First, you can take a look at the
+					<ulink type="http" url="http://www.gnu.org/software/autoconf/manual/autoconf.html";>
+					Autoconf</ulink>,
+					<ulink type="http" url="http://www.gnu.org/software/automake/manual/automake.html";>
+					Automake</ulink>,
+					<ulink type="http" url="http://www.gnu.org/software/libtool/manual/libtool.html";>
+					Libtool</ulink>,
+					<ulink type="http" url="http://www.gnu.org/software/make/manual/make.html";>
+					make</ulink> and
+					<ulink type="http" url="http://www.gnu.org/software/m4/manual/m4.html";>
+					M4</ulink>
+					 manuals.</para>
+				</listitem>
 
-			<listitem>
-				Amongst the various GNU development tools you are told about,
-				<ulink type="http" url="http://autotoolset.sourceforge.net/tutorial.html";>					
-				here</ulink> are <application>Autoconf</application> and <application>Automake</application>.
-			</listitem>
+				<listitem>
+					<para>The <ulink type="http" url="http://sources.redhat.com/autobook/autobook/autobook_toc.html";>
+					Autobook</ulink> explains in details how the <application>Autotools</application> work.</para>
+				</listitem>
 
-			<listitem>
-				<ulink url="http://www.lrde.epita.fr/~adl/autotools.html";>Here</ulink>
-				and <ulink url="http://seul.org/docs/autotut/";>here</ulink>
-				are two other tutorials about <application>Autotools</application>.
- 			</listitem>
+				<listitem>
+					<para>Amongst the various GNU development tools you are told about,
+					<ulink type="http" url="http://autotoolset.sourceforge.net/tutorial.html";>
+					here</ulink> are <application>Autoconf</application> and <application>Automake</application>.</para>
+				</listitem>
 
+				<listitem>
+					<para><ulink url="http://www.lrde.epita.fr/~adl/autotools.html";>Here</ulink>
+					and <ulink url="http://seul.org/docs/autotut/";>here</ulink>
+					are two other tutorials about <application>Autotools</application>.</para>
+	 			</listitem>
+				</itemizedlist>
+			</listitem>
 		</varlistentry>
 		<varlistentry>
 			<term>French</term>
@@ -1790,19 +1805,19 @@
 			</listitem>
 		</varlistentry>
 		<varlistentry>
-			<term>Japanese</term>				
+			<term>Japanese</term>
 			<listitem>
-			<ulink type="http" url="http://larse-gtk.hp.infoseek.co.jp/automake.html";>
+			<para><ulink type="http" url="http://larse-gtk.hp.infoseek.co.jp/automake.html";>
 			A tutorial about <application>Autoconf</application> and <application>Automake</application>
-			</ulink>.</listitem>
+			</ulink>.</para></listitem>
 		</varlistentry>
 	</variablelist>
 	<tip>
-		This tutorial uses <application>Autoconf 2.61 (November 2006)</application> and
+		<para>This tutorial uses <application>Autoconf 2.61 (November 2006)</application> and
 		<application>Automake 1.10.1 (January 2008)</application>.
 		Some of these documentations uses older versions. the syntaxes could have changed quite a bit.
 		These old syntaxes usually still work and are used in old project.
-		It is useful to know them but it is a bad idea to use them in a new project.
+		It is useful to know them but it is a bad idea to use them in a new project.</para>
 	</tip>
 </chapter>
 </book>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]