1 ## ------------------------
2 ## Python file handling
4 ## Modified by Marc Tajchman (06/2001)
5 ## ------------------------
7 dnl CHECK_PYTHON([module, classes])
9 dnl Adds support for distributing Python modules or classes.
10 dnl Python library files distributed as a `module' are installed
11 dnl under PYTHON_SITE_PACKAGE (eg, ./python1.5/site-package/package-name)
12 dnl while those distributed as `classes' are installed under PYTHON_SITE
13 dnl (eg, ./python1.5/site-packages). The default is to install as
16 AC_DEFUN(CHECK_PYTHON,
19 [ --with-python=DIR root directory path of python installation ],
20 [PYTHON="$withval/bin/python"
21 AC_MSG_RESULT("select python distribution in $withval")
23 AC_PATH_PROG(PYTHON, python)
26 AC_CHECKING([local Python configuration])
27 PYTHON_PREFIX=`echo $PYTHON | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
28 PYTHON_PREFIX=`echo $PYTHON_PREFIX | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
29 PYTHONHOME=$PYTHON_PREFIX
31 AC_SUBST(PYTHON_PREFIX)
34 changequote(<<, >>)dnl
35 PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[:3]"`
37 AC_SUBST(PYTHON_VERSION)
39 PY_MAKEFILE=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/config/Makefile
40 if test ! -f "$PY_MAKEFILE"; then
41 AC_MSG_ERROR([*** Couldn't find ${PY_MAKEFILE}. Maybe you are
42 *** missing the development portion of the python installation])
45 AC_SUBST(PYTHON_INCLUDES)
48 PYTHON_INCLUDES=-I$PYTHON_PREFIX/include/python$PYTHON_VERSION
49 PYTHON_LIBS="-L${PYTHON_PREFIX}/lib/python${PYTHON_VERSION}/config -lpython${PYTHON_VERSION}"
50 PYTHON_LIB=$PYTHON_LIBS
51 PYTHON_LIBA=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/config/libpython$PYTHON_VERSION.a
53 dnl At times (like when building shared libraries) you may want
54 dnl to know which OS Python thinks this is.
56 AC_SUBST(PYTHON_PLATFORM)
57 PYTHON_PLATFORM=`$PYTHON -c "import sys; print sys.platform"`
60 AC_ARG_WITH(python-site,
61 [ --with-python-site=DIR Use DIR for installing platform independent
62 Python site-packages],
64 dnl modification : by default, we install python script in salome root tree
66 dnl [PYTHON_SITE="$withval"
67 dnl python_site_given=yes],
68 dnl [PYTHON_SITE=$PYTHON_PREFIX"/lib/python"$PYTHON_VERSION/site-packages
69 dnl python_site_given=no])
71 [PYTHON_SITE="$withval"
72 python_site_given=yes],
73 [PYTHON_SITE=$prefix"/lib/python"$PYTHON_VERSION/site-packages
74 python_site_given=no])
76 AC_SUBST(PYTHON_SITE_PACKAGE)
77 PYTHON_SITE_PACKAGE=$PYTHON_SITE/$PACKAGE
80 dnl Get PYTHON_SITE from --with-python-site-exec or from
81 dnl --with-python-site or from running Python
83 AC_SUBST(PYTHON_SITE_EXEC)
84 AC_ARG_WITH(python-site-exec,
85 [ --with-python-site-exec=DIR Use DIR for installing platform dependent
86 Python site-packages],
87 [PYTHON_SITE_EXEC="$withval"],
88 [if test "$python_site_given" = yes; then
89 PYTHON_SITE_EXEC=$PYTHON_SITE
91 PYTHON_SITE_EXEC=$PYTHON_EXEC_PREFIX"/lib/python"$PYTHON_VERSION/site-packages
94 dnl Set up the install directory
96 [PYTHON_SITE_INSTALL=$PYTHON_SITE],
97 [PYTHON_SITE_INSTALL=$PYTHON_SITE_PACKAGE])
98 AC_SUBST(PYTHON_SITE_INSTALL)
100 dnl Also lets automake think PYTHON means something.
102 pythondir=$PYTHON_PREFIX"/lib/python"$PYTHON_VERSION/
105 AC_MSG_CHECKING([if we need libdb])
106 PY_NEEDOPENDB=`nm $PYTHON_LIBA | grep dbopen | grep U`
107 if test "x$PY_NEEDOPENDB" != "x"; then
108 PYTHON_LIBS="$PYTHON_LIBS -ldb"
114 AC_MSG_CHECKING([if we need libdl])
115 PY_NEEDOPENDL=`nm $PYTHON_LIBA | grep dlopen | grep U`
116 if test "x$PY_NEEDOPENDL" != "x"; then
117 PYTHON_LIBS="$PYTHON_LIBS -ldl"
123 AC_MSG_CHECKING([if we need libutil])
124 PY_NEEDOPENPTY=`nm $PYTHON_LIBA | grep openpty | grep U`
125 if test "x$PY_NEEDOPENPTY" != "x"; then
126 PYTHON_LIBS="$PYTHON_LIBS -lutil"
132 AC_MSG_CHECKING([if we need tcltk])
133 PY_NEEDTCLTK=`nm $PYTHON_LIBA | grep Tcl_Init | grep U`
134 if test "x$PY_NEEDTCLTK" != "x"; then
135 PYTHON_LIBS="$PYTHON_LIBS -ltcl -ltk"
142 AC_MSG_RESULT(looks good)])