[Mesa-dev] [PATCH v3 13/24] configure: require python mako module

Samuel Iglesias Gonsálvez siglesias at igalia.com
Thu Dec 11 23:50:38 PST 2014


On Thursday, December 11, 2014 11:28:04 AM Jason Ekstrand wrote:
> On Tue, Dec 9, 2014 at 4:06 AM, Iago Toral Quiroga <itoral at igalia.com>
> 
> wrote:
> > From: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
> > 
> > It is now a hard dependency because of the autogeneration of
> > format pack and unpack functions.
> > 
> > Update the documentation to reflect this change.
> > 
> > v2:
> > - Inline python script in m4 file and use PYTHON2
> > 
> > Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
> > ---
> > 
> >  configure.ac                      |  2 +
> >  docs/install.html                 |  6 ++-
> >  m4/ax_check_python_mako_module.m4 | 77
> > 
> > +++++++++++++++++++++++++++++++++++++++
> > 
> >  3 files changed, 84 insertions(+), 1 deletion(-)
> >  create mode 100644 m4/ax_check_python_mako_module.m4
> > 
> > diff --git a/configure.ac b/configure.ac
> > index 1d9d015..f38acfd 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -76,6 +76,8 @@ if test "x$INDENT" != "xcat"; then
> > 
> >      AC_SUBST(INDENT_FLAGS, '-i4 -nut -br -brs -npcs -ce -TGLubyte
> > 
> > -TGLbyte -TBool')
> > 
> >  fi
> > 
> > +AC_CHECK_PYTHON_MAKO_MODULE(0.7.3)
> > +
> > 
> >  AC_PROG_INSTALL
> >  
> >  dnl We need a POSIX shell for parts of the build. Assume we have one
> > 
> > diff --git a/docs/install.html b/docs/install.html
> > index f12425f..b12e1cb 100644
> > --- a/docs/install.html
> > +++ b/docs/install.html
> > @@ -38,6 +38,10 @@
> > 
> >  Version 2.6.4 or later should work.
> >  </li>
> >  <br>
> > 
> > +<li><a href="http://www.makotemplates.org/">Python Mako module</a> -
> > +Python Mako module is required. Version 0.7.3 or later should work.
> > +</li>
> > +</br>
> > 
> >  <li><a href="http://www.scons.org/">SCons</a> is required for building on
> >  Windows and optional for Linux (it's an alternative to
> >  autoconf/automake.)
> >  </li>
> > 
> > @@ -78,7 +82,7 @@ the needed dependencies:
> >  <pre>
> >  
> >    sudo yum install flex bison imake libtool xorg-x11-proto-devel
> > 
> > libdrm-devel \
> > 
> >    gcc-c++ xorg-x11-server-devel libXi-devel libXmu-devel libXdamage-devel
> > 
> > git \
> > -  expat-devel llvm-devel
> > +  expat-devel llvm-devel python-mako
> > 
> >  </pre>
> > 
> > diff --git a/m4/ax_check_python_mako_module.m4
> > b/m4/ax_check_python_mako_module.m4
> > new file mode 100644
> > index 0000000..f289f26
> > --- /dev/null
> > +++ b/m4/ax_check_python_mako_module.m4
> > @@ -0,0 +1,77 @@
> > +#
> > ==========================================================================
> > =
> > +#
> > +# SYNOPSIS
> > +#
> > +#   AX_CHECK_PYTHON_MAKO_MODULE(MIN_VERSION_NUMBER)
> > +#
> > +# DESCRIPTION
> > +#
> > +#   Check whether Python mako module is installed and its version higher
> > than
> > +#   minimum requested.
> > +#
> > +#   Example of its use:
> > +#
> > +#   For example, the minimum mako version would be 0.7.3. Then
> > configure.ac
> > +#   would contain:
> > +#
> > +#   AC_CHECK_PYTHON_MAKO_MODULE(0.7.3)
> > +#
> > +# LICENSE
> > +#
> > +#   Copyright (c) 2014 Intel Corporation.
> > +#
> > +#   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, see <http://www.gnu.org/licenses/>.
> > +#
> > +#   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 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.
> > +
> > +dnl macro that checks for mako module in python
> > +AC_DEFUN([AC_CHECK_PYTHON_MAKO_MODULE],
> > +[AC_MSG_CHECKING(if module mako in python is installed)
> > +    echo "
> > +try:
> > +    import sys
> > +    import mako
> > +except ImportError as err:
> > +    sys.exit(err)
> > +else:
> > +    ver_min_req_str = str('$1');
> > +    ver_min_req = ver_min_req_str.split('.');
> 
> Why are there semicolons?
> 

I will remove them. Good catch.

> > +    ver_str = mako.__version__
> > +    ver = ver_str.split('.')
> > +
> > +    for i in range(len(ver)):
> > +        ver_int = int(ver[[i]])
> > +        ver_min_req_int = int(ver_min_req[[i]]);
> > +        if ver_int < ver_min_req_int:
> > +            sys.exit(1);
> > +        if ver_int > ver_min_req_int:
> > +            sys.exit(0);
> > +    sys.exit(0);" | $PYTHON2 -
> 
> It would be nice to put the " and the |$PYTHON2 stuff on its own line so we
> can see where the inline python ends.
> 

OK. Will do.

Thanks!

Sam

> > +    if test $? -ne 0 ; then
> > +       AC_MSG_ERROR(mako $1 or later is required.)
> > +    else
> > +        AC_MSG_RESULT(yes)
> > +    fi
> > +])
> > --
> > 1.9.1
> > 
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20141212/6934e4f8/attachment.sig>


More information about the mesa-dev mailing list