miniupnpcというCなUPnPのライブラリがあって、これは結構多くのルータをサポートしてて色々なオープンソースアプリで(もしかしたら商用アプリでも)用いられているんだけれど、Javaバインディングがない。 どーせ小さなコードなので、JNIするのもそんな面倒じゃないだろ、と思って書き始めてみた。 が、途中で、JNAという別のネイティブサポートの実装があって、これ用のバインディングをJNAeratorで全自動生成出来るという事に気がついた。 これは中々優秀で、たったこれだけのシェルスクリプトでバインディングが生成出来た: #!/bin/sh UNAME=`uname` if [ $UNAME = "Darwin" ]; then LIBRARY=libminiupnpc.dylib elif [ $UNAME = "Linux" ]; then LIBRARY=libminiupnpc.