TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Rejuvenating Autoconf

40 点作者 mmorearty超过 4 年前

4 条评论

kanox超过 4 年前
&gt; if your customers need to be able to build a shared library on Solaris, AIX, HP-UX, IRIX, and all the BSDs<p>Are there even any notable commercial projects that use autotools?<p>Autoconf solves problems that existed in the 90s unix market which are just not very interesting or relevant today. For a few decades now &quot;portable&quot; has meant linux, windows and mac.<p>A lot of effort is spent on generating shell scripts for the lowest common denominator and this is both useless (nobody cares about 90s unix, everybody can install bash) and insufficient (bourne shell is not native on windows).<p>Perhaps energy would be better spend on migrating everybody towards newer build systems or just plain makefiles. A lot of projects have migrated already, does anyone have statistics about what percentage of a distro like Debian needs autotools?
评论 #24875102 未加载
评论 #24872922 未加载
评论 #25001195 未加载
评论 #24884878 未加载
评论 #24880446 未加载
rudolfwinestock超过 4 年前
Poul-Henning Kamp&#x27;s article, A Generation Lost in the Bazaar, explained the absurdity of autoconf &amp; libtool at length. I quote some of it, below.<p>“At the bottom of the food chain, so to speak, is libtool, which tries to hide the fact that there is no standardized way to build a shared library in Unix. …the source code for devel&#x2F;libtool weighs in at 414,740 lines. Half that line count is test cases… the tests elaborately explore the functionality of the complex solution for a problem that should not exist in the first place. Even more maddening is that 31,085 of those lines are in a single unreadably ugly shell script called configure. 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. …<p>“The configure scripts back then were written by hand and did things like figure out if this was most like a BSD- or a SysV-style Unix, and then copied one or the other Makefile and maybe also a .h file into place. Later the configure scripts became more ambitious, and … rather than standardize Unix to eliminate the need for them, somebody wrote a program, autoconf, to write the configure scripts.<p>“Today&#x27;s Unix&#x2F;Posix-like operating systems, even including IBM&#x27;s z&#x2F;OS mainframe version, as seen with 1980 eyes are identical; yet the 31,085 lines of configure for libtool still check if &lt;sys&#x2F;stat.h&gt; and &lt;stdlib.h&gt; 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.”<p><a href="http:&#x2F;&#x2F;queue.acm.org&#x2F;detail.cfm?id=2349257" rel="nofollow">http:&#x2F;&#x2F;queue.acm.org&#x2F;detail.cfm?id=2349257</a>
mmorearty超过 4 年前
From <a href="https:&#x2F;&#x2F;twitter.com&#x2F;brainwane&#x2F;status&#x2F;1319692088758489089" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;brainwane&#x2F;status&#x2F;1319692088758489089</a> :<p>For most of this year, @elwoz and I have been working on a pretty ambitious project:<p>* to make a fresh release of GNU Autoconf, a crucial #FLOSS build tool that hadn&#x27;t had a new release since 2012<p>* to get paid for that<p>* to help put Autoconf on a more sustainable footing, so it doesn&#x27;t have to get rescued again a little while down the road
jart超过 4 年前
Use αcτµαlly pδrταblε εxεcµταblε it solves problems that actually exist in this day and age like being able to build once run anywhere TUI apps for Windows&#x2F;Mac&#x2F;Linux&#x2F;BSD. See <a href="https:&#x2F;&#x2F;github.com&#x2F;jart&#x2F;cosmopolitan&#x2F;commit&#x2F;9e3e985ae5fdccc9acf0fc451f2a61ff0407fd04" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jart&#x2F;cosmopolitan&#x2F;commit&#x2F;9e3e985ae5fdccc9...</a> and <a href="https:&#x2F;&#x2F;justine.storage.googleapis.com&#x2F;ape.html" rel="nofollow">https:&#x2F;&#x2F;justine.storage.googleapis.com&#x2F;ape.html</a>
评论 #24876699 未加载