| Download M4 Source | Macro Index Page |
AG_CHECK_STRCSPN
Not all systems have strcspn(3). See if we need to substitute. To make this work, you have to do horrible things. In one of your Makefile.am files, you must make an explicit rule to make this object. It should look like this:
strcspn.lo : $(top_srcdir)/compat/strcspn.c
$(LTCOMPILE) -o $@ -c $(top_srcdir)/compat/strcspn.c
and you must include ``@COMPATOBJ@'' in a LIBADD somewhere and, finally, you must add another artificial dependency, something like:
makeshell.lo : genshell.c @COMPATOBJ@
It is all pretty horrific, but I have found nothing else that works.
Bruce Korb <bkorb@gnu.org>
2001-12-01
dnl DO NOT EDIT THIS FILE (ag_check_strcspn.m4)
dnl
dnl It has been AutoGen-ed Saturday December 1, 2001 at 09:21:28 PM PST
dnl From the definitions bkorb.def
dnl and the template file conftest.tpl
dnl See: http://autogen.sf.net for a description of the AutoGen project
AC_DEFUN([AG_CHECK_STRCSPN],[
AC_MSG_CHECKING([whether strcspn matches prototype and works])
AC_CACHE_VAL([ag_cv_strcspn],[
AC_TRY_RUN([#include <string.h>
int main (int argc, char** argv) {
char zRej[] = "reject";
char zAcc[] = "a-ok-eject";
return strcspn( zAcc, zRej ) - 5;
}],[ag_cv_strcspn=yes],[ag_cv_strcspn=no],[ag_cv_strcspn=no]
) # end of TRY_RUN]) # end of CACHE_VAL
AC_MSG_RESULT([$ag_cv_strcspn])
if test x$ag_cv_strcspn = xyes
then
AC_DEFINE(HAVE_STRCSPN, 1,
[Define this if strcspn matches prototype and works])
else
COMPATOBJ="$COMPATOBJ strcspn.lo"
fi
]) # end of AC_DEFUN of AG_CHECK_STRCSPN