fp@365: #------------------------------------------------------------------------------ fp@365: # $Id$ fp@365: #------------------------------------------------------------------------------ fp@365: fp@392: AC_PREREQ(2.59) fp@494: AC_INIT([ethercat],[1.2.0-rc1],[fp@igh-essen.com]) fp@387: AC_CONFIG_AUX_DIR([autoconf]) fp@479: AM_INIT_AUTOMAKE([-Wall -Werror dist-bzip2]) fp@387: AC_PREFIX_DEFAULT([/opt/etherlab]) fp@392: AC_CONFIG_HEADERS([config.h]) fp@392: AC_CONFIG_SRCDIR([config.h.in]) fp@365: fp@365: #------------------------------------------------------------------------------ fp@444: # Global fp@444: #------------------------------------------------------------------------------ fp@444: fp@444: branch=trunk fp@444: fp@444: AC_DEFINE_UNQUOTED(BRANCH, ["$branch"], [Subversion branch]) fp@444: AC_SUBST(BRANCH, [$branch]) fp@444: fp@444: #------------------------------------------------------------------------------ fp@365: # Linux sources fp@365: #------------------------------------------------------------------------------ fp@365: fp@440: AC_ARG_WITH([linux-dir], fp@365: AC_HELP_STRING( fp@440: [--with-linux-dir=], fp@440: [Linux kernel sources @<:@running kernel@:>@] fp@367: ), fp@440: [ fp@440: sourcedir=[$withval] fp@440: ], fp@440: [ fp@440: version=[`uname -r`] fp@440: modulesdir=/lib/modules/${version} fp@440: if test \! -d ${modulesdir} || test \! -d ${modulesdir}/build; then fp@440: echo fp@477: AC_MSG_ERROR([Failed to find Linux sources. Use --with-linux-dir!]) fp@440: fi fp@440: sourcedir=`cd ${modulesdir}/build && pwd -P` fp@440: ] fp@367: ) fp@365: fp@440: AC_MSG_CHECKING([for Linux kernel sources]) fp@440: fp@440: if test \! -r ${sourcedir}/.config; then fp@477: echo fp@477: AC_MSG_ERROR([No configured Linux kernel sources in $sourcedir]) fp@365: fi fp@365: fp@477: # Try to get kernel release string fp@537: if test -r ${sourcedir}/include/config/kernel.release; then fp@537: kernelrelease=`cat $sourcedir/include/config/kernel.release` fp@537: elif test -r ${sourcedir}/.kernelrelease; then fp@477: kernelrelease=`cat $sourcedir/.kernelrelease` fp@507: elif test -r ${sourcedir}/include/linux/utsrelease.h; then fp@507: hdr=${sourcedir}/include/linux/utsrelease.h fp@507: kernelrelease=`grep UTS_RELEASE $hdr | cut -d " " -f 3- | tr -d \"` fp@477: elif test -r ${sourcedir}/include/linux/version.h; then fp@507: hdr=${sourcedir}/include/linux/version.h fp@477: kernelrelease=`grep UTS_RELEASE $hdr | cut -d " " -f 3- | tr -d \"` fp@477: fi fp@477: fp@477: if test -z "$kernelrelease"; then fp@477: echo fp@477: AC_MSG_ERROR([Failed to extract Linux kernel version!]) fp@477: fi fp@477: fp@477: # Extract three numbers from kernel release string fp@537: linuxversion=`echo $kernelrelease | grep -oE "^[[0-9]]+\.[[0-9]]+\.[[0-9]]+"` fp@477: fp@367: AC_SUBST(LINUX_SOURCE_DIR,[$sourcedir]) fp@477: AC_SUBST(LINUX_KERNEL_RELEASE,[$kernelrelease]) fp@477: AC_SUBST(LINUX_KERNEL_VERSION,[$linuxversion]) fp@477: AC_SUBST(LINUX_MOD_PATH,[/lib/modules/$kernelrelease/ethercat]) fp@477: AC_MSG_RESULT([$LINUX_SOURCE_DIR (Kernel $LINUX_KERNEL_RELEASE)]) fp@367: fp@367: #------------------------------------------------------------------------------ fp@485: # 8139too Kernel fp@485: #------------------------------------------------------------------------------ fp@485: fp@485: AC_ARG_WITH([8139too-kernel], fp@485: AC_HELP_STRING( fp@485: [--with-8139too-kernel=], fp@485: [8139too kernel (only if differing)] fp@485: ), fp@485: [ fp@485: kernel8139too=[$withval] fp@485: ], fp@485: [ fp@485: kernel8139too=$linuxversion fp@485: ] fp@485: ) fp@485: fp@485: AC_MSG_CHECKING([for kernel for 8139too driver]) fp@485: fp@485: kernels=`ls -1 devices/ | grep -oE "^8139too-.*-" | cut -d "-" -f 2 | uniq` fp@485: found=0 fp@485: for k in $kernels; do fp@485: if test "$kernel8139too" = "$k"; then fp@485: found=1 fp@485: fi fp@485: done fp@485: if test $found -ne 1; then fp@485: AC_MSG_ERROR([kernel $kernel8139too not available for 8139too driver!]) fp@485: fi fp@485: fp@485: AC_MSG_RESULT([$kernel8139too]) fp@485: fp@485: #------------------------------------------------------------------------------ fp@485: # RTAI path (optional) fp@485: #------------------------------------------------------------------------------ fp@485: fp@485: AC_ARG_WITH([rtai-dir], fp@485: AC_HELP_STRING( fp@485: [--with-rtai-dir=], fp@485: [RTAI path (only for RTAI examples)] fp@485: ), fp@485: [ fp@485: rtaidir=[$withval] fp@485: ], fp@485: [ fp@485: rtaidir="" fp@485: ] fp@485: ) fp@485: fp@485: AC_MSG_CHECKING([for RTAI path]) fp@485: fp@485: if test -z "${rtaidir}"; then fp@485: AC_MSG_RESULT([not specified.]) fp@485: else fp@485: if test \! -r ${rtaidir}/include/rtai.h; then fp@485: AC_MSG_ERROR([no RTAI installation found in ${rtaidir}!]) fp@485: fi fp@485: AC_MSG_RESULT([$rtaidir]) fp@485: AC_SUBST(RTAI_DIR,[$rtaidir]) fp@485: fi fp@485: fp@485: #------------------------------------------------------------------------------ fp@485: # MSR path (optional) fp@485: #------------------------------------------------------------------------------ fp@485: fp@485: AC_ARG_WITH([msr-dir], fp@485: AC_HELP_STRING( fp@485: [--with-msr-dir=], fp@485: [MSR path (only for MSR example)] fp@485: ), fp@485: [ fp@485: msrdir=[$withval] fp@485: ], fp@485: [ fp@485: msrdir="" fp@485: ] fp@485: ) fp@485: fp@485: AC_MSG_CHECKING([for MSR path]) fp@485: fp@485: if test -z "${msrdir}"; then fp@485: AC_MSG_RESULT([not specified.]) fp@485: else fp@485: if test \! -r ${msrdir}/include/msr.h; then fp@485: AC_MSG_ERROR([no MSR installation found in ${msrdir}!]) fp@485: fi fp@485: AC_MSG_RESULT([$msrdir]) fp@485: AC_SUBST(MSR_DIR,[$msrdir]) fp@485: fi fp@485: fp@485: #------------------------------------------------------------------------------ fp@392: # Debug interface fp@392: #------------------------------------------------------------------------------ fp@392: fp@471: AC_ARG_ENABLE([dbg-if], fp@440: AS_HELP_STRING([--enable-dbg-if], fp@440: [Create a debug interface for each master @<:@NO@:>@]), fp@440: [ fp@440: case "${enableval}" in fp@440: yes) dbg=1 fp@440: AC_DEFINE([EC_DBG_IF], [1], [Debug interfaces enabled]) fp@440: ;; fp@440: no) dbg=0 fp@440: ;; fp@440: *) AC_MSG_ERROR([Invalid value for --enable-dbg-if]) fp@440: ;; fp@440: esac fp@440: ], fp@440: [dbg=0] fp@392: ) fp@440: fp@392: AM_CONDITIONAL(EC_DBG_IF, test "x$dbg" = x1) fp@392: AC_SUBST([EC_DBG_IF],${dbg}) fp@392: fp@392: #------------------------------------------------------------------------------ fp@365: fp@485: # Create config.kbuild fp@485: fp@485: echo configure: creating config.kbuild... fp@485: fp@485: cat > config.kbuild <