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

📄 autobook_242.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: Integration with Cygnus Cygwin</TITLE><META NAME="description" CONTENT="Autoconf, Automake, and Libtool: Integration with Cygnus Cygwin"><META NAME="keywords" CONTENT="Autoconf, Automake, and Libtool: Integration with Cygnus Cygwin"><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="SEC242"></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_241.html#SEC241" onMouseover="img_act('prev')" onMouseout="img_inact('prev')"><IMG SRC="prev.png" BORDER="0" ALT="Back: 24.4 Example: The Full Pull" ALIGN="MIDDLE" NAME="prev"></A></TD></TR><TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"><A HREF="autobook_243.html#SEC243" onMouseover="img_act('next')" onMouseout="img_inact('next')"><IMG SRC="next.png" BORDER="0" ALT="Forward: Preliminaries" 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_13.html#SEC13" onMouseover="img_act('back')" onMouseout="img_inact('back')"><IMG SRC="back.png" BORDER="0" ALT="FastBack: Invoking configure" ALIGN="MIDDLE" NAME="back"></A></TD></TR><TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"><A HREF="autobook.html#SEC_Top" onMouseover="img_act('up')" onMouseout="img_inact('up')"><IMG SRC="up.png" BORDER="0" ALT="Up: Top" ALIGN="MIDDLE" NAME="up"></A></TD></TR><TR VALIGN="TOP" ALIGN="LEFT"><TD VALIGN="MIDDLE" ALIGN="LEFT"><A HREF="autobook_258.html#SEC258" onMouseover="img_act('forward')" onMouseout="img_inact('forward')"><IMG SRC="forward.png" BORDER="0" ALT="FastForward: Cross Compilation" 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"><H1> 25. Using GNU Autotools with Cygnus Cygwin </H1><!--docid::SEC242::--><P><A NAME="IDX56"></A><A NAME="IDX57"></A><A NAME="IDX58"></A><A NAME="IDX59"></A><A NAME="IDX60"></A>It is possible to use the GNU Autotools to build software packages onWindows.  Since the tools were developed on Unix, it is easier to getthem to work using Cygnus Solutions' Cygwin distribution which providesa POSIX wrapper for the Win32 <FONT SIZE="-1">API</FONT>, See section <A HREF="autobook_7.html#SEC7">The Diversity of Unix Systems</A>, but it is certainlypossible to run the tools within other Windows environments, notablyColin Peters' <EM>Mingw32</EM> and D.J. Delorie's <EM>DJGPP</EM>.  Thesedevelopment environments are freely available on theInternet<A NAME="DOCF56" HREF="autobook_fot.html#FOOT56">(56)</A>.  Unlike Cygwin, theseother environments are designed for developing with the Win32<FONT SIZE="-1">API</FONT> directly and consequently they are not as useful forporting Unix projects to Windows or writing code that works on bothWindows and Unix, see  <A HREF="autobook_121.html#SEC121">15.3 Unix/Windows Portability</A> for more details.This chapter describes the process of using GNU Autotools with Cygwin,although some of this advice also applies to employing some of the otherGNU based Windows development environments.</P><P><BLOCKQUOTE>It is notable that the recent Cygwin ports of GCC and<EM>binutils</EM> can produce binaries which will run with the<TT>`cygwin1.dll'</TT> emulation layer, or linked against <TT>`CRTDLL.DLL'</TT>,the Windows native <EM><B>C</B> <B>R</B>un<B>T</B>ime <B>D</B>ynamic <B>L</B>ink<B>L</B>ibrary</EM> depending on the needs of particular source code.  Recentversions<A NAME="DOCF57" HREF="autobook_fot.html#FOOT57">(57)</A> of the binutilsimplement the <FONT SIZE="-1">PE-COFF</FONT> binary format used by Windows, so byspecifying the <SAMP>`-mno-cygwin'</SAMP> compiler option to the Cygwincompiler and using only the <FONT SIZE="-1">API</FONT> from <TT>`CRTDLL.DLL'</TT>, youcan build binaries which are independent of the <TT>`cygwin1.dll'</TT>DLL.  Such binaries will generally run faster, since they bypassthe POSIX emulation, and give easier access to Windows specificthings such as drive letters.  Source code designed to be compiled thisway will not compile on Unix however, since it will be limited to theWin32 <FONT SIZE="-1">API</FONT> provided by <TT>`CRTDLL.DLL'</TT>.</BLOCKQUOTE><P>After reading this chapter, you will be able to install and useGNU Autotools <EM>natively</EM> under Windows using Cygnus Solutions' Cygwinenvironment, both to develop your own packages with the aid of Cygwin,and to compile, install, and to a certain degree port other peoplespackages for use with Cygwin.  As a Unix package developer, youwill learn how to write your configury to be Windows friendly, and to beaware of certain quirks of Windows which can affect the portability ofpackages which need to work on Windows in addition to your Unixdevelopment machine.</P><P><A NAME="Preliminaries"></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 + -