Native CLIent の内部サンドボックスはバイナリの検証に依存しているため、Native Client ツールを使用して libgpgme をコンパイルする必要があります。一般に、Native Client は、コードが静的にリンクされているか動的にリンクされているかに関係なく、ライブラリを含め、コードを実行する前に検証する必要があります。検証可能なバイナリを作成する最も簡単な方法は、Native Client コンパイラを使用することです。
ネイティブ クライアントへの移植:
libgpgme は autotools を使用し、特に configure を使用するため、config.sub ファイルの basic_machine 部分に次のようなセクションを追加して、NaCl プラットフォームをそれらにアドバタイズする必要があります。ソースツリー:
nacl*)
basic_machine=i686-pc
os=-nacl
;;
と追加
-nacl*
同じファイルの os セクションに。特にクリーンなポートの例は libogg です。パッチ全体はhttp://code.google.com/p/naclports/source/browse/trunk/src/libraries/libogg-1.1.4/nacl-libogg-1.1.4.patchで確認できます。(厳密に言えば、config.sub は configure.in から生成されますが、多くの場合、config.sub を編集する方が適切です。)
移植にはこの最初のステップよりも多くの作業があるため、既存の移植へのいくつかのガイドとポインターに従って、移植がどのように行われたかを感じてください。
ガイド:
詳細については、https: //developers.google.com/native-client/community/developers にいくつかの移植事後分析があります。特に、https: //developers.google.com/native-client/community/porting/xaos の XaoS に関するものには、autotools に関する短いセクションがあります。
既存のポート:
また、naclports と呼ばれるネイティブ クライアント用のコミュニティ ベースのリポジトリがあります。すでに移植されたライブラリがいくつか含まれていますが、残念ながら libgpgme はまだ移植されていません。http://code.google.com/p/naclports/source/browse/trunk/src/libraries/で、naclports のライブラリのリストを確認できます。ポートの実行方法の有用な例が含まれていますが、naclports はしばしば壊れてしまうため、気弱な人向けではありません。また、ボランティア/ベストエフォート ベースで維持されているため、修正に時間がかかる場合があります。