1dnl 2dnl This file provides the following macros 3dnl 4dnl LT_LIB_XTHREADS 5dnl AM_FUNC_VOID_SPRINTF 6dnl WEAK_ALIAS_SUPPORT 7dnl 8 9dnl This should be the canonical approach to check for XTHREADS. 10dnl (see "man XtToolkitThreadInitialize") 11AC_DEFUN([LT_LIB_XTHREADS], 12[AC_REQUIRE([AC_PATH_X]) 13AC_CACHE_CHECK(whether libXt was compiled with -DXTHREADS, lt_cv_xthreads, 14[lt_save_CFLAGS="$CFLAGS" 15lt_save_CPPFLAGS="$CPPFLAGS" 16lt_save_LIBS="$LIBS" 17LIBS="$X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS" 18CFLAGS="$X_CFLAGS $CFLAGS" 19CPPFLAGS="$X_CFLAGS $CPPFLAGS" 20AC_TRY_RUN([ 21#include <X11/Intrinsic.h> 22int main() { 23Boolean brc; 24brc=XtToolkitThreadInitialize(); 25if (True==brc) 26 exit(0); 27else 28 exit(1); 29} 30], 31lt_cv_xthreads=yes, 32lt_cv_xthreads=no, 33lt_cv_xthreads=dunno) 34CFLAGS="$lt_save_CFLAGS" 35CPPFLAGS="$lt_save_CPPFLAGS" 36LIBS="$lt_save_LIBS" 37]) 38if test $lt_cv_xthreads = dunno; then 39 AC_MSG_WARN(Can't check for XTHREADS if cross-compiling. Assume XTHREADS) 40 AC_DEFINE(XTHREADS,1,"Has XThreads") 41 AC_DEFINE(XUSE_MTSAFE_API,1,"API is MTSAFE") 42fi 43if test $lt_cv_xthreads = yes; then 44 AC_DEFINE(XTHREADS,1,"Has XThreads") 45 AC_DEFINE(XUSE_MTSAFE_API,1,"API is MTSAFE") 46fi 47]) 48 49dnl This test is not very reliable probably ... 50AC_DEFUN([AM_FUNC_VOID_SPRINTF], 51[AC_CACHE_CHECK(whether sprintf returns void, ac_cv_func_void_sprintf, 52[AC_TRY_RUN([#include <stdio.h> 53int sprintf(); main() { exit(sprintf(".")); }], 54 ac_cv_func_void_sprintf=no, ac_cv_func_void_sprintf=yes, ac_cv_func_void_sprintf=yes)]) 55if test $ac_cv_func_void_sprintf = no; then 56 AC_DEFINE(VOID_SPRINTF,1, 57 [Define if sprintf doesn't return the number of chars written]) 58fi 59]) 60 61dnl This tests whether weak aliases are supported. 62AC_DEFUN([WEAK_ALIAS_SUPPORT], 63[AC_CACHE_CHECK(whether weak aliases are supported, ac_cv_weak_alias_support, 64[AC_TRY_COMPILE([ 65int get_value(int *value) { 66 return *value; 67} 68int get_value_alias(int *high) __attribute__((__weak__,alias("get_value"))); 69], 70[], 71ac_cv_weak_alias_support=yes, 72ac_cv_weak_alias_support=no)]) 73if test $ac_cv_weak_alias_support = no; then 74 AC_DEFINE(NO_WEAK_ALIASES,1,[Define if weak aliases are not supported]) 75fi 76]) 77 78dnl 79dnl End of special macros. 80dnl 81