diff options
author | Sage Weil <sage@newdream.net> | 2008-03-12 19:13:03 -0700 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2008-03-12 19:13:03 -0700 |
commit | 05611eb377eea5a7ea182f2e0810e7ca9406abce (patch) | |
tree | 9e94feb6c3ef3a409ee927ff5cfe84ab10ec99b0 /m4 | |
parent | 3c38bb6bdddf860b0553e83b99da74796b34cbae (diff) | |
download | ceph-05611eb377eea5a7ea182f2e0810e7ca9406abce.tar.gz |
m4 macros
Diffstat (limited to 'm4')
-rw-r--r-- | m4/ac_pkg_swig.m4 | 125 | ||||
-rw-r--r-- | m4/ax_with_perl.m4 | 30 | ||||
-rw-r--r-- | m4/ax_with_prog.m4 | 69 | ||||
-rw-r--r-- | m4/swig_enable_cxx.m4 | 56 |
4 files changed, 280 insertions, 0 deletions
diff --git a/m4/ac_pkg_swig.m4 b/m4/ac_pkg_swig.m4 new file mode 100644 index 00000000000..040eba83197 --- /dev/null +++ b/m4/ac_pkg_swig.m4 @@ -0,0 +1,125 @@ +##### http://autoconf-archive.cryp.to/ac_pkg_swig.html +# +# SYNOPSIS +# +# AC_PROG_SWIG([major.minor.micro]) +# +# DESCRIPTION +# +# This macro searches for a SWIG installation on your system. If +# found you should call SWIG via $(SWIG). You can use the optional +# first argument to check if the version of the available SWIG is +# greater than or equal to the value of the argument. It should have +# the format: N[.N[.N]] (N is a number between 0 and 999. Only the +# first N is mandatory.) +# +# If the version argument is given (e.g. 1.3.17), AC_PROG_SWIG checks +# that the swig package is this version number or higher. +# +# In configure.in, use as: +# +# AC_PROG_SWIG(1.3.17) +# SWIG_ENABLE_CXX +# SWIG_MULTI_MODULE_SUPPORT +# SWIG_PYTHON +# +# LAST MODIFICATION +# +# 2006-10-22 +# +# COPYLEFT +# +# Copyright (c) 2006 Sebastian Huber <sebastian-huber@web.de> +# Copyright (c) 2006 Alan W. Irwin <irwin@beluga.phys.uvic.ca> +# Copyright (c) 2006 Rafael Laboissiere <rafael@laboissiere.net> +# Copyright (c) 2006 Andrew Collier <colliera@ukzn.ac.za> +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. +# +# As a special exception, the respective Autoconf Macro's copyright +# owner gives unlimited permission to copy, distribute and modify the +# configure scripts that are the output of Autoconf when processing +# the Macro. You need not follow the terms of the GNU General Public +# License when using or distributing such scripts, even though +# portions of the text of the Macro appear in them. The GNU General +# Public License (GPL) does govern all other use of the material that +# constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the +# Autoconf Macro released by the Autoconf Macro Archive. When you +# make and distribute a modified version of the Autoconf Macro, you +# may extend this special exception to the GPL to apply to your +# modified version as well. + +AC_DEFUN([AC_PROG_SWIG],[ + AC_PATH_PROG([SWIG],[swig]) + if test -z "$SWIG" ; then + AC_MSG_WARN([cannot find 'swig' program. You should look at http://www.swig.org]) + SWIG='echo "Error: SWIG is not installed. You should look at http://www.swig.org" ; false' + elif test -n "$1" ; then + AC_MSG_CHECKING([for SWIG version]) + [swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`] + AC_MSG_RESULT([$swig_version]) + if test -n "$swig_version" ; then + # Calculate the required version number components + [required=$1] + [required_major=`echo $required | sed 's/[^0-9].*//'`] + if test -z "$required_major" ; then + [required_major=0] + fi + [required=`echo $required | sed 's/[0-9]*[^0-9]//'`] + [required_minor=`echo $required | sed 's/[^0-9].*//'`] + if test -z "$required_minor" ; then + [required_minor=0] + fi + [required=`echo $required | sed 's/[0-9]*[^0-9]//'`] + [required_patch=`echo $required | sed 's/[^0-9].*//'`] + if test -z "$required_patch" ; then + [required_patch=0] + fi + # Calculate the available version number components + [available=$swig_version] + [available_major=`echo $available | sed 's/[^0-9].*//'`] + if test -z "$available_major" ; then + [available_major=0] + fi + [available=`echo $available | sed 's/[0-9]*[^0-9]//'`] + [available_minor=`echo $available | sed 's/[^0-9].*//'`] + if test -z "$available_minor" ; then + [available_minor=0] + fi + [available=`echo $available | sed 's/[0-9]*[^0-9]//'`] + [available_patch=`echo $available | sed 's/[^0-9].*//'`] + if test -z "$available_patch" ; then + [available_patch=0] + fi + if test $available_major -ne $required_major \ + -o $available_minor -ne $required_minor \ + -o $available_patch -lt $required_patch ; then + AC_MSG_WARN([SWIG version >= $1 is required. You have $swig_version. You should look at http://www.swig.org]) + SWIG='echo "Error: SWIG version >= $1 is required. You have '"$swig_version"'. You should look at http://www.swig.org" ; false' + else + AC_MSG_NOTICE([SWIG executable is '$SWIG']) + SWIG_LIB=`$SWIG -swiglib` + AC_MSG_NOTICE([SWIG library directory is '$SWIG_LIB']) + fi + else + AC_MSG_WARN([cannot determine SWIG version]) + SWIG='echo "Error: Cannot determine SWIG version. You should look at http://www.swig.org" ; false' + fi + fi + AC_SUBST([SWIG_LIB]) +]) diff --git a/m4/ax_with_perl.m4 b/m4/ax_with_perl.m4 new file mode 100644 index 00000000000..f9db485e2d9 --- /dev/null +++ b/m4/ax_with_perl.m4 @@ -0,0 +1,30 @@ +##### http://autoconf-archive.cryp.to/ax_with_perl.html +# +# SYNOPSIS +# +# AX_WITH_PERL([VALUE-IF-NOT-FOUND],[PATH]) +# +# DESCRIPTION +# +# Locates an installed Perl binary, placing the result in the +# precious variable $PERL. Accepts a present $PERL, then --with-perl, +# and failing that searches for perl in the given path (which +# defaults to the system path). If perl is found, $PERL is set to the +# full path of the binary; if it is not found, $PERL is set to +# VALUE-IF-NOT-FOUND, which defaults to 'perl'. +# +# LAST MODIFICATION +# +# 2008-01-29 +# +# COPYLEFT +# +# Copyright (c) 2008 Francesco Salvestrini <salvestrini@users.sourceforge.net> +# +# Copying and distribution of this file, with or without +# modification, are permitted in any medium without royalty provided +# the copyright notice and this notice are preserved. + +AC_DEFUN([AX_WITH_PERL],[ + AX_WITH_PROG(PERL,perl) +]) diff --git a/m4/ax_with_prog.m4 b/m4/ax_with_prog.m4 new file mode 100644 index 00000000000..4f8db8715a3 --- /dev/null +++ b/m4/ax_with_prog.m4 @@ -0,0 +1,69 @@ +##### http://autoconf-archive.cryp.to/ax_with_prog.html +# +# SYNOPSIS +# +# AX_PROG_WITH([VARIABLE],[program],[PATH],[VALUE-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Locates an installed program binary, placing the result in the +# precious variable VARIABLE. Accepts a present VARIABLE, then +# --with-program, and failing that searches for program in the given +# path (which defaults to the system path). If program is found, +# VARIABLE is set to the full path of the binary; if it is not found, +# VARIABLE is set to VALUE-IF-NOT-FOUND, which defaults to 'program'. +# +# A typical example could be the following one: +# +# AX_WITH_PROG(PERL,perl) +# +# NOTE: This macro is based upon the original AX_WITH_PYTHON macro +# from Dustin J. Mitchell <dustin@cs.uchicago.edu>. +# +# LAST MODIFICATION +# +# 2008-01-29 +# +# COPYLEFT +# +# Copyright (c) 2008 Francesco Salvestrini <salvestrini@users.sourceforge.net> +# Copyright (c) 2008 Dustin J. Mitchell <dustin@cs.uchicago.edu> +# +# Copying and distribution of this file, with or without +# modification, are permitted in any medium without royalty provided +# the copyright notice and this notice are preserved. + +AC_DEFUN([AX_WITH_PROG],[ + AC_PREREQ([2.61]) + + pushdef([VARIABLE],$1) + pushdef([EXECUTABLE],$2) + pushdef([PATH_PROG],$3) + pushdef([VALUE_IF_NOT_FOUND],$4) + + AC_ARG_VAR(VARIABLE,Absolute path to EXECUTABLE executable) + + AS_IF(test -z "$VARIABLE",[ + AC_MSG_CHECKING(whether EXECUTABLE executable path has been provided) + AC_ARG_WITH(EXECUTABLE,AS_HELP_STRING([--with-EXECUTABLE=[[[[PATH]]]]],absolute path to EXECUTABLE executable), [ + AS_IF([test "$withval" != "yes"],[ + VARIABLE="$withval" + AC_MSG_RESULT($VARIABLE) + ],[ + VARIABLE="" + AC_MSG_RESULT([no]) + ]) + ],[ + AC_MSG_RESULT([no]) + ]) + + AS_IF(test -z "$VARIABLE",[ + AC_PATH_PROG([]VARIABLE[],[]EXECUTABLE[],[]VALUE_IF_NOT_FOUND[],[]PATH_PROG[]) + ]) + ]) + + popdef([VALUE_IF_NOT_FOUND]) + popdef([PATH_PROG]) + popdef([EXECUTABLE]) + popdef([VARIABLE]) +]) diff --git a/m4/swig_enable_cxx.m4 b/m4/swig_enable_cxx.m4 new file mode 100644 index 00000000000..39ae9327da7 --- /dev/null +++ b/m4/swig_enable_cxx.m4 @@ -0,0 +1,56 @@ +##### http://autoconf-archive.cryp.to/swig_enable_cxx.html +# +# SYNOPSIS +# +# SWIG_ENABLE_CXX +# +# DESCRIPTION +# +# Enable SWIG C++ support. This affects all invocations of $(SWIG). +# +# LAST MODIFICATION +# +# 2006-10-22 +# +# COPYLEFT +# +# Copyright (c) 2006 Sebastian Huber <sebastian-huber@web.de> +# Copyright (c) 2006 Alan W. Irwin <irwin@beluga.phys.uvic.ca> +# Copyright (c) 2006 Rafael Laboissiere <rafael@laboissiere.net> +# Copyright (c) 2006 Andrew Collier <colliera@ukzn.ac.za> +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. +# +# As a special exception, the respective Autoconf Macro's copyright +# owner gives unlimited permission to copy, distribute and modify the +# configure scripts that are the output of Autoconf when processing +# the Macro. You need not follow the terms of the GNU General Public +# License when using or distributing such scripts, even though +# portions of the text of the Macro appear in them. The GNU General +# Public License (GPL) does govern all other use of the material that +# constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the +# Autoconf Macro released by the Autoconf Macro Archive. When you +# make and distribute a modified version of the Autoconf Macro, you +# may extend this special exception to the GPL to apply to your +# modified version as well. + +AC_DEFUN([SWIG_ENABLE_CXX],[ + AC_REQUIRE([AC_PROG_SWIG]) + AC_REQUIRE([AC_PROG_CXX]) + SWIG="$SWIG -c++" +]) |