diff options
author | Andrew Stitcher <astitcher@apache.org> | 2011-11-03 22:11:11 +0000 |
---|---|---|
committer | Andrew Stitcher <astitcher@apache.org> | 2011-11-03 22:11:11 +0000 |
commit | a402b15351229196e87647fc777b7f2dc1670922 (patch) | |
tree | 6af0d0c6e863b0086de85e765ac1fb9200893713 | |
parent | df5ccab61279c6a2efe61df5e9d0791e944e66b8 (diff) | |
download | qpid-python-a402b15351229196e87647fc777b7f2dc1670922.tar.gz |
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
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1197326 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/cpp/bindings/qmf/python/Makefile.am | 8 | ||||
-rw-r--r-- | qpid/cpp/bindings/qmf2/python/Makefile.am | 8 | ||||
-rw-r--r-- | qpid/cpp/bindings/qpid/python/Makefile.am | 8 | ||||
-rw-r--r-- | qpid/cpp/configure.ac | 35 | ||||
-rw-r--r-- | qpid/cpp/managementgen/Makefile.am | 4 |
5 files changed, 24 insertions, 39 deletions
diff --git a/qpid/cpp/bindings/qmf/python/Makefile.am b/qpid/cpp/bindings/qmf/python/Makefile.am index 8abad32959..37efe59872 100644 --- a/qpid/cpp/bindings/qmf/python/Makefile.am +++ b/qpid/cpp/bindings/qmf/python/Makefile.am @@ -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) diff --git a/qpid/cpp/bindings/qmf2/python/Makefile.am b/qpid/cpp/bindings/qmf2/python/Makefile.am index 3dc04e832f..e33e6e00d1 100644 --- a/qpid/cpp/bindings/qmf2/python/Makefile.am +++ b/qpid/cpp/bindings/qmf2/python/Makefile.am @@ -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) diff --git a/qpid/cpp/bindings/qpid/python/Makefile.am b/qpid/cpp/bindings/qpid/python/Makefile.am index dd25f34829..432fe7e764 100644 --- a/qpid/cpp/bindings/qpid/python/Makefile.am +++ b/qpid/cpp/bindings/qpid/python/Makefile.am @@ -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) diff --git a/qpid/cpp/configure.ac b/qpid/cpp/configure.ac index 092694d56b..3fbd228f60 100644 --- a/qpid/cpp/configure.ac +++ b/qpid/cpp/configure.ac @@ -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: diff --git a/qpid/cpp/managementgen/Makefile.am b/qpid/cpp/managementgen/Makefile.am index 4fc5edcad4..e7a9d87eab 100644 --- a/qpid/cpp/managementgen/Makefile.am +++ b/qpid/cpp/managementgen/Makefile.am @@ -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 \ |