📄 autobook_84.html
字号:
<HTML><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><!-- Created on September, 12 2004 by texi2html 1.64 --><!-- Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author) Karl Berry <karl@freefriends.org> Olaf Bachmann <obachman@mathematik.uni-kl.de> and many others.Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>Send bugs and suggestions to <texi2html@mathematik.uni-kl.de> --><HEAD><TITLE>Autoconf, Automake, and Libtool: Integration with configure.in</TITLE><META NAME="description" CONTENT="Autoconf, Automake, and Libtool: Integration with configure.in"><META NAME="keywords" CONTENT="Autoconf, Automake, and Libtool: Integration with configure.in"><META NAME="resource-type" CONTENT="document"><META NAME="distribution" CONTENT="global"><META NAME="Generator" CONTENT="texi2html 1.64"><script language="Javascript"><!-- // Check the browser version. function checkVersion() { if (navigator.appVersion.charAt(0)>=3) return true; if (navigator.appVersion.charAt(0)>=4) return true; else return false; } if (checkVersion()) { homeon = new Image(); homeon.src = "homeon.png"; homeoff = new Image(); homeoff.src = "home.png"; tocon = new Image(); tocon.src = "tocon.png"; tocoff = new Image(); tocoff.src = "toc.png"; indexon = new Image(); indexon.src = "indexon.png"; indexoff = new Image(); indexoff.src = "index.png"; helpon = new Image(); helpon.src = "helpon.png"; helpoff = new Image(); helpoff.src = "help.png"; backon = new Image(); backon.src = "backon.png"; backoff = new Image(); backoff.src = "back.png"; forwardon = new Image(); forwardon.src = "forwardon.png"; forwardoff = new Image(); forwardoff.src = "forward.png"; prevon = new Image(); prevon.src = "prevon.png"; prevoff = new Image(); prevoff.src = "prev.png"; nexton = new Image(); nexton.src = "nexton.png"; nextoff = new Image(); nextoff.src = "next.png"; upon = new Image(); upon.src = "upon.png"; upoff = new Image(); upoff.src = "up.png"; } function img_act(imgName) { if (checkVersion()) { imgOn = eval(imgName + "on.src"); document [imgName].src = imgOn; } } function img_inact(imgName) { if (checkVersion()) { imgOff = eval(imgName + "off.src"); document [imgName].src = imgOff; } }// --></SCRIPT></HEAD><BODY LANG="EN" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#6688AA" VLINK="#336688" ALINK="#808080"><A NAME="SEC84"></A><TABLE BORDER=0 CELLPADDING=0 CELLSPACING=10><TR VALIGN="TOP"><TD ALIGN="MIDDLE" WIDTH=50 BGCOLOR="#e6e6e6"><TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0><TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"><A HREF="autobook_83.html#SEC83" onMouseover="img_act('prev')" onMouseout="img_inact('prev')"><IMG SRC="prev.png" BORDER="0" ALT="Back: Using GNU Libtool" ALIGN="MIDDLE" NAME="prev"></A></TD></TR><TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"><A HREF="autobook_85.html#SEC85" onMouseover="img_act('next')" onMouseout="img_inact('next')"><IMG SRC="next.png" BORDER="0" ALT="Forward: Extra Configure Options" ALIGN="MIDDLE" NAME="next"></A></TD></TR><TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"> <TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"><A HREF="autobook_83.html#SEC83" onMouseover="img_act('back')" onMouseout="img_inact('back')"><IMG SRC="back.png" BORDER="0" ALT="FastBack: Using GNU Libtool" ALIGN="MIDDLE" NAME="back"></A></TD></TR><TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"><A HREF="autobook_83.html#SEC83" onMouseover="img_act('up')" onMouseout="img_inact('up')"><IMG SRC="up.png" BORDER="0" ALT="Up: Using GNU Libtool" ALIGN="MIDDLE" NAME="up"></A></TD></TR><TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"><A HREF="autobook_87.html#SEC87" onMouseover="img_act('forward')" onMouseout="img_inact('forward')"><IMG SRC="forward.png" BORDER="0" ALT="FastForward: Integration with Makefile.am" ALIGN="MIDDLE" NAME="forward"></A></TD></TR><TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"><A HREF="autobook.html#SEC_Top" onMouseover="img_act('home')" onMouseout="img_inact('home')"><IMG SRC="home.png" BORDER="0" ALT="Top: Autoconf, Automake, and Libtool" ALIGN="MIDDLE" NAME="home"></A></TD></TR><TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"><A HREF="autobook_toc.html#SEC_Contents" onMouseover="img_act('toc')" onMouseout="img_inact('toc')"><IMG SRC="toc.png" BORDER="0" ALT="Contents: Table of Contents" ALIGN="MIDDLE" NAME="toc"></A></TD></TR><TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"><A HREF="autobook_285.html#SEC285" onMouseover="img_act('index')" onMouseout="img_inact('index')"><IMG SRC="index.png" BORDER="0" ALT="Index: Index" ALIGN="MIDDLE" NAME="index"></A></TD></TR><TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"><A HREF="autobook_abt.html#SEC_About" onMouseover="img_act('help')" onMouseout="img_inact('help')"><IMG SRC="help.png" BORDER="0" ALT="About: About this document" ALIGN="MIDDLE" NAME="help"></A></TD></TR></TABLE></TD><TD ALIGN="LEFT"><H2> 11.1 Integration with <TT>`configure.in'</TT> </H2><!--docid::SEC84::--><P>Declaring your use of <CODE>libtool</CODE> in the project's<TT>`configure.in'</TT> is a simple matter of adding the<SAMP>`AC_PROG_LIBTOOL'</SAMP><A NAME="DOCF18" HREF="autobook_fot.html#FOOT18">(18)</A> somewherenear the top of the file. I always put it immediately after the other<SAMP>`AC_PROG_...'</SAMP> macros. If you are converting an old project to use<CODE>libtool</CODE>, then you will also need to remove any calls to<SAMP>`AC_PROG_RANLIB'</SAMP>. Since Libtool will be handling all of thelibraries, <EM>it</EM> will decide whether or not to call <CODE>ranlib</CODE>as appropriate for the build environment.</P><P><BLOCKQUOTE>The code generated by <SAMP>`AC_PROG_LIBTOOL'</SAMP> relies on the shellvariable <CODE>$top_builddir</CODE> to hold the relative path to the directorywhich contains the <CODE>configure</CODE> script. If you are usingAutomake, <CODE>$top_builddir</CODE> is set in the environment by thegenerated <TT>`Makefile'</TT>. If you use Autoconf without Automake thenyou must ensure that <CODE>$top_builddir</CODE> is set before the call to<SAMP>`AC_PROG_LIBTOOL'</SAMP> in <TT>`configure.in'</TT>.<P>Adding the following code to <TT>`configure.in'</TT> is often sufficient:</P><P><TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>for top_builddir in . .. ../.. $ac_auxdir $ac_auxdir/..; do test -f $top_builddir/configure && breakdone</FONT></pre></td></tr></table></BLOCKQUOTE><P>Having made these changes to add <CODE>libtool</CODE> support to yourproject, you will need to regenerate the <TT>`aclocal.m4'</TT> file to pickup the macro definitions required for <SAMP>`AC_PROG_LIBTOOL'</SAMP>, and thenrebuild your <CODE>configure</CODE> script with these new definitions inplace. After you have done that, there will be some new optionsavailable from <CODE>configure</CODE>:</P><P><TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>$ aclocal$ autoconf$ ./configure --help...--enable and --with options recognized: --enable-shared[=PKGS] build shared libraries [yes] --enable-static[=PKGS] build static libraries [yes] --enable-fast-install[=PKGS] optimize for fast installation [yes] --with-gnu-ld assume the C compiler uses GNU ld [no] --disable-libtool-lock avoid locking (might break parallel builds) --with-pic try to use only PIC/non-PIC objects [both]</FONT></pre></td></tr></table></P><P>These new options allow the end user of your project some control overhow they want to build the project's libraries. The opposites of eachof these switches are also accepted, even though they are not listed by<CODE>configure --help</CODE>. You can equally pass,<SAMP>`--disable-fast-install'</SAMP> or <SAMP>`--without-gnu-ld'</SAMP> for example.</P><P><A NAME="Extra Configure Options"></A></TR></TABLE><BR> <FONT SIZE="-1">This document was generatedby <I>Gary V. Vaughan</I> on <I>September, 12 2004</I>using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html"><I>texi2html</I></A></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -