Xcodeの助けを借りてdylibを構築することができました。
いくつかの課題がありました (scrypt v1.2.0 に基づく):
- sha256.cは を宣言し
initstate
ます。それはどういうわけかグローバル名と衝突したのでs_initstate
、そのファイルの3か所で名前を変更しました。
- すべての .c ファイルをプロジェクトに追加しましたが、 crypto_scrypt-ref.cなど、実際には必要のないいくつかのファイルを削除する必要がありました。これにより、他のシンボルが重複していました。
- Xcode 7 によって設定されたデフォルトの検索パスは
usr/include
、OS X 固有の SDK フォルダー内を参照していました。しかし、それには必要なファイルが含まれていません。これは、ファイルシステムのルートでopenssl/aes.h
のみ見つかりました。/usr/include
ターゲットオプション「Always Search Users Paths」YES
と「User Header Search Paths」をに設定することで、これを回避しました。/usr/include
この後、dylib をビルドし、 crypto_scrypt.hおよびscryptenc.hで宣言された関数にリンクできます。
(プロジェクトが CVS 上にないのが残念です。または、変更を加えてプル リクエストを送信します。)
更新:プロジェクトはgithubにあります