From: kramm <kramm>
Date: Mon, 12 Jul 2004 14:56:39 +0000 (+0000)
Subject: python interface compilation is now controlled by autoconf.
X-Git-Tag: release-0-6-0~73
X-Git-Url: http://git.asbjorn.biz/?a=commitdiff_plain;h=dbf4023f60d7e0627bdc81941e4dddcbd9e77986;p=swftools.git

python interface compilation is now controlled by autoconf.
---

diff --git a/Makefile.common.in b/Makefile.common.in
index cbd8a68..7ce2f0d 100755
--- a/Makefile.common.in
+++ b/Makefile.common.in
@@ -19,13 +19,15 @@ SCC=$(LIBTOOL) @CXX@ -c $(DEFS) $(INCLUDES) @CPPFLAGS@ @CXXFLAGS@
 SL=$(LIBTOOL) --mode=link @CC@ $(DEFS) -rpath $(libdir)
 SLL=$(LIBTOOL) --mode=link @CXX@ $(DEFS) -rpath $(libdir)
 LIBS= @LDFLAGS@ @LIBS@
-
 transform = @program_transform_name@
+PYTHON_LIB=@PYTHON_LIB@
+PYTHON_INCLUDES=@PYTHON_INCLUDES@
 
 # libtool stuff
 OBJEXT=@OBJEXT@
 EXEEXT=@EXEEXT@
 E=$(EXEEXT)
+SLEXT=@SLEXT@
 ECHO=@ECHO@
 RANLIB=@RANLIB@
 STRIP=@STRIP@
diff --git a/configure.in b/configure.in
index 84fb50d..177cad9 100644
--- a/configure.in
+++ b/configure.in
@@ -86,9 +86,14 @@ dnl Checks for system services
 
 RFX_CHECK_MING
 
+SLEXT="so"
 if test "x${MINGW}" != "xyes"; then
     AC_DEFINE_UNQUOTED(O_BINARY, 0)
+    SLEXT="dll"
 fi
+export SLEXT
+AC_SUBST(SLEXT)
+
 # The following tries to make use of includes and libraries in
 # /usr/local, too. Notice: A -I/usr/local/include might break
 # things (MingW, cross-compiling etc.) in the same way as -I/usr/include, 
@@ -221,12 +226,41 @@ export JPEG2SWF
 PNG2SWF='png2swf$(E)'
 export PNG2SWF
 
-if test "x" = "x"; then
+# ------------------------------------------------------------------
+
+AC_MSG_CHECKING([for Python.h and PIL])
+# should we support python versions below 2.2?
+if test -f "/usr/lib/python2.2/site-packages/PIL/_imaging.so" -a -f "/usr/include/python2.2/Python.h";then
+    PY_VERSION=2.2
+fi
+if test -f "/usr/lib/python2.3/site-packages/PIL/_imaging.so" -a -f "/usr/include/python2.3/Python.h";then
+    PY_VERSION=2.3
+fi
+if test -f "/usr/lib/python2.4/site-packages/PIL/_imaging.so" -a -f "/usr/include/python2.4/Python.h";then
+    PY_VERSION=2.4
+fi
+
+if test "x$PY_VERSION" "!=" "x"; then
     pythonrfxswf="lib/python/Makefile"
+    if test "x$PYTHON_LIB" = "x";then
+	PYTHON_LIB="-lpython$PY_VERSION /usr/lib/python$PY_VERSION/site-packages/PIL/_imaging.so"
+    fi
+    if test "x$PYTHON_INCLUDES" = "x";then
+	PYTHON_INCLUDES="-I/usr/include/python$PY_VERSION"
+    fi
+    export PYTHON_INCLUDES PYTHON_LIB
+    AC_SUBST(PYTHON_LIB)
+    AC_SUBST(PYTHON_INCLUDES)
+    AC_MSG_RESULT(yes)
 else
     echo all install uninstall clean: > lib/python/Makefile
+    echo "* No usable python installation found"
+    echo "* Not compiling the python interface"
+    AC_MSG_RESULT(nope)
 fi
 
+# ------------------------------------------------------------------
+
 if test "x${DISABLEPDF2SWF}" = "xtrue"; then
   echo "***************************************************"
   echo "The following headers/libraries are missing: " ${MISSINGLIBS}
diff --git a/lib/python/Makefile.in b/lib/python/Makefile.in
index a68205d..75240c6 100644
--- a/lib/python/Makefile.in
+++ b/lib/python/Makefile.in
@@ -3,10 +3,6 @@ srcdir = @srcdir@
 top_srcdir = @top_srcdir@
 include ../../Makefile.common
 
-#LIB=-L/usr/lib/python2.2/config/ -lpython2.2
-PYTHON_LIB=-lpython2.3 /usr/lib/python2.3/site-packages/PIL/_imaging.so
-PYTHON_INCLUDES=-I/usr/include/python2.3
-
 all: mypython swfpython SWF.so testmem
 
 primitives.o: primitives.c primitives.h
@@ -30,16 +26,16 @@ SWF.o: SWF.c pyutils.h primitives.h taglist.h
 	$(C) -Wall -Wno-unused -fPIC $(PYTHON_INCLUDES) -c SWF.c -o SWF.o
 
 SWF.so: SWF.o taglist.o tag.o image.o tags.o tagmap.o action.o primitives.o pyutils.o ../librfxswf.a Makefile
-	$(L) -g -shared SWF.o tagmap.o taglist.o tag.o image.o tags.o action.o primitives.o pyutils.o  -o SWF.so ../librfxswf.a $(PYTHON_LIB) -ljpeg -lz -lt1 -lfreetype 
+	$(L) -g -shared SWF.o tagmap.o taglist.o tag.o image.o tags.o action.o primitives.o pyutils.o  -o SWF.so $(PYTHON_LIB) ../librfxswf.a $(LIBS)
 
 mypython: mypython.c Makefile
-	$(L) -Wno-redundant-decls -g $(PYTHON_INCLUDES) mypython.c -o mypython $(PYTHON_LIB) -ldl -lm -lpthread -lutil
+	$(L) -Wno-redundant-decls -g $(PYTHON_INCLUDES) mypython.c -o mypython $(PYTHON_LIB)
 
 swfpython: swfpython.c Makefile primitives.o tagmap.o taglist.o tag.o tags.o action.o pyutils.o SWF.o
-	$(L) -Wno-redundant-decls -g $(PYTHON_INCLUDES) swfpython.c -o swfpython $(PYTHON_LIB) -ldl -lm -lpthread -lutil ../librfxswf.a $(PYTHON_LIB) -ljpeg -lz -lt1 -lfreetype 
+	$(L) -Wno-redundant-decls -g $(PYTHON_INCLUDES) swfpython.c -o swfpython $(PYTHON_LIB) ../librfxswf.a $(LIBS)
 
 testmem: testmem.c Makefile
-	$(L) $(PYTHON_INCLUDES) testmem.c -o testmem $(PYTHON_LIB) -ldl -lm -lpthread -lutil
+	$(L) $(PYTHON_INCLUDES) testmem.c -o testmem $(PYTHON_LIB) $(LIBS)
 
 test: test6