2.3 Configure Development / Configure 的發展
The Cygnus `configure' script and the original GCC `configure' script both had to be updated for each new Unix variant they supported. This meant that packages which used them were continually out of date as new Unix variants appeared. It was not hard for the developer to add support for a new system variant; however, it was not something which package users could easily do themselves.
Cygnus 的 `configure' 指令稿與 GCC 原始的 `configure' 指令稿都必須針對所支援的 Unix 衍生作業系統做出修改,這代表當新的 Unix 衍生作業系統出現時,使用了這兩樣工具的軟體套件必須修改才能用在新的作業系統上。對於軟體的發展者而言,修改軟體套件以支援新的作業系統可能並非難事;但是對於軟體套件的使用者而言,這就不是件容易自己搞定的事情。
The same was true of Imake as it was commonly used. While it was possible for a user to build and configure Imake for a particular system, it was not commonly done. In practice, packages such as the X window system which use Imake are shipped with configuration information detailed for specific Unix variants.
被漸漸廣泛使用的 Imake 也面臨一樣的問題,雖然使用者自己針對特定系統建置並設定 Imake 不是難到不可能的事,但其實很少使用者這麼做。在實務上,像 X window 這類使用 Imake 的軟體套件,會帶有針對各個不同的 Unix 衍生作業系統所撰寫的配置檔。
Because Metaconfig and Autoconf used feature tests, the scripts they generated were often able to work correctly on new Unix variants without modification. This made them more flexible and easier to work with over time, and led to the wide adoption of Autoconf.
因為 Metaconfig 與 Autoconf 是利用一序列的測試來決定系統提供的功能,因此所產生的組態指令稿通常不用修改就能在新的 Unix 衍生作業系統上正確執行。這樣的特性讓這兩項工具被視為具彈性且不用頻繁維護的方案,並使 Autoconf 被大量採用。
In 1994, David MacKenzie extended Autoconf to incorporate the features of the Cygnus `configure' script and the original GCC `configure' script. This included support for using system specified header file and makefile fragments, and support for cross-compilation.
在 1994 年 David MacKenzie 將 Autoconf 加以擴充,納入了 Cygnus 的 `configure' 指令稿與原始的 GCC `configure' 指令稿的功能。這次擴充使 Autoconf 支援針對不同系統使用不同的標頭檔或 makefile 檔案片段,另外也支援了跨平臺編譯。
GCC has since been converted to use Autoconf, eliminating the GCC `configure' script. Most programs which use the Cygnus `configure' script have also been converted, and no new programs are being written to use the Cygnus `configure' script.
從此之後,GCC 便轉而使用 Autoconf 並揚棄了原本的 GCC `configure' 指令稿。大多數使用 Cygnus `configure' 指令稿的程式也改用 Autoconf,新的程式也不再使用 Cygnus `configure' 指令稿。
The metaconfig program is still used today to configure Perl and a few other programs. imake is still used to configure the X window system. However, these tools are not generally used for new packages.
Metaconfig 在今日仍被用在 Perl 與幾個其他程式的建置中進行組態工作,Imake 也仍被用來組態 X window 系統。但是,在新的軟體套件中就很少會去使用這些工具了。