個人的なメモ automake と libtool を使う方法とか。
shared object を作らなければならなくなったので、ゴニョゴニョやってみた。 ってことで、ほぼ個人的メモ。
まずは Makefile.am にこんな内容を書く。
lib_LTLIBRARIES= libhogehoge.la
libhogehoge_la_SOURCES = hogehoge.c
configure.ac に AM_PROG_LIBTOOL を記述
# Checks for programs.
AC_PROG_CC
AC_PROG_RANLIB
AC_PATH_PROG(RUBY_PATH, ruby)
AC_PATH_PROG(PERL_PATH, perl)
AC_PATH_PROG(SWIG_PATH, swig)
AM_PROG_LIBTOOL
あとは aclocal → autoheader → libtoolize -a → automake -a → autoconf の順で実行
このライブラリを使うプログラムを含めて、違う prefix で違う libdir にインストールする場合、以下のような LDFLAGS を指定して configure を実行。
LDFLAGS="-Wl,-rpath,/home/hoge/lib64" CFLAGS="-O3 -pipe"
./configure --prefix=/home/hoge --libdir=/home/hoge/lib64
そすると、bindir は /home/hoge/bin になって、libdir が /home/hoge/lib64 になる。 x86_64 で違う prefix に入れる場合はこうすればOK。
コメント
コメントを投稿