#--
# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
#
# This software is available to you under a choice of one of two
# licenses. You may choose to be licensed under the terms of the GNU
# General Public License (GPL) Version 2, available from the file
# COPYING in the main directory of this source tree, or the
# OpenIB.org BSD license below:
#
# Redistribution and use in source and binary forms, with or
# without modification, are permitted provided that the following
# conditions are met:
#
# - Redistributions of source code must retain the above
# copyright notice, this list of conditions and the following
# disclaimer.
#
# - Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials
# provided with the distribution.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#--
dnl Process this file with autoconf to produce a configure script.
AC_INIT([ibdm],[1.5.7])
AC_CONFIG_SRCDIR([ibdm/Fabric.h])
dnl use local config dir for extras
AC_CONFIG_AUX_DIR(config)
dnl Defines the Language
AC_LANG_CPLUSPLUS
dnl we use auto header
AM_CONFIG_HEADER(config.h)
dnl Auto make
AM_INIT_AUTOMAKE
dnl Provides control over re-making of all auto files
dnl We also use it to define swig dependencies so end
dnl users do not see them.
AM_MAINTAINER_MODE
dnl Required for cases make defines a MAKE=make ??? Why
AC_PROG_MAKE_SET
dnl Checks for programs.
AC_PROG_CXX
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
MLX_PROG_SWIG(1.1.5, eq)
AM_PROG_LEX
AC_PROG_YACC
dnl We will use libtool for making ...
AC_PROG_LIBTOOL
dnl For making dist we need not check any lib dependency
AC_ARG_ENABLE(libcheck,
[ --enable-libcheck Enable Dependency Checking],
[case "${enableval}" in
yes) libcheck=true ;;
no) libcheck=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-libcheck) ;; esac],[libcheck=true])
dnl Get the TCL defs: TCL_LIBS TCL_CPPFLAGS
MLX_LANG_TCL
dnl Checks for libraries.
dnl Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS([inttypes.h stdlib.h string.h])
dnl Checks for typedefs, structures, and compiler characteristics.
dnl AC_HEADER_STDBOOL
dnl For CPP there is absolutly no need for CONST etc
dnl moreover we mst somehow remoev them from the autoheader
dnl AC_C_CONST
dnl AC_C_INLINE
AC_LANG_CPLUSPLUS
AC_TYPE_SIZE_T
dnl Checks for library functions.
dnl AC_FUNC_MALLOC
dnl AC_FUNC_REALLOC
AC_CHECK_FUNCS([strchr strstr strtol strtoull index rindex])
AC_REPLACE_FUNCS(memset)
dnl Just in case that the current version does not support the
dnl usage of LTLIBOBJS
dnl Xsed="sed -e s/^X//"
dnl LTLIBOBJS=`echo X"$LIBOBJS"|\
dnl [$Xsed -e "s,\.[^.]* ,.lo ,g;s,\.[^.]*$,.lo,"]`
dnl AC_SUBST(LTLIBOBJS)
dnl Define an input config option to control debug compile
AC_ARG_ENABLE(debug,
[ --enable-debug Turn on debugging],
[case "${enableval}" in
yes) debug=true ;;
no) debug=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
esac],[debug=false])
AM_CONDITIONAL(DEBUG, test x$debug = xtrue)
dnl Define an input config option to control final package prefix:
dnl We compile and install in one dir - but we know eventually we
dnl will be moved to FINAL_PREFIX
AC_ARG_WITH(final-prefix,
[ --with-final-prefix=<dir> Let IBDM know it will eventually be moved there],
AC_SUBST(with_final_prefix)
AC_MSG_NOTICE(Using FINAL_PREFIX=$with_final_prefix)
,[final_prefix=""])
AM_CONDITIONAL(USE_FINAL_PREFIX, test x$with_final_prefix != x)
dnl Create the following Makefiles
AC_OUTPUT(Makefile ibnl/Makefile src/Makefile ibdm/Makefile Clusters/Makefile doc/Makefile scripts/Makefile)