##### http://autoconf-archive.cryp.to/vl_check_sign.html # # SYNOPSIS # # VL_CHECK_SIGN (TYPE, [ACTION-IF-SIGNED], [ACTION-IF-UNSIGNED], [INCLUDES]) # # DESCRIPTION # # Checks whether TYPE is signed or not. If no INCLUDES are specified, # the default includes are used. If ACTION-IF-SIGNED is given, it is # additional shell code to execute when the type is signed. If # ACTION-IF-UNSIGNED is given, it is executed when the type is # unsigned. # # This macro assumes that the type exists. Therefore the existence of # the type should be checked before calling this macro. For example: # # AC_CHECK_HEADERS([wchar.h]) # AC_CHECK_TYPE([wchar_t],,[ AC_MSG_ERROR([Type wchar_t not found.]) ]) # VL_CHECK_SIGN([wchar_t], # [ AC_DEFINE(WCHAR_T_SIGNED, 1, [Define if wchar_t is signed]) ], # [ AC_DEFINE(WCHAR_T_UNSIGNED, 1, [Define if wchar_t is unsigned]) ], [ # #ifdef HAVE_WCHAR_H # #include # #endif # ]) # # LAST MODIFICATION # # 2002-04-04 # # COPYLEFT # # Copyright (c) 2002 Ville Laurikari # # Copying and distribution of this file, with or without # modification, are permitted in any medium without royalty provided # the copyright notice and this notice are preserved. AC_DEFUN([VL_CHECK_SIGN], [ typename=`echo $1 | sed "s/@<:@^a-zA-Z0-9_@:>@/_/g"` AC_CACHE_CHECK([whether $1 is signed], vl_cv_decl_${typename}_signed, [ AC_TRY_COMPILE([$4], [ int foo @<:@ 1 - 2 * !((($1) -1) < 0) @:>@ ], [ eval "vl_cv_decl_${typename}_signed=\"yes\"" ], [ eval "vl_cv_decl_${typename}_signed=\"no\"" ])]) symbolname=`echo $1 | sed "s/@<:@^a-zA-Z0-9_@:>@/_/g" | tr "a-z" "A-Z"` if eval "test \"\${vl_cv_decl_${typename}_signed}\" = \"yes\""; then $2 elif eval "test \"\${vl_cv_decl_${typename}_signed}\" = \"no\""; then $3 fi ])dnl