fix arch build: update ax_python_devel.m4
authorBen Widawsky <ben@bwidawsk.net>
Tue, 19 Feb 2013 17:53:43 +0000 (09:53 -0800)
committerBen Widawsky <ben@bwidawsk.net>
Tue, 19 Feb 2013 18:29:13 +0000 (10:29 -0800)
I complained about the broken m4 script, and it got fixed. I love the
internet.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
README
m4/ax_python_devel.m4

diff --git a/README b/README
index 85075e7..be29177 100644 (file)
--- a/README
+++ b/README
@@ -81,14 +81,10 @@ tools/quick_dump
        itself is quite straight forward, and should also be a useful example
        for others wishing to write python based i915 tools.
 
-       As of writing, the build is sort of broken in Arch
-       [https://www.archlinux.org/] because of the way they package Python. You'll
-       need something like: ./autogen.sh PYTHON_LDFLAGS="-lpython3.3m"
-
        Note to package maintainers: It is not recommended to package
        this directory, as the tool is not yet designed for wide usage. If the
        package is installed via "make install" the users will have to set
-       their python library path appropriately.
+       their python library path appropriately. Use --disable-dumper
 
 debugger/
        This tool is to be used to do shader debugging. It acts like a
index def4b4a..8d748af 100644 (file)
@@ -66,7 +66,7 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 11
+#serial 12
 
 AU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL])
 AC_DEFUN([AX_PYTHON_DEVEL],[
@@ -173,11 +173,9 @@ $ac_distutils_result])
 # join all versioning strings, on some systems
 # major/minor numbers could be in different list elements
 from distutils.sysconfig import *
-ret = ''
-for e in get_config_vars ('VERSION'):
-       if (e != None):
-               ret += e
-print (ret)
+e = get_config_var('VERSION')
+if e is not None:
+       print(e)
 EOD`
 
                if test -z "$ac_python_version"; then
@@ -198,10 +196,9 @@ EOD`
 
 # There should be only one
 import distutils.sysconfig
-for e in distutils.sysconfig.get_config_vars ('LIBDIR'):
-       if e != None:
-               print (e)
-               break
+e = distutils.sysconfig.get_config_var('LIBDIR')
+if e is not None:
+       print (e)
 EOD`
 
                # Before checking for libpythonX.Y, we need to know
@@ -209,15 +206,22 @@ EOD`
                # (we take the first one, if there's more than one fix me!):
                ac_python_soext=`$PYTHON -c \
                  "import distutils.sysconfig; \
-                 print (distutils.sysconfig.get_config_vars('SO')[[0]])"`
+                 print (distutils.sysconfig.get_config_var('SO'))"`
 
                # Now, for the library:
                ac_python_soname=`$PYTHON -c \
                  "import distutils.sysconfig; \
-                 print (distutils.sysconfig.get_config_vars('LDLIBRARY')[[0]])"`
+                 print (distutils.sysconfig.get_config_var('LDLIBRARY'))"`
 
                # Strip away extension from the end to canonicalize its name:
                ac_python_library=`echo "$ac_python_soname" | sed "s/${ac_python_soext}$//"`
+               # If that did not work, try to strip the ending ".so".
+               # This is needed for Arch Linux, where $ac_python_soname is
+               # "libpython3.3m.so" but $ac_python_soext is ".cpython-33m.so".
+               if test x"$ac_python_library" == x"$ac_python_soname"
+               then
+                       ac_python_library=`echo "$ac_python_soname" | sed "s/\.so$//"`
+               fi
 
                # This small piece shamelessly adapted from PostgreSQL python macro;
                # credits goes to momjian, I think. I'd like to put the right name