Utilizați aceste instrucțiuni pentru a construi cele mai recente codul sursă SpiderMonkey.
Înainte de a începe, asigurați-vă că aveți uneltele de compilare potrivite pentru computer: Linux, Windows, Mac, altele . Când construirea unei versiuni mai vechi de 28, va trebui în plus NSPR .
Și, desigur, va trebui să obțineți codul sursă SpiderMonkey .
Non-dezvoltator (optimizat) build
Utilizați acești pași dacă doriți doar să instalați SpiderMonkey sau de a folosi ca o bibliotecă. (Dacă doriți să lucreze la îmbunătățirea SpiderMonkey sine, ar trebui să faci în plus o acumulare dezvoltator / depanare așa cum este descris mai jos.)
cd js/src
autoconf-2.13
# This name should end with "_OPT.OBJ" to make the version control system ignore it.
mkdir build_OPT.OBJ
cd build_OPT.OBJ
../configure
# Use "mozmake" on Windows
make
Rețineți că este necesară autoconf versiunea 2.13. Nici o versiune mai târziu va funcționa. MozillaBuild Pachetul pentru Windows include autoconf 2.13.
Notă: Dacă sunteți pe Mac și obținerea o eroare similar cu
” checking whether the C compiler (gcc-4.2 ) works... no
configure: error: installation or configuration problem: C compiler cannot create executables.verificarea dacă compilatorul C (gcc-4.2) funcționează ... nu
configurare: eroare: instalarea sau problemă de configurare: compilator C nu poate crea executabile.checking whether the C compiler (gcc-4.2 ) works... no
“
configure: error: installation or configuration problem: C compiler cannot create executables.
Puteți încerca configurarea astfel:
CC=clang CXX=clang++ ../configure
Aceasta se bazează un executabil cu numele de js
in Anuarul build-release/dist/bin
. Vă puteți testa cu dist/bin/js --help
, care afișează o pagină de ajutor. În acest moment, sunteți gata să ruleze și pentru a încerca coajă .
Pe Mac, Linux, UNIX sau, se poate instala SpiderMonkey pe sistemul cu comanda suplimentar make install
. Aceasta instalează biblioteca partajat la /usr/local/lib
, fișierele C antet a /usr/local/include
, iar js
executabil, pentru a /usr/local/bin
.
Developer (depanare) build
Pentru dezvoltarea și depanarea SpiderMonkey sine, cel mai bine este de a avea atât o acumulare de depanare (pentru depanare de zi cu zi), precum și o construcție optimizată (pentru testarea de performanță), în directoare construi separate. Astfel, în plus față de urmând pașii de mai sus, ar trebui să creați, de asemenea, o acumulare de depanare folosind acești pași:
cd js/src
autoconf-2.13
# This name should end with "_DBG.OBJ" to make the version control system ignore it.
mkdir build_DBG.OBJ
cd build_DBG.OBJ
../configure --enable-debug --disable-optimize
# Use "mozmake" on Windows
make
Puteți construi, de asemenea depanare construiește de SpiderMonkey cu JS_GC_ZEAL
opțiune, care adaugă un nou funcția încorporat pentru a SpiderMonkey care permite configurarea de colectare a gunoiului zelos. Acest lucru poate ajuta pierderi de memorie depanare și alte probleme legate de memorie. A se vedea JS_SetGCZeal()
pentru detalii.
Pentru o listă de alte opțiuni disponibile construi, de tip (presupunând că directorul de lucru curent este unul dintre directoarele construi mai sus-create):
../configure --help
ferestre construiește
Începând cu versiunea 28, pentru fire construiește sunt implicit, și ar trebui să funcționeze în afara caseta de pe toate platformele POSIX. Prin urmare, următoarele instrucțiuni ar trebui să fie relevantă numai dacă sunteți pe Windows sau compilarea o versiune mai veche a SpiderMonkey.
MozillaBuild fișier batch ați folosit pentru a deschide o carapace (de exemplu start-shell-msvc2013.bat
sau start-shell-msvc2013-x64.bat
) determină dacă toolchain compilatorul va viza pe 32 de biți sau 64 de biți construiește. Pentru a crea o acumulare de 64 de biți, rețineți că trebuie să configurați cu --target=x86_64-pc-mingw32 --host=x86_64-pc-mingw32
.
Având în vedere că emularea POSIX NSPR nu este disponibil pentru Windows, o versiune de lucru a NSPR trebuie să fie disponibile pentru a construi dumneavoastră. Cea mai simplă opțiune este de a configura cu --enable-nspr-build.
Această opțiune de configurare se bazează versiunea în copac-a NSPR care este, probabil, ceea ce doriți, pentru că SpiderMonkey folosește mai noi simboluri NSPR, The NSPR că navele cu sistemul de operare, probabil, nu funcționează.a
În cazul în care --enable-nspr-build
nu funcționează, spune în mod explicit configure
în cazul în care pentru a găsi NSPR folosind --with-nspr-cflags
și --with-nspr-libs
configura opțiunile. De exemplu, presupunând că dumneavoastră NSPR locale a fost instalat la C:/mozilla-build/msys/local
:
./configure --with-nspr-cflags="-IC:/mozilla-build/msys/local/include" \
--with-nspr-libs="C:/mozilla-build/msys/local/lib/libnspr4.a \
C:/mozilla-build/msys/local/lib/libplds4.a \
C:/mozilla-build/msys/local/lib/libplc4.a"
Pentru comoditate, puteți trece configure
script o opțiune de a forma --prefix=<PREFIXDIR>
, care substituie <PREFIXDIR>
pentru /usr/local
în toate setările de mai sus, într-un singur pas. Aceasta este, de obicei, cel mai puțin lucru supărătoare de a face, deoarece conservă aranjamentul tipic de lib
, bin
, iar restul.
configure
sunt înregistrate în Makefile generat, astfel încât să nu trebuie să le specificați din nou, până când re-rula configure
.Construirea SpiderMonkey ca o bibliotecă statică Edita
În mod implicit, SpiderMonkey construiește ca o bibliotecă partajată. Cu toate acestea, se poate construi SpiderMonkey ca o bibliotecă statică prin specificarea --disable-shared-js
pavilion atunci când executați configure
.
Specificarea compilatoare și indicatorii de compilare Edita
Dacă doriți să utilizați o altă persoană decât cea de compilatoare configure
script alege pentru tine în mod implicit, puteți seta CXX
variabila in mediul atunci când executați configure
. Acest lucru va salva valorile specificate în Makefile generat, astfel încât odată ce l-ai setat, nu este nevoie să facă acest lucru din nou, până când nu re-rula configure
.
Dacă doriți să treacă anumite steaguri compilator, puteți seta CXXFLAGS
variabila de mediu atunci când executați configure
. De exemplu, dacă utilizați toolchain GNU, cu următorul text va trece -g3
pavilion pentru a compilatorului, făcându-l să emită informații de depanare despre macro-uri. Apoi, puteți utiliza aceste macro-uri din gdb
comenzi:
$ CXXFLAGS=-g3 $SRC/configure
...
checking whether the C++ compiler (c++ -g3 ) works... yes
...
$
entru a construi o versiune pe 32 de biți pe un sistem Linux pe 64 de biți, puteți utiliza următoarele:
PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig CC="gcc -m32" CXX="g++ -m32" AR=ar $SRC/configure --target=i686-pc-linux
Pentru a construi o versiune de 64 de biți pe un sistem de Mac pe 32 de biți (de exemplu, Mac OS X 10.5), puteți utiliza următoarele:
AR=ar CC="gcc -m64" CXX="g++ -m64" ../configure --target=x86_64-apple-darwin10.0.0
Pentru a construi o versiune pe 64 de biți pentru Windows, puteți utiliza următoarele:
$SRC/configure --host=x86_64-pc-mingw32 --target=x86_64-pc-mingw32
Oricare ar fi compilator și steaguri treci la configure
sunt înregistrate în Makefile generat, astfel încât să nu trebuie să le specificați din nou, până când re-rula configure
.
Construirea aplicației Edita
În timp ce “Cum de a construi aplicația completă” este în mod clar în afara domeniului de aplicare a acestui document, iată câteva sfaturi care vă vor ajuta să ajunge pe calea ta:
- Dezvoltatorii SpiderMonkey schimba frecvent și în mod deliberat JSAPI ABI. Nu puteți utiliza antete construite pentru o versiune / configurare JSAPI pentru a crea fișiere obiect care vor fi legate de altul.
- Suport pentru JS_THREADSAFE a fost eliminat recent, iar pentru fire construiește au fost activate în mod implicit.
js-config
scenariu, descris mai jos, este metoda recomandată de a determina corect includ căi, bibliotecile necesare, etc. pentru încorporarea de a utiliza în timpul compilării. Noi recomandăm apelareajs-config
scenariul de la Makefile încorporarea-ului pentru a stabili dvs. CFLAGS, LDFLAGS, și așa mai departe.- Pentru a instala undeva SpiderMonkey diferit de cel implicit, trebuie să utilizați
configure
--prefix
opțiune, așa cum este descris mai sus. Imposibilitatea de a face acest lucru se poate rupe tajs-config.h
antet saujs-config
script. - Unele caracteristici detectate de
configure
script nu funcționează pentru eco-compilare.
Utilizarea script js-config
În plus față de bibliotecile SpiderMonkey, fișierele header și coajă, de a construi SpiderMonkey produce, de asemenea, un script de shell cu numele de js-config
care alte sisteme de construire pot utiliza pentru a afla cum de a compila cod, folosind API-urile SpiderMonkey, și modul în care să se interconecteze cu SpiderMonkey biblioteci.
Atunci când a invocat cu --cflags
opțiune, js-config
imprimă steagurile pe care ar trebui să treacă la compilatorul C la realizarea fișierelor care folosesc API-SpiderMonkey. Aceste steaguri asigura compilatorul va găsi fișierele header SpiderMonkey.
$ ./js-config --cflags # Example output: -I/usr/local/include/js -I/usr/include/nspr
Când este apelat cu --libs
opțiune, js-config
imprimă steagurile pe care ar trebui să treacă la compilatorul C când leagă un bibliotecă executabil sau comună care utilizează SpiderMonkey. Aceste steaguri asigura compilatorul va găsi bibliotecile SpiderMonkey, împreună cu orice biblioteci care SpiderMonkey sine depinde asupra (cum ar fi NSPR).
$ ./js-config --libs # Example output: -L/usr/local/lib -lmozjs -L/usr/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl -ldl -lm -lm -ldl
testarea SpiderMonkey Edita
- Rula
${BUILDDIR}/dist/bin/js
Y.js
și verificați dacă adecvată de ieșire este imprimată. (Acesta ar trebui să spun:5! is 120
.) - Rula suita de teste principal prin rularea
./tests/jstests.py ${BUILDDIR}/dist/bin/js
- Testele efectuate JIT-specifice cu comanda:
./jit-test/jit_test.py ${BUILDDIR}/dist/bin/js
Clădire SpiderMonkey 1.8 sau mai devreme Edita
Utilizați aceste instrucțiuni pentru a construi SpiderMonkey de la o lansare oficială sursă sau de la vechea arhiva CVS. Pentru a construi cele mai noi surse de SpiderMonkey din Mercurial, a se vedea de constructii SpiderMonkey mai sus.
SpiderMonkey este ușor de a construi de la sursă, dacă aveți de obicei Mozilla construi premisele instalate. Înainte de a începe, asigurați-vă că ați construi corect instrumente pentru computer: Linux, Windows, Mac, altele.
În primul rând, descărcați o distribuție sursă SpiderMonkey, cum ar fi SpiderMonkey Candidate 1,8 Release 1 .
Pentru a construi, utilizați aceste comenzi:
gudron xvzf js-1.8.0-rc1.tar.gz gudron xvzf js-1.8.0-rc1.tar.gz
cd js / cd src js / src
make -f Makefile.ref make -f Makefile.ref
Aceasta se bazează o versiune de depanare a SpiderMonkey. Toate fișierele construi sunt create într-un subdirector numit în funcție de sistemul dvs. (de exemplu, Linux_All_DBG.OBJ
dacă sunteți pe Linux). Pentru a instala acest build pe sistemul dumneavoastră, consultați instrucțiunile de instalare SpiderMonkey .
Pentru a construi o versiune optimizată (non-debug) de SpiderMonkey:
face BUILD_OPT = 1 -f Makefile.ref fata BUILD_OPT = 1 -f Makefile.ref
Pentru a construi un thread-safe versiune de SpiderMonkey:
face JS_DIST = / complet / calea / catre / directorul / contine / nspr JS_THREADSAFE = 1 -f Makefile.ref fata JS_DIST = / complet / Calea / Catre / Directorul / Contine / nspr JS_THREADSAFE = 1 -f Makefile.ref
See also
Traducere română a acestei pagini realizat de GarciniaCambogiaReviews.ca.