2007-07-06

個人的なメモ 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。

0 件のコメント:

コメントを投稿