Index: src/python/LibicalWrap.i =================================================================== --- src/python/LibicalWrap.i (revision 998) +++ src/python/LibicalWrap.i (working copy) @@ -26,8 +26,8 @@ %{ -#include "ical.h" -#include "icalss.h" +#include "libical/ical.h" +#include "libicalss/icalss.h" #include /* for size_t */ #include Index: src/python/__init__.py =================================================================== --- src/python/__init__.py (revision 0) +++ src/python/__init__.py (revision 0) @@ -0,0 +1,25 @@ +#!/usr/bin/env python +# -*- Mode: python -*- +#====================================================================== +# FILE: __init__.py +# CREATOR: glenn +# +# DESCRIPTION: +# +# +# (C) COPYRIGHT 2001, Eric Busboom +# (C) COPYRIGHT 2001, Patrick Lewis +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of either: +# +# The LGPL as published by the Free Software Foundation, version +# 2.1, available at: http://www.fsf.org/copyleft/lesser.html +# +# Or: +# +# The Mozilla Public License Version 1.0. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +#====================================================================== + +from Libical import * Index: src/python/Makefile.am =================================================================== --- src/python/Makefile.am (revision 998) +++ src/python/Makefile.am (working copy) @@ -1,48 +1,55 @@ +# See xapian-bindings for an example of integrating autotools, swig and python -lib_LTLIBRARIES = libLibicalWrap.la +BUILT_SOURCES = _LibicalWrap.c -libLibicalWrap_la_SOURCES = LibicalWrap.c +pyexec_LTLIBRARIES = _LibicalWrap.la -INCLUDES = \ +common_FILES = \ +__init__.py \ +Libical.py \ +test.py \ +Attendee.py \ +Collection.py \ +Component.py \ +DerivedProperties.py \ +Duration.py \ +Error.py \ +Gauge.py \ +Period.py \ +Property.py \ +Store.py \ +Time.py + +# Install as _DATA rather than _SCRIPTS because we don't want to make these +# executable (they don't have a #! line). +pkgpython_DATA = \ +$(common_FILES) \ +LibicalWrap.py + +# To allow non-standard library names (ie those not prefixed by "lib") see: +# http://sources.redhat.com/automake/automake.html#Libtool-Modules +_LibicalWrap_la_SOURCES = _LibicalWrap.c +_LibicalWrap_la_LDFLAGS = -avoid-version -module -lc +_LibicalWrap_la_LTLIBADD = ../libical/libical.la ../libicalss/libicalss.la + +AM_CPPFLAGS = \ -I$(top_builddir) \ -I$(top_srcdir)/src \ -I$(top_builddir)/src \ -I$(top_srcdir)/src/libical \ -I$(top_builddir)/src/libical \ -I$(top_srcdir)/src/libicalss \ - $(PY_CFLAGS) + $(PY_CFLAGS) -LDADD = ../libical/libical.la ../libicalss/libicalss.la +_LibicalWrap.c: LibicalWrap.i + swig -python -o _LibicalWrap.c LibicalWrap.i -all: LibicalWrap.so +CLEANFILES = _LibicalWrap.c _LibicalWrap_wrap.doc Libical.pyc _LibicalWrap.so -LibicalWrap.c: LibicalWrap.i - swig -python -o LibicalWrap.c LibicalWrap.i - -# This part should be done with libtool, but I don't know how to do -# it. Libtool needs to generate a shared library in this directory -# regardless of the value of AM_DISABLE_SHARED -LibicalWrap.so: LibicalWrap.c - ld -shared -o LibicalWrap.so LibicalWrap.o ../libical/.libs/libical.a ../libicalss/.libs/libicalss.a - -CLEANFILES = LibicalWrap.c LibicalWrap_wrap.doc Libical.pyc LibicalWrap.so - EXTRA_DIST = \ -Libical.py \ +$(common_FILES) \ LibicalWrap.i \ python-binding.txt \ -test.py \ -Attendee.py \ -Collection.py \ -Component.py \ -DerivedProperties.py \ -Duration.py \ -Error.py \ -Gauge.py \ -Period.py \ -Property.py \ -Store.py \ -Time.py \ ChangeLog Index: src/Makefile.am =================================================================== --- src/Makefile.am (revision 998) +++ src/Makefile.am (working copy) @@ -1,8 +1,8 @@ -#if WITH_PYTHON -# python_dir = python -#else - python_dir = -#endif +if HAVE_PYTHON +if HAVE_SWIG + python_dir = python +endif +endif SUBDIRS = libical libicalss libicalvcal test $(python_dir) Index: configure.in =================================================================== --- configure.in (revision 998) +++ configure.in (working copy) @@ -17,6 +17,7 @@ AM_PROG_LEX AC_PROG_LN_S AC_PROG_INSTALL +AC_PROG_MKDIR_P dnl Initialize libtool AM_PROG_LIBTOOL @@ -324,56 +325,28 @@ [ --enable-python Enable python bindings],,enable_python="no") if test "x$enable_python" = "xyes"; then - python_val=true -else - python_val=false + AM_PATH_PYTHON([2.3], , [:]) + AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :]) + AC_CHECK_PROG(swig_val, swig, true, false) + AM_CONDITIONAL([HAVE_SWIG], [test "x$swig_val" = "xtrue"]) + + PY_PREFIX=`$PYTHON -c 'import sys ; print sys.prefix'` + AC_CHECK_HEADER([python$PYTHON_VERSION/Python.h],[],[AC_MSG_ERROR([Can't find python header files])]) + if test -f "$PY_PREFIX/include/python$PYTHON_VERSION/Python.h"; then + + PY_CFLAGS="-I$PY_PREFIX/include/python$PYTHON_VERSION" + AC_SUBST(PY_CFLAGS) + + # SWIG needs PIC in order to work. + CFLAGS="$CFLAGS -fPIC" + fi + + AC_CONFIG_FILES([src/python/Makefile]) fi -if test $python_val = true; then - - AC_CHECK_PROG(python_val, python, true, false) - AC_CHECK_PROG(python_val, swig, true, false) - - PY_PREFIX=`python -c 'import sys ; print sys.prefix'` - PY_EXEC_PREFIX=`python -c 'import sys ; print sys.exec_prefix'` - changequote(<<, >>)dnl - PY_VERSION=`python -c 'import sys ; print sys.version[0:3]'` - changequote([, ])dnl - AC_CHECK_HEADER([python$PY_VERSION/Python.h],[],[AC_MSG_ERROR([Can't find python header files])]) - if test -f $PY_PREFIX/include/python$PY_VERSION/Python.h; then - PY_LIBS="python$PY_VERSION" - if test -d "$PY_EXEC_PREFIX/lib/python$PY_VERSION/config"; then - PY_LIB_LOC="-L$PY_EXEC_PREFIX/lib/python$PY_VERSION/config" - PY_MAKEFILE="$PY_EXEC_PREFIX/lib/python$PY_VERSION/config/Makefile" - else - PY_LIB_LOC="-L$PY_EXEC_PREFIX/lib64/python$PY_VERSION/config" - PY_MAKEFILE="$PY_EXEC_PREFIX/lib64/python$PY_VERSION/config/Makefile" - fi - PY_CFLAGS="-I$PY_PREFIX/include/python$PY_VERSION" - - PY_LOCALMODLIBS=`sed -n -e 's/^LOCALMODLIBS=\(.*\)/\1/p' $PY_MAKEFILE` - PY_BASEMODLIBS=`sed -n -e 's/^BASEMODLIBS=\(.*\)/\1/p' $PY_MAKEFILE` - PY_OTHER_LIBS=`sed -n -e 's/^LIBS=\(.*\)/\1/p' $PY_MAKEFILE` - PY_EXTRA_LIBS="$PY_LOCALMODLIBS $PY_BASEMODLIBS $PY_OTHER_LIBS" - AC_SUBST(PY_LIBS) - AC_SUBST(PY_LIB_LOC) - AC_SUBST(PY_CFLAGS) - AC_SUBST(PY_EXTRA_LIBS) - # SWIG needs PIC in order to work. - CFLAGS="$CFLAGS -fPIC" - else - python_val=false - fi -fi -python_val=false -AM_CONDITIONAL(WITH_PYTHON, test $python_val = true) - if test "$use_builtin_timezone" = "yes"; then AC_CONFIG_FILES([zoneinfo/Makefile]) fi -if test $python_val = true ; then - AC_CONFIG_FILES([src/python/Makefile]) -fi AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([design-data/Makefile])