<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=Autoconf</id>
	<title>Autoconf - 修訂紀錄</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=Autoconf"/>
	<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=Autoconf&amp;action=history"/>
	<updated>2026-05-24T10:30:56Z</updated>
	<subtitle>本 wiki 上此頁面的修訂紀錄</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.taigi.ima.org.tw/w/index.php?title=Autoconf&amp;diff=384398&amp;oldid=prev</id>
		<title>TaiwanTonguesApiRobot：​從 JSON 檔案批量匯入</title>
		<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=Autoconf&amp;diff=384398&amp;oldid=prev"/>
		<updated>2025-08-22T06:35:56Z</updated>

		<summary type="html">&lt;p&gt;從 JSON 檔案批量匯入&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;GNU Autoconf&amp;#039;&amp;#039;&amp;#039;是一个佇咧 Bourne shell 做供編譯下、安裝佮打包軟體的組態指令碼的工具。Autoconf 並無受程式的語言限制，定用佇咧 C、C + +、Erlang 和 Objective-C。組態指令碼控制一个軟體套件佇咧特定系統頂懸的安裝。佇咧進行一系列測試了後，組態指令碼對模板中生成 makefile 佮標頭檔進一步調整軟體套件，之適應某一種系統。Autoconf 佮 Automake、Libtool 等軟體組成矣 GNU 構建系統。Autoconf 掛維持 ・ 麥肯思佇一九九一年熱人編寫用於支持伊佇自由軟體基金會的編程工作。此後，Autoconf 包含真濟人編寫的改進代碼並成為著使用上廣泛的自由編譯組態軟體。&lt;br /&gt;
&lt;br /&gt;
==用概欲==&lt;br /&gt;
&lt;br /&gt;
軟體開發者通過使用 GNU m 四語言佇咧 _ configure . ac _ 中寫出限定組態指令碼行為的列表。Autoconf 將 _ configure . ac _ 中的命令轉化做對應特平台的組態指令碼。Autoconf 本身並無具備的編譯能力，伊干焦用佇咧產生通常附帶佇咧軟體套件的組態指令碼。&lt;br /&gt;
&lt;br /&gt;
===configure . ac 格式===&lt;br /&gt;
&lt;br /&gt;
The GNU Autoconf 手冊乎建議 configure . ac file 使用如下格式：&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Autoconf requirements&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: The AC \ _ PREREQ（_ version _）macro can be used to ensure that a recent enough version of the autoconf program is available to process the configure . ac file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AC \ _ INIT（_ package _ , _ version _ , _ bug-report-address _）&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: This macro is required in every configure . ac file . It specifies the name and version of the software package for which to generate a configure script and the email address of the developer .&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;information on the package&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;checks for programs&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;checks for libraries&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;checks for header files&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;checks for types&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;checks for structures&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;checks for compiler characteristics&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;checks for library functions&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;checks for system services&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AC \ _ CONFIG \ _ FILES（[file . . .]）&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AC \ _ OUTPUT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==工課原理==&lt;br /&gt;
&lt;br /&gt;
autoconf 類似 perl 使用的 metaconfig 包。早前 X window 系統所使用的 imake 系統佮 autoconf 是密切相關，但是有無仝款的理念。&lt;br /&gt;
&lt;br /&gt;
autoconf 通過檢查特性毋是軟體版本來確保可移植性。比如講 Sun OS 四个原生 C 編譯器不支援 ISO C，但是使用者抑是管理員會當家己安裝支援 ISO C 的編譯器。因為軟體特性的檢查方法會當發現干焦檢查軟體版本的方法檢測無的支援 ISO C 的編譯器。所以組態指令碼會當佇未知影的或者是較新的系統內底得著合理的結果，仝款允准管理員按照𪜶的系統來組態指令碼。&lt;br /&gt;
&lt;br /&gt;
==批評==&lt;br /&gt;
&lt;br /&gt;
autoconf 是一个古早佮成熟的產品，你若予伊用了做，會當使用一个非常簡單的介面進行複雜的交叉編譯。但是有一寡批評指出 autoconf 使用過去的技術，因為種足濟限制。autoconf 無法度為 Xcode 佮 Visual Studio 製作專案檔案，伊是講號碼通常大閣複雜，自按呢增加 Debug 的難度。Autoconf 所使用的 M 四對一寡開發者來講伊是生份的，因此𪜶需要專門學習。一寡開發者並無遵循組態指令碼的一寡習慣約定。&lt;br /&gt;
&lt;br /&gt;
所以一寡自由軟體開發者開始使用其他的軟體代替 autoconf，KDE 佇咧 KDE 四起開始使用 CMake，Scribus 仝款開始使用 CMake。&lt;br /&gt;
&lt;br /&gt;
==參見==&lt;br /&gt;
&lt;br /&gt;
* CMake&lt;br /&gt;
* 組態指令碼&lt;br /&gt;
* GNU 構建系統&lt;br /&gt;
* pkg-config&lt;br /&gt;
&lt;br /&gt;
==註跤==&lt;br /&gt;
&lt;br /&gt;
==外部連結==&lt;br /&gt;
&lt;br /&gt;
* GNU Autoconf home page&lt;br /&gt;
* GNU Autoconf macro archive&lt;br /&gt;
* _ The Goat Book _ homepage ( aka the Autobook )&lt;br /&gt;
* Murray Cumming（of gtkmm fame）produced these succinct Autotool info pages : \ * one \ * two .&lt;br /&gt;
* Autotoolset home page&lt;br /&gt;
* https : / / web . archive . org / web / 二十五空一千四百空八學一千六百空六鼻空三百二十六 / http : / / www . freesoftwaremagazine . com / books / autotools \ _ a \ _ guide \ _ to \ _ autoconf \ _ automake \ _ libtool&lt;br /&gt;
&lt;br /&gt;
===教程===&lt;br /&gt;
&lt;br /&gt;
* https : / / web . archive . org / web / 二十五空一千空六五二千七百一十四抹兩千空四十七 / http : / / mi . eng . cam . ac . uk / ~ er 兩百五十八 / code / autoconf /&lt;br /&gt;
* Learning Autoconf and Automake &amp;quot; by Eleftherios Gkioulekas&lt;br /&gt;
* _ Learning the GNU development tools _ @ sourceforge&lt;br /&gt;
* Autotools Tutorial by Alexandre Duret-Lutz introduces Autoconf , Automake , Libtool , 和 Gettext&lt;br /&gt;
* Using GNU auto { conf , make , header } by Felipe Bergo&lt;br /&gt;
&lt;br /&gt;
[[分類: 待校正]]&lt;/div&gt;</summary>
		<author><name>TaiwanTonguesApiRobot</name></author>
	</entry>
</feed>