吃什么长个子| 不但而且是什么关系| 香蕉有什么作用与功效| 偶见是什么意思| 平均血红蛋白量偏高是什么意思| 吊兰开花有什么兆头| 古代地龙是什么| 法学是干什么的| 脓疱疮是什么原因引起的| husky是什么牌子| 电解质是什么| 白目是什么意思| 少女是什么意思| 冬瓜什么季节吃最好| 解构是什么意思| 经常想睡觉是什么原因| 美女的阴暗是什么样的| 统招是什么意思| 茶学专业学什么| 总爱放屁是什么原因| 肠道感染吃什么消炎药| 天蝎座跟什么星座最配| 做梦梦到怀孕了是什么意思| 腿浮肿是什么原因| negative什么意思| 当律师需要什么条件| 肚子容易胀气是什么原因| dostinex是什么药| pnh是什么病的简称| 月经突然停止是什么原因| 建档挂什么科| 冗长是什么意思| 喝茶叶水有什么好处和坏处| 女人手心发热是什么原因| 头皮一阵一阵发麻是什么原因| 吃避孕药有什么危害| 新生儿脸上有小红点带白头是什么| 等离子体是什么| 糙米是什么| 抑郁气滞是什么症状| 雾化后为什么要漱口| 十月十二日是什么星座| 夏季适合喝什么茶| 下面潮湿是什么原因引起的| 玫瑰花和什么一起泡水喝好| 山药不能和什么一起吃| 天贝是什么东西| 什么是焦距| 九六年属什么的| 脚踝韧带拉伤吃什么| 坐落是什么意思| 肌酐为什么会升高| 喝蒲公英根有什么好处| smz是什么药| 夏天哈尔滨有什么好玩的地方| 真丝用什么洗| 三个火字念什么| 亲临是什么意思| 什么的青草| 女生胸部长什么样| 健康管理师是干什么的| 午马是什么意思| 纤维瘤挂什么科| 脑血管堵塞会有什么后果| bruce是什么意思| 凌晨两点是什么时辰| 13楼五行属什么| 圆寂是什么意思| 调剂生是什么意思| 下午四五点是什么时辰| 广西属于什么方向| 晕车是什么原因引起的| 太阳绕着什么转| dlco是医学上什么意思| 水痘疫苗第二针什么时候打| 措施是什么意思| 命硬的人有什么特征| 有白带发黄是什么原因| 什么是拿铁| uu是什么意思| 室性早搏吃什么药最好| 乳头为什么会痛| 小苏打是什么| 梦见赢钱了是什么预兆| 膝盖里面痛什么原因引起的| 头发掉得厉害是什么原因| 血压低吃什么药| 脂肪肝什么意思| 白带发黄粘稠是什么原因| 李思思为什么离开央视| 吃什么降血压最快最好方法| 无为而治什么意思| 逆熵是什么意思| 孩子咬嘴唇是什么原因| 白细胞中性粒细胞高是什么原因| 月球是地球的什么星| 女生下面出血但不是月经为什么| 肾病综合症是什么病| 水煮鱼一般用什么鱼| 遇到黄鼠狼是什么征兆| 来姨妈吃什么水果好| 蹉跎什么意思| 一日之计在于晨是什么生肖| 荔枝有什么寓意| 梦见爸爸去世预兆什么| 肠梗阻有什么症状| 儒家思想的核心是什么| 晰字五行属什么| 什么叫钙化了| 断章取义什么意思| 姨妈期可以吃什么水果| 月经量少发黑是什么原因| 梦见做棺材是什么意思| 李世民和武则天什么关系| 看淋巴挂什么科室| 莴苣是什么| 梦见亲人哭是什么征兆| 伟字五行属什么| 感冒发烧吃什么水果好| 寄生虫长什么样| 十二月二十七是什么星座| 浪迹天涯是什么生肖| 女生的逼长什么样| 集体户口什么意思| 天雨粟鬼夜哭什么意思| 知了为什么一直叫| 什么属相不能挂山水画| 小便无力吃什么药| 地级市市委书记是什么级别| 磷脂是什么东西| 妇科臭氧治疗的作用是什么| 榴莲皮可以做什么| 头发稀少是什么原因导致的| 自然流产是什么症状| 5s是什么| 脑梗的症状是什么| 大败毒胶囊主治什么病| 甲状腺过氧化物酶抗体高说明什么问题| 血红蛋白偏低吃什么补| 宝宝肚子疼吃什么药| 途明是什么档次的包| 早期复极是什么意思| 70a是什么尺码| 卡姿兰属于什么档次| 精血亏虚吃什么中成药| 什么时候有流星| 低血压吃什么可以补| 验孕棒一深一浅代表什么| 4月13号是什么星座| 72岁属什么生肖| 肛门坠胀吃什么消炎药| 江西有什么好玩的地方| 孕妇什么时候有奶水| 胆红素高说明什么| 阴道发炎用什么药| 什么绿什么红| 胃受凉了吃什么药| hw是什么牌子| 办理健康证需要什么材料| 707是什么意思| 七杀大运是什么意思| 岚的意思是什么| 什么东西不能带上飞机| 铁皮石斛有什么作用| 什么药补气血效果最好| 时辰宜忌是什么意思| 梦见蚂蚁是什么预兆| 六月二十三号是什么星座| 一刻是什么意思| chevy是什么车| apm是什么| 寄生树有什么功效作用| 受控是什么意思| 什么时候吃榴莲最好| 淘宝和天猫有什么区别| 根尖周炎吃什么药| 什么是农历| 广州番禺有什么好玩的地方| 为什么屁多| nerdy是什么牌子| 梦见别人家盖房子是什么意思| 生酮是什么意思| 叶酸每天什么时候吃最好| 令人发指是什么意思| 怀孕乳头会有什么变化| 义五行属什么| 孕妇适合吃什么鱼| 1958年属什么| 1958年属狗的是什么命| 去痛片又叫什么名| 为什么一热脸就特别红| 正常头皮是什么颜色的| 心跳过快用什么药| 胎盘前壁是什么意思| 中国海警是什么编制| 鳏寡孤独是什么意思| 红红的太阳像什么| 脑血管痉挛是什么原因引起的| 珊瑚虫属于什么动物| 肋骨疼是什么原因| 担心是什么意思| 肚子胀胀的是什么原因| 橘子什么季节成熟| 原图是什么意思| 梦见煮鱼有什么预兆| 什么叫包皮过长| 银耳不能和什么一起吃| 苏州立秋吃什么| 社会是什么| 咳嗽吃什么好得快| pdm是什么意思| 多汗症挂什么科| 沙参长什么样子图片| 奶粉中的opo是什么| 灵修是什么意思| 小青蛙吃什么| 吃什么长内膜最快最有效| 右脸长痣代表什么意思| 什么叫浮小麦| 尿检红细胞高是什么原因| aso是什么意思| 结核阳性是什么意思| 手抖头抖是什么病| 梦见下雨是什么征兆| 拉肚子不能吃什么食物| 黄鼠狼是什么科| 96年什么命| 吃什么能降低尿蛋白| 口臭挂什么科| 世交是什么意思| 9.3什么星座| 枕大神经痛吃什么药| 牙龈一直肿不消什么原因| 蚂蚁上树什么姿势| 腰斩什么意思| 右眼皮上长痣代表什么| 便秘吃什么中药| 感冒喝什么粥| 羊癫疯有什么症状表现| 咳嗽绿痰是什么原因| 924是什么星座| 3月15是什么星座| 吃饭睡觉打豆豆是什么意思| uu是什么意思| 双鱼和什么星座最配对| 夏天能干什么| 免冠彩照是什么意思| 眼睛有红血丝是什么原因| 肝炎是什么原因引起的| 卤水点豆腐是什么意思| 郝字五行属什么| 膝关节咔咔响是什么原因| 七月四日是什么星座| 零零年属什么| 蜻蜓为什么点水| 狗狗的鼻子为什么是湿的| 农业户口和居民户口有什么区别| 脱髓鞘疾病是什么病| 七月九号是什么日子| 酒石酸美托洛尔片治什么病| 冰箱什么品牌好| 48是什么意思| 鼻息肉长什么样子图片| 血脂是什么意思| 百度Jump to content

山东省级财政安排138.9亿元优先发展教育事业

From Wikipedia, the free encyclopedia
(Redirected from GNU Build System)
GNU Autotools
Original author(s)Community
Developer(s)Free Software Foundation
Stable release
Multiple
Written inM4 (computer language), C
Operating systemCross-platform
PlatformGNU and others
Included withGNU Operating System
Available inEnglish
LicenseGNU General Public License version 2
Websitewww.gnu.org/software/software.html
百度   声音:“分级营销”符合传销的要件  这种多级分销方式是否涉及传销?中国互联网协会信用评价中心法律顾问赵占领对北青报记者表示,类似新世相的“分级营销”与法律规定的传销比较相似,基本符合传销的两个要件:一是组织要件,即发展人员组成网络,也就是“发展下线”。

The GNU Autotools, also known as the GNU Build System, is a suite of build automation tools designed to support building source code and packaging the resulting binaries. It supports building a codebase for multiple target systems without customizing or modifying the code. It is available on many Linux distributions and Unix-like environments.

Autotools is part of the GNU toolchain and is widely used in many free software and open source packages. Its component tools are free software, licensed under the GNU General Public License with special license exceptions[1][2] permitting its use with proprietary software.

Motivation

[edit]

It can be difficult to make a software program portable. Compilers differ from system to system. Certain library functions are missing on some systems. Compiler files (such as C headers) may have different names. Shared libraries may be compiled and installed in different ways. One way to handle platform differences is to write conditionally compiled code (i.e. via #ifdef), but because of the wide variety of build environments, this approach quickly becomes unmanageable. Autotools is designed to address this problem more manageably.

Components

[edit]

Autotools consists of the GNU utilities Autoconf, Automake, and Libtool.[3] Other related tools include GNU make, GNU gettext, pkg-config, and the GNU Compiler Collection (GCC).

Usage

[edit]
Flow diagram of Autotools tools.

Autotools assists with sharing cross-platform software with a relatively broad user community. It facilitates sharing the source code by providing relatively robust cross-platform build support so that consumers can build the software themselves. Generally, the source code is distributed with a script, named configure, that has no dependencies other than a Bourne-compatible shell. Autotools need not be available. The consumer runs configure which generates various files including a Makefile which the consumer uses by running make.[4][5]

Autotools can be used both for building native programs on the build machine and also for cross-compiling to other architectures.[6]

Cross-compiling software to run on a Windows host from a Linux or other Unix-like build system is also possible, using MinGW, however native compilation is often desirable on operating systems (such as the Microsoft Windows family of systems) that cannot run Bourne shell scripts on their own. This makes building such software on the Windows operating system a bit harder than on a Unix-like system which provides the Bourne shell as a standard component. One can install the Cygwin or MSYS system on top of Windows to provide a Unix-like compatibility layer, though, allowing configure scripts to run. Cygwin also provides the GNU Compiler Collection, GNU make, and other software that provides a nearly complete Unix-like system within Windows; MSYS also provides GNU make and other tools designed to work with the MinGW version of GCC.

A consumer can re-generate the configure script which might be necessary if they amend the source code. In this case, they need to have Autotools installed.

The autoconf-generated configure script can be slow because it executes programs such as a C compiler multiple times to test whether various libraries, header files, and language features are present. This particularly affects Cygwin, which, due to its lack of a native fork system call, may execute configure scripts considerably slower than on Linux.[7]

Criticism

[edit]

In his column for ACM Queue, FreeBSD developer Poul-Henning Kamp criticized the GNU Build System:[8]

The idea is that the configure script performs approximately 200 automated tests, so that the user is not burdened with configuring libtool manually. This is a horribly bad idea, already much criticized back in the 1980s when it appeared, as it allows source code to pretend to be portable behind the veneer of the configure script, rather than actually having the quality of portability to begin with. It is a travesty that the configure idea survived.

Kamp sketches the history of the build system in the portability problems inherent in the multitude of 1980s Unix variants, and bemoans the need for such build systems to exist:

the 31,085 lines of configure for libtool still check if <sys/stat.h> and <stdlib.h> exist, even though the Unixen, which lacked them, had neither sufficient memory to execute libtool nor disks big enough for its 16-MB source code.

Although critics of the Autotools frequently advocate for alternatives that provide greater simplicity to their users, some have argued that this is not necessarily a good thing. John Calcote, author[9] of the Autotools, 2nd Edition: A Practitioner's Guide to GNU Autoconf, Automake, and Libtool, opined:[10]

The Autotools are actually more transparent than any other build tools out there. All these other tools' (cmake, maven, etc) - that purport to be so much simpler because they insulate the user from the underlying details of the build process - these tool's primary failure is that this very insulation keeps users from being able to make the changes they need to accomplish their unique project-specific build goals.

Anyone who has nothing but good things to say about this aspect of cmake, maven, gradle, or whatever, has simply not worked on a project that requires them to move far enough away from the defaults. I've used them all and I've spent hours in frustration trying to determine how to work around the shortcomings of some "do-all" (except what I want) tool function. This is simply not an issue with the Autotools. As someone mentioned earlier in this thread, you can drop shell script into a configure.ac file, and make script into a Makefile.am file. That is the very definition of transparency. No other tool in existence allows this level of flexibility.

See also

[edit]

References

[edit]
  1. ^ "Savannah Git Hosting - autoconf.git/blob - COPYING.EXCEPTION". Git.savannah.gnu.org. Archived from the original on 2025-08-06. Retrieved 2025-08-06.
  2. ^ "libtool.git - GNU Libtool". Git.savannah.gnu.org. 2025-08-06. Retrieved 2025-08-06.
  3. ^ "Learning the GNU development tools". Autotoolset.sourceforge.net. Retrieved 2025-08-06.
  4. ^ "automake: GNU Build System". Gnu.org. 2025-08-06. Retrieved 2025-08-06.
  5. ^ "The GNU configure and build system - Introduction". Airs.com. 2025-08-06. Retrieved 2025-08-06.
  6. ^ "Cross Compilation with GNU Autotools". Archived from the original on October 13, 2008. Retrieved September 24, 2008.
  7. ^ "Robert ?gren - Slow shell script execution on Cygwin". Cygwin.com. Retrieved 2025-08-06.
  8. ^ Kamp, Poul-Henning (2012). "A Generation Lost in the Bazaar". ACM Queue. 10 (8): 20–23. doi:10.1145/2346916.2349257. S2CID 11656592.
  9. ^ "Autotools, 2nd Edition by John Calcote | Penguin Random House Canada". Retrieved January 22, 2021.
  10. ^ "Re: Future plans for Autotools". Retrieved January 22, 2021.
[edit]
月经期间同房有什么危害 爱的本质是什么 12月31号什么星座 臭虫是什么 1月16日是什么星座
孕20周做什么检查 温居是什么意思 支付宝账户是什么 阴道流黄水是什么病 昙花一现是什么生肖
皮角是什么病 尿发黄什么原因 区委副书记是什么级别 生地和熟地有什么区别 肾衰竭五期是什么意思
眼睛充血是什么原因 脑供血不足吃什么食物 肌张力高有什么症状 开什么节什么的成语 裸婚是什么意思
女人右眼跳是什么预兆hcv8jop7ns5r.cn 5月15日什么星座hcv9jop7ns9r.cn 站着头晕是什么原因hcv9jop5ns6r.cn 梦见黑熊是什么预兆hcv7jop5ns6r.cn 什么的珍珠hcv9jop5ns2r.cn
大耳朵狗叫什么hanqikai.com 现在做什么最赚钱hcv9jop4ns0r.cn 灵隐寺求什么最灵验hcv9jop6ns8r.cn 矜贵是什么意思hcv9jop7ns2r.cn 肺在五行中属什么hcv9jop1ns5r.cn
93年属于什么生肖liaochangning.com 胚胎和囊胚有什么区别hcv9jop6ns6r.cn 耳朵发热是什么原因hcv9jop3ns9r.cn 阴吹是什么1949doufunao.com 鹅蛋不能和什么一起吃hcv8jop2ns3r.cn
前列腺炎是什么引起的luyiluode.com 木字旁有什么字hcv9jop5ns7r.cn 为什么一来月经就拉肚子hcv7jop5ns1r.cn 乏力是什么症状hcv8jop7ns8r.cn 礼部尚书是什么官hcv9jop1ns8r.cn
百度