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