* libltdl/m4/ltdl.m4 (_LT_BUILD_PREFIX): New macro.
If the Autoconf version used is >= 2.62, then expand to
`${top_build_prefix}', otherwise to `${top_builddir}/'.
(LTDL_CONVENIENCE, LTDL_INSTALLABLE): Use it for defining
LIBLTDL. Fixes a build failure with AIX make in a package
using convenience libltdl in nonrecursive mode.
* doc/libtool.texi (Distributing libltdl): Document requirements
to define `top_build_prefix' if Automake is not used.
Report by Bob Friesenhahn.
+2007-11-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ Use `${top_build_prefix}' for better compatibility with non-GNU make.
+ * libltdl/m4/ltdl.m4 (_LT_BUILD_PREFIX): New macro.
+ If the Autoconf version used is >= 2.62, then expand to
+ `${top_build_prefix}', otherwise to `${top_builddir}/'.
+ (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Use it for defining
+ LIBLTDL. Fixes a build failure with AIX make in a package
+ using convenience libltdl in nonrecursive mode.
+ * doc/libtool.texi (Distributing libltdl): Document requirements
+ to define `top_build_prefix' if Automake is not used.
+ Report by Bob Friesenhahn.
+
2007-11-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Avoid warnings about conftest.dSYM directories on Mac OS X Leopard.
By default, this macro will pass options to the @file{configure}
script in the subdirectory named by @code{LT_CONFIG_LTDL_DIR} in order
to cause it to be built as an installable library. If you're not
-using automake, you will need to define @code{top_builddir} and
-@code{top_srcdir} in your makefile so that @code{LIBLTDL} and
-@code{LTDLINCL} are expanded properly.
+using automake, you will need to define @code{top_build_prefix},
+@code{top_builddir}, and @code{top_srcdir} in your makefile so that
+@code{LIBLTDL} and @code{LTDLINCL} are expanded properly.
If used in conjunction with @code{LT_WITH_LTDL}, this macro must
appear @strong{before} the call to @code{LT_WITH_LTDL}. If you are
By default, this macro will pass options to the @file{configure}
script in the subdirectory named by @code{LT_CONFIG_LTDL_DIR} in order
to cause it to be built as a convenience library. If you're not
-using automake, you will need to define @code{top_builddir} and
-@code{top_srcdir} in your makefile so that @code{LIBLTDL} and
-@code{LTDLINCL} are expanded properly.
+using automake, you will need to define @code{top_build_prefix},
+@code{top_builddir} and @code{top_srcdir} in your makefile so that
+@code{LIBLTDL} and @code{LTDLINCL} are expanded properly.
@code{AC_LIBLTDL_CONVENIENCE} is a deprecated alias for
@code{LTDL_CONVENIENCE}.
If you're using the convenience libltdl, @var{LIBLTDL} will be the
pathname for the convenience version of libltdl and @var{LTDLINCL} will be
@option{-I} followed by the directory that contains libltdl, starting
-with @samp{$@{top_builddir@}/} and @samp{$@{top_srcdir@}/} respectively.
+with @samp{$@{top_build_prefix@}} if available, otherwise with
+@samp{$@{top_builddir@}/}, and @samp{$@{top_srcdir@}/} respectively.
If you request an installed version of libltdl and one is
found@footnote{@c
be empty (this is just a blind assumption that @file{ltdl.h} is
somewhere in the include path if libltdl is in the library path). If
an installable version of libltdl must be built, its pathname,
-starting with @samp{$@{top_builddir@}/}, will be stored in
+starting with @samp{$@{top_build_prefix@}} if available, otherwise
+@samp{$@{top_builddir@}/}, will be stored in
@var{LIBLTDL}, and @var{LTDLINCL} will be set just like in the case of
convenience library. So, when you want to link a program with
libltdl, be it a convenience, installed or installable library, just
m4_define([_LTDL_MODE], [])
+# _LT_BUILD_PREFIX
+# ----------------
+# If Autoconf is new enough, expand to `${top_build_prefix}', otherwise
+# to `${top_builddir}/'.
+m4_define([_LT_BUILD_PREFIX],
+[m4_ifdef([AC_AUTOCONF_VERSION],
+ [m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]), [2.62]),
+ [-1], [m4_ifdef([_AC_HAVE_TOP_BUILD_PREFIX],
+ [${top_build_prefix}],
+ [${top_builddir}/])],
+ [${top_build_prefix}])],
+ [${top_builddir}/])[]dnl
+])
+
+
# LTDL_CONVENIENCE
# ----------------
# sets LIBLTDL to the link flags for the libltdl convenience library and
# LTDLINCL to the include flags for the libltdl header and adds
# --enable-ltdl-convenience to the configure arguments. Note that
# AC_CONFIG_SUBDIRS is not called here. LIBLTDL will be prefixed with
-# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
-# (note the single quotes!). If your package is not flat and you're not
-# using automake, define top_builddir and top_srcdir appropriately in
-# your Makefiles.
+# '${top_build_prefix}' if available, otherwise with '${top_builddir}/',
+# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
+# quotes!). If your package is not flat and you're not using automake,
+# define top_build_prefix, top_builddir, and top_srcdir appropriately
+# in your Makefiles.
AC_DEFUN([LTDL_CONVENIENCE],
[AC_BEFORE([$0], [LT_WITH_LTDL])dnl
dnl Although the argument is deprecated and no longer documented,
"") enable_ltdl_convenience=yes
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
esac
-LIBLTDL='${top_builddir}'"${lt_ltdl_dir+/$lt_ltdl_dir}/libltdlc.la"
+
+LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la"
LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
AC_SUBST([LIBLTDL])
# and LTDLINCL to the include flags for the libltdl header and adds
# --enable-ltdl-install to the configure arguments. Note that
# AC_CONFIG_SUBDIRS is not called from here. If an installed libltdl
-# is not found, LIBLTDL will be prefixed with '${top_builddir}/'
-# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
-# quotes!). If your package is not flat and you're not using automake,
-# define top_builddir and top_srcdir appropriately in your Makefiles.
+# is not found, LIBLTDL will be prefixed with '${top_build_prefix}' if
+# available, otherwise with '${top_builddir}/', and LTDLINCL will be
+# prefixed with '${top_srcdir}/' (note the single quotes!). If your
+# package is not flat and you're not using automake, define top_build_prefix,
+# top_builddir, and top_srcdir appropriately in your Makefiles.
# In the future, this macro may have to be called after LT_INIT.
AC_DEFUN([LTDL_INSTALLABLE],
[AC_BEFORE([$0], [LT_WITH_LTDL])dnl
])
if test x"$enable_ltdl_install" = x"yes"; then
ac_configure_args="$ac_configure_args --enable-ltdl-install"
- LIBLTDL='${top_builddir}'"${lt_ltdl_dir+/$lt_ltdl_dir}/libltdl.la"
+ LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdl.la"
LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
else
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"