Update of /cvsroot/fink/scripts/installer/dmg/doc/porting
In directory
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7981/scripts/installer/dmg/doc/porting
Modified Files:
porting.ja.html
Log Message:
porting.en.xml 1.6
Index: porting.ja.html
===================================================================
RCS file: /cvsroot/fink/scripts/installer/dmg/doc/porting/porting.ja.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- porting.ja.html 16 Mar 2005 19:08:01 -0000 1.2
+++ porting.ja.html 25 Mar 2005 22:25:29 -0000 1.3
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
-<html><head><meta http-equiv="Content-Type" content="text/html;
charset=utf-8"><title>Fink Documentation - Unix ソフトウェの Darwin と
Mac OS X へのポーティング</title></head><body>
+<html><head><meta http-equiv="Content-Type" content="text/html;
charset=utf-8"><title>Fink Documentation - Unix ソフトウェアの Darwin
と Mac OS X への移植</title></head><body>
<table width="100%" cellspacing="0">
<tr valign="bottom">
<td align="center">
@@ -11,13 +11,13 @@
</td>
</tr>
</table>
-<h1 style="text-align: center;">Unix ソフトウェの Darwin と Mac OS X
へのポーティング</h1>
+<h1 style="text-align: center;">Unix ソフトウェアの Darwin と Mac OS X
への移植</h1>
<p>
この文書は Unix アプリケーションを Darwin や Mac
OS X へ移植する際に有用な情報を集めています.
- ここでの情報は, Mac OS X バージョン 10.0.0 と
Darwin 1.3.x に適用されます.
+ ここでの情報の多くは, Mac OS X バージョン
10.0.0 と Darwin 1.3.x に適用されます.
どちらも Mac OS X は Darwin
のスーパーセットなので,両者を Darwin
という言葉で示します.
</p>
- <h2>Contents</h2><ul><li><a href="#basics"><b>1 基本</b></a><ul><li><a
href="#basics.heritage">1.1 Darwin はどこから来たのか</a></li><li><a
href="#basics.compiler">1.2 コンパイラとツール</a></li><li><a
href="#basics.host-type">1.3 ホスト種別</a></li><li><a
href="#basics.libraries">1.4 ライブラリ</a></li><li><a
href="#basics.other-sources">1.5 他の情報源</a></li></ul></li><li><a
href="#shared"><b>2 共有コード</b></a><ul><li><a
href="#shared.lib-and-mod">2.1 共有ライブラリ vs
ローダブル・モジュール</a></li><li><a href="#shared.version">2.2
バージョン番号</a></li><li><a href="#shared.cflags">2.3
コンパイラフラグ</a></li><li><a href="#shared.build-lib">2.4
共有ライブラリ をビルド</a></li><li><a href="#shared.build-mod">2.5
モジュールをビルド</a></li></ul></li><li><a href="#libtool"><b>3 GNU
libtool</b></a><ul><li><a href="#libtool.situation">3.1 状況</a></li><li><a
href="#libtool.pat
ch-135">3.2 1.3.5 パッチ</a></li><li><a href="#libtool.fixing-14x">3.3
1.4.x を修正</a></li><li><a href="#libtool.dylibversionfix">3.4 libtool
により生成された dylibs
のバージョン番号を修正</a></li><li><a href="#libtool.notes">3.5
さらなる注記</a></li></ul></li><li><a href="#preparing-10.2"><b>4 10.2
に向けて</b></a><ul><li><a href="#preparing-10.2.bash">4.1 bash
シェル</a></li><li><a href="#preparing-10.2.gcc3">4.2 gcc3
コンパイラ</a></li></ul></li><li><a href="#preparing-10.3"><b>5 10.3
に向けて</b></a><ul><li><a href="#preparing-10.3.perl">5.1
Perl</a></li></ul></li></ul><h2><a name="basics">1 基本</a></h2>
+ <h2>Contents</h2><ul><li><a href="#basics"><b>1 基本</b></a><ul><li><a
href="#basics.heritage">1.1 Darwin はどこから来たのか</a></li><li><a
href="#basics.compiler">1.2 コンパイラとツール</a></li><li><a
href="#basics.host-type">1.3 ホスト種別</a></li><li><a
href="#basics.libraries">1.4 ライブラリ</a></li><li><a
href="#basics.other-sources">1.5 他の情報源</a></li></ul></li><li><a
href="#shared"><b>2 共有コード</b></a><ul><li><a
href="#shared.lib-and-mod">2.1 共有ライブラリ vs
ローダブル・モジュール</a></li><li><a href="#shared.version">2.2
バージョン番号</a></li><li><a href="#shared.cflags">2.3
コンパイラフラグ</a></li><li><a href="#shared.build-lib">2.4
共有ライブラリ をビルド</a></li><li><a href="#shared.build-mod">2.5
モジュールをビルド</a></li></ul></li><li><a href="#libtool"><b>3 GNU
libtool</b></a><ul><li><a href="#libtool.situation">3.1 状況</a></li><li><a
href="#libtool.pat
ch-135">3.2 1.3.5 パッチ</a></li><li><a href="#libtool.fixing-14x">3.3
1.4.x を修正</a></li><li><a href="#libtool.notes">3.4
さらなる注記</a></li></ul></li><li><a href="#preparing-10.2"><b>4 10.2
に向けて</b></a><ul><li><a href="#preparing-10.2.bash">4.1 bash
シェル</a></li><li><a href="#preparing-10.2.gcc3">4.2 gcc3
コンパイラ</a></li></ul></li><li><a href="#preparing-10.3"><b>5 10.3
に向けて</b></a><ul><li><a href="#preparing-10.3.perl">5.1
Perl</a></li><li><a href="#preparing-10.3.typedef">5.2
新しいシンボル定義</a></li><li><a
href="#preparing-10.3.system-libs">5.3
新しいシステムのライブラリ</a></li></ul></li></ul><h2><a
name="basics">1 基本</a></h2>
<h3><a name="basics.heritage">1.1 Darwin
はどこから来たのか</a></h3>
@@ -280,6 +280,8 @@
<p>
注記:
全てのバージョンの libtool に関して,付属の libltdl
ライブラリは dlcompat がインストールされている場合に限り
Darwin 上で動作します.
+10.3以降の OSX には付属されています.
+これ以前のバージョンでは,"dlcompat"
関連のパッケージをインストールします.
</p>
<h3><a name="libtool.patch-135">3.2 1.3.5 パッチ</a></h3>
@@ -381,72 +383,7 @@
<p><a
href="http://mail.gnu.org/archive/html/libtool/2002-04/msg00019.html">http://mail.gnu.org/archive/html/libtool/2002-04/msg00019.html</a></p><p><a
href="http://mail.gnu.org/archive/html/libtool/2002-04/msg00021.html">http://mail.gnu.org/archive/html/libtool/2002-04/msg00021.html</a></p><p><a
href="http://mail.gnu.org/archive/html/libtool/2002-04/msg00025.html">http://mail.gnu.org/archive/html/libtool/2002-04/msg00025.html</a>,</p><p>パッチに関する議論は:</p><p><a
href="http://mail.gnu.org/archive/html/libtool/2002-04/msg00043.html">http://mail.gnu.org/archive/html/libtool/2002-04/msg00043.html</a>.</p></li>
</ol>
- <h3><a name="libtool.dylibversionfix">3.4 libtool により生成された
dylibs のバージョン番号を修正</a></h3>
-
- <p>libtool
により生成されたライブラリは,バージョン番号が間違っている場合があります.
-これは,パッケージの Makefile
のフラグが間違っているためです.
-Makefile 中で libtool がこのように呼び出されている場合:
-<tt style="white-space: nowrap;">
--release "version"
-</tt>
-make 後の結果のバイナリは:
-</p>
- <ol>
- <li> libname.dylib</li>
- <li> libname-"version".dylib</li>
- </ol>
- <p>
-となります.
-<tt style="white-space: nowrap;">-release</tt> が Makefile
で使用されているかどうかは直ぐにわかります.
-ライブラリ名の直後に <b>-</b>
があることに気づくことがあります.
-これは, libtool が <tt style="white-space: nowrap;">-release</tt>
付きでバイナリ生成するために呼ばれたことを示します.
-また,ライブラリはこのようになる場合もあります:
-</p>
- <ol>
- <li>libname.dylib</li>
- <li>libname-"version".x.x.x.dylib</li>
- </ol>
- <p>
-これは,<tt style="white-space: nowrap;">-release</tt> と <tt
style="white-space: nowrap;">-version-info</tt>
の両フラグを使用したことを示しています.
-</p>
- <p><tt style="white-space: nowrap;">-version-info</tt>
を正しく設定するのは複雑です.
-Apple の提供する Developer Tools
の文書には素晴らしい情報があります.
-Fink を使用している以上,あなたも Developer Tools
をインストールをしているでしょう.
-Mac OS X システムでの libtool のリンクに関する<a
href="file://localhost/Developer/Documentation/DeveloperTools/libtool/libtool_6.html#SEC34">文書</a>はここです.
-この文書は完全版ですが,下記に簡略に記します.
-</p>
- <p>
-developer 文書より引用(訳は Fink Support, Translation and
Documentation Team チーム):
-libtool ライブラリバージョンは
3つの整数値で記述されている:
-</p>
- <ul>
- <li>
- <b>current</b>
- <p>
-当該ライブラリが実現している最新のインターフェイス番号
-</p>
- </li>
- <li>
- <b>revision</b>
- <p>
- 現在のインターフェイスの実現番号
-</p>
- </li>
- <li>
- <b>age</b>
- <p>
-当該ライブラリの実現した最も新しいインターフェイスと最も古いものの期間.
-あるいは,当該ライブラリが current - age から current
までの期間のインターフェイス番号を実現していることを示す.
-二つのライブラリが,同一の current と age
番号を持つ場合,リンカは revision
番号が大きい方を選びます.
-</p>
- </li>
- </ul>
- <p>
-libtool
によるライブラリのバージョン番号の設定・更新の情報は,上記リンクに詳細があります.
-<tt style="white-space: nowrap;">-version-info</tt>
を通して,新しい番号をつくったり,現在のバージョン番号を更新する方法は詳しく書かれています.
-</p>
-
- <h3><a name="libtool.notes">3.5 さらなる注記</a></h3>
+ <h3><a name="libtool.notes">3.4 さらなる注記</a></h3>
<p>libtool 自体と,libtool
が何をするかについての詳細は <a
href="http://www.gnu.org/software/libtool/libtool.html">libtool
ホームページ</a>を参照.</p>
<p>
@@ -548,12 +485,86 @@
</p>
<h2><a name="preparing-10.3">5 10.3 に向けて</a></h2>
-
-
- <h3><a name="preparing-10.3.perl">5.1 Perl</a></h3>
-
-
- <hr><h2>Copyright Notice</h2><p>Copyright (c) 2001 Christoph Pfisterer,
+
+
+
+<h3><a name="preparing-10.3.perl">5.1 Perl</a></h3>
+
+ <p>
+ OS X 10.2 では, <tt style="white-space: nowrap;">/usr/bin/perl</tt>
は perl 5.6.0 であり, architecture 文字列は "darwin" でした.
+ OS X 10.3 では, <tt style="white-space: nowrap;">/usr/bin/perl</tt>
は perl 5.8.1 にアップグレードされ, architecture 文字列が
"darwin-thread-multi-2level" に変更されました.
+ この変更は, それぞれの perl
実行ファイルはモジュールを探す場所を知っているので,パッケージ作成時に
perl
実行ファイルを使用する分には<b>おそらく</b>影響がないでしょう.
+ perl モジュール ("-pm") パッケージのメンテナは,<a
href="http://fink.sourceforge.net/packaging/policy.php#perlmods">Perl
+ モジュールのパッケージ化ポリシー</a>に従い,<tt
style="white-space: nowrap;">CompileScript</tt> と <tt style="white-space:
nowrap;">InstallScript</tt>
+ が適切に作成されるようにしてください。
+ </p>
+
+
+
+<h3><a name="preparing-10.3.typedef">5.2 新しいシンボル定義</a></h3>
+
+ <p>
+ Mac OS X 10.3 より,常に <tt style="white-space:
nowrap;">socklen_t</tt> タイプの完全な定義があります.
+ この typpedef
定義を知るには,プログラムに以下を追加する必要があるかもしれません:
+ </p>
+ <pre>
+#include <sys/types.h>
+#include <sys/socket.h>
+ </pre>
+
+
+
+<h3><a name="preparing-10.3.system-libs">5.3
新しいシステムのライブラリ</a></h3>
+
+ <p>
+ Mac OS X 10.3
には,これまでのシステムでは提供していないために fink
パッケージとして提供していたものがあります:
+ </p>
+
+ <table border="0" cellpadding="0" cellspacing="10"><tr valign="bottom"><th
align="left">Field</th><th align="left">Value</th></tr><tr
valign="top"><td>libpoll</td><td>
+ <p>
+ <tt style="white-space: nowrap;">/usr/lib/libpoll.dylib</tt> と <tt
style="white-space: nowrap;">/usr/include/poll.h</tt>
+ というファイルが含まれています.しかし,OS X
によるライブラリは不完全です.
+ もしこれで十分であれば, Fink "libpoll"
への依存性を削除することもできます.
+ ライブラリのコードは,実際は libSystem
に統合されているため,自動的にリンクされます.
+ つまり, OS X のものを使用する際には <tt
style="white-space: nowrap;">-lpoll</tt> も不要となります.
+ OS X は <tt style="white-space: nowrap;">libpoll.dylib</tt>
も提供しているため, <tt style="white-space: nowrap;">-lpoll</tt>
をすると
+ Fink "libpoll"
パッケージがインストールされているかいないかで結果が変わることには注意をしてください.
+ </p>
+ </td></tr><tr valign="top"><td>libdl</td><td>
+ <p>
+ <tt style="white-space: nowrap;">/usr/lib/libdl.dylib</tt> と <tt
style="white-space: nowrap;">/usr/include/dlfcn.h</tt>
+ というファイルが含まれています.このため,Fink
の "dlcompat",
+ "dlcompat-dev", "dlcompat-shlibs"
パッケージは不要となります.
+ ライブラリのコードは,実際は libSystem
に統合されているため,自動的にリンクされます.
+ つまり, OS X のものを使用する際には <tt
style="white-space: nowrap;">-ldl</tt> も不要となります
(あっても影響はありません).
+ </p>
+ </td></tr><tr valign="top"><td>GNU getopt</td><td>
+ <p>
+ このライブラリは, <tt style="white-space:
nowrap;">getopt_long()</tt> 関数を含めて, libSystem と
+ <tt style="white-space: nowrap;">/usr/include/getopt.h</tt>
に統合されました.
+ このため, Fink の"libgnugetopt" と "libgnugetopt-shlibs"
+ を使用する必要はありません.
+ libSystem は自動的にリンクされ, <tt style="white-space:
nowrap;">/usr/include</tt>
+ も自動的に検索されるため, Fink の "libgnugetopt"
へアクセスするために手動で追加していた
+ <tt style="white-space: nowrap;">-lgnugetopt</tt> と <tt
style="white-space: nowrap;">-I/sw/include/gnugetopt</tt>
を削除することができます.
+ </p>
+ </td></tr></table>
+
+ <p>
+ OS X 10.3
へパッケージを投入する際には,これらのパッケージは将来的に削除されるので,上述の不要となった依存性を削除してください.
+
このため,それぞれのツリー用に別々のパッケージ記述ファイルを用意する必要があります.
+ <tt style="white-space: nowrap;">Revision</tt>
は通常通りあげる必要があります.
+ この方法で,OS X 10.2 から 10.3
へアップグレードするユーザーは,10.2
用のパッケージより 10.3
用のパッケージの方が"より新しい"と認識することができます.
+ 低い方のツリーでの変更があるかもしれないので,<tt
style="white-space: nowrap;">Revision</tt> は 10 あげてください.
+ </p>
+
+ <p>
+ 10.3 へ統合されるパッケージをテストする際は, <tt
style="white-space: nowrap;">BuildDepends</tt>
から削除したパッケージをアンインストールしてください.
+ そうでないと Fink
が提供するライブラリにリンクする可能性があります.
+ </p>
+
+
+<hr><h2>Copyright Notice</h2><p>Copyright (c) 2001 Christoph Pfisterer,
Copyright (c) 2001-2005 The Fink Project.
You may distribute this document in print for private purposes,
provided the document and this copyright notice remain complete and
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Fink-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fink-commits