配置是如何进行的
configure
的shell脚本。你需要把你希望在那种机器和系统上编译程序作为参数告诉这个脚本。
configure
必须记录配置信息以便它们可以影响编译工作。`config.h'的标准名字和为选定的系统匹配的
正确配置文件连接起来。如果你使用了这种技术,发布版本中就
不应该包含名为
`config.h'的文件。这样做是为了保证用户在配置程序之前不能够创建它。
configure
可以做的另一件事情是编辑Makefile。如果你这样做了,发布版本中就不能包含名为
`Makefile'的文件。用
`Makefile.in'来代替
它,并且
`Makefile.in'为
configure
的编辑提供了输入。同样,这样做是为了保证用户在配置程序之前不能创建它。
configure
生成了`Makefile',那么
`Makefile'
就应该包含一个名为
`Makefile'的目标,这个目标将重新运行
configure
以与获取上一次配置相同的配置信息。由
configure
读取的文件,应该作为依赖性文件而在
`Makefile'中被列出。
configure
脚本生成的文件在它们的第一行都应该包含一条注释以说明它们是由
configure
自动生成的。这样做是为了确保用户不会试图手工修改它们。
configure
应该写入一个名为`config.status'的文件,该文件
说明了在程序的最后一次配置中给出了那些配置选项。该文件应该是一个shell脚本,如果运行它,
将重新生成相同的配置。
configure
应该接受形式为`–srcdir=dirname‘
的选项以指明在那个目录中可以找到源代码(如果源代码不在当前目录中)。这使得可以在
实际代码目录没有被修改的情况下,在分离的中创建程序成为可能。
`–srcdir’,那么
configure
将在`.'
和
`..'中寻找源文件。如果它在上述地方之一发现源文件,它就应该在那里使用它们。
否则,它应该报告它没有找到源文件,并且以非零状态退出。
`–srcdir’的简单方式是通过编辑被放到Makefile中的一个
VPATH
的定义。可能有一些规则需要被显式地引用以指明源代码目录。为了达到这个目的,
configure
可以把一个名为srcdir
的变量添加到Makefile中,该变量的值就是给定的目录。
configure
还应该提供一个可以指明程序是究竟为那种系统而创建的选项。这个选项看起来应该象:
cpu-company-system
`m68k-sun-sunos4.1′。
configure
需要能够解释所有对机器的似是而非的描述方式。因此,`sun3-sunos4.1′应该是有效的别名。
`sun3-bsd4.2′也是如此,
因为SunOS是基于BSD的并且没有其它的BSD系统被用于Sun。对于许多程序来说,
因为Ultrix和BSD之间的区别很少被注意到,所以
`vax-dec-ultrix’将是
`vax-dec-bsd’的一个别名。但少数程序可能需要区分它们。
`config.sub'的shell脚本,你可以把它作为一个子程序使用
以检查系统类型并且对别名进行规范化。
-
`–with-package‘
-
包
package将被安装,所以把本包配置成与
package一同工作。
package可能的取值包括
`x’、
`gnu-as’(或者
`gas’)、
`gnu-ld’、
`gnu-libc’和
`gdb’。
-
目标机器没有浮点数处理器。
-
目标机器的汇编器是GAS,GNU的汇编器。该选项已经过时了;用
`–with-gnu-as’来代替。
-
目标机器已经安装了X Window系统。该选项已经过时了;用
`–with-x’ instead来代替。
`–nfp’
`–gas’
`–x’
configure
脚本都应该接受所有这些“细节”选项,而不论它们是否会对手头的特定包产生影响。特别地,它们应该接受任何以
`–with-‘开头的选项。这样做是因为这使得用户
可以用同一组选项配置整个GNU源代码树。
可能是不同的。
configure
通常把指明的系统类型当作主机和目标机器,因此将创建与运行它的机器类型相同的机器上运行的程序。
configure
时给出选项`–host=hosttype‘来完成。它在不影响
目标机器的情况下指明了主机名。
hosttype的语法与前面所说的一样。
就不必接受选项
`–host’。
configure
脚本只需要简单地忽略它的大部分参数就行了。
0
收藏
推荐专栏更多
猜你喜欢
windows 7 安装vmware
Java线程:线程的调度-休眠
我们不得不面对的中年职场危机
职场终极密籍–记我的职业生涯
用光影魔术手制作一寸照片(8张一寸)
我的IT职场生涯: 毕业4年,月薪过万
Linux关闭休眠和屏保模式
年薪从0到10万-我的IT职场经验总结
Windows7删除休眠文件hiberfil.sys节省大量C盘空间
致IT同仁 — IT人士常犯的17个职场错误
“跳槽加薪”现象,无奈的职场规则
智能合约编程语言-solidity快速入门(下)
Android中适配器的notifyDataSetChanged()为何有时不刷新
如何在Spring Boot中使用Hibernate Natural ID
从hook开始聊聊那些windows内核数据结构
Scala的actor
正则性能调优
windows下kafka+ELK的日志系统
Nginx下,请求本机另外Host很慢
扫一扫,领取大礼包
转载于:https://blog.51cto.com/baigoogledu/154241
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110918.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...
Ctrl+Enter 发布
发布
取消