Autobook中文版 (六)-- 8. Bootstrapping

2023-12-01 18:08

本文主要是介绍Autobook中文版 (六)-- 8. Bootstrapping,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


    无论你任何时候编辑configure.in,你必须重新运行aclocal,即使是你加一个引用到一个新宏。你也必须通过运行autoconf重建configure;config.h通过运行autoheader重建,即使你加一个新的AC_DEFINE;或者automake增加一个新的AC_SUBSTs到makefile.in的变量。如果你编辑一个makefile.am文件,你必须重新运行automake。在这两种情况下,你必须重新运行config.status,如果configure被改变,需要重新检查,然后运行config.status重新创建makefile。
用创建系统开发你的项目的时候,依赖关系很快变得令人烦恼。当然,automake知道怎样自动地处理这些。一般,automake产生一个makefile.in文件,这个文件定义了各部分的依赖关系,并以适当的顺序自动运行各种必要的工具。这一切都假设所用到的工具的版本都是正确的。
autotool程序有一个脚本准备做这些,你生成一个makefle之前或你从代码库获取新的代码时,它将用正确的顺序自动地运行各种工具。对于怎样做这个,至少有两种方法 -autogen.sh和bootstrap:
autogen.sh  
从开始,这就是一个不好的名字对于bootstrap脚本,因为GNU已经有一个自动的文本生成工具叫AutoGen.bootstrap运行过后,通常安装包会有脚本自动运行生成configure脚本,以autogen.sh作为参数传递给configure。除非你不知道你想要什么选项,直到configure脚本生成为止,你不能运行configure --help。如果你发现自己编译的项目用这种方式建立,我建议你输入:
$ /bin/sh ./autogen.sh --help
忽略假的warning提示,那只是告诉你conigure将被执行。
bootstrap
越来越多地,许多项目通过调用它们的bootstrap脚本启动。启动脚本简单地运行各种各样的必须的命令,使源代码处于可安装的状态,最终用户能简单地运行:
$ configure
$ make
$ make install
不幸的是很多人没有在他们的发布包里放置bootstrap脚本。因此除了开发者机器的创建环境发生改变的时候,这个脚本不是必须的。这意味着autogen.sh的使用者可能从来没有看到其他方法的优点。
Autoconf带有一个和bootstrap脚本具有同样功能的程序叫做autoreconf。因为autoreconf很少被使用,从来也不有名,仅仅在autoconf2.13版本里和automake一起使用。甚至autoconf2.13版本的autoreconf也不处理动态库和automake相关的选项。
直到autoreconf出现之前,我们推荐bootstrap方法。在写这本书的时候,我们所使用的bootstrap是一个还没有被标准化的版本:
#! /bin/sh
aclocal \
&& automake --gnu --add-missing \
&& autoconf
在这里我们不使用autoreconf,因为它不能处理我们想要的`--add-missing'选项。一个典型的bootstrap可能也运行libtoolize或者autoheader。
所有工具的版本的正确性对于开发者来说是很重要的,这样能够避免由于版本疏忽导致的许多问题。在工作中版本不一致是很值得注意的问题。因此automake默认地提供了一个机制避免这些问题,当开发者知道他们的环境是正确设置的时候,用户可以激活它们。
为了能够使用这个方法,你首先必须添加AM_MAINTAINER_MODE到`configure.in'.这将添加`--enable-maintainer-mode'选项到configure;当指定这个选项的时候将导致“维护者规则”被激活。
注意,维护者方式是一个有争议的属性。有些人喜欢使用它是因为在某些情况下它导致较少的错误报告。例如,cvs不保存文件的相对时间戳。如果你的项目同时有configure.in和configure两个文件,而且没有使用维护者模式,那么有时make将需要重新生成configure,即使这不是必须的。这会给开发者带来更多的麻烦--在一个大的项目里,有很多开发者不想接触configure.in,甚至很多人不想安装GNU Autotools.
还有一些人认为最终用户应该使用和开发者一样的创建系统,维护者模式是不推荐的,而且维护者模式是不安全的--你很容易地忘记自己使用的是什么,忘记重建,忽略正确的测试,一个改变或者重建系统。在非维护者模式下,使用一个不存在的维护者工具时automake的missing脚本将会发出一个警告给用户。

这篇关于Autobook中文版 (六)-- 8. Bootstrapping的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/442151

相关文章

JavaEE7 Servlet 3.1(JSR 340)规范中文版

http://www.iteye.com/news/27727-jinnianshilongnian     Jave EE 7中的部分规范已正式获得批准通过,其中包括JSR340 Java Servlet 3.1规范,去年翻译了该规范,在此分享出来,希望对某些朋友有所帮助,不足之处请指正。   点击直接下载    在线版目录   Servlet3.1规范翻译

OWASP ZAP2.4.3使用指南(中文版)

OWASP ZAP是一款开源的web安全工具,它简单易用,与burp suite相似,主要功能包含了:代理、数据拦截修改、主动扫描、被动扫描、主动攻击、爬虫、fuzzing、渗透测试等。在国外安全圈和渗透测试领域应用非常广泛,在youtube上有许多关于ZAP的视频资料。与burp suite相比,前者是一款商业渗透测试工具,部分功能不能使用,国内的大部分使用者都使用的破解版,而ZAP是开源免费的

fl studio24.1.1.4285中文版怎么破解?FL Studio 2024安装破解使用图文教程

fl studio24.1.1.4285中文破解版是一款功能强大的编曲软件,也就是众所熟知的水果软件。它可以编曲、剪辑、录音、混音,让您的计算机成为全功能录音室。除此之外,这款软件功能非常强大,为用户提供了许多音频处理工具,包含了编排,录制,编辑,混音和掌握专业品质音乐所需的一切,支持多音轨录音时间拉伸和音高移动原始音频编辑。本身也可以作为VSTi或DXi的插件,Cubase、Logic、Orio

算法导论书本第3版_中文版和英文版_完整版本_带目录_PDF

整理的算法导论资源,下载链接: 中文版: http://download.csdn.net/download/u013359794/10231906 英文版: http://download.csdn.net/download/u013359794/10232121

Windows Server 2019 中文版、英文版下载 (updated Aug 2024)

Windows Server 2019 中文版、英文版下载 (updated Aug 2024) Windows Server 2019 Version 1809 请访问原文链接:https://sysin.org/blog/windows-server-2019/,查看最新版。原创作品,转载请保留出处。 本站将不定期发布官方原版风格月度更新 ISO。 Windows Server

自然语言处理(NLP)-预训练模型:别人已经训练好的模型,可直接拿来用【ELMO、BERT、ERNIE(中文版BERT)、GPT、XLNet...】

预训练模型(Pretrained model):一般情况下预训练模型都是大型模型,具备复杂的网络结构,众多的参数量,以及在足够大的数据集下进行训练而产生的模型. 在NLP领域,预训练模型往往是语言模型,因为语言模型的训练是无监督的,可以获得大规模语料,同时语言模型又是许多典型NLP任务的基础,如机器翻译,文本生成,阅读理解等,常见的预训练模型有BERT, GPT, roBERTa, transf

3分钟带你手把手安装一款音乐制作神器——FL Studio 24.1.1.4285中文版

大家好,今天我要给大家介绍一款音乐制作神器——FL Studio 24.1.1.4285中文版。这款软件可是音乐制作界的翘楚,无论是专业人士还是音乐爱好者,都会为它的强大功能和易用性所折服。 我们来看看FL Studio的特点。这是一款全能型的音乐工作站,集编曲、混音、录音、演奏于一体。无论你是想创作电子音乐,还是流行歌曲,甚至是电影配乐,FL Studio都能满足你的需求。它的界面简洁明了,操作

微分方程(Blanchard Differential Equations 4th)中文版Section6.3

二阶线性方程 Laplace 变换求解 在这一节中,我们将拉普拉斯变换方法扩展到二阶常系数强迫线性方程,即具有以下形式的方程: d 2 y d t 2 + p d y d t + q y = f ( t ) , \frac{d^2 y}{dt^2} + p \frac{dy}{dt} + qy = f(t), dt2d2y​+pdtdy​+qy=f(t), 其中 p p p 和 q q

ChatGPT3.5/4.0新手使用手册,国内中文版使用教程

引言 欢迎使用ChatGPT!无论你是刚开始接触AI聊天机器人,还是已经有了一些使用经验,这篇新手使用手册将帮助你快速上手,并且从ChatGPT中获得最优的体验。本文主要聚焦于提示词(Prompt)的使用教学,通过正确的提示词引导,你将能够更好地与ChatGPT进行互动。 什么是提示词? 提示词是你与ChatGPT交流时使用的指令或问题。它们告诉模型你想要得到什么样的信息、建议或创意。有效的

Camtasia 2024 v2024.0.6 for Mac 中文版 屏幕录像视频录制编辑软件

TechSmith Camtasia for Mac 中文版 是一款专业的屏幕录像及视频录制编辑软件。以业界领先的清晰度重新定义了屏幕录制,将屏幕、摄像头、麦克风和系统音频捕获为独立音轨,实现终极控制和灵活性。通过拖放过渡、标注等功能,以及改进的工作流程和Camtasia Audiate中的Al编辑,使视频编辑比以往任何时候都更容易,方便您快速、直观的编辑影片,本站给大家带来 Camtasia 2