⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 autobook_69.html

📁 Autoconf使用手册
💻 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: Creating libtool</TITLE><META NAME="description" CONTENT="Autoconf, Automake, and Libtool: Creating libtool"><META NAME="keywords" CONTENT="Autoconf, Automake, and Libtool: Creating libtool"><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="SEC69"></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_68.html#SEC68" onMouseover="img_act('prev')" onMouseout="img_inact('prev')"><IMG SRC="prev.png" BORDER="0" ALT="Back: Introducing GNU Libtool" ALIGN="MIDDLE" NAME="prev"></A></TD></TR><TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"><A HREF="autobook_70.html#SEC70" onMouseover="img_act('next')" onMouseout="img_inact('next')"><IMG SRC="next.png" BORDER="0" ALT="Forward: The Libtool Library" ALIGN="MIDDLE" NAME="next"></A></TD></TR><TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"><A HREF="autobook_68.html#SEC68" onMouseover="img_act('back')" onMouseout="img_inact('back')"><IMG SRC="back.png" BORDER="0" ALT="FastBack: Introducing GNU Libtool" ALIGN="MIDDLE" NAME="back"></A></TD></TR><TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"><A HREF="autobook_68.html#SEC68" onMouseover="img_act('up')" onMouseout="img_inact('up')"><IMG SRC="up.png" BORDER="0" ALT="Up: Introducing GNU Libtool" ALIGN="MIDDLE" NAME="up"></A></TD></TR><TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"><A HREF="autobook_83.html#SEC83" onMouseover="img_act('forward')" onMouseout="img_inact('forward')"><IMG SRC="forward.png" BORDER="0" ALT="FastForward: Using GNU Libtool" 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> 10.1 Creating <CODE>libtool</CODE> </H2><!--docid::SEC69::--><P>When you install a distribution of Libtool on your development machine,a host specific <CODE>libtool</CODE> program is installed.  The examples inthe rest of this chapter use this installed instance of<CODE>libtool</CODE>.</P><P>When you start to use Libtool in the build process of your own projects,you shouldn't require that <CODE>libtool</CODE> be installed on the user'smachine, particularly since they may have a different <CODE>libtool</CODE>version to the one used to develop your project.  Instead, distributesome of the files installed by the Libtool distribution along with yourproject, and custom build a <CODE>libtool</CODE> script on the user'smachine before invoking <CODE>./libtool</CODE> to build any objects.  Ifyou use Autoconf and Automake, these details are taken care ofautomatically (see section <A HREF="autobook_83.html#SEC83">Using GNU Libtool with configure.in and Makefile.am</A>).  Otherwise you should copy the followingfiles from your own Libtool installation into the source tree of yourown project:</P><P><TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>$ ls /usr/local/share/libtoolconfig.guess   config.sub   libltdl   ltconfig   ltmain.in$ cp /usr/local/share/libtool/config.* /usr/local/share/libtool/lt* .$ lsconfig.guess   config.sub   ltconfig   ltmain.in</FONT></pre></td></tr></table></P><P>You must then arrange for your project build process to create aninstance of <CODE>libtool</CODE> on the user's machine, so that it isdependent on their target system and not your development machine.  Thecreation process requires the four files you just added to your project.Let's create a <CODE>libtool</CODE> instance by hand, so that you can seewhat is involved:</P><P><TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>$ ./config.guesshppa1.1-hp-hpux10.20$ ./ltconfig --disable-static --with-gcc ./ltmain.sh hppa1.1-hp-hpux10.20checking host system type... hppa1.1-hp-hpux10.20checking build system type... hppa1.1-hp-hpux10.20checking whether ln -s works... yeschecking for ranlib... ranlibchecking for BSD-compatible nm... /usr/bin/nm -pchecking for strip... stripchecking for gcc... gccchecking whether we are using GNU C... yeschecking for objdir... .libschecking for object suffix... ochecking for executable suffix... nochecking for gcc option to produce PIC... -fPICchecking if gcc PIC flag -fPIC works... yeschecking if gcc static flag -static works... yeschecking if gcc supports -c -o file.o... yeschecking if gcc supports -c -o file.lo... yeschecking if gcc supports -fno-rtti -fno-exceptions ... nochecking for ld used by GCC... /opt/gcc-lib/hp821/2.7.0/ldchecking if the linker (/opt/gcc-lib/hp821/2.7.0/ld) is GNU ld... nochecking whether the linker (/opt/gcc-lib/hp821/2.7.0/ld) supports \shared libraries... yeschecking how to hardcode library paths into programs... relinkchecking whether stripping libraries is possible... yeschecking for /opt/gcc-lib/hp821/2.7.0/ld option to reload object \files... -rchecking dynamic linker characteristics... hpux10.20 dld.slchecking command to parse /usr/bin/nm -p output... okchecking if libtool supports shared libraries... yeschecking whether to build shared libraries... yeschecking whether to build static libraries... yescreating libtool$ lsconfig.guess   config.sub   ltconfigconfig.log     libtool      ltmain.sh$ ./libtool --versionltmain.sh (GNU libtool) 1.3c (1.629 1999/11/02 12:33:04)</FONT></pre></td></tr></table></P><P>The examples in this chapter are all performed on a HP-UX system,but the principles depicted are representative of any of the platformsto which Libtool has been ported (see section <A HREF="autobook_275.html#SEC275">B. PLATFORMS</A>).</P><P>Often you don't need to specify any options, and if you omit theconfiguration triplet (see section <A HREF="autobook_17.html#SEC17">3.4 Configuration Names</A>),<CODE>ltconfig</CODE> will run <CODE>config.guess</CODE> itself.  There areseveral options you can specify which affect the generated<CODE>libtool</CODE>, See section `Invoking ltconfig' in <CITE>The Libtool Manual</CITE>.  Unless your project has special requirements, you can usually use the simplified:</P><P><TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre>$ ./ltconfig ./ltmain.sh</FONT></pre></td></tr></table></P><P>With the current release of Libtool, you must be careful that <SAMP>`$CC'</SAMP>is set to the same value when you call <CODE>ltconfig</CODE> as when youinvoke the <CODE>libtool</CODE> it generates, otherwise <CODE>libtool</CODE>will use the compiler specified in <SAMP>`$CC'</SAMP> currently, but with thesemantics probed by <CODE>ltconfig</CODE> for the compiler specified in<SAMP>`$CC'</SAMP> at the time <EM>it</EM> was executed.</P><P><A NAME="The Libtool Library"></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 + -