This is the mail archive of the guile@cygnus.com mailing list for the guile project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Just checked out the latest anon version & tried to build. Got:
/bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -I.. -I./.. -O2 -g -pg -Wall -Wpointer-arith -Wmissing-prototypes -c scmsigs.c
gcc -DHAVE_CONFIG_H -I. -I. -I. -I.. -I./.. -O2 -g -pg -Wall -Wpointer-arith -Wmissing-prototypes -Wp,-MD,.deps/scmsigs.p -c scmsigs.c
scmsigs.c: In function `scm_usleep':
scmsigs.c:377: void value not ignored as it ought to be
scmsigs.c:370: warning: `j' might be used uninitialized in this function
make[1]: *** [scmsigs.lo] Error 1
make[1]: Leaving directory `/home/hjstein/remote-cvs-pkgs/anon/guile-core/libguile'
make: *** [all-recursive] Error 1
Checking log messages for scmsigs.c shows the latest version is 1.17
which has:
revision 1.17
date: 1998/10/12 21:08:38; author: jimb; state: Exp; lines: +2 -2
The argument type of usleep varies from system to system,
as does the return type. We really shouldn't be redefining usleep
at all, but I don't have time to clean that up before the 1.3.
release. It's on the schedule for afterwards. (Thanks to Julian
Satchell.)
* coop.c (usleep): Use USLEEP_ARG_TYPE in prototype and
definition.
* scmsigs.c (usleep): Use USLEEP_ARG_TYPE in prototype.
* scmconfig.h: Regenerated.
Seems like configure didn't pick up that usleep has type void on my
system.
It seems that the problem is the test for 'void usleep' in configure.in:
### On some systems usleep has no return value. Of course, we
### shouldn't be doing anything like this at all...
AC_CACHE_CHECK([return type of usleep], guile_cv_func_usleep_return_type,
[AC_EGREP_HEADER(changequote(<, >)<void[ ][ ]*usleep>changequote([, ]),
/usr/include/unistd.h,
[guile_cv_func_usleep_return_type=void],
[guile_cv_func_usleep_return_type=int])])
case "$guile_cv_func_usleep_return_type" in
"void" )
AC_DEFINE(USLEEP_RETURNS_VOID)
;;
esac
On my system (Linux, RH 4.2, ...) the header in question has a tab btw
the void & the usleep.
Using [[:space:]] instead of [ ] fixes it, but I don't know how
portable that is. I would have done [ ] (where the 1st char in [] is
a space & the second is a tab) but I didn't think it would be so
portable/readable either.
Here's a patch:
===================================================================
RCS file: /egcs/carton/cvsfiles/guile/guile-core/configure,v
retrieving revision 1.89
diff -C4 -r1.89 configure
*** configure 1998/10/12 21:08:03 1.89
--- configure 1998/10/13 11:13:04
***************
*** 3198,3206 ****
#include "confdefs.h"
#include </usr/include/unistd.h>
EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
! egrep "void[ ][ ]*usleep" >/dev/null 2>&1; then
rm -rf conftest*
guile_cv_func_usleep_return_type=void
else
rm -rf conftest*
--- 3198,3206 ----
#include "confdefs.h"
#include </usr/include/unistd.h>
EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
! egrep "void[[:space:]][[:space:]]*usleep" >/dev/null 2>&1; then
rm -rf conftest*
guile_cv_func_usleep_return_type=void
else
rm -rf conftest*
***************
*** 5077,5084 ****
--- 5077,5085 ----
fi; done
EOF
cat >> $CONFIG_STATUS <<EOF
+
EOF
cat >> $CONFIG_STATUS <<\EOF
test -z "$CONFIG_HEADERS" || echo timestamp > libguile/stamp-h
Index: configure.in
===================================================================
RCS file: /egcs/carton/cvsfiles/guile/guile-core/configure.in,v
retrieving revision 1.66
diff -C4 -r1.66 configure.in
*** configure.in 1998/10/12 21:08:17 1.66
--- configure.in 1998/10/13 11:13:06
***************
*** 135,143 ****
### On some systems usleep has no return value. Of course, we
### shouldn't be doing anything like this at all...
AC_CACHE_CHECK([return type of usleep], guile_cv_func_usleep_return_type,
! [AC_EGREP_HEADER(changequote(<, >)<void[ ][ ]*usleep>changequote([, ]),
/usr/include/unistd.h,
[guile_cv_func_usleep_return_type=void],
[guile_cv_func_usleep_return_type=int])])
case "$guile_cv_func_usleep_return_type" in
--- 135,143 ----
### On some systems usleep has no return value. Of course, we
### shouldn't be doing anything like this at all...
AC_CACHE_CHECK([return type of usleep], guile_cv_func_usleep_return_type,
! [AC_EGREP_HEADER(changequote(<, >)<void[[:space:]][[:space:]]*usleep>changeq
uote([, ]),
/usr/include/unistd.h,
[guile_cv_func_usleep_return_type=void],
[guile_cv_func_usleep_return_type=int])])
case "$guile_cv_func_usleep_return_type" in