added a test for python to decide whether python is installed in a standard directory
authorFilippo Gioachin <gioachin@illinois.edu>
Tue, 5 Oct 2004 20:25:39 +0000 (20:25 +0000)
committerFilippo Gioachin <gioachin@illinois.edu>
Tue, 5 Oct 2004 20:25:39 +0000 (20:25 +0000)
src/scripts/Makefile
src/scripts/configure
src/scripts/configure.in
src/scripts/conv-autoconfig.h.in

index 67234384b5a643886e5350713bbceabc8b1c4f07..35eec209d4d45fd9e775b90fc215c12f4dd20117 100644 (file)
@@ -249,7 +249,6 @@ dirs+sources:
        ./gatherflat ../../src/xlatcpm          .
        ./gathertree ../../src/QuickThreads QuickThreads
        ./gathertree ../../src/libs libs
-       ./gatherflat ../../src/libs/ck-libs/python .
        ./gathertree ../../src/arch/util      .
        ./gathertree ../../src/langs langs
        ./gathertree ../../src/langs/jade langs/jade
index 99a324b73d02987d18cff7660ebc442a36d1c982..4f1041abd2d2c9238a7911635b2bca58888653e7 100755 (executable)
@@ -1300,17 +1300,32 @@ echo $ECHO_N "checking \"$1\"... $ECHO_C" >&6
 test_link() {
         echo "$as_me:$LINENO: checking \"$1\"" >&5
 echo $ECHO_N "checking \"$1\"... $ECHO_C" >&6
+       echo "$CMK_CXX -I../include -I. -c $CMK_INCDIR $t -o test.o $4 > out 2>&1"
        $CMK_CXX -I../include -I. -c $CMK_INCDIR $t -o test.o $4 > out 2>&1
         if test $? = 1
         then
           test_result 1 "$1" "$2" "$3"
         else
+         echo "$CMK_LDXX -o testlink test.o $CMK_LIBDIR $4 > out 2>&1"
           $CMK_LDXX -o testlink test.o $CMK_LIBDIR $4 > out 2>&1
           test_result $? "$1" "$2" "$3"
         fi
        /bin/rm -f out
 }
 
+# Testlink_one: tries to compile and link a C++ file $t (described by $1) in one step.
+#  If successful, prints $2 and sets $pass/clears $fail
+#  If failure, prints $3 and sets $pass/clears $fail
+#  additional arguments to c++ compiler are passed as $4
+test_link_one() {
+        echo "$as_me:$LINENO: checking \"$1\"" >&5
+echo $ECHO_N "checking \"$1\"... $ECHO_C" >&6
+        echo "$CMK_CXX -I../include -I. $CMK_INCDIR $t -o testlink $4 > out 2>&1"
+        $CMK_CXX -I../include -I. $CMK_INCDIR $t -o testlink $4 > out 2>&1
+        test_result $? "$1" "$2" "$3"
+        /bin/rm -f out
+}
+
 # test_linkso $1 $2 $3 $4, where
 # $1: debug msg
 # $2: yes msg
@@ -1910,6 +1925,31 @@ then
 fi
 fi
 
+#### test if Python headers are installed ####
+cat > $t <<EOT
+#include "python/Python.h"
+#include "python/compile.h"
+#include "python/eval.h"
+#include "python/node.h"
+
+int main() {
+    Py_Initialize();
+    PyEval_InitThreads();
+    struct _node* programNode = PyParser_SimpleParseString("return 1\n",Py_file_input);
+    PyCodeObject *program = PyNode_Compile(programNode, "");
+}
+EOT
+test_link_one "whether Python is installed" "yes" "no" "/usr/lib/python/config/libpython2.3.a -lpthread -lutil -ldl"
+
+cat >>confdefs.h <<_ACEOF
+#define CMK_HAS_PYTHON $pass
+_ACEOF
+
+if test $pass -eq 1
+then
+       add_flag 'CMK_BUILD_PYTHON=1' "python"
+fi
+
 #### test if it can build shared library ####
 cat > $t <<EOT
 extern int foo();
index 30fb54045018587c38182fe86358ead2a1afe412..b3258c0c3c3578a9dea5b8fe2b59854202dd4952 100644 (file)
@@ -70,17 +70,31 @@ test_cxx() {
 #  additional arguments to c++ compiler are passed as $4
 test_link() {
         AC_MSG_CHECKING("$1")
+       echo "$CMK_CXX -I../include -I. -c $CMK_INCDIR $t -o test.o $4 > out 2>&1"
        $CMK_CXX -I../include -I. -c $CMK_INCDIR $t -o test.o $4 > out 2>&1
         if test $? = 1
         then
           test_result 1 "$1" "$2" "$3"
         else
+         echo "$CMK_LDXX -o testlink test.o $CMK_LIBDIR $4 > out 2>&1"
           $CMK_LDXX -o testlink test.o $CMK_LIBDIR $4 > out 2>&1
           test_result $? "$1" "$2" "$3"
         fi
        /bin/rm -f out
 }
 
+# Testlink_one: tries to compile and link a C++ file $t (described by $1) in one step.
+#  If successful, prints $2 and sets $pass/clears $fail
+#  If failure, prints $3 and sets $pass/clears $fail
+#  additional arguments to c++ compiler are passed as $4
+test_link_one() {
+        AC_MSG_CHECKING("$1")
+        echo "$CMK_CXX -I../include -I. $CMK_INCDIR $t -o testlink $4 > out 2>&1"
+        $CMK_CXX -I../include -I. $CMK_INCDIR $t -o testlink $4 > out 2>&1
+        test_result $? "$1" "$2" "$3"
+        /bin/rm -f out
+}
+
 # test_linkso $1 $2 $3 $4, where
 # $1: debug msg
 # $2: yes msg
@@ -551,6 +565,27 @@ then
 fi
 fi
 
+#### test if Python headers are installed ####
+cat > $t <<EOT
+#include "python/Python.h"
+#include "python/compile.h"
+#include "python/eval.h"
+#include "python/node.h"
+
+int main() {
+    Py_Initialize();
+    PyEval_InitThreads();
+    struct _node* programNode = PyParser_SimpleParseString("return 1\n",Py_file_input);
+    PyCodeObject *program = PyNode_Compile(programNode, "");
+}
+EOT
+test_link_one "whether Python is installed" "yes" "no" "/usr/lib/python/config/libpython2.3.a -lpthread -lutil -ldl"
+AC_DEFINE_UNQUOTED(CMK_HAS_PYTHON, $pass, [whether Python is installed])
+if test $pass -eq 1
+then
+       add_flag 'CMK_BUILD_PYTHON=1' "python"
+fi
+
 #### test if it can build shared library ####
 cat > $t <<EOT
 extern int foo();
index af6605df07662111e495af7b4ef84cd5fc46bba4..bc3c3bd66658ba8446552e0ae4a6e521c961b7f7 100644 (file)
@@ -57,6 +57,9 @@
 /* whether mmap() accepts MAP_ANON */
 #undef CMK_HAS_MMAP_ANON
 
+/* whether Python is installed */
+#undef CMK_HAS_PYTHON
+
 /* whether it has socklen_t */
 #undef CMK_HAS_SOCKLEN