2011-03-23 13 views
2

私のperl javascriptエンジンにspidermonkeyを使用する必要があります。そのためには、スレッドセーフなライブラリを使ってspidermonkeyを構築する必要があります。私が理解しているように、まずNSPRを構築し、次にスパイダーマンキーを作成する必要があります。ビルドするmozilla NSPR MinGwをVC++なしウィンドウで使用する

私はリンク https://developer.mozilla.org/en/NSPR_build_instructions

を以下からわかるように、私は最初のmozilla-ビルドをダウンロードし、mingwのを開きました。私は上のtarget.debugディレクトリを作成するように述べたとのように私が作るやっている

.....指示に従った、私は次のエラーメッセージ

make[3]: nsinstall: Command not found 
make[3]: *** [export] Error 127 
make[3]: Leaving directory `/c/target.debug/pr/include/md' 
make[2]: *** [export] Error 2 
make[2]: Leaving directory `/c/target.debug/pr/include' 
make[1]: *** [export] Error 2 
make[1]: Leaving directory `/c/target.debug/pr' 
make: *** [export] Error 2 

を取得していますnsinstallが欠落しているように見えます。

私はC/C++のプロのプログラマーではないので、あなたの助けを求めています。

Mingwを使ってウィンドウにスパイダーモンキーを構築する必要があります。

私はリンクを以下に述べたように手順に従ってみました: http://jargon.ca/spidermonkey/

が、私はjs.exeを実行しているとき、それはlibnspr4.dllファイルが見つからない文句です。

Windowsオペレーティングシステムでnsprとspidermonkeyをビルドするにはどうすればよいですか。

+0

私のブログの指示に従おうとしましたか?http://opensourcepack.blogspot.com/2012/01/spidermonkey-185-mingw.html –

答えて

1

Windowsでの直接的な方法はありません。これを行うには2つの選択肢があります。どちらかの指示に従ってください:

  1. Compiming Mozilla with MinGW
  2. またはWindows pre-requisitiesページに記載事前requisitiesを満たし、コンパイルを開始。

私は個人的に第1のオプションを試していませんが、第2のオプションではMicrosoft Visual Studioが必要です。その後、NSPR 4だけが必要な場合は、Firefoxのインストール担当者からこれらのファイルを取り出してみませんか?私は、DLLはnspr4.dll、plc4.dll、plds4.dllのような名前になっていると思います。

+0

nspr4をコンパイルすると、あなたは言う必要があると言いましたWindowsプラットフォームは../configureスクリプトを呼び出している間にWin95ではなくWinntを指定してください。これはlibnspr4.dllを生成するデフォルトです。詳細については、そのヘルプをお読みください。 js.exeの動作を開始するには、nspr4.dll/libnspr4.dllがjs.exeと同じディレクトリにあるか、%PATH%に配置可能である必要があります。 –

+0

Firefox 27.0.1のインストールにnspr4.dllが含まれていません。ただし、nss3.dllが含まれています。 '-lnspr4'の代わりに' -lnss3'とリンクするとうまくいくようです。 – Jarekczek

+0

Thunderbirdリリースには 'nspr4.dll'ファイルが含まれています。 – Jarekczek

3

mozillaからnsinstallのコピーを入手できます。

  • moztools-static.zipをダウンロードして解凍します。
  • moztools-static/moztools/bin/nsinstall.exeを/ mingw/binにコピーします。
0

あなたは、次のようにcygwinのでnsinstallを構築することができます。そして、(--enable-win32-target=WIN95で)mingwのでビルド

mkdir cygwinbuild 
../configure --host=i386-pc-linux-gnu 
cd config 
make nsinstall 

ほとんど成功します。私は、次のものを修正する必要がありました:

(1)PR// MD/_win95.h

// these should be defined in winbase.h, but in my mingw 
// they are not 
#ifndef STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000 
    #define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000 
#endif 
#ifndef CRITICAL_SECTION_NO_DEBUG_INFO 
    #define CRITICAL_SECTION_NO_DEBUG_INFO 0x01000000 
#endif 

(2)PR /含める/ pratomが含まれます。H、ライン80

// my mingw cannot link InterlockedIncrement, probably there's a better 
// option than turning this off 
#if 0 && defined(_WIN32) && !defined(_WIN32_WCE) && \ 

一方がテストを実行したい場合はテストは、外国の、テストファイルを添付すること(3)、点1からトリックも適用されるべきです。

私のビルドでは、cvar、gethost、op_2long、parent、reinit、selct_nm、socket、sockopt、writevなどのテストで失敗します。残りは成功です。