Poprzedni | Spis treści | Następny

Dodatek G: Budowanie NSIS

Wraz z NSIS w wersji 2.07 wprowadzono nowy system budowania (tworzenia NSIS), oparty na SCons. System budowania może utworzyć cały pakiet NSIS, więc nie jest już wymagane budowanie projektu po projekcie. Pozwala on na jednoczesne tworzenie kilku zadań, instalację bez instalatora zarówno na platformie Windows jak i POSIX oraz łatwą kompilację wraz z symbolami debugera.


G.1 Budowanie NSIS - Ogólne

Kod źródłowy dostępny jest poprzez CVS oraz jako oddzielny pakiet rozprowadzany z każdą dystrybucją NSIS.

Aby zbudować NSIS musisz mieć zainstalowany Python oraz SCons. Obecnie obsługiwaną wersją oprogramowania SCons jest wersja 0.96.93. Obsługiwana jest też wersja Pythona 1.6 oraz każda nowsza.

Aby zbudować NSIS, otwórz konsolę, zmień katalog roboczy na katalog nadrzędny NSIS i wpisz scons. To wszystko. Na przykład:

C:\>cd dev\nsis
C:\dev\nsis>scons
scons: Reading SConscript files ...
Using Microsoft tools configuration
Checking for main() in C library gdi32... (cached) yes
Checking for main() in C library user32... (cached) yes
Checking for main() in C library version... (cached) yes
Checking for main() in C library pthread... (cached) no
Checking for main() in C library stdc++... (cached) no
Checking for main() in C library iconv... (cached) no
Checking for main() in C library libiconv... (cached) no
scons: done reading SConscript files.
scons: Building targets ...
...

Aby zainstalować zbudowane pliki, wpisz:

scons PREFIX="C:\Program Files\NSIS" install

Aby utworzyć instalatora (tylko na platformie Windows), wpisz:

scons dist-installer

Aby utworzyć plik dystrybucji w formacie zip, wpisz:

scons dist-zip

Aby stworzyć oba powyższe, wpisz:

scons dist

Aby zobaczyć pełną listę opcji, które oferuje system budowania, wpisz:

scons -h

Aby zobaczyć pełną listę opcji, które oferuje SCons, wpisz:

scons -H

G.2 Budowanie na Platformie Windows

SCons automatycznie wykryje zainstalowany Microsoft Visual C++. Jeśli szukasz darmowego instalatora, do skompilowania NSIS, polecamy Microsoft Visual C++ 2005 Express Edition.

Używając Microsoft Visual C++ Toolkit 2003, dodaj wpis MSTOOLKIT=yes do linii polecenia budowania:

scons MSTOOLKIT=yes

W przypadku błędów kompilatora lub braku zainstalowanego Platform SDK, użyj:

set MSSDK=C:\Path\To\Platform SDK
set VCToolkitInstallDir=C:\Path\To\VCToolkit
scons MSTOOLKIT=yes

Oprogramowanie open-source MinGW również może być użyte do zbudowania NSIS, ale wynikiem tego jest dużo większy instalator. Borland C++ lub Open Watcom C/C++ mogą również działać, lecz nie były testowane.

Aby skompilować dokumentację jako plik CHM, program hhc.exe musi być wpisany do zmiennej PATH. Dostępny jest on jako składnik HTML Help Workshop.

Ważne informacje dla użytkowników Microsoft Visual C++ 6.0: Ostatni pakiet Platform SDK musi być zainstalowany przed procesem budowania NSIS. Z powodu błędów w bibliotekach rozprowadzanych z Microsoft Visual C++ 6.0, nie zainstalowanie pakietu Platform SDK spowoduje błąd przy używaniu polecenia CopyFiles. Przeczytaj ten temat forum, gdzie znajdziesz więcej informacji. Zainstalowanie Processor Pack jest wysoce zalecane by zmniejszyć rozmiar nagłówka instalatora.


G.3 Budowanie na Platformie POSIX

Poczynając od NSIS 2.01, kompilator, makensis, również kompiluje się na platformach POSIX (Portable Operating System Interface - Przenośny Interfejs Systemu Operacyjnego). Platformy POSIX zawierają system Linux, *BSD, Mac OS X oraz inne. W przypadku gdy wygenerowany instalator byłby uruchamiany na platformie Windows, wymagany jest cross-compiler (kompilator wieloplatformowy), aby go skompilować.

Jeśli nie ma dostępu do kompilatora wieloplatformowego, użyj poniższej składni:

scons SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all NSIS_CONFIG_CONST_DATA_PATH=no

Polecenie to powinno zbudować tylko makensis. Jak już zbudujesz makensis, skopiuj go do pobranego prekompilowanego pakietu, takiego jak ten z Wydania z Poprzedniego Dnia lub Wydania jako archiwum zip (nsis-x.xx.zip). Zauważ, że żeby to działało, prekompilowany pakiet musi być skompilowany przy użyciu tych samych źródeł jak makensis. W szczególności, Source\exehead\config.h, opcje dla scons oraz Source\exehead\fileform.h muszą być identyczne.

Obecnie, wtyczka System nie może być zbudowana przy użyciu wieloplatformowego kompilatora, ale tylko poprzez MSVC. Budując przy użyciu kompilatora międzyplatformowego, zawsze używaj następujących flag:

scons SKIPPLUGINS=System

G.4 Wydanie z Poprzedniego Dnia

Nie ma potrzeby samemu budować najnowsze wersje CVS dla Windows. Dostępne jest bowiem Wydanie z Poprzedniego Dnia. Wydanie takie generowane jest automatycznie co noc, przy użyciu ostatniej wersji kodu źródłowego z CVS. Nie istnieją oficjalne Wydania tego typu na inne platformy.


Poprzedni | Spis treści | Następny

Ostatnia aktualizacja strony: Niedziela, 6 Września 2009 (16:05:52)
Copyright © 2002 - 2010 by Paweł Porwisz. Wszelkie prawa zastrzeżone.
Strona wygenerowana w 0.001s. Hosted by tox.pl
[Valid XHTML] [Valid CSS] [Valid RSS] [Opera] [BrowseHappy]