Tcl 8.6をAndroid NDKでクロスコンパイルする

http://www.tcl.tk/software/tcltk/download.htmlからtcl8.6.1-src.tar.gz をダウンロード。

Tclはクロスコンパイル環境をあまり考慮していないようで、「クロスコンパイル用のunameコマンドを作る - android-memoの日記」のunameコマンドが必要です。

$ tar xvzf tcl8.6.1-src.tar.gz
$ cd tcl8.6.1/unix
$ PATH=$HOME/bin/fake-uname/android:$PATH CFLAGS=-O2 LDFLAGS=-s tcl_cv_strtod_buggy=ok ./Configure --host=arm-linux-androideabi --prefix=$ANDROID_APP_ROOT/tcl-8.6.1
$ PATH=$HOME/bin/fake-uname/android:$PATH CFLAGS=-O2 LDFLAGS=-s tcl_cv_strtod_buggy=ok make configure-packages
$ make
$ make install

installed file

bin/tclsh8.6
include/*.h
lib/libtcl8.6.so
lib/libtclstub8.6.a
lib/itcl4.0.0/*.tcl
lib/itcl4.0.0/itclConfig.sh
lib/itcl4.0.0/libitcl4.0.0.so
lib/itcl4.0.0/libitclstub4.0.0.a
lib/pkgconfig/tcl.pc
lib/sqlite3.8.0/libsqlite3.8.0.so
lib/sqlite3.8.0/*.tcl
lib/tcl8/8.4/platform/shell-1.1.4.tm
lib/tcl8/8.4/platform-1.0.12.tm
lib/tcl8/8.5/msgcat-1.5.2.tm
lib/tcl8/8.5/tcltest-2.3.6.tm
lib/tcl8/8.6/http-2.8.7.tm
lib/tcl8/8.6/tdbc/sqlite3-1.0.0.tm
lib/tcl8.6/*.tcl
lib/tcl8.6/*/*.tcl
lib/tcl8.6/encoding/*.enc
lib/tcl8.6/msgs/*.msg
lib/tcl8.6/tclAppInit.c
lib/tcl8.6/tclIndex
lib/tclConfig.sh
lib/tclooConfig.sh
lib/tdbc1.0.0/libtdbc1.0.0.so
lib/tdbc1.0.0/libtdbcstub1.0.0.a
lib/tdbc1.0.0/*.tcl
lib/tdbc1.0.0/tdbcConfig.sh
lib/tdbcmysql1.0.0/libtdbcmysql1.0.0.so
lib/tdbcmysql1.0.0/*.tcl
lib/tdbcodbc1.0.0/libtdbcodbc1.0.0.so
lib/tdbcodbc1.0.0/*.tcl
lib/tdbcpostgres1.0.0/libtdbcpostgres1.0.0.so
lib/tdbcpostgres1.0.0/*.tcl
lib/thread2.7.0/libthread2.7.0.so
lib/thread2.7.0/*.tcl
man/man1/tclsh.1
man/man3/*.3
man/mann/*.n
share/man/mann/*.n