2016-05-12 11 views
0

Ich arbeite mit einer Open-Source-Anwendung, die libtool in seinem Build-Prozess verwendet. Ich möchte statisch verknüpfen die lokalen Komponenten der Anwendung mit den folgenden beabsichtigten Nutzen :Build libtool Anwendung mit statischer Verknüpfung zu lokalen Komponenten

  • nicht libtool Wrapper erfordert
  • Funktionsaufrufe zu starten sind nicht indirected durch dynamische Verknüpfung während des Debuggens
  • vermeiden Sie eine unbeabsichtigte dynamische Verknüpfung mit der vorhandenen systeminstallierten Bibliothek

Gibt es eine Standardoption für den Build-Prozess, die dies tut?

Aufgrund Abhängigkeiten von nicht-statischen Systembibliotheken kann ich nicht nur verwenden:

./configure LDFLAGS='-static' 

Antwort

2

Ja, es kann getan werden! Verwenden Sie die Option --disable-shared.

Zum Beispiel:

./configure --enable-debug --disable-shared 

Nun ist die erzeugte ausführbare Datei ist eine direkt ausführbare Binärdatei, anstatt ein libtool Skript.

Dies hat den zusätzlichen Vorteil, dass die Bauzeit ungefähr halbiert wird.