Android NDK-r5b 修正点

こちらのページでAndroid NDKがr5bになって若干の不具合が
修正されていると記述されていましたので、確認してきました。
確かに更新されていますね。変更点としては以下のようです。


ちなみに、私英語かなり苦手なんで翻訳の精度はお察しください。

This release of the NDK does not include any new features compared to r5.
このリリースでは、r5と比較して少しの新機能も含みません。

The r5b release addresses the following problems in the r5 release:
r5bでは、r5に存在していた以下の問題に対処しました:

※windows版NDKに関連するもの以外飛ばします。
※特に自信が無い箇所は?が付いてます。

・Adds missing documentation for the "gnustl_static" value for APP_STL, 
 that allows you to link against a static library version of GNU libstdc++.

 APP_STLに設定できる"gnustl_static"に関するドキュメントが存在していなかったので
 追加しました。 これはGNU libstdc++の静的ライブラリを示します。


◆The following ndk-build issues are fixed:
 ・A bug that created inconsistent dependency files when a compilation error occured on Windows. 
  This prevented a proper build after the error was fixed in the source code.

 ・A Cygwin-specific bug where using very short paths for the Android NDK installation
  or the project path led to the generation of invalid dependency files. 
  This made incremental builds impossible.

 ・A typo that prevented the cpufeatures library from working correctly 
  with the new NDK toolchain.

 ・Builds in Cygwin are faster by avoiding calls to cygpath -m from GNU Make 
  for every source or object file, which caused problems with very large source trees. 
  In case this doesn't work properly, define NDK_USE_CYGPATH=1 
  in your environment to use cygpath -m again.

 ・The Cygwin installation now notifies the user of invalid installation paths 
  that contain spaces.
  Previously, an invalid path would output an error that complained 
  about an incorrect version of GNU Make, even if the right one was installed.

◆ ndk-buildで発生していた以下の問題を修正しました。
 ・Windows上でコンパイルエラーが発生した場合に、矛盾しているファイルの依存関係を作っていた不具合。
  エラーがソースコードで修正された後、正確なビルドを行うことで防ぎます。

 ・Cygwin特有の不具合で、AndroidNDKをインストールした際、またはプロジェクトのパスに
  非常に短いパスを使った場合に無効なファイルの依存関係を作ります。
  これを差分があるビルドは作れない形としました。(?)

 ・cpufeatures libraryが新しいNDK toolchainで正しく動作するのを防いだ誤植。(?)

 ・全てのソースファイルやobjectファイルに対してGNU Makeで「cygpath -m」呼び出しを
  行っていたのを回避することにより、Cygwinでのビルドを高速化しました。
  これは非常に大きなソースツリーで問題となっていました。これが正常に働かない場合は、
  もう一度「cygpath -m」を利用するためにあなたの環境設定(environment)で
  「NDK_CYGPATH=1」を定義してください。

 ・Cygwinのインストーラーでは、現在ユーザーにスペースを含むパスは無効だと通知しています。
  以前に、たとえ目的のものがインストール済みだったとしても無効なパスを指定していると
  GNU Makeは誤ったバージョンとしてエラーを出力します。(?)

とりあえずこれくらいか。 重要なのは
・ndk-buildで失敗した場合に、毎回objフォルダの中身を削除しなくて良くなった。
(今までは、毎回「rm -r obj」などで削除していた)
Cygwinでのビルドが高速化された。


くらいでしょうか。 とりあえず私もバージョンアップかけます。