rbb         99/11/10 05:40:52

  Modified:    src/lib/apr configure.in aclocal.m4 acconfig.h
  Log:
  Fix a problem with the configure script.  AC_CHECK_SIZEOF is only meant to
  be used for built-in types.  ssize_t is not a built-in type on all systems,
  so SIZEOF_SSIZE_T was consistently getting defined to 0 on all of my
  systems.  This fixes that problem by re-writing AC_TRY_RUN (the default
  AC_TRY_RUN has issues that don't allow for getting the return code from the
  program) and using it to get the size of SSIZE_T.
  
  Revision  Changes    Path
  1.24      +13 -1     apache-2.0/src/lib/apr/configure.in
  
  Index: configure.in
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/configure.in,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- configure.in      1999/11/09 09:01:10     1.23
  +++ configure.in      1999/11/10 13:40:51     1.24
  @@ -56,7 +56,19 @@
   AC_CHECK_SIZEOF(short, 2)
   AC_CHECK_SIZEOF(long double, 12)
   AC_CHECK_SIZEOF(long long, 8)
  -AC_CHECK_SIZEOF(ssize_t, 4)
  +
  +MY_TRY_RUN([
  +#include <sys/types.h> 
  +#include <stdlib.h> 
  +#include <stdio.h>
  +
  +int main() {
  +    return(sizeof(ssize_t));
  +} 
  +],
  +AC_DEFINE(SIZEOF_SSIZE_T, 4), 
  +AC_DEFINE_UNQUOTED(SIZEOF_SSIZE_T, $?),
  +AC_DEFINE(SIZEOF_SSIZE_T, 4))
   
   # Use /bin/sh if it exists, otherwise go looking for sh in the path
   if test ".$SH" = . -a -f /bin/sh; then
  
  
  
  1.4       +42 -0     apache-2.0/src/lib/apr/aclocal.m4
  
  Index: aclocal.m4
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/aclocal.m4,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- aclocal.m4        1999/10/21 16:41:07     1.3
  +++ aclocal.m4        1999/11/10 13:40:52     1.4
  @@ -95,4 +95,46 @@
   fi
   ])dnl
   
  +dnl ### AC_TRY_RUN had some problems actually using a programs return code,
  +dnl ### so I am re-working it here to be used in APR's configure script.
  +dnl MY_TRY_RUN(PROGRAM, [ACTION-IF-TRUE [, ACTION-IF-FALSE
  +dnl            [, ACTION-IF-CROSS-COMPILING]]])
  +AC_DEFUN(MY_TRY_RUN,
  +[if test "$cross_compiling" = yes; then
  +  ifelse([$4], ,
  +    [errprint(__file__:__line__: warning: [AC_TRY_RUN] called without 
default to allow cross compiling
  +)dnl
  +  AC_MSG_ERROR(can not run test program while cross compiling)],
  +  [$4])
  +else
  +  MY_TRY_RUN_NATIVE([$1], [$2], [$3])
  +fi
  +])
  +
  +dnl Like AC_TRY_RUN but assumes a native-environment (non-cross) compiler.
  +dnl MY_TRY_RUN_NATIVE(PROGRAM, [ACTION-IF-TRUE [, ACTION-IF-FALSE]])
  +AC_DEFUN(MY_TRY_RUN_NATIVE,
  +[cat > conftest.$ac_ext <<EOF
  +[#]line __oline__ "configure"
  +#include "confdefs.h"
  +ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
  +extern "C" void exit(int);
  +#endif
  +])dnl
  +[$1]
  +EOF
  +if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} && (./conftest; 
exit) 2>/dev/null
  +then
  +dnl Don't remove the temporary files here, so they can be examined.
  +  ifelse([$2], , :, [$2])
  +else
  +ifelse([$3], , , [  $3 
  +  rm -fr conftest*
  +])dnl
  +  echo "configure: failed program was:" >&AC_FD_CC
  +  cat conftest.$ac_ext >&AC_FD_CC
  +fi
  +rm -fr conftest*])
  +
  +
   
  
  
  
  1.11      +1 -0      apache-2.0/src/lib/apr/acconfig.h
  
  Index: acconfig.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/acconfig.h,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- acconfig.h        1999/10/20 15:09:54     1.10
  +++ acconfig.h        1999/11/10 13:40:52     1.11
  @@ -42,6 +42,7 @@
   #undef NEED_RLIM_T
   #undef USEBCOPY
   
  +#undef SIZEOF_SSIZE_T
   #undef APR_HAS_THREADS
   
   @BOTTOM@
  
  
  

Reply via email to