Cocotronは、OSXプラットフォームからWin32へのコードの移植に最適です。 もちろん、APIの実装は理想とはほど遠いですが、実践が示すように、開発者は常に問題を迅速に解決します。
当初、CocotronはXcodeとmingw-toolchainに基づくクロスアセンブリにのみ使用されていました。 クロスビルドは、Windows、Linux、およびSolarisでの展開に使用できます。
もちろん、このアプローチは、開発チェーンの中で最も困難で高価な段階であるOSX(最適には元のハードウェア上)を残しました。 この依存関係のため、プラットフォームとしてのCocotronの能力を完全に開示することはできませんでした。
Cocotronは、異なるランタイムObjective-Cを使用する元のGCCでは動作しません。 このため、GCCはAppleのパッチを使用してコンパイルする必要があります。これは、とりわけ、バニラGCCの言語から言語を少し拡張します。
GCCのインストールプロセスは非常に伝統的なもので、最初にソースツリーをダウンロードする必要があります:
svn checkout http://cocotron-tools-gpl3.googlecode.com/svn/trunk/gcc cocotron-gcc
そしてそれをコンパイルします:
mkdir gcc-build cd gcc-build ../cocotron-gcc/configure --prefix = / opt / objc --with-gnu-as --with-gnu-ld --without-newlib --disable-multilib \ --disable-libssp --disable-nls --disable-libobjc --enable-libffi --enable-objc-gc \ --enable-languages = c、objc、c ++、obj-c ++ --enable-checking = release make -j2 sudo make install
ここでは、GCCとCocotronに/ opt / objcプレフィックスを使用します。
オプションとして、新しく到着したhabrovchanin pfactumによって親切に提供された、組み立てられたdebパッケージを使用できます。
これで、Cocotronの特定のアセンブリに進むことができます。 現在、ネイティブビルドはLinux、OpenBSD(およびおそらくFreeBSD)、およびDarwin(つまりOSX)でサポートされています。 ビルドするには、githubで公式ツリーのフォークを取得する必要があります。
git clone git://github.com/farcaller/cocotron.git cd cocotron git checkout origin / native-build -b native-build
(ちなみに、masterブランチは自動的に公式のsvnと同期されるため、誰かがソースを "選択"し、gitを好む場合は歓迎します)。
ビルドシステムはCMakeに基づいており、少なくとも2.6:
mkdirビルド cdビルド cmake -DCMAKE_C_COMPILER = / opt / objc / bin / gcc \ -DCMAKE_CXX_COMPILER = / opt / objc / bin / g ++ \ -DCMAKE_INSTALL_PREFIX = / opt / objc .. 作る sudo make install
現在のところ、Foundationのみが収集され、AppKitビルドスクリプトの作業が進行中です。
組み立てられたライブラリはテストできます:
cat> test.m << EOF #import <Foundation / Foundation.h> int main(int argc、char * argv []) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSLog(@ "Hello、Objective-C World!"); [プールの排水口]; 0を返します。 } Eof
/ opt / objc / bin / gcc test.m -o test -I / opt / objc / include -L / opt / objc / lib \ -lFoundation -lpthread -ldl
Cocotronの開発が新しい開発者を引き付け、非常に興味深いプログラミング言語であるObjective-Cの人気が高まることを期待しています。