aboutsummaryrefslogtreecommitdiff
path: root/files/ja/gre
diff options
context:
space:
mode:
Diffstat (limited to 'files/ja/gre')
-rw-r--r--files/ja/gre/index.html39
1 files changed, 39 insertions, 0 deletions
diff --git a/files/ja/gre/index.html b/files/ja/gre/index.html
new file mode 100644
index 0000000000..8cb2c6ab69
--- /dev/null
+++ b/files/ja/gre/index.html
@@ -0,0 +1,39 @@
+---
+title: GRE
+slug: GRE
+tags:
+ - Gecko
+ - XUL
+ - XULRunner
+translation_of: Archive/Mozilla/GRE
+---
+<p>
+</p><p>Mozilla の技術を組み込むためのフレームワークは、かって GRE (Gecko Runtime Environment) と呼ばれました。この埋め込み(embedding)フレームワークによって、アプリケーションは互換性のある Gecko ランタイムの場所を突きとめ、そのインストール場所を事前に知らなくても、それを埋め込むことが可能になります。この文書は、埋め込みを意図する者が、動的に GRE にリンクする方法を解説します。GREの登録方法については、<a href="ja/GRE_Registration">GRE Registration</a> を参照してください。
+</p><p>"XUL Runtime Environment" を表す <a href="ja/XRE">XRE</a> プロジェクトは、<a href="ja/XULRunner">XULRunner</a>に変わりました。
+</p>
+<h3 id="Mozilla_Suite_旧_GRE"> Mozilla Suite: 旧 GRE </h3>
+<p>GRE には 2 つの異なる形態があります。: "旧" GRE は Mozilla application suite の一部です。 Mozilla 1.4 から 1.7.x の Windows インストーラでは、これがインストールされていました。Linux 向けには、公式に公開された GRE はありませんが、Red Hat などのさまざまな業者が、インストールされた Mozilla を GRE として登録していました。Mac 上の Mozilla suite は GRE をサポートしていません。
+</p>
+<h3 id="XULRunner_新_GRE"> XULRunner: 新 GRE </h3>
+<p><a href="ja/XULRunner">XULRunner</a> は GRE の新しいバージョンであり、埋め込みができるだけでなく、Firefox などの完全な XUL アプリケーションを起動することができます。 XULRunner は 3 つの主要なプラットホームのすべて (Windows および Mac, Linux)で埋め込みをサポート、またはサポートが計画されています。
+</p>
+<h3 id="アプリケーションのソースコードから_GRE_を探る"> アプリケーションのソースコードから GRE を探る </h3>
+<h4 id="xpcom.dll_への直接リンクを避ける"> xpcom.dll への直接リンクを避ける </h4>
+<p>アプリケーションが GRE を使おうとする場合、確実に正式のライブラリに対してリンクするための入念な手順をとならければいけません。直接 &lt;tt&gt;xpcom.dll/libxpcom.so&lt;/tt&gt; (&lt;tt&gt;xpcom.lib&lt;/tt&gt; import lib) にリンクした場合、アプリケーションは、その <code>PATH</code> に xpcom.dll がないと起動しません。これはランタイムが実行時にダイナミックに互換性のある GRE を検索するのを阻害します。
+</p>
+<h4 id="互換_GRE_の検索"> 互換 GRE の検索 </h4>
+<p>互換 GRE を検索するには、(<code><a href="https://dxr.mozilla.org/mozilla-central/source/xpcom/glue/standalone/nsXPCOMGlue.h" rel="custom">xpcom/glue/standalone/nsXPCOMGlue.h</a></code> で宣言されている) <code>GRE_GetGREPathWithProperties()</code> 関数を使うべきです。これは embedder が適した GRE のバージョンの指定、そして GRE が持たなければならない特別な機能 (現在特別な機能は定義されていない) の指定を可能にします。
+</p>
+<h4 id="Statically_link_to_xpcomglue.lib_(the_standalone_glue)"> Statically link to xpcomglue.lib (the "standalone glue") </h4>
+<p>The solution is to statically link against &lt;tt&gt;xpcomglue.lib&lt;/tt&gt;, also known as the "standalone glue" (see <a href="ja/XPCOM_Glue">XPCOM Glue</a>). This library provides a layer of indirection between embedding code and XPCOM. To use the XPCOM glue, you must follow these steps:
+</p>
+<ul><li> Compile your code with <code>XPCOM_GLUE</code> defined.
+</li><li> Link with &lt;tt&gt;xpcomglue.lib&lt;/tt&gt; (<i>not</i> &lt;tt&gt;xpcomglue_s.lib&lt;/tt&gt;!). Don't link against the NSPR libs.
+</li><li> Find a compatible GRE (see above).
+</li><li> Dynamically link to that GRE using the <code>XPCOMGlueStartup()</code> function. See <a href="#Dependent_libraries_and_environment_variables">environment variables</a> below.
+</li><li> Initialize XPCOM and do your work; when finished, shut down XPCOM.
+</li><li> Unlink XPCOM with <code>XPCOMGlueShutdown()</code>.
+</li></ul>
+<h4 id="Dependent_libraries_and_environment_variables"> Dependent libraries and environment variables </h4>
+<p>The XULRunner GRE is designed so that the embedder does not need to set any environment variables such as <code>PATH</code> or <code>LD_LIBRARY_PATH</code> before calling <code>XPCOMGlueStartup()</code>, because it dynamically loads the correct dependent libraries. Unfortunately, the Mozilla suite-based GRE is not as forgiving, especially on Linux. Embedders will need to set the <code>LD_LIBRARY_PATH</code> environment variable and start a new process in order to embed a suite-based GRE correctly.
+</p>