Back to the Main Page.

ag_check_strcspn

Download the M4 Source.

Synopsis

AG_CHECK_STRCSPN

Version

$Revision: 1.1 $     0.5.65   :   bkorb

Author

Bruce Korb <bkorb@gnu.org>

Description
  -*- buffer-read-only: t -*- vi: set ro:

DO NOT EDIT THIS FILE (ag_check_strcspn.m4)

It has been AutoGen-ed Saturday December 1, 2001 at 09:21:28 PM PST From the definitions bkorb.def and the template file conftest.tpl See: http://autogen.sf.net for a description of the AutoGen project

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.

M4 Source Code
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