2013年10月26日土曜日

Pebble SDKイントール

Pebbleと言う時計のオモチャを調べる機会を得ましたので紹介します。

Pebbleの使い方はあちこちで紹介されていますし、日本語の紹介記事もあるようです。しかし、SDKに関しては見当たらないようです。

SDKはInstalling Pebble SDK on Mac OS Xにあります。比較的読みやすい英語ですが、ほかのプラットフォームと共通化するためにMacで馴染みのある方法とは言いがたいところが散見されます。今回はMac OS X 10.8.5上のXcode 5.0 (5A1413)で試しています。

先のページInstalling Pebble SDK on Mac OS Xには最初に四つの作業手順の概要が書かれています。簡単そうに見えますが、一番手間がかかる作業は2のbで、これだけで半分以上の作業時間を取られます。

解説ではインストール先を~/pebble-devにしており、そのまま従いました。また、インストールのヘルプ フォーラムもあるそうですが、私はお世話になることはありませんでした。以下は、開設の手順に従って気がついたことなどを紹介します。

1. Download and install Pebble SDK
PebbleのサイトDon't have an account? Sign Upボタンでアカウントを作り、SDKのファイルPebbleSDK-1.12.tar.gzを入手します。
ホームにフォルダを作って~/pebble-devと命名し、そこにPebbleSDK-1.12.tar.gzを入れてダブルクリックし、PebbleSDK-1.12というフォルダができたことを確認します。

2. Download and install dependencies for Pebble ARM toolchain
XcodeのPreferencesでDownloadsタブのComponentsタブでCommand Line Toolsの右にあるボタンを押してXcodeのツールをインストールします。

さて、libmpc(GNU Multiprecision library)のインストールですが、ここでhomebrewのインストールが求められています。これは別にまとめましたので、「PebbleのためのHomebrew」の項目を参照してください。

無事にhomebrewがインストールされ、brew doctorも通った…として、次は以下の命令です。
brew install libmpc
ファイルを三つほどダウンロードすると完了しますので、以下のファイルが存在するか確認します。
/usr/local/lib/libmpc.3.dylib

3. Download and install Pebble ARM toolchain
もうひとつファイルをダウンロードします。このファイルはMac OS Xのバージョンによって異なります。ダウンロードしたファイルを~/pebble-devに入れてダブルクリックするとinside ~/pebble-dev/と言うフォルダができます。
私はTerminalでbashシェルを使っていますので、.bash_profileを編集して環境変数PATHに~/pebble-dev/arm-cs-tools/bin:を追加します。解説ページにもあるように、一時的にexportしても良いかもしれません。
以上の作業が終われば、gccのバージョンをチェックし、コンパイルの動作検証します。解説ページにある命令はコピーしてTerminalにペーストすれば実行できます。動作検証では解説にもあるwarningが表示され、a.outが作られました。
今回はBuilding the toolchain from Sourceにあるソースからのビルドは不要でした。

4. Download and install SDK dependencies
この作業はフォントや図の変換などに使うPythonのライブラリのインストールです。Mac OS X 10.8.5では書かれた通りに手順を踏めば良いのですが、c. Install the Python library dependencies:は先の二つの命令と比べて長めのテキストをはき出し、最後は以下のようになります。
Successfully installed Pillow freetype-py sh
Cleaning up...
また、最後のfreetypeのチェックはなにも応答が な け れ ば 正常です。

はてさて、これでようやくHelloWorldのappを試す、用意ができました。

MacとPebble SDKの記事はPebbleのラベルで検索してください。

0 件のコメント: