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]