Author: astitcher
Date: Thu Nov  3 22:11:11 2011
New Revision: 1197326

URL: http://svn.apache.org/viewvc?rev=1197326&view=rev
Log:
QPID-3464: Build Improvements (autotools) [inspired by  Jan-Marek Glogowski]
- Simplified the python binding build
QPID-3458: Install compiled _cqpid.so for SWIG python bindings in site-packages 
directory
- Put the generated .pyc/.pyo and native .so in the correct place in the
  install tree

Modified:
    qpid/trunk/qpid/cpp/bindings/qmf/python/Makefile.am
    qpid/trunk/qpid/cpp/bindings/qmf2/python/Makefile.am
    qpid/trunk/qpid/cpp/bindings/qpid/python/Makefile.am
    qpid/trunk/qpid/cpp/configure.ac
    qpid/trunk/qpid/cpp/managementgen/Makefile.am

Modified: qpid/trunk/qpid/cpp/bindings/qmf/python/Makefile.am
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qmf/python/Makefile.am?rev=1197326&r1=1197325&r2=1197326&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/bindings/qmf/python/Makefile.am (original)
+++ qpid/trunk/qpid/cpp/bindings/qmf/python/Makefile.am Thu Nov  3 22:11:11 2011
@@ -32,17 +32,17 @@ SWIG_FLAGS = -w362,401
 $(generated_file_list): $(srcdir)/python.i $(srcdir)/../qmfengine.i
        $(SWIG) -c++ -python $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) 
-I$(top_srcdir)/src/qmf -I/usr/include -o qmfengine.cpp $(srcdir)/python.i
 
-pylibdir = $(PYTHON_LIB)
+pylibdir = $(pyexecdir)
 
-lib_LTLIBRARIES = _qmfengine.la
-qenginedir = $(pyexecdir)
+pylib_LTLIBRARIES = _qmfengine.la
+qenginedir = $(pythondir)
 qengine_PYTHON = qmfengine.py qmf.py
 
 #_qmfengine_la_LDFLAGS = -avoid-version -module -shrext "$(PYTHON_SO)"
 #_qmfengine_la_LDFLAGS = -avoid-version -module -shrext ".so"
 _qmfengine_la_LDFLAGS = -avoid-version -module -shared
 _qmfengine_la_LIBADD = $(PYTHON_LIBS) -L$(top_builddir)/src/.libs -lqpidclient 
$(top_builddir)/src/libqmf.la
-_qmfengine_la_CXXFLAGS = $(INCLUDES) -I$(srcdir)/qmf -I$(PYTHON_INC) 
-fno-strict-aliasing
+_qmfengine_la_CXXFLAGS = $(INCLUDES) -I$(srcdir)/qmf $(PYTHON_CFLAGS) 
-fno-strict-aliasing
 nodist__qmfengine_la_SOURCES = qmfengine.cpp
 
 CLEANFILES = $(generated_file_list)

Modified: qpid/trunk/qpid/cpp/bindings/qmf2/python/Makefile.am
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qmf2/python/Makefile.am?rev=1197326&r1=1197325&r2=1197326&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/bindings/qmf2/python/Makefile.am (original)
+++ qpid/trunk/qpid/cpp/bindings/qmf2/python/Makefile.am Thu Nov  3 22:11:11 
2011
@@ -32,15 +32,15 @@ SWIG_FLAGS = -w362,401
 $(generated_file_list): $(srcdir)/python.i $(srcdir)/../qmf2.i 
$(srcdir)/../../swig_python_typemaps.i
        $(SWIG) -c++ -python $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) 
-I/usr/include -o cqmf2.cpp $(srcdir)/python.i
 
-pylibdir = $(PYTHON_LIB)
+pylibdir = $(pyexecdir)
 
-lib_LTLIBRARIES = _cqmf2.la
-cqpiddir = $(pyexecdir)
+pylib_LTLIBRARIES = _cqmf2.la
+cqpiddir = $(pythondir)
 cqpid_PYTHON = qmf2.py cqmf2.py
 
 _cqmf2_la_LDFLAGS = -avoid-version -module -shared
 _cqmf2_la_LIBADD = $(PYTHON_LIBS) -L$(top_builddir)/src/.libs 
$(top_builddir)/src/libqmf2.la
-_cqmf2_la_CXXFLAGS = $(INCLUDES) -I$(srcdir)/qmf -I$(PYTHON_INC) 
-fno-strict-aliasing
+_cqmf2_la_CXXFLAGS = $(INCLUDES) -I$(srcdir)/qmf $(PYTHON_CFLAGS) 
-fno-strict-aliasing
 nodist__cqmf2_la_SOURCES = cqmf2.cpp
 
 CLEANFILES = $(generated_file_list)

Modified: qpid/trunk/qpid/cpp/bindings/qpid/python/Makefile.am
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/python/Makefile.am?rev=1197326&r1=1197325&r2=1197326&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/bindings/qpid/python/Makefile.am (original)
+++ qpid/trunk/qpid/cpp/bindings/qpid/python/Makefile.am Thu Nov  3 22:11:11 
2011
@@ -32,15 +32,15 @@ SWIG_FLAGS = -w362,401
 $(generated_file_list): $(srcdir)/python.i $(srcdir)/../qpid.i 
$(srcdir)/../../swig_python_typemaps.i
        $(SWIG) -c++ -python $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) 
-I$(top_srcdir)/src/qmf -I/usr/include -o cqpid.cpp $(srcdir)/python.i
 
-pylibdir = $(PYTHON_LIB)
+pylibdir = $(pyexecdir)
 
-lib_LTLIBRARIES = _cqpid.la
-cqpiddir = $(pyexecdir)
+pylib_LTLIBRARIES = _cqpid.la
+cqpiddir = $(pythondir)
 cqpid_PYTHON = cqpid.py
 
 _cqpid_la_LDFLAGS = -avoid-version -module -shared
 _cqpid_la_LIBADD = $(PYTHON_LIBS) -L$(top_builddir)/src/.libs -lqpidmessaging 
-lqpidtypes $(top_builddir)/src/libqpidmessaging.la 
$(top_builddir)/src/libqpidtypes.la
-_cqpid_la_CXXFLAGS = $(INCLUDES) -I$(PYTHON_INC) -fno-strict-aliasing
+_cqpid_la_CXXFLAGS = $(INCLUDES) $(PYTHON_CFLAGS) -fno-strict-aliasing
 nodist__cqpid_la_SOURCES = cqpid.cpp
 
 CLEANFILES = $(generated_file_list)

Modified: qpid/trunk/qpid/cpp/configure.ac
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/configure.ac?rev=1197326&r1=1197325&r2=1197326&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/configure.ac (original)
+++ qpid/trunk/qpid/cpp/configure.ac Thu Nov  3 22:11:11 2011
@@ -201,34 +201,19 @@ fi
 AM_CONDITIONAL([HAVE_RUBY_DEVEL], [test -f $RUBY_INC/ruby.h && test -n 
"$SWIG"])
 
 # Python bindings: To build python wrappers, the python-devel files must be 
present.
-
 AM_PATH_PYTHON()
-if test -n "$PYTHON" ; then
-    AC_MSG_CHECKING([$PYTHON include dir])
-    if $PYTHON -c 'import distutils.sysconfig' 2>/dev/null ; then
-        PYTHON_INC=`$PYTHON -c 'import 
os,distutils.sysconfig;print(distutils.sysconfig.get_python_inc().replace(os.sep,"/"))'`
-       AC_SUBST(PYTHON_INC)
-    else
+AS_IF([test -n "$PYTHON"], [
+    PKG_CHECK_MODULES([PYTHON], [python], [have_python_dev=yes],[
         if test yes = "$with_python" ; then
-           AC_MSG_ERROR([Couldn't import Python module distutils.sysconfig - 
you probably need to install a python-dev or python-devel package])
-       else
-           AC_MSG_WARN([Couldn't import Python module distutils.sysconfig - 
you probably don't have a python-dev or python-devel package installed])
-       fi
-    fi
-    AC_MSG_RESULT([$PYTHON_INC])
-    AC_MSG_CHECKING([for directory to install python bindings in])
-    if test -z "$PYTHON_LIB" ; then
-         PYTHON_LIB=`$PYTHON -c 'import 
os,distutils.sysconfig;print(distutils.sysconfig.get_python_lib(1).replace(os.sep,"/"))'`
-    fi
-    AC_MSG_RESULT([$PYTHON_LIB])
-    AC_ARG_VAR(PYTHON_LIB, [Directory to install python bindings in])
-
-    AC_MSG_CHECKING([for python libraries to link against])
-       PYTHON_LIBS=`$PYTHON -c 'import 
os,sys;print("-L"+os.path.join(sys.path[[3]],"config")+" 
-lpython"+sys.version[[:3]])'`
+            AC_MSG_ERROR([Couldn't find Python developer libs - you probably 
need to install a python-dev or python-devel package])
+        else
+            AC_MSG_WARN([Couldn't find Python developer libs - you probably 
don't have a python-dev or python-devel package installed])
+        fi
+    ])
+    AC_SUBST(PYTHON_CFLAGS)
     AC_SUBST(PYTHON_LIBS)
-    AC_MSG_RESULT([$PYTHON_LIBS])
-fi
-AM_CONDITIONAL([HAVE_PYTHON_DEVEL], [test -f $PYTHON_INC/Python.h && test -n 
"$SWIG"])
+])
+AM_CONDITIONAL([HAVE_PYTHON_DEVEL], [test x$have_python_dev = xyes && test -n 
"$SWIG"])
 
 
 # Perl bindings:

Modified: qpid/trunk/qpid/cpp/managementgen/Makefile.am
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/managementgen/Makefile.am?rev=1197326&r1=1197325&r2=1197326&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/managementgen/Makefile.am (original)
+++ qpid/trunk/qpid/cpp/managementgen/Makefile.am Thu Nov  3 22:11:11 2011
@@ -20,14 +20,14 @@ qmfpythondir = $(pythondir)
 dist_bin_SCRIPTS = \
        qmf-gen
 
-pkgpyexec_qmfgendir = $(pyexecdir)/qmfgen
+pkgpyexec_qmfgendir = $(pythondir)/qmfgen
 pkgpyexec_qmfgen_PYTHON = \
        qmfgen/__init__.py \
        qmfgen/generate.py \
        qmfgen/schema.py \
        qmfgen/management-types.xml
 
-pkgpyexec_qmfgentmpldir = $(pyexecdir)/qmfgen/templates
+pkgpyexec_qmfgentmpldir = $(pythondir)/qmfgen/templates
 pkgpyexec_qmfgentmpl_PYTHON = \
        qmfgen/templates/Args.h \
        qmfgen/templates/Class.cpp \



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to