DAQ++ git-vmedaq
Brought to you by:
lacasta
dnl Process this file with autoconf to produce a configure script.
m4_define(vmedaq_major_version, 1)
m4_define(vmedaq_minor_version, 0)
m4_define(vmedaq_micro_version, 2)
m4_define(vmedaq_release, 5)
m4_define(vmedaq_version, vmedaq_major_version.vmedaq_minor_version.vmedaq_micro_version)
m4_define(vmedaq_tag, vmedaq-vmedaq_major_version.vmedaq_minor_version)
AC_INIT(vmedaq, vmedaq_version)
AC_CONFIG_MACRO_DIR([scripts])
AC_CONFIG_AUX_DIR([scripts])
AC_CONFIG_HEADERS(config.h)
AC_DEFINE(VMEDAQ_MAJOR_VERSION, vmedaq_major_version, [vmedaq major version])
AC_SUBST(VMEDAQ_MAJOR_VERSION, vmedaq_major_version)
AC_DEFINE(VMEDAQ_MINOR_VERSION, vmedaq_minor_version, [vmedaq minor version])
AC_SUBST(VMEDAQ_MINOR_VERSION, vmedaq_minor_version)
AC_DEFINE(VMEDAQ_MICRO_VERSION, vmedaq_micro_version, [vmedaq micro version])
AC_SUBST(VMEDAQ_MICRO_VERSION, vmedaq_micro_version)
AC_DEFINE(VMEDAQ_RELEASE, vmedaq_release, [vmedaq binary release])
AC_SUBST(VMEDAQ_RELEASE, vmedaq_release)
AC_DEFINE(VMEDAQ_TAG, "vmedaq_tag", [vmedaq tag])
AC_SUBST(VMEDAQ_TAG, vmedaq_tag)
dnl libtool versioning
LT_RELEASE=$VMEDAQ_RELEASE
LT_CURRENT=$VMEDAQ_MINOR_VERSION
LT_REVISION=$VMEDAQ_MICRO_VERSION
LT_AGE=$VMEDAQ_MINOR_VERSION
AC_SUBST(LT_RELEASE)
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
dnl Initialize automake stuff
AM_INIT_AUTOMAKE()
AM_MAINTAINER_MODE
#dnl Initialize libtool
AM_PROG_LIBTOOL
# Build time sanity check...
AM_SANITY_CHECK
AC_ENABLE_SHARED(yes)
AC_ENABLE_STATIC(no)
dnl Checks for programs.
AC_PROG_CC
AC_PROG_CXX
AC_PROG_CPP
AC_PROG_F77
AC_PROG_INSTALL
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
AC_HEADER_STDC
case "${host}" in
*-*-linux*)
platform=LINUX
;;
*-apple-*)
platform=MACOSX
;;
-*-cygwin*)
platform=CYGWIN
;;
*-*-mingw*)
platform=MINGW
;;
*)
platform=UNKNOWN
;;
esac
AC_SUBST(platform)
dnl Check for GLib
PKG_CHECK_MODULES(GLIB, glib-2.0 gmodule-2.0)
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
dnl Check for a libxml2
PKG_CHECK_MODULES(XML,libxml-2.0 >= 2.5.0 ,AC_DEFINE([HAS_LIBXML],1,'libxml present'))
AC_SUBST(XML_CFLAGS)
AC_SUBST(XML_LIBS)
PKG_CHECK_MODULES(GTK, gtk+-2.0 libglade-2.0,
[PKG_CHECK_MODULES([GTKMAC], [gtk-mac-integration], [ AC_DEFINE([HAVE_GTKMAC], [1], [Has GTK_MAC module]) ], [has_gtkmac=no])]
)
GTK_CFLAGS="$GTK_CFLAGS $GTKMAC_CFLAGS $XML_CFLAGS"
GTK_LIBS="$GTK_LIBS $GTKMAC_LIBS $XML_LIBS"
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
# Check for ScrollKeeper.
AC_CHECK_PROGS([browser], [ firefox mozilla])
AC_CHECK_PROG(have_scrollkeeper, scrollkeeper-config, yes, no)
AM_CONDITIONAL(HAVE_SCROLLKEEPER, test "$have_scrollkeeper" = "yes")
if test "$have_scrollkeeper" = "yes"; then
AC_DEFINE([HAS_SCROLLKEEPER],1,'scrollkeeper is there')
fi
dnl This is for the python part
AM_PATH_PYTHON(2.3)
AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)])
has_pygtk=no
PKG_CHECK_MODULES(PYGTK, pygtk-2.0 pygobject-2.0, has_pygtk=true, has_pygtk=no)
AC_SUBST(PYGTK_CFLAGS)
if test x$has_pygtk = xtrue; then
AC_DEFINE([HAS_PYGTK],1,'PYGTK is there')
fi
dnl The following includes soap server which I don't need and fails to link
dnl PKG_CHECK_MODULES(DAQPP, DAQ++ >= 1.5.0 daqpp-soap-server >= 1.5.0)
PKG_CHECK_MODULES(DAQPP, DAQ++ >= 1.5.0 )
AC_SUBST(DAQPP_CFLAGS)
AC_SUBST(DAQPP_LIBS)
has_pydaqpp="no"
daqpp_incdir=`$PKG_CONFIG --variable=includedir DAQ++`
AC_MSG_RESULT([daqpp_incdir is $daqpp_incdir])
if test -f $daqpp_incdir/DAQ++/python/pydaqpp.h; then
has_pydaqpp="yes"
AC_DEFINE([HAS_PYDAQPP], 1, 'tells us whether pyDAQ++ is there')
fi
AM_CONDITIONAL(HAVE_PYDAQPP, test "$has_pydaqpp" = "yes")
has_gtk=no
PKG_CHECK_MODULES(GTKHST, gtkhst >= 0.2.0,has_gtk=true,has_gtk=no)
AC_SUBST(GTKHST_CFLAGS)
AC_SUBST(GTKHST_LIBS)
if test x$has_gtk = xtrue; then
AC_DEFINE([HAS_GTK],1,'GTK is there')
fi
dnl Checks for ROOT
use_root=no
has_root=no
#AC_ARG_ENABLE(root,
#[ --enable-root Turn on ROOT stuff if present],
#[case "${enableval}" in
# yes) use_root=yes ;;
# no) use_root=no ;;
# *) AC_MSG_ERROR(bad value ${enableval} for --enable-corba) ;;
# esac],[use_root=yes])
#AM_PATH_ROOT(2.25.0,
#has_root=true,
#[ROOT_CFLAGS=
# ROOT_LIBS=
# AC_SUBST(ROOT_CFLAGS)
# AC_SUBST(ROOT_LIBS)
#]
#)
if test x$has_root = xtrue -a x$use_root = xyes; then
AC_DEFINE([HAS_ROOT],1,'ROOT is there')
else
if test x$has_root = xtrue; then
AC_MSG_RESULT([***ROOT disabled])
fi
fi
dnl VME stuff
VME_CFLAGS=
VME_LIBS=
has_sis1100=false
has_nivxi=false
has_vmusb=false
dnl SIS
vmd_libpath=`locate -e -r '/usr/.*/lib_sis3100.a'`
if test -n "$vmd_libpath"; then
vmd_libname=`basename $vmd_libpath`
vmd_libdir=`dirname $vmd_libpath`
vmd_liblink=`echo ${vmd_libname#lib} | cut -f 1 -d '.'`
VME_CFLAGS="-I$vmd_libdir -I$vmd_libdir/.."
VME_LIBS="-L$vmd_libdir -l$vmd_liblink"
AC_DEFINE([HAS_SIS1100],1,'Sis1100 VME system')
if echo $vmd_libname | grep -q 'gpp' > /dev/null; then
if test -e /dev/sis1100; then
AC_DEFINE([SYS_DEVICE],"/dev/sis1100",'SIS driver')
else
AC_DEFINE([SYS_DEVICE],"/tmp/sis1100",'SIS driver')
fi
else
if test -e /dev/sis1100_00remote; then
AC_DEFINE([SIS_DEVICE],"/dev/sis1100_00remote",'SIS driver')
else
AC_DEFINE([SIS_DEVICE],"/tmp/sis1100_00remote",'SIS driver')
fi
fi
has_sis1100=true
echo "System has SIS1100"
fi
if test -d /usr/local/nivxi; then
VME_CFLAGS="${VME_CFLAGS} -DNIVXI -I/usr/local/nivxi/include"
VME_LIBS="${VME_LIBS} -L/usr/local/nivxi/lib -lnivxi"
AC_DEFINE([HAS_NIVXI],1,'NI VXI system for VME')
has_nivxi=true
echo "System has NI-VXI"
fi
if test -d /usr/local/vmusb; then
if test -z "$VME_CFLAGS"; then
VME_CFLAGS="-I/usr/local/vmusb/include"
else
VME_CFLAGS="$VME_CFLAGS -I/usr/local/vmusb/include"
fi
if test -z "$VME_LIBS"; then
VME_LIBS="-L/usr/local/vmusb/lib -lxxusb"
else
VME_LIBS="$VME_LIBS -L/usr/local/vmusb/lib -lxxusb"
fi
AC_DEFINE([HAS_VMUSB],1,'Wiener VM-USB system')
has_vmusb=true
has_vme=true
echo "System has VMUSB"
elif test -f /usr/local/lib/libxxusb.so; then
if test -z "$VME_LIBS"; then
VME_LIBS="-lxxusb"
else
VME_LIBS="$VME_LIBS -lxxusb"
fi
AC_DEFINE([HAS_VMUSB],1,'Wiener VM-USB system')
has_vmusb=true
has_vme=true
echo "System has VMUSB"
elif test -f /usr/lib/libxxusb.so; then
if test -z "$VME_LIBS"; then
VME_LIBS="-lxxusb"
else
VME_LIBS="$VME_LIBS -lxxusb"
fi
AC_DEFINE([HAS_VMUSB],1,'Wiener VM-USB system')
has_vmusb=true
has_vme=true
echo "System has VMUSB"
fi
if test "x$VME_LIBS" = "x"; then
AC_DEFINE([SYS_DEVICE],"*** None ***",'SIS driver')
VME_CFLAGS=""
VME_LIBS=""
echo "*** System does not have a VME interface ***"
else
AC_DEFINE([HAS_VME],1,'VME present')
fi
AC_SUBST(VME_CFLAGS)
AC_SUBST(VME_LIBS)
AM_CONDITIONAL(SIS1100, test x$has_sis1100 = xtrue)
AM_CONDITIONAL(NIVXI, test x$has_nivxi = xtrue)
AM_CONDITIONAL(VMEUSB, test x$has_vmusb = xtrue)
dnl Check for libftdi and libusb
has_usb=no
AC_CHECK_LIB(usb, usb_init,has_usb=true)
if test x$has_usb = xtrue; then
AC_DEFINE([HAS_USB],1,'libusb present')
fi
has_ftdi=false
AC_CHECK_LIB(ftdi, ftdi_init,[has_ftdi=true])
AC_DEFINE([HAS_FTDI],1,'libftdi is present')
AM_CONDITIONAL(FTDI, test x$has_ftdi = xtrue -a x$has_usb = xtrue)
GPIB_CFLAGS=
GPIB_LIBS=
has_gpib=false
vmd_libpath=`locate --regex '/usr/.*/libgpib.*\.(so|a)$'`
if test -n "$vmd_libpath"; then
vmd_incpath=`locate -r '/usr/.*/sys/ugpib.h'`
if test -n "$vmd_incpath"; then
echo "System has a beta version of GPIB"
vmd_libname=`basename $vmd_libpath`
vmd_libdir=`dirname $vmd_libpath`
vmd_liblink=`echo ${vmd_libname#lib} | cut -f 1 -d '.'`
incdir=`dirname $vmd_incpath`
incflag=${incdir#/sys}
GPIB_CFLAGS="-I$incflag"
GPIB_LIBS="-L$vmd_libdir -l$vmd_liblink"
AC_DEFINE([HAS_GPIB],1,'Defined if GPIB is present in the system')
has_gpib=true
else
vmd_libname=`basename $vmd_libpath`
vmd_libdir=`dirname $vmd_libpath`
vmd_liblink=`echo ${vmd_libname#lib} | cut -f 1 -d '.'`
vmd_incpath=`locate -r '/usr/.*/sys/ni488.h'`
if test -n "$vmd_incpath"; then
echo "System has GPIB"
incdir=`dirname $vmd_incpath`
incflag=${incdir#/sys}
GPIB_CFLAGS="-I$incflag"
GPIB_LIBS="-L$vmd_libdir -l$vmd_liblink"
AC_DEFINE([HAS_GPIB],2,'Defined if GPIB is present in the system')
has_gpib=true
else
vmd_libname=`basename $vmd_libpath`
vmd_libdir=`dirname $vmd_libpath`
vmd_liblink=`echo ${vmd_libname#lib} | cut -f 1 -d '.'`
vmd_incpath=`locate -r '/usr/.*/gpib/ib.h'`
if test -n "$vmd_incpath"; then
echo "System has linux-gpib"
incdir=`dirname $vmd_incpath`
GPIB_CFLAGS="-I$incdir"
GPIB_LIBS="-L$vmd_libdir -l$vmd_liblink"
AC_DEFINE([HAS_GPIB],3,'Defined if GPIB is present in the system')
has_gpib=true
fi
fi
fi
fi
if test "x$has_gpib" = "x"; then
echo "*** System does not have GPIB ***"
fi
AM_CONDITIONAL(GPIB, test x$has_gpib = xtrue)
AC_SUBST(GPIB_CFLAGS)
AC_SUBST(GPIB_LIBS)
CXXFLAGS="$CXXFLAGS -Wall -Woverloaded-virtual -Wnon-virtual-dtor"
CFLAGS="$CFLAGS -Wall"
AC_ARG_ENABLE(debug,
[ --enable-debug Turn on compiler flags for debug],
[case "${enableval}" in
yes) debug=true ;;
no) debug=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
esac],
[debug=false])
if test "$debug" = "true"; then
CXXFLAGS=`echo $CXXFLAGS | sed -e 's/-O2/-fno-inline/g'`
CFLAGS=`echo $CFLAGS | sed -e 's/-O2/-fno-inline/g'`
#else
# CXXFLAGS=`echo $CXXFLAGS | sed -e 's/-O2/-O3/g'`
# CFLAGS=`echo $CFLAGS | sed -e 's/-O2/-O3/g'`
# AC_Check_CXXFLAGS("-mcpu=$march",has_mcpu_flag)
# AC_Check_CXXFLAGS("-msse2",has_sse2_flag)
# AC_Check_CXXFLAGS("-mfpmath=sse",has_mfpmath_flag)
# AC_Check_CXXFLAGS("-ffast-math",has_math_flag)
# AC_Check_CXXFLAGS("-fschedule-insns2",has_s1_flag)
# AC_Check_CXXFLAGS("-fomit-frame-pointer",has_s2_flag)
fi
case "${host}" in
*-*-linux*)
platform=LINUX
;;
*-apple-*)
platform=MACOSX
;;
-*-cygwin*)
platform=CYGWIN
;;
*-*-mingw*)
platform=MINGW
;;
*)
platform=UNKNOWN
;;
esac
AC_SUBST(platform)
TARGET_SPECIFIC_C_FLAGS=
TARGET_SPECIFIC_LIB_FLAGS=
if test "x$platform" = "xMACOSX"; then
CXXFLAGS="$CXXFLAGS -mmacosx-version-min=10.7"
CFLAGS="$CFLAGS -mmacosx-version-min=10.7"
LDFLAGS="$LDFLAGS -mmacosx-version-min=10.7"
TARGET_SPECIFIC_C_FLAGS=-mmacosx-version-min=10.7
TARGET_SPECIFIC_LIB_FLAGS=-mmacosx-version-min=10.7
fi
AC_SUBST(TARGET_SPECIFIC_C_FLAGS)
AC_SUBST(TARGET_SPECIFIC_LIB_FLAGS)
AC_CONFIG_FILES([gui/Makefile
gui/glade/Makefile
config/Makefile
data/Makefile
daq/Makefile
python/Makefile
modules/Makefile
modules/SIS3300/Makefile
modules/SIS3300/usb/Makefile
modules/velmex/Makefile
modules/velmex/driver/Makefile
bin/Makefile
scripts/Makefile
test/Makefile
doc/VMEDAQ.doc
doc/Makefile
doc/html/Makefile
doc/Doxyfile
making_a_module/Makefile
icons/Makefile
icons/hicolor/Makefile
icons/hicolor/48x48/Makefile
icons/hicolor/48x48/apps/Makefile
icons/hicolor/scalable/Makefile
icons/hicolor/scalable/apps/Makefile
Makefile
vmedaq.spec
vmedaq-modules.pc
])
##AC_CONFIG_SUBDIRS([analysis])
AC_OUTPUT