Libtool

通用函式庫支援指令稿

電腦編程中,GNU Libtool是一個軟件開發工具,它是GNU構建系統的一部份,由一個shell指令碼組成[3],建立它是致力於解決從原始碼編譯共用庫時的軟件可移植性問題。它隱藏了編譯共用庫的命令在計算平台之間的不同[4]。它提供了跨平台同一的一個命令列介面並且它執行這個平台的本地命令。

GNU Libtool
開發者GNU計劃
目前版本
  • 2.5.0(2024年5月13日;預覽版本)[1]
  • 2.5.4(2024年11月20日;穩定版本)[2]
編輯維基數據連結
原始碼庫 編輯維基數據連結
作業系統跨平台
類型函式庫
特許條款GPLv2
網站https://www.gnu.org/software/libtool/

原理

不同的作業系統以不同方式處理共用庫。有些平台根本就不使用共用庫。這使得難以讓軟件程式可移植:C編譯器隨系統不同而不同,特定庫函數在某些系統上缺失,標頭檔可能有不同的名字。

Libtool幫助管理在各種類Unix作業系統上的靜態動態的建立。Libtool通過抽象庫的建立過程、隱藏在各種系統之間的區別來完成它。

GNU Libtool通過「封裝特定於平台的依賴和用戶介面二者在一個單一指令碼中」,在設計上簡化了在新系統上編譯電腦程式的過程[5]。在移植一個程式到一個新系統之時,Libtool在設計上能讓移植者不需要閱讀所要建造的共用庫的底層文件,而只是執行一個「組態」指令碼(或等價者)[5]

使用

Libtool是經由AutoconfAutomake來使用的,它們是GNU構建系統中另外兩個可移植性工具。它也可以直接使用[6]

克隆和衍生

自從GNU Libtool發行後,其他自由軟件專案已經嘗試在不同軟件特許條款下創立它的直截了當替代者[7],比如slibtool[8]就是這種實現[9]

參見

參照

  1. ^ libtool-2.5.0 released [alpha]. 
  2. ^ libtool-2.5.4 released [stable]. 2024年11月20日 [2024年11月20日]. 
  3. ^ A postmortem analysis of other implementations. The GNU Libtool manual. The GNU project. 2015-02-15 [2021-02-02]. 
  4. ^ Introduction. The GNU Libtool manual. The GNU project. 2015-02-15 [2021-02-02]. 
  5. ^ 5.0 5.1 Libtool Manual
  6. ^ Writing Makefile rules for libtool. The GNU Libtool manual. The GNU project. 2015-02-15 [2021-02-02]. 
  7. ^ BSD-licensed libtool.
  8. ^ slibtool
  9. ^ Slibtool - Gentoo wiki. wiki.gentoo.org. [2024-03-11]. 

外部連結