1####################### 2# type alignment test # 3####################### 4 5AC_DEFUN([DBIND_CHECK_ALIGNOF], 6 [changequote(<<, >>)dnl 7 dnl The name to #define. 8 define(<<AC_TYPE_NAME>>, 9 translit(dbind_alignof_$1, [a-z *], [A-Z_P]))dnl 10 dnl The cache variable name. 11 define(<<AC_CV_NAME>>, 12 translit(ac_cv_alignof_$1, [ *], [_p]))dnl 13 changequote([, ])dnl 14 AC_MSG_CHECKING(alignment of $1) 15 AC_CACHE_VAL(AC_CV_NAME, 16 [AC_TRY_RUN( 17 [ #include <stdio.h> 18 #include <stdlib.h> 19 #define DBUS_API_SUBJECT_TO_CHANGE 20 #include <dbus/dbus.h> 21 typedef struct {char s1;} dbind_struct; 22 typedef void *dbind_pointer; 23 struct test {char s1; $1 s2;}; 24 main() 25 { 26 FILE *f=fopen("conftestval", "w"); 27 if (!f) exit(1); 28 fprintf(f, "%d\n", &(((struct test*)0)->s2)); 29 exit(0); 30 } ], 31 AC_CV_NAME=`cat conftestval`, 32 AC_CV_NAME=0, AC_CV_NAME=0) 33 ])dnl 34 AC_MSG_RESULT($AC_CV_NAME) 35 if test "$AC_CV_NAME" = "0" ; then 36 AC_MSG_ERROR([Failed to find alignment. Check config.log for details.]) 37 fi 38 AC_TYPE_NAME=$AC_CV_NAME 39 AC_SUBST(AC_TYPE_NAME) 40 undefine([AC_TYPE_NAME])dnl 41 undefine([AC_CV_NAME])dnl 42]) 43 44dnl AM_CHECK_PYMOD(MODNAME [,SYMBOL [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]]) 45dnl Check if a module containing a given symbol is visible to python. 46AC_DEFUN([AM_CHECK_PYMOD], 47[AC_REQUIRE([AM_PATH_PYTHON]) 48py_mod_var=`echo $1['_']$2 | sed 'y%./+-%__p_%'` 49AC_MSG_CHECKING(for ifelse([$2],[],,[$2 in ])python module $1) 50AC_CACHE_VAL(py_cv_mod_$py_mod_var, [ 51ifelse([$2],[], [prog=" 52import sys 53try: 54 import $1 55except ImportError: 56 sys.exit(1) 57except: 58 sys.exit(0) 59sys.exit(0)"], [prog=" 60import $1 61import $1.$2"]) 62if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC 63 then 64 eval "py_cv_mod_$py_mod_var=yes" 65 else 66 eval "py_cv_mod_$py_mod_var=no" 67 fi 68]) 69py_val=`eval "echo \`echo '$py_cv_mod_'$py_mod_var\`"` 70if test "x$py_val" != xno; then 71 AC_MSG_RESULT(yes) 72 ifelse([$3], [],, [$3 73])dnl 74else 75 AC_MSG_RESULT(no) 76 ifelse([$4], [],, [$4 77])dnl 78fi 79]) 80