2000-06-12 11:27:15 +00:00
|
|
|
# Configure paths for Libsigc++
|
|
|
|
# Based on Gtk-- script by Erik Andersen and Tero Pulkkinen
|
|
|
|
|
|
|
|
dnl Test for Libsigc++, and define SIGC_CFLAGS and SIGC_LIBS
|
|
|
|
dnl to be used as follows:
|
|
|
|
dnl AM_PATH_SIGC(MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
|
|
|
dnl
|
|
|
|
AC_DEFUN(AM_PATH_SIGC,
|
|
|
|
[dnl
|
|
|
|
dnl Get the cflags and libraries from the sigc-config script
|
|
|
|
dnl
|
|
|
|
|
|
|
|
dnl
|
|
|
|
dnl Prefix options
|
|
|
|
dnl
|
|
|
|
AC_ARG_WITH(sigc-prefix,
|
|
|
|
[ --with-sigc-prefix=PREFIX
|
|
|
|
Prefix where libsigc++ is installed (optional)]
|
|
|
|
, sigc_config_prefix="$withval", sigc_config_prefix="")
|
|
|
|
|
|
|
|
AC_ARG_WITH(sigc-exec-prefix,
|
|
|
|
[ --with-sigc-exec-prefix=PREFIX
|
|
|
|
Exec prefix where libsigc++ is installed (optional)]
|
|
|
|
, sigc_config_exec_prefix="$withval", sigc_config_exec_prefix="")
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(sigctest,
|
|
|
|
[ --disable-sigctest Do not try to compile and run a test libsigc++
|
|
|
|
program],
|
|
|
|
, enable_sigctest=yes)
|
|
|
|
|
|
|
|
dnl
|
|
|
|
dnl Prefix handling
|
|
|
|
dnl
|
|
|
|
if test x$sigc_config_exec_prefix != x ; then
|
|
|
|
sigc_config_args="$sigc_config_args --exec-prefix=$sigc_config_exec_prefix"
|
|
|
|
if test x${SIGC_CONFIG+set} != xset ; then
|
|
|
|
SIGC_CONFIG=$sigc_config_exec_prefix/bin/sigc-config
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
if test x$sigc_config_prefix != x ; then
|
|
|
|
sigc_config_args="$sigc_config_args --prefix=$sigc_config_prefix"
|
|
|
|
if test x${SIGC_CONFIG+set} != xset ; then
|
|
|
|
SIGC_CONFIG=$sigc_config_prefix/bin/sigc-config
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl
|
|
|
|
dnl See if sigc-config is alive
|
|
|
|
dnl
|
|
|
|
AC_PATH_PROG(SIGC_CONFIG, sigc-config, no)
|
|
|
|
sigc_version_min=$1
|
|
|
|
|
|
|
|
dnl
|
|
|
|
dnl Version check
|
|
|
|
dnl
|
|
|
|
AC_MSG_CHECKING(for libsigc++ - version >= $sigc_version_min)
|
|
|
|
no_sigc=""
|
|
|
|
if test "$SIGC_CONFIG" = "no" ; then
|
|
|
|
no_sigc=yes
|
|
|
|
else
|
|
|
|
sigc_version=`$SIGC_CONFIG --version`
|
|
|
|
|
|
|
|
SIGC_CFLAGS=`$SIGC_CONFIG $sigc_config_args --cflags`
|
|
|
|
SIGC_LIBS=`$SIGC_CONFIG $sigc_config_args --libs`
|
2001-04-20 01:43:28 +00:00
|
|
|
SIGC_MACROS=`$SIGC_CONFIG $sigc_config_args --macros`
|
2000-06-12 11:27:15 +00:00
|
|
|
|
|
|
|
sigc_major_version=`echo $sigc_version | \
|
|
|
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
|
|
|
sigc_minor_version=`echo $sigc_version | \
|
|
|
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
|
|
|
sigc_micro_version=`echo $sigc_version | \
|
|
|
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
|
|
|
|
|
|
|
sigc_major_min=`echo $sigc_version_min | \
|
|
|
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
|
|
|
sigc_minor_min=`echo $sigc_version_min | \
|
|
|
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
|
|
|
sigc_micro_min=`echo $sigc_version_min | \
|
|
|
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
|
|
|
|
|
|
|
sigc_version_proper=`expr \
|
|
|
|
$sigc_major_version \> $sigc_major_min \| \
|
|
|
|
$sigc_major_version \= $sigc_major_min \& \
|
|
|
|
$sigc_minor_version \> $sigc_minor_min \| \
|
|
|
|
$sigc_major_version \= $sigc_major_min \& \
|
|
|
|
$sigc_minor_version \= $sigc_minor_min \& \
|
|
|
|
$sigc_micro_version \>= $sigc_micro_min `
|
|
|
|
|
|
|
|
if test "$sigc_version_proper" = "1" ; then
|
|
|
|
AC_MSG_RESULT([$sigc_major_version.$sigc_minor_version.$sigc_micro_version])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
no_sigc=yes
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "X$no_sigc" = "Xyes" ; then
|
|
|
|
enable_sigctest=no
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_LANG_SAVE
|
|
|
|
AC_LANG_CPLUSPLUS
|
|
|
|
|
|
|
|
dnl
|
|
|
|
dnl
|
|
|
|
dnl
|
|
|
|
if test "x$enable_sigctest" = "xyes" ; then
|
|
|
|
AC_MSG_CHECKING(if libsigc++ sane)
|
|
|
|
ac_save_CXXFLAGS="$CXXFLAGS"
|
|
|
|
ac_save_LIBS="$LIBS"
|
|
|
|
CXXFLAGS="$CXXFLAGS $SIGC_CFLAGS"
|
|
|
|
LIBS="$LIBS $SIGC_LIBS"
|
|
|
|
|
|
|
|
rm -f conf.sigctest
|
|
|
|
AC_TRY_RUN([
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <sigc++/signal_system.h>
|
|
|
|
|
|
|
|
#ifdef SIGC_CXX_NAMESPACES
|
|
|
|
using namespace SigC;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
int foo1(int i)
|
|
|
|
{
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
int main(int argc,char **argv)
|
|
|
|
{
|
|
|
|
if (sigc_major_version!=$sigc_major_version ||
|
|
|
|
sigc_minor_version!=$sigc_minor_version ||
|
|
|
|
sigc_micro_version!=$sigc_micro_version)
|
|
|
|
{ printf("(%d.%d.%d) ",
|
|
|
|
sigc_major_version,sigc_minor_version,sigc_micro_version);
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
Signal1<int,int> sig1;
|
|
|
|
sig1.connect(slot(foo1));
|
|
|
|
sig1(1);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
],[
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
],[
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
no_sigc=yes
|
|
|
|
]
|
|
|
|
,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
|
|
|
|
|
|
|
CXXFLAGS="$ac_save_CXXFLAGS"
|
|
|
|
LIBS="$ac_save_LIBS"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl
|
|
|
|
dnl
|
|
|
|
if test "x$no_sigc" = x ; then
|
|
|
|
ifelse([$2], , :, [$2])
|
|
|
|
else
|
|
|
|
SIGC_CFLAGS=""
|
|
|
|
SIGC_LIBS=""
|
|
|
|
SIGC_MACROS=""
|
|
|
|
ifelse([$3], , :, [$3])
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_LANG_RESTORE
|
|
|
|
|
|
|
|
AC_SUBST(SIGC_CFLAGS)
|
|
|
|
AC_SUBST(SIGC_LIBS)
|
|
|
|
AC_SUBST(SIGC_MACROS)
|
|
|
|
])
|
|
|
|
|