Tworzenie Darcs Mac OS X statyczna buduje

Original: http://el-tramo.be/guides/darcs-static-osx/

 

Ta strona wyjaśnia, jak stworzyć podziałowi `static ‚darcs build. Nie jest to jedyny sposób, i prawdopodobnie nie najczystsze albo. Jeśli masz pomysły, jak uczynić tę stronę lepiej, lub jeśli części są niejasne lub nie działają, nie krępuj się mi powiedzieć.

Teraz, tylko zawierają instrukcje na temat jak zrobić plik binarny, który działa na wszystkich platformach Mac OS X, które są takie same lub nowsza niż platformy budowlanej. Tak więc, jeśli skompilować darcs w systemie Mac OS X 10.3, wynikające binarny będzie działać zarówno na 10.3 i 10.4. Jednakże, jeśli jest twoja platforma 10,4 budować, binarny będzie działać tylko na 10.4.

Będę przy założeniu, że masz najnowszą wersję GHC (> = 6.6) zainstalowane. Instrukcje te zostały przetestowane z GHC 6.6 i darcs 1.0.9rc2.

O statyczny opiera się na systemie Mac OS X

Skrypt configure Darcs zapewnia możliwość tworzenia statycznych kompilacji. Ta opcja sprawia, że kompilator użyć -static flagę aby uwzględnić wszystkie zależności zewnętrzne do pliku binarnego. Jednak ta flaga nie działa na Mac OS X, ponieważ Apple celowo wyłączył możliwość wiązania statycznej. Dlatego osłabi termin darcs statyczną „Toa darcs build, który nie zależy od bibliotek, które nie są obecne w standardowej instalacji systemu Mac OS X“.Efekt powinien być taki sam: dystrybuowana binarny, który działa na wszystkich platformach Mac OS X.Celem jest zatem, aby korzystać z wszystkich statycznych wersji niestandardowych bibliotek, i skompilować je bezpośrednio do pliku binarnego darcs.

Statyczna binarny bez Curl

Podczas konfigurowania darcs nie używać Curl (Configure-bez-libcurl), wynikające Darcs binarna powinna być dystrybuowana przez siebie. Można to sprawdzić, uruchamiając

otool -L ./darcs
na wynikającym binarny. Jeśli lista zawiera tylko odwołania do katalogu / usr / lib, binarny jest związany tylko ze standardowymi bibliotekami OS X.

Jednak od Curl zapewnia lepszą obsługę przy użyciu darcs przez HTTP, pozostała część tego dokumentu tłumaczy, jak to Curl bez utraty distributability.

Instalacja Curl

Może być już kilka wersji Curl zainstalowanych w systemie. Chcemy jednak, aby upewnić się, że mamy (statyczny) wersję Curl, które nie zależą od bibliotek niestandardowych. Innym powodem, dla którego chcemy skompilować własne Curl jest to, że musimy to być zainstalowany w miejscu, w którym skrypt configure Darcs nie znaleźliśmy żadnych innych opcjonalnych zewnętrznych zależności do kompilacji i przeciw.

Po pobraniu i wydobywania najnowszą paczkę z Curl, skonfigurować go bez dodatków, uruchamiając

./configure –without-libidn –with-ssl = / usr prefix = / usr / local sudo / curl-7.16.0 make install
Stworzy to nową wersję Curl w /usr/local/curl-7.16.0, związany przed bibliotekami systemu SSL. Dodaj nową instalację do ścieżki:

export PATH = / usr / local / curl-7.16.0 / bin: $ PATH
Budynek Darcs

Po pobraniu i wydobywania archiwum darcs, skonfigurować go:

./configure
Teraz edytuj autoconf.mk i modyfikować CFLAGS i LDFLAGS tak, że nie ma już do niestandardowych katalogów odniesienia (jak-L / SW / lib, -I / sw / include). Następnie zmienić -lcurl w LDFLAGS do /usr/local/curl-7.16.0/lib/libcurl.a.

Teraz uruchom make zbudować darcs.Wynik powinien być własne `static ‚wersja darcs. Aby upewnić się, że nie jest uzależnione od niestandardowych bibliotek, należy otool powyżej.

Comments are closed.