OS に応じてLDFLAGS
、configure.acで特別なものを定義します。
AC_CANONICAL_HOST
if test "$host_os" = cygwin
then
LDFLAGS="$LDFLAGS -Wl,-no-undefined"
export LDFLAGS
fi
AC_SUBST([LDFLAGS])
パッケージが使用しAC_PROG_LIBTOOL
、LDFLAGS
libtool に渡されると、-Wl
プレフィックスが残り、リンカーはオプションを認識しません。このプレフィックスを削除するとAC_PROG_CXX
、GCC が勝手に停止するため、マクロは失敗-no-undefined
します。私は何を間違っていますか?
LDFLAGS
については言及されていませんMakefile.am
が、 libtool コマンドで実行することにより、それが尊重されることを確認しましたmake -n
。
Cygwin 1.7.28(0.271/5/3) で autoconf 2.69、automake 1.14、gmake 4.0、gcc 4.8.2 を使用しています。
編集:私は数十Makefile.am
の s を持っていますが、その半分以上は外部ライブラリからのものです。これらのフラグを中央の場所から制御したいです。