Re: macosx linking fails: _freea referenced from: _rpl_realpath

2019-06-25 Thread Sam Steingold
> * Bruno Haible  [2019-06-25 19:11:03 +0200]:
>
>> $ find . -name \*alloc\*.o
>> ./lib/allocator.o
>> ./src/alloc.o
>
> Oh, this is surprising.

aha!

I re-run gnulib-tool and it fixed it.
(alas, emacs maintainers pushed the changes before me ;-)

thanks and sorry about bothering you!

-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1671
http://childpsy.net http://calmchildstories.com http://steingoldpsychology.com
http://iris.org.il http://no2bds.org http://mideasttruth.com
Do not worry about which side your bread is buttered on: you eat BOTH sides.



Re: macosx linking fails: _freea referenced from: _rpl_realpath

2019-06-25 Thread Sam Steingold
> * Bruno Haible  [2019-06-25 17:00:58 +0200]:
>
> Sam Steingold wrote:
>> I get this error when linking Emacs:
>> 
>> --8<---cut here---start->8---
>>   CCLD temacs
>> Undefined symbols for architecture x86_64:
>>   "_freea", referenced from:
>>   _rpl_realpath in libgnu.a(canonicalize-lgpl.o)
>> ld: symbol(s) not found for architecture x86_64
>> clang: error: linker command failed with exit code 1 (use -v to see 
>> invocation)
>> make[1]: *** [temacs] Error 1
>> --8<---cut here---end--->8---
>> 
>> I also reported this as https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36356
>> (https://lists.gnu.org/archive/html/bug-gnu-emacs/2019-06/msg01229.html)
>
> 1) After your latest "git pull" from emacs, have you done a "make distclean"
>followed by a reconfiguration?

no, I did "make bootstrap" which re-runs configure

> If you don't remember: Does the issue persist after a "make distclean"
> followed by a reconfiguration?

yes, I just did "make distclean; ../configure ...; make bootstrap" and
got the above error.

> 2) Which symbols does
>   nm lib/malloca.o
> show?

--8<---cut here---start->8---
$ find . -name \*alloc\*.o
./lib/allocator.o
./src/alloc.o
$ nm ./lib/allocator.o
 U _free
 U _malloc
 U _realloc
 S _stdlib_allocator
--8<---cut here---end--->8---



> If, as I would expect, it lists '_mmalloca' but not '_freea', it means
> that the macro HAVE_ALLOCA was defined in the compilation unit
> canonicalize-lgpl.c but not defined in the compilation unit malloca.c.
> Can you investigate why this is so? (Where is HAVE_ALLOCA defined? In
> config.h, I would guess. It is undefined somewhere? I would guess no.

right:
--8<---cut here---start->8---
./src/config.h:#define HAVE_ALLOCA 1
./src/config.h:#define HAVE_ALLOCA_H 1
--8<---cut here---end--->8---

> What are the preprocessor symbols that are defined [use "$CC -E
> -dM"] in the compilation unit canonicalize-lgpl.c, versus the
> compilation unit malloca.c?

--8<---cut here---start->8---
$ gcc -Isrc -I../src -E -dM ../lib/malloca.c > m
$ gcc -Isrc -I../src -E -dM ../lib/canonicalize-lgpl.c > c
$ diff -u m c|grep -i ^[-+].*alloc
+#define MAXALLOCSAVE (2 * CLBYTES)
+#define _PC_ALLOC_SIZE_MIN 16
$ diff -u m c|grep -i ^[-+].*free

--8<---cut here---end--->8---

However, I see no malloca.o in lib (where canonicalize-lgpl.o is found)
I wonder if there is some magic autoconf place where canonicalize-lgpl
is mentioned but malloca is not.

Thanks!

-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1671
http://childpsy.net http://calmchildstories.com http://steingoldpsychology.com
http://think-israel.org http://www.memritv.org https://jihadwatch.org
He who laughs last thinks slowest.



macosx linking fails: _freea referenced from: _rpl_realpath

2019-06-25 Thread Sam Steingold
Hi,
I get this error when linking Emacs:

--8<---cut here---start->8---
  CCLD temacs
Undefined symbols for architecture x86_64:
  "_freea", referenced from:
  _rpl_realpath in libgnu.a(canonicalize-lgpl.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [temacs] Error 1
--8<---cut here---end--->8---

I also reported this as https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36356
(https://lists.gnu.org/archive/html/bug-gnu-emacs/2019-06/msg01229.html)

Since this involves libgnu, I was wondering if someone here might have
an insight.

Thanks!

-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1671
http://childpsy.net http://calmchildstories.com http://steingoldpsychology.com
http://americancensorship.org http://mideasttruth.com
XML is like violence. If it doesn't solve the problem, use more.



no-c++.m4: bug fix: egrep: repetition-operator operand invalid

2017-12-05 Thread Sam Steingold
Hi,

On Darwin (Mac OS) the gt_NO_CXX test fails because "Is g++" is not a
valid repetition-operator operand.

The attached patch fixes the problem.

>From d5d949b838c7cf4adb0e6e615795003ac7b0f1c3 Mon Sep 17 00:00:00 2001
From: Sam Steingold <s...@gnu.org>
Date: Tue, 5 Dec 2017 11:02:33 -0500
Subject: [PATCH] Avoid the "egrep: repetition-operator operand invalid" error
 on Darwin

---
 m4/no-c++.m4 | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/m4/no-c++.m4 b/m4/no-c++.m4
index ed06b22b6..b2fa0184f 100644
--- a/m4/no-c++.m4
+++ b/m4/no-c++.m4
@@ -7,14 +7,14 @@ dnl with or without modifications, as long as this notice is preserved.
 # Support for C source files that cannot be compiled by a C++ compiler.
 # Set NO_CXX to the C++ compiler flags needed to request C mode instead of
 # C++ mode.
-# So far only g++ is supported.
+# So far only g++ and clang++ are supported.
 
 AC_DEFUN([gt_NO_CXX],
 [
   NO_CXX=
-  AC_EGREP_CPP([Is g++], [
+  AC_EGREP_CPP([Is c plus plus], [
 #if defined __GNUC__ && defined __cplusplus
-  Is g++
+  Is c plus plus
 #endif
 ],
 [NO_CXX="-x c"])
-- 
2.15.1


Thanks.

-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1504
http://steingoldpsychology.com http://www.childpsy.net
https://ffii.org http://no2bds.org https://jihadwatch.org http://camera.org
The world is coming to an end.  Please log off.


fnmatch does not compile with c++ (clang)

2016-08-29 Thread Sam Steingold
Hi,
fnmatch cannot be compiled using c++ on mac os x:

--8<---cut here---start->8---
g++ -DHAVE_CONFIG_H -I. -I../../src/gllib -I..  -I../intl 
-I/usr/local/include -I/usr/local/opt/readline/include  -W -Wswitch -Wcomment 
-Wpointer-arith -Wreturn-type -g -O0 -DDEBUG_OS_ERROR -DDEBUG_SPVW 
-DDEBUG_BYTECODE -DSAFETY=3 -DDEBUG_GCSAFETY -DUNIX_BINARY_DISTRIB 
-DENABLE_UNICODE -DNO_GETTEXT   -MT fnmatch.o -MD -MP -MF $depbase.Tpo -c -o 
fnmatch.o ../../src/gllib/fnmatch.c &&\
mv -f $depbase.Tpo $depbase.Po
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is 
deprecated
In file included from ../../src/gllib/fnmatch.c:172:
../../src/gllib/fnmatch_loop.c:152:20: error: assigning to 'const char *' from 
incompatible type 'void *'
  endp = MEMCHR (n, (flags & FNM_FILE_NAME) ? L_('/') : L_('\0'),
   ^ 
../../src/gllib/fnmatch_loop.c:205:27: error: expected unqualified-id
register bool not;
  ^
../../src/gllib/fnmatch_loop.c:222:17: error: expected expression
not = (*p == L_('!') || (posixly_correct < 0 && *p == L_('^')));
^
../../src/gllib/fnmatch_loop.c:223:20: error: expected expression
if (not)
   ^
../../src/gllib/fnmatch_loop.c:864:21: error: expected expression
if (!not)
^
../../src/gllib/fnmatch_loop.c:937:20: error: expected expression
if (not)
   ^
../../src/gllib/fnmatch_loop.c:269:29: error: cannot jump from this goto 
statement to its label
goto normal_bracket;
^
../../src/gllib/fnmatch_loop.c:424:26: note: jump bypasses variable 
initialization
bool is_range = false;
 ^
../../src/gllib/fnmatch_loop.c:238:21: error: cannot jump from this goto 
statement to its label
goto normal_bracket;
^
../../src/gllib/fnmatch_loop.c:424:26: note: jump bypasses variable 
initialization
bool is_range = false;
 ^
In file included from ../../src/gllib/fnmatch.c:269:
../../src/gllib/fnmatch_loop.c:205:27: error: expected unqualified-id
register bool not;
  ^
../../src/gllib/fnmatch_loop.c:222:17: error: expected expression
not = (*p == L_('!') || (posixly_correct < 0 && *p == L_('^')));
^
../../src/gllib/fnmatch_loop.c:223:20: error: expected expression
if (not)
   ^
../../src/gllib/fnmatch_loop.c:864:21: error: expected expression
if (!not)
^
../../src/gllib/fnmatch_loop.c:937:20: error: expected expression
if (not)
   ^
../../src/gllib/fnmatch_loop.c:269:29: error: cannot jump from this goto 
statement to its label
goto normal_bracket;
^
../../src/gllib/fnmatch_loop.c:424:26: note: jump bypasses variable 
initialization
bool is_range = false;
 ^
../../src/gllib/fnmatch_loop.c:238:21: error: cannot jump from this goto 
statement to its label
goto normal_bracket;
^
../../src/gllib/fnmatch_loop.c:424:26: note: jump bypasses variable 
initialization
bool is_range = false;
 ^
../../src/gllib/fnmatch.c:313:28: error: assigning to 'wchar_t *' from 
incompatible type 'void *'
  wpattern = malloc (totsize * sizeof (wchar_t));
   ^ ~~~
16 errors generated.
make[3]: *** [fnmatch.o] Error 1
--8<---cut here-------end--->8---

-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1404
http://www.childpsy.net/ http://camera.org http://www.memritv.org
http://iris.org.il http://dhimmi.org http://ffii.org
-Nervous?  -Yes!  -First time?  -No, I've been nervous before!



_GL_UNISTD_H _GL_INCLUDING_WINSOCK2_H

2011-08-25 Thread Sam Steingold
Hi,
gllib/unistd.h says:

#if 1  1 \
   !defined _GL_INCLUDING_WINSOCK2_H
# define _GL_INCLUDING_WINSOCK2_H
# include winsock2.h
# undef _GL_INCLUDING_WINSOCK2_H
#endif

#if !defined _GL_UNISTD_H  !defined _GL_INCLUDING_WINSOCK2_H
#define _GL_UNISTD_H

so when compiling with i686-pc-mingw32-gcc _GL_INCLUDING_WINSOCK2_H is
undef'ed and so _GL_UNISTD_H is __NOT__ defined thus I get

.../modules/rawsock/rawsock.c:691:3: warning: implicit declaration of function 
`close_used_without_including_unistd_h'

why?

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://openvotingconsortium.org http://truepeace.org http://www.memritv.org
http://mideasttruth.com http://ffii.org http://iris.org.il http://camera.org
What garlic is to food, insanity is to art.



Re: _GL_UNISTD_H _GL_INCLUDING_WINSOCK2_H

2011-08-25 Thread Sam Steingold
 * Sam Steingold f...@tah.bet [2011-08-25 12:09:34 -0400]:

 .../modules/rawsock/rawsock.c:691:3: warning: implicit declaration of
 function `close_used_without_including_unistd_h'

the immediate cause appears to be that I include unistd.h after some
other headers (specifically,

#include alloca.h
#include stdlib.h
#include sys/types.h
#include stdbool.h
#include windows.h

) and then it bails out.
are you sure this is right?!

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://jihadwatch.org http://ffii.org http://mideasttruth.com
http://iris.org.il http://truepeace.org http://www.PetitionOnline.com/tap12009/
If you're being passed on the right, you're in the wrong lane.



Re: canonicalize_file_name should support win32 shortcuts

2011-08-23 Thread Sam Steingold
 * Bruno Haible oe...@pyvfc.bet [2011-08-14 14:51:55 +0200]:

 Sam, if 'canonicalize' gets this support, would you be willing to use
 'canonicalize'

Let me reiterate that the size of canonicalize is plain absurd:
https://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00143.html.
150+ files to implement a single function which takes ~160 lines of C code.
These files includes things like hash.c and fchownat.c (why?!)
as well as __BOTH__ malloc.c and xmalloc.c.

 instead of 'canonicalize-lgpl' in clisp?

For the record, I am _not_ using `canonicalize-lgpl'.

I have been reluctant to pull this code bloat into clisp so far,
but if it does provide a clear advantage of handling cygwin symlinks on
pure win32 builds, I will reconsider.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://openvotingconsortium.org http://www.PetitionOnline.com/tap12009/
http://www.memritv.org http://memri.org http://camera.org
Single tasking: Just Say No.



Re: canonicalize_file_name should support win32 shortcuts

2011-08-23 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-08-23 08:03:02 -0600]:

 On 08/23/2011 07:56 AM, Sam Steingold wrote:
 Let me reiterate that the size of canonicalize is plain absurd:
 https://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00143.html.
 150+ files to implement a single function which takes ~160 lines of C code.
 These files includes things like hash.c and fchownat.c (why?!)

 hash.c in order to properly detect ELOOP, which must be done as part of
 an unlimited-depth link following algorithm.  (If we didn't have the GNU
 mantra of no arbitrary limits, then we could declare ELOOP at
 SYMLOOP_MAX instead.)

ELOOP at SYMLOOP_MAX sounds good to me.
Please note that gnulib's mandate (as far as _I_ understand it) is
to turn a random system into a POSIX system, not a GNU system.
Please provide a separate module when you want to follow the GNU mantra,
like you do with fnmatch.

Thanks!

 fchownat.c because the openat module has too many functions.

I would say that all the f* (i.e., using FILE*) files are an overkill.

 Anyone willing to split openat into multiple modules, one per
 function, more like other gnulib modules?

Please!

 as well as __BOTH__ malloc.c and xmalloc.c.

 Depending on xmalloc is probably overkill - having a version of
 canonicalize that returns NULL with ENOMEM instead of abort()ing would
 indeed be nicer.  Anyone willing to contribute patches to break that
 part of the dependency chain()

Please!

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://pmw.org.il http://iris.org.il http://ffii.org http://honestreporting.com
http://www.PetitionOnline.com/tap12009/ http://openvotingconsortium.org
(let((a'(list'let(list(list'a(list'quote a)))a)))`(let((a(quote ,a))),a))



Re: canonicalize_file_name should support win32 shortcuts

2011-08-23 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-08-23 08:46:00 -0600]:

 On 08/23/2011 08:41 AM, Sam Steingold wrote:
 * Eric Blakeroy...@erqung.pbz  [2011-08-23 08:03:02 -0600]:

 On 08/23/2011 07:56 AM, Sam Steingold wrote:
 Let me reiterate that the size of canonicalize is plain absurd:
 https://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00143.html.
 150+ files to implement a single function which takes ~160 lines of C code.
 These files includes things like hash.c and fchownat.c (why?!)

 hash.c in order to properly detect ELOOP, which must be done as part of
 an unlimited-depth link following algorithm.  (If we didn't have the GNU
 mantra of no arbitrary limits, then we could declare ELOOP at
 SYMLOOP_MAX instead.)

 ELOOP at SYMLOOP_MAX sounds good to me.

 Does Hurd have SYMLOOP_MAX?  If so, then yes, that would be a reasonable
 change.  If not, then how do you propose implementing canonicalize on
 Hurd, without imposing a limit not already present by the system?

Are you saying that you want to replace realpath on a GNU system?
Are you trying to be holier than the pope?

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://camera.org http://jihadwatch.org http://memri.org
http://palestinefacts.org http://thereligionofpeace.com http://iris.org.il
main(a){a=main(a){a=%c%s%c;printf(a,34,a,34);};printf(a,34,a,34);}



Re: canonicalize_file_name should support win32 shortcuts

2011-08-23 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-08-23 10:35:52 -0600]:

 On 08/23/2011 10:28 AM, Sam Steingold wrote:
 Does Hurd have SYMLOOP_MAX?  If so, then yes, that would be a reasonable
 change.  If not, then how do you propose implementing canonicalize on
 Hurd, without imposing a limit not already present by the system?

 Are you saying that you want to replace realpath on a GNU system?

 Have you read the canonicalize module?  It does _not_ provide
 canonicalize() (which is a thin wrapper around realpath(), but which is
 inherently limited in what it can do), but a broader API
 canonicalize_filename_mode(const char *name, canonicalize_mode_t mode),
 where the extra argument mode allows you to canonicalize whether a file
 name can be created (all its parents exist), or even to canonicalize
 what exists but leave the suffix intact (multiple parents still need
 creation).  That is, there is no libc functions that do what we want in
 a single blow, not even realpath(), so we have to do a lot of work to
 get the extended functionality, all of which is useful in coreutils'
 realpath(1).

I see. So, the canonicalize module is an extension, not a
portability module, i.e., it offers new non-posix functionality
instead of making sure that the weird platforms conform to posix.
Thanks for explaining.

 ... enhanced with gpl code to parse symlinks left by cygwin even when
 running as a non-cygwin native windows program.  But why?  Windows
 doesn't have symlinks, and cygwin is free to change its symlink
 emulation in the future.  Does it really make sense to teach
 non-cygwin programs about cygwin file formats?

First of all, newer windows do have symlinks.
Second, canonicalize is already an extension module, so why not extend
it to work well with a popular extension of a popular platform? :-)

 Maybe we should rename the canonicalize module to instead be
 canonicalize_filename_mode, since it does _not_ provide canonicalize()
 (well, canonicalize_filename_mode(file, CAN_EXISTING) is identical to
 canonicalize(), but the other modes are what introduce the baggage).

yes, I think there should be a very minimalist realpath module whose job
is to provide the posix realpath with minimum dependencies (well,
minimum dependencies is my constant mantra, applicable to extension
modules just as much as to portability ones).

Thanks.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://thereligionofpeace.com http://camera.org
http://dhimmi.com http://memri.org http://truepeace.org
Be sure brain is in gear before engaging mouth.



Re: canonicalize_file_name should support win32 shortcuts

2011-08-23 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-08-23 11:47:57 -0600]:

 On 08/23/2011 11:31 AM, Sam Steingold wrote:

 Maybe we should rename the canonicalize module to instead be
 canonicalize_filename_mode, since it does _not_ provide canonicalize()
 (well, canonicalize_filename_mode(file, CAN_EXISTING) is identical to
 canonicalize(), but the other modes are what introduce the baggage).

 yes, I think there should be a very minimalist realpath module whose job
 is to provide the posix realpath with minimum dependencies (well,
 minimum dependencies is my constant mantra, applicable to extension
 modules just as much as to portability ones).

 canonicalize-lgpl _is_ the minimalize realpath()/canonicalize()
 module.

http://article.gmane.org/gmane.comp.lib.gnulib.bugs:26452

Indeed, much better:

$ wc `hg st -u | cut -c2-`
  378  1324 10439 src/gllib/canonicalize-lgpl.c
   53   261  2011 src/gllib/dosname.h
   91   490  3191 src/gllib/lstat.c
   48   227  1525 src/gllib/pathmax.h
   74   347  2355 src/gllib/readlink.c
  105   458  3425 src/gllib/stat.c
  658  2489 18324 src/gllib/sys_stat.in.h
  249  1093  9223 src/gllib/time.in.h
   94   274  2986 src/glm4/canonicalize.m4
   38   212  1621 src/glm4/double-slash-root.m4
   69   274  2652 src/glm4/lstat.m4
   1355   441 src/glm4/pathmax.m4
   62   210  2218 src/glm4/readlink.m4
   66   250  2436 src/glm4/stat.m4
   82   259  3278 src/glm4/sys_stat_h.m4
  109   305  4247 src/glm4/time_h.m4
 2189  8528 70372 total

Still I get 2000+ lines to replace 200- lines I have.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://www.memritv.org http://mideasttruth.com
http://openvotingconsortium.org http://ffii.org http://dhimmi.com
Why do you never call me back after I scream that I will never talk to you 
again?!



Re: canonicalize_file_name should support win32 shortcuts

2011-08-14 Thread Sam Steingold
On Sun, Aug 14, 2011 at 8:51 AM, Bruno Haible br...@clisp.org wrote:

 Sam, if 'canonicalize' gets this support, would you be willing to use
 'canonicalize' instead of 'canonicalize-lgpl' in clisp?

yes.

-- 
Sam Steingold http://sds.podval.org



Re: canonicalize_file_name should support win32 shortcuts

2011-08-13 Thread Sam Steingold
Hi Bruno,

On Sat, Aug 13, 2011 at 1:52 PM, Bruno Haible br...@clisp.org wrote:

 The feature request is a bit odd, because it mixes the notion of
 native Windows and Cygwin. Cygwin is a platform that runs inside Windows.
 When you build mingw programs, and redistribute them, they are meant to
 run in a native Windows environment, in which no Cygwin symlinks exist.

I have not seen a windows machine without cygwin for longer than it
took me to install it.
CLISP understands those /cygdrive/c/autoexec.bat pathnames just
fine, and understanding symlinks is just another step forward.

 Other non-Cygwin applications don't understand Cygwin symlinks either.

Emacs understands the cygdrive pathnames and I am sure it will
appreciate an opportunity to understand symlinks as well.

-- 
Sam Steingold http://sds.podval.org



rpl_socket on windows

2011-08-12 Thread Sam Steingold
with clisp built with the latest gnulib:
(defparameter *server* (socket-server))
- success, rpl_socket (domain=2, type=1, protocol=0) is called.
(socket-connect (socket-server-port *server*) localhost :timeout 0)
failure the same rpl_socket (domain=2, type=1, protocol=0) is called:
*** - POSIX library error 0: No error

[4] (socket-connect (socket-server-port *server*) localhost :timeout 0)

Breakpoint 18, 0x0055ec4a in rpl_socket (domain=2, type=1, protocol=0)
at ../../src/gllib/w32sock.h:58
58errno = (err  1  err  10025) ? err - 1 : err;
(gdb) s
0x00560f1d in gl_sockets_startup (version=257) at ../../src/gllib/w32sock.h:58
58errno = (err  1  err  10025) ? err - 1 : err;
(gdb) finish
Run till exit from #0  0x00560f1d in gl_sockets_startup (version=257)
at ../../src/gllib/w32sock.h:58
0x0055ec56 in rpl_socket (domain=2, type=1, protocol=0)
at ../../src/gllib/w32sock.h:58
58errno = (err  1  err  10025) ? err - 1 : err;
Value returned is $6 = 0
(gdb) s
0x004f571a in ANSIC_error () at ../src/lispbibl.d:14619
14619 if (!symbolp(obj))

for some reason gdb seems not to be working properly.
clisp (and gnulib) was compiled with i686-w64-mingw32-gcc.
CYGWIN_NT-5.2-WOW64 sds 1.7.9(0.237/5/3) 2011-03-29 10:10 i686 Cygwin

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://camera.org http://jihadwatch.org http://mideasttruth.com
http://memri.org http://ffii.org http://honestreporting.com http://pmw.org.il
Heck is a place for people who don't believe in gosh.



REPLACE_TOWLOWER='1'

2011-08-01 Thread Sam Steingold
why is tolower replaced on linux?
-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://iris.org.il http://palestinefacts.org http://honestreporting.com
http://thereligionofpeace.com http://www.PetitionOnline.com/tap12009/
Why use Windows, when there are Doors?



Re: top_srcdir in Makefile.am Makefile.in

2011-08-01 Thread Sam Steingold
 * Bruno Haible oe...@pyvfc.bet [2011-07-30 02:20:08 +0200]:

 Sam Steingold wrote:
 clisp directory structure is:
 clisp - top level; hand-written configure script (ask Bruno)
 clisp/src - most sources, configure.in, configure, aclocal.m4
 clisp/src/gllib, clisp/src/glm4 - imported from gnulib
 clisp/src/build-aux - imported from many places, mostly gnulib

 So, in clisp, $(top_srcdir) ought to be clisp/src.

thanks.

 You can get in trouble here if you use fake configure.ac / configure
 file that are present at the moment 'automake' is run but are removed
 afterwards.

I get the exact same files if I run aclocal on clisp/src/configure.ac as
on clisp/configure.ac.

 $ grep top_srcdir src/gllib/Makefile.am
 appears to indicate that top_srcdir should point to clisp.

 Maybe this is related to this hack in clisp/Makefile.devel:

 src/gllib/Makefile.in : src/gllib/Makefile.am src/configure.in src/aclocal.m4
 cd src  automake gllib/Makefile  \
 sed -i -e 
 's,$$(top_srcdir)/src/build-aux,$$(CLISP_LIBDIR)/build-aux,' \
   -e 's,$$(top_srcdir)/$$cl_cv_clisp_libdir,$$(CLISP_LIBDIR),' \
 gllib/Makefile.in

you are out of date, the current hack is

src/gllib/Makefile.in : src/gllib/Makefile.am src/configure.in src/aclocal.m4
cd src  automake --gnits gllib/Makefile  \
sed -i -e 's,$$(top_srcdir)/src/build-aux,$$(top_srcdir)/build-aux,' \
gllib/Makefile.in

(whose intent you should approve of)

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://pmw.org.il http://palestinefacts.org http://ffii.org
http://thereligionofpeace.com http://openvotingconsortium.org http://memri.org
The difference between theory and practice is that in theory there isn't any.



Re: REPLACE_TOWLOWER='1'

2011-08-01 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-08-01 09:00:07 -0600]:
 On 08/01/2011 08:56 AM, Sam Steingold wrote:
 why is tolower replaced on linux?

 Did you mean towlower rather than tolower?

towlower, sorry

 What does config.log say?

configure:29272: checking whether towlower is declared
configure:29272: gcc -c   conftest.c 5
configure:29272: $? = 0
configure:29272: result: yes

| #define HAVE_DECL_TOWLOWER 1

ac_cv_have_decl_towlower=yes

REPLACE_TOWLOWER='1'

these are the only mentions of towlower in config.log

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://truepeace.org http://palestinefacts.org http://iris.org.il
http://ffii.org http://thereligionofpeace.com http://jihadwatch.org
20% of people do 80% of work; also 80% of people think they are in those 20%.



Re: regex.m4: how do I know that the included regex is used?

2011-07-29 Thread Sam Steingold
 * Bruno Haible oe...@pyvfc.bet [2011-07-29 01:39:59 +0200]:

 At any rate, if gnulib regex is included in libgnu.a, then regex.h
 should be copied (or linked) to $(builddir) or $(builddir)/gllib.
 The current situation is clearly wrong: regex is the only gnulib package
 which requires prepending -I$(srcdir)/gllib to CPPFLAGS!

 It is the package's responsibility to be consistent about $(builddir)
 vs. $(srcdir). Don't use
-I$(srcdir)/gllib
 or
-I$(builddir)/gllib
 in isolation. Always use
-I$(builddir)/gllib -I$(srcdir)/gllib
 so that -I options that come before it take precedence, -I options that come
 after have lower precedence, and files in $(builddir)/gllib hide possible
 (accidentally leftover) files in $(srcdir)/gllib.

well, instead of adding -I$(srcdir)/gllib, I symlink (shudder!!!) the
necessary headers into -I$(builddir):
in makemake.in:

GLLIB_MODULE_HEADERS=regex.h
for f in localcharset.h ${GLLIB_MODULE_HEADERS} ${UNICODE_EXTRA}; do
  link_dep ${f} `find ${SRCDIR}gllib/ -name ${f}`
done

which results in

regex.h : ../src/gllib/regex.h
-$(RM) regex.h
-$(LN_S) ../src/gllib/regex.h regex.h

streq.h : ../src/gllib/streq.h
-$(RM) streq.h
-$(LN_S) ../src/gllib/streq.h streq.h

cjk.h : ../src/gllib/uniwidth/cjk.h
-$(RM) cjk.h
-$(LN_S) ../src/gllib/uniwidth/cjk.h cjk.h

uninames.h : ../src/gllib/uniname/uninames.h
-$(RM) uninames.h
-$(LN_S) ../src/gllib/uniname/uninames.h uninames.h

the reason I cannot do -I$(srcdir)/gllib is clear: it will not catch
uninames.h  cjk.h.
on the other hand, it does not look like streq.h, uninames.h and cjk.h
are included in any clisp sources (only in gnulib).

so, I guess TRT is to remove the linking and add -I$(srcdir)/gllib to CPPFLAGS..

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://iris.org.il http://honestreporting.com http://openvotingconsortium.org
http://mideasttruth.com http://www.PetitionOnline.com/tap12009/ http://ffii.org
A man paints with his brains and not with his hands.



top_srcdir in Makefile.am Makefile.in

2011-07-29 Thread Sam Steingold
Hi,
clisp directory structure is:
clisp - top level; hand-written configure script (ask Bruno)
clisp/src - most sources, configure.in, configure, aclocal.m4
clisp/src/gllib, clisp/src/glm4 - imported from gnulib
clisp/src/build-aux - imported from many places, mostly gnulib

$ grep top_srcdir src/gllib/Makefile.am
appears to indicate that top_srcdir should point to clisp.
however,
$ cd src  automake gllib/Makefile  cd ..
$ grep top_srcdir src/gllib/Makefile.in
has these:
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
echo ' cd $(top_srcdir)  $(AUTOMAKE) --gnits gllib/Makefile'; \

how come?!

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://www.memritv.org http://honestreporting.com http://ffii.org
http://truepeace.org http://mideasttruth.com http://palestinefacts.org
Someone has changed your life.  Save? (y/n)



Re: top_srcdir in Makefile.am Makefile.in

2011-07-29 Thread Sam Steingold
A related issue is this section of gllib/Makefile.in

$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
@for dep in $?; do \
  case '$(am__configure_deps)' in \
*$$dep*) \
  ( cd $(top_builddir)  $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
 { if test -f $@; then exit 0; else break; fi; }; \
  exit 1;; \
  esac; \
done; \
echo ' cd $(top_srcdir)  $(AUTOMAKE) --gnits gllib/Makefile'; \
$(am__cd) $(top_srcdir)  \
  $(AUTOMAKE) --gnits gllib/Makefile

the penultimate line must be

$(am__cd) $(top_srcdir)/src  \

how do I effect that?

 * Sam Steingold f...@tah.bet [2011-07-29 14:16:46 -0400]:

 clisp directory structure is:
 clisp - top level; hand-written configure script (ask Bruno)
 clisp/src - most sources, configure.in, configure, aclocal.m4
 clisp/src/gllib, clisp/src/glm4 - imported from gnulib
 clisp/src/build-aux - imported from many places, mostly gnulib

 $ grep top_srcdir src/gllib/Makefile.am
 appears to indicate that top_srcdir should point to clisp.
 however,
 $ cd src  automake gllib/Makefile  cd ..
 $ grep top_srcdir src/gllib/Makefile.in
 has these:
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/configure.in
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
 echo ' cd $(top_srcdir)  $(AUTOMAKE) --gnits gllib/Makefile'; \

 how come?!

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://truepeace.org http://www.memritv.org http://memri.org http://iris.org.il
http://openvotingconsortium.org http://www.PetitionOnline.com/tap12009/
A clear conscience is usually the sign of a bad memory.



Re: regex.m4: how do I know that the included regex is used?

2011-07-28 Thread Sam Steingold
 * Paolo Bonzini obam...@tah.bet [2011-07-28 12:15:38 +0200]:

 On 07/27/2011 05:11 PM, Sam Steingold wrote:
 When the included regex is used I must prepend -I$(srcdir)/gllib to
 CPPFLAGS to ensure that the gnulib regex.h is included in the sources.
 (when this is not the case, I_must_  not do that!)
   ^^

 This is not true AFAIK.

If I prepend -I$(srcdir)/gllib to CPPFLAFS, then

#include regex.h

will read the gnulib header, not the system header.
How can you be sure that this will not lead to any problems given that
the libgnu.a does _not_ include regex.o?
If course, you can claim that, if gnulib regex.h were incompatible with
the system one, then configure would have detected that and included
gnulib regex in libgnu.a.
In that case, why the file fnmatch.in.h not called fnmatch.h?
At any rate, if gnulib regex is included in libgnu.a, then regex.h
should be copied (or linked) to $(builddir) or $(builddir)/gllib.
The current situation is clearly wrong: regex is the only gnulib package
which requires prepending -I$(srcdir)/gllib to CPPFLAFS!

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://mideasttruth.com http://memri.org http://dhimmi.com http://truepeace.org
http://www.PetitionOnline.com/tap12009/ http://camera.org
MS Windows: error: the operation completed successfully.



Re: regex.m4: how do I know that the included regex is used?

2011-07-28 Thread Sam Steingold
 * Paolo Bonzini obam...@tah.bet [2011-07-28 16:54:12 +0200]:

 The current situation is ugly---apart from the inconsistency in syntax
 definitions, there is no reason indeed why regex shouldn't use
 regex.in.h too, and no reason why it should require prepending
 -I$(srcdir)/gllib to CPPFLAGS.

Is it going to be fixed?  I need to decide whether I must commit the
prepending -I$(srcdir)/gllib to CPPFLAGS hack or wait for a gnulib fix.
Thanks.

 But it is not true that regex requires different CPPFLAGS depending on
 whether the included regex is used.

OK, I will take your word for that and redirect the future bug reports
(if any) to you.  Thanks. :-)

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://dhimmi.com http://pmw.org.il http://ffii.org http://camera.org
http://www.PetitionOnline.com/tap12009/ http://thereligionofpeace.com
recursion, n: See recursion.



how do I build libgnu.so?

2011-07-28 Thread Sam Steingold
Hi,
Make in gllib creates libgnu.a but not libgnu.so (or libgnu.dll).
How do I create the shared library?
Thanks!

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://mideasttruth.com http://thereligionofpeace.com http://pmw.org.il
http://ffii.org http://www.PetitionOnline.com/tap12009/
Bus error -- driver executed.



Re: new module 'stdalign'

2011-07-28 Thread Sam Steingold
Hi Bruno,

On Thu, Jul 28, 2011 at 7:47 PM, Bruno Haible br...@clisp.org wrote:
 For alignof, whether you want to use gnulib's alignof.h depends on what you
 need - the necessary alignment and the optimal alignment.

so, what does clisp need?

-- 
Sam Steingold http://sds.podval.org



regex.m4: how do I know that the included regex is used?

2011-07-27 Thread Sam Steingold
Hi,
When the included regex is used I must prepend -I$(srcdir)/gllib to
CPPFLAGS to ensure that the gnulib regex.h is included in the sources.
(when this is not the case, I _must_ not do that!)
This raises 2 questions:

1. how do I know elsewhere in the configuration process that the
   included regex is used? the authoritative variable is
   ac_use_included_regex, but it is not cached, so sub-configures cannot
   access it.

2. what if there is some other gnulib package xeger with the same modus
   operandi? (i.e., if xeger is used, I must prepend -I$(srcdir)/gllib
   to CPPFLAGS and if it is not, I must not).
   what if regex IS used but xeger is NOT?

I propose that regex.h is replaced with regex.in.h just like
fnmatch.in.h (which has no @@ either).  This would solve the problem
without any action from the users of gnulib.

Thanks.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://openvotingconsortium.org http://ffii.org http://truepeace.org
http://camera.org http://thereligionofpeace.com http://www.memritv.org
Bus error -- please leave by the rear door.



Re: new module 'stdalign'

2011-07-27 Thread Sam Steingold
Hi Bruno,
1. There is already alignof module - is this a replacement?
2. alignof.h uses offsetof macro - where is it defined?
3. clisp/src/lispbibl.d defines offsetof, offsetofa, alignof - which
   gnulib modules should they be imported from? (or should I just leave
   them defined in clisp?)
-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://thereligionofpeace.com http://jihadwatch.org http://dhimmi.com
http://honestreporting.com http://camera.org http://iris.org.il
Oral sex was invented by mermaids.



Re: canonicalize_file_name should support win32 shortcuts

2011-07-27 Thread Sam Steingold
 * Sam Steingold f...@tah.bet [2011-05-17 14:11:54 -0400]:

 it appears that neither canonicalize nor canonicalize-lgpl support win32
 shortcuts (either used directly or as used by cygwin).
 it would be nice if they did - then we would be able to use
 canonicalize-lgpl in clisp.

 now clisp uses file w32shell.c:
 http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/raw-file/363f5b952505/src/w32shell.c
 which works like a charm for us.
 it would be wonderful if we could shift the burden of maintaining it to you.

Alas, clisp only supports the *.lnk style cygwin symlinks, not the now
default cookie style.
You will need to extract parts of winsup/cygwin/path.cc to support both styles.
My feature request still stands.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://ffii.org http://www.memritv.org http://pmw.org.il http://dhimmi.com
http://openvotingconsortium.org http://thereligionofpeace.com
Takeoffs are optional.  Landings are mandatory.



undefined reference when linking a dll

2011-07-27 Thread Sam Steingold
/sds/src/clisp/current/modules/rawsock/rawsock.c:1267: undefined 
reference to `_rpl_getsockopt'
/cygdrive/c/sds/src/clisp/current/modules/rawsock/rawsock.c:1275: undefined 
reference to `_rpl_getsockopt'
rawsock.o: In function `set_sock_opt':
/cygdrive/c/sds/src/clisp/current/modules/rawsock/rawsock.c:1356: undefined 
reference to `_rpl_setsockopt'
/cygdrive/c/sds/src/clisp/current/modules/rawsock/rawsock.c:1375: undefined 
reference to `_rpl_setsockopt'
/cygdrive/c/sds/src/clisp/current/modules/rawsock/rawsock.c:1378: undefined 
reference to `_rpl_setsockopt'
/cygdrive/c/sds/src/clisp/current/modules/rawsock/rawsock.c:1382: undefined 
reference to `_rpl_setsockopt'
/cygdrive/c/sds/src/clisp/current/modules/rawsock/rawsock.c:1393: undefined 
reference to `_rpl_setsockopt'
collect2: ld returned 1 exit status
./clisp-link: failed in /cygdrive/c/sds/src/clisp/current/build-mingw-g/full
make: *** [full] Error 1

$ nm libgnu.a | grep rpl_setsockopt
00c8 T _rpl_setsockopt
$ nm lisp.exe | grep rpl_setsockopt
0055dfbc T _rpl_setsockopt
$ grep rpl_setsockopt lisp.def
lisp.exe._rpl_setsockopt

this is despite lisp.exe._rpl_setsockopt et al being present in
lisp.def IMPORTS section.
note that all the other (non-gnulib) symbols in lisp.exe mentioned in
rawsock.o link just fine, e.g.:

asciz_to_string
$ nm rawsock/rawsock.o | grep asciz_to_string
 U __imp__asciz_to_string
$ nm lisp.exe | grep asciz_to_string
0044731c T _asciz_to_string
$ grep asciz_to_string lisp.def
lisp.exe.asciz_to_string

and there are no errors about asciz_to_string.

this is because asciz_to_string is declared with __declspec(dllexport)
where it is defined.
there seems to be no way to add such a declaration to the rpl_setsockopt
et al.

if, instead, I add libgnu.a to the command line, I get

libgnu.a(sendto.o): In function `rpl_sendto':
/cygdrive/c/sds/src/clisp/current/build-mingw-g/gllib/../../src/gllib/sendto.c:36:
 undefined reference to `__imp__sendto@24'

so, how do I create a dll which refers to the gnulib functionality?

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://www.PetitionOnline.com/tap12009/ http://iris.org.il http://dhimmi.com
http://www.memritv.org http://openvotingconsortium.org http://camera.org
Two wrongs don't make a right, but three rights make a left.



Re: HAVE_RELIABLE_FIONREAD ioctl

2011-07-21 Thread Sam Steingold
: declaration of C function 'int ioctl(int, unsigned int, 
void*)' conflicts with
/usr/include/sys/ioctl.h:42: error: previous declaration 'int ioctl(int, long 
unsigned int, ...)' here
configure:36267: $? = 1
configure:36267: g++ -c  -I/home/sds/src/top/include conftest.c 5
conftest.c:471: error: declaration of C function 'int ioctl(int, int, void*)' 
conflicts with
/usr/include/sys/ioctl.h:42: error: previous declaration 'int ioctl(int, long 
unsigned int, ...)' here
configure:36267: $? = 1
configure:36267: g++ -c  -I/home/sds/src/top/include conftest.c 5
conftest.c:471: error: declaration of C function 'int ioctl(int, long unsigned 
int, void*)' conflicts with
/usr/include/sys/ioctl.h:42: error: previous declaration 'int ioctl(int, long 
unsigned int, ...)' here
configure:36267: $? = 1
configure:36267: g++ -c  -I/home/sds/src/top/include conftest.c 5
conftest.c:471: error: declaration of C function 'int ioctl(int, long int, 
void*)' conflicts with
/usr/include/sys/ioctl.h:42: error: previous declaration 'int ioctl(int, long 
unsigned int, ...)' here
configure:36267: $? = 1
configure:36267: g++ -c  -I/home/sds/src/top/include conftest.c 5
conftest.c:471: error: declaration of C function 'int ioctl(int, size_t, 
void*)' conflicts with
/usr/include/sys/ioctl.h:42: error: previous declaration 'int ioctl(int, long 
unsigned int, ...)' here
configure:36267: $? = 1
configure:36267: g++ -c  -I/home/sds/src/top/include conftest.c 5
conftest.c:471: error: declaration of C function 'int ioctl(int, socklen_t, 
void*)' conflicts with
/usr/include/sys/ioctl.h:42: error: previous declaration 'int ioctl(int, long 
unsigned int, ...)' here
configure:36267: $? = 1
configure:36267: g++ -c  -I/home/sds/src/top/include conftest.c 5
conftest.c:471: error: declaration of C function 'int ioctl(int, unsigned int, .
..)' conflicts with
/usr/include/sys/ioctl.h:42: error: previous declaration 'int ioctl(int, long 
unsigned int, ...)' here
configure:36267: $? = 1
configure:36267: g++ -c  -I/home/sds/src/top/include conftest.c 5
conftest.c:471: error: declaration of C function 'int ioctl(int, int, ...)' 
conflicts with
/usr/include/sys/ioctl.h:42: error: previous declaration 'int ioctl(int, long 
unsigned int, ...)' here
configure:36267: $? = 1
configure:36267: g++ -c  -I/home/sds/src/top/include conftest.c 5
configure:36267: $? = 0
configure:36296: result: extern int ioctl (int, unsigned long, ...);

$ grep IOCTL config.h
#define GNULIB_TEST_IOCTL 1
#define HAVE_IOCTL 1
#define HAVE_RAW_DECL_IOCTL 1
#define HAVE_SYS_IOCTL_H 1
/* #undef IOCTL_ARGUMENT_T */
#define IOCTL_DOTS /**/
#define IOCTL_REQUEST_T unsigned long
#define NEED_SYS_IOCTL_H /**/
#define WINSIZE_NEED_SYS_IOCTL_H /**/


-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://truepeace.org http://dhimmi.com http://www.memritv.org
http://jihadwatch.org http://memri.org http://camera.org
Press any key to continue or any other key to quit.



Re: HAVE_RELIABLE_FIONREAD ioctl

2011-07-21 Thread Sam Steingold
 * Bruno Haible oe...@pyvfc.bet [2011-07-22 00:18:04 +0200]:

 -extern DIR *fdopendir (int);
 +extern
 +# ifdef __cplusplus
 +C
 +# endif
 +DIR *fdopendir (int);

that's pretty awful.
maybe there is a way to use the m4 magic to avoid replacing 1 line with 5?

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://memri.org http://www.PetitionOnline.com/tap12009/ http://dhimmi.com
http://camera.org http://mideasttruth.com http://honestreporting.com
DRM access management == prison freedom management.



Re: HAVE_LC_MESSAGES

2011-07-19 Thread Sam Steingold
 * Sam Steingold f...@tah.bet [2011-07-14 17:57:10 -0400]:

 * Bruno Haible oe...@pyvfc.bet [2011-07-14 23:18:41 +0200]:

 Sam Steingold asked:
 Does clisp need to know whether LC_MESSAGES is supported by the system,
 or is a fake one defined by libintl or gnulib.
 ...
  No, this is not needed: gettext's libintl.h already defines LC_MESSAGES 
  when
  needed, and clisp uses libintl.h.
 
 CLISP includes libintl.h only if ENABLE_NLS is defined (i.e., when
 gettext is present).
 It uses HAVE_LC_MESSAGES in spvw_ctype.d:init_ctype which is called
 unconditionally in spvw.d.
 I.e., on platforms without gettext where LC_MESSAGES is not defined
 init_ctype is still called and its call
 
   setlocale(LC_MESSAGES,);
 
 must be guarded by either #if HAVE_LC_MESSAGES or #ifdef LC_MESSAGES.

 By looking at the clisp code history:
   $ hg annotate -r 11858 spvw_ctype.d
   $ hg diff -r 3562 -r 3563
 I think the point was to allow the setlocale() call to be enabled even on
 platforms where locale.h does not have LC_MESSAGES (namely, native 
 Windows).
 The macro HAVE_LC_MESSAGES means
   - on Unix platforms, that LC_MESSAGES was found in locale.h,
   - on Windows platforms, that gettext is in use (always).

 what are the benefits of this very complex approach (autoconf, win32 c c)
 over a simple ifdef LC_MESSAGES?

 I think you can remove the #if because all Unix platforms nowadays have
 LC_MESSAGES.

 what about windows without gettext?

also, can I now remove gt_LC_MESSAGES from configure.in?

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://www.memritv.org http://openvotingconsortium.org
http://truepeace.org http://iris.org.il http://camera.org http://ffii.org
If at first you don't suck seed, try and suck another seed.



strerror_r replaced on linux?

2011-07-19 Thread Sam Steingold
Hi,

./config.log:REPLACE_STRERROR_R='1'

why do I see this on
Linux 2.6.18-238.9.1.el5
gcc (GCC) 4.1.2 20080704
glibc-2.5-58.el5_6.3

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://www.memritv.org http://iris.org.il http://dhimmi.com
http://ffii.org http://palestinefacts.org http://camera.org
A man paints with his brains and not with his hands.



unistd sys/socket

2011-07-14 Thread Sam Steingold
Hi,
in what order do I include sys/socket and unistd?
sys_socket.in.h:
#if @HAVE_WINSOCK2_H@  !defined _GL_UNISTD_H
# if !(defined __cplusplus  defined GNULIB_NAMESPACE)
#  undef close
#  define close close_used_without_including_unistd_h
# else
   _GL_WARN_ON_USE (close,
close() used without including unistd.h);
# endif
#endif

so, on windows, I must include unistd before sys/socket, otherwise close
will not work.

otoh:
unistd.in.h:
#if @GNULIB_GETHOSTNAME@
/* Get all possible declarations of gethostname().  */
# if @UNISTD_H_HAVE_WINSOCK2_H@
#  if !defined _GL_SYS_SOCKET_H
#   if !(defined __cplusplus  defined GNULIB_NAMESPACE)
#undef socket
#define socket  socket_used_without_including_sys_socket_h

so I must include sys/socket before unistd, otherwise socket (and many
others) will not work.

so, what is the right order?

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://camera.org http://openvotingconsortium.org http://mideasttruth.com
http://iris.org.il http://pmw.org.il http://www.memritv.org
Lisp: it's here to save your butt.



Re: unistd sys/socket

2011-07-14 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-07-14 07:43:40 -0600]:

 On 07/14/2011 07:37 AM, Sam Steingold wrote:
 Hi,
 in what order do I include sys/socket and unistd?
 sys_socket.in.h:
 #if @HAVE_WINSOCK2_H@  !defined _GL_UNISTD_H
 # if !(defined __cplusplus  defined GNULIB_NAMESPACE)
 #  undef close
 #  define close close_used_without_including_unistd_h
 # else
_GL_WARN_ON_USE (close,
 close() used without including unistd.h);
 # endif
 #endif
 
 so, on windows, I must include unistd before sys/socket, otherwise close
 will not work.
 
 otoh:
 unistd.in.h:
 #if @GNULIB_GETHOSTNAME@
 /* Get all possible declarations of gethostname().  */
 # if @UNISTD_H_HAVE_WINSOCK2_H@
 #  if !defined _GL_SYS_SOCKET_H
 #   if !(defined __cplusplus  defined GNULIB_NAMESPACE)
 #undef socket
 #define socket  socket_used_without_including_sys_socket_h
 
 so I must include sys/socket before unistd, otherwise socket (and many
 others) will not work.
 
 so, what is the right order?

 Do you have an actual compilation error, or are you just trying to
 understand the code?

this is an actual error, please see
http://article.gmane.org/gmane.lisp.clisp.devel:22588
and the whole thread.

 Both orders should work, if you are using the
 gnulib modules for both headers.

I have both modules.
unistd is requested explicitly.
sys_socket comes from a dependency.

 Note that in unistd.in.h, on mingw, sys/socket.h is included prior to
 this snippet of @GNULIB_GETHOSTNAME@, such that _GL_SYS_SOCKET_H is
 defined and you never get the
 socket_used_without_including_sys_socket_h, if you were using both
 gnulib modules.

the first mention of sys/socket.h in unistd.in.h is line 155:
  socket() used without including sys/socket.h);


-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://camera.org http://mideasttruth.com http://www.memritv.org
http://dhimmi.com http://palestinefacts.org http://iris.org.il
Single tasking: Just Say No.



Re: HAVE_LC_MESSAGES

2011-07-14 Thread Sam Steingold
 * Bruno Haible oe...@pyvfc.bet [2011-07-14 23:18:41 +0200]:

 Sam Steingold asked:
 Does clisp need to know whether LC_MESSAGES is supported by the system,
 or is a fake one defined by libintl or gnulib.
 ...
  No, this is not needed: gettext's libintl.h already defines LC_MESSAGES 
  when
  needed, and clisp uses libintl.h.
 
 CLISP includes libintl.h only if ENABLE_NLS is defined (i.e., when
 gettext is present).
 It uses HAVE_LC_MESSAGES in spvw_ctype.d:init_ctype which is called
 unconditionally in spvw.d.
 I.e., on platforms without gettext where LC_MESSAGES is not defined
 init_ctype is still called and its call
 
   setlocale(LC_MESSAGES,);
 
 must be guarded by either #if HAVE_LC_MESSAGES or #ifdef LC_MESSAGES.

 By looking at the clisp code history:
   $ hg annotate -r 11858 spvw_ctype.d
   $ hg diff -r 3562 -r 3563
 I think the point was to allow the setlocale() call to be enabled even on
 platforms where locale.h does not have LC_MESSAGES (namely, native Windows).
 The macro HAVE_LC_MESSAGES means
   - on Unix platforms, that LC_MESSAGES was found in locale.h,
   - on Windows platforms, that gettext is in use (always).

what are the benefits of this very complex approach (autoconf, win32 c c)
over a simple ifdef LC_MESSAGES?

 I think you can remove the #if because all Unix platforms nowadays have
 LC_MESSAGES.

what about windows without gettext?

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://honestreporting.com http://openvotingconsortium.org http://memri.org
http://jihadwatch.org http://truepeace.org http://palestinefacts.org
Oral sex was invented by mermaids.



HAVE_LC_MESSAGES

2011-07-13 Thread Sam Steingold
Hi,
What's the point of HAVE_LC_MESSAGES?
I understand that HAVE_LC_MESSAGES is defined whenever config.h is
included while LC_MESSAGES is only defined if locale.h is included.
However, how is

 #if HAVE_LC_MESSAGES
  setlocale(LC_MESSAGES,);
 #endif

better than

 #ifdef LC_MESSAGES
  setlocale(LC_MESSAGES,);
 #endif

??

thanks!

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://iris.org.il http://palestinefacts.org http://dhimmi.com
http://thereligionofpeace.com http://ffii.org http://honestreporting.com
Flying is not dangerous; crashing is.



Re: HAVE_LC_MESSAGES

2011-07-13 Thread Sam Steingold
Hi,

 * Bruno Haible oe...@pyvfc.bet [2011-07-13 21:12:49 +0200]:
 Sam Steingold wrote:
 What's the point of HAVE_LC_MESSAGES?

 The point is to tell whether LC_MESSAGES is supported by the system,
 or is a fake one defined by libintl or gnulib.

does clisp need to know the difference?

 This #if or #ifdef is outdated. The gettext manual [1] explains why.
 [1] http://www.gnu.org/software/gettext/manual/html_node/Triggering.html

are you suggesting that clisp should import the locale gnulib module instead?

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://truepeace.org http://jihadwatch.org http://honestreporting.com
http://ffii.org http://pmw.org.il http://palestinefacts.org http://iris.org.il
Oral sex was invented by mermaids.



Re: HAVE_LC_MESSAGES

2011-07-13 Thread Sam Steingold
 * Bruno Haible oe...@pyvfc.bet [2011-07-13 22:44:49 +0200]:

 Sam Steingold wrote:
 does clisp need to know the difference?
 
  This #if or #ifdef is outdated. The gettext manual [1] explains why.
  [1] http://www.gnu.org/software/gettext/manual/html_node/Triggering.html

 The gettext manual answers this question.

Sorry, I need more help here. I read the page and I see no answer to the
question:

Does clisp need to know whether LC_MESSAGES is supported by the system,
or is a fake one defined by libintl or gnulib.

Please remember that I am an English-only bigot who believes that all
i18n/l12n efforts are a waste of time :-) so I know very little about
gettext et al and I wish I knew even less.

 are you suggesting that clisp should import the locale gnulib module instead?

 No, this is not needed: gettext's libintl.h already defines LC_MESSAGES when
 needed, and clisp uses libintl.h.

CLISP includes libintl.h only if ENABLE_NLS is defined (i.e., when
gettext is present).
It uses HAVE_LC_MESSAGES in spvw_ctype.d:init_ctype which is called
unconditionally in spvw.d.
I.e., on platforms without gettext where LC_MESSAGES is not defined
init_ctype is still called and its call

  setlocale(LC_MESSAGES,);

must be guarded by either #if HAVE_LC_MESSAGES or #ifdef LC_MESSAGES.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://memri.org http://iris.org.il http://www.PetitionOnline.com/tap12009/
http://thereligionofpeace.com http://truepeace.org http://dhimmi.com
If at first you don't suck seed, try and suck another seed.



errno -- errno name ?

2011-06-06 Thread Sam Steingold
I think it would be a useful addition to the errno/strerror/whatever
modules to be able to convert from the numeric errno to the symbolic
one.
e.g.,

char * errno_name () {
  switch (errno) {
  #ifdef ENOENT
   case ENOENT : return ENOENT;
  #endif
   default: return NULL;
  }
}

the idea is that the error explanation (returned by strerror) is
different on different platforms (and especially if i18n is involved)
and is hard to search for on the web and in docs, while strings like
ENOENT et al are quite canonical and tell the expert everything they
need to know.

I am not proposing replacing strerror, of course; this is merely an
_addition_.

Thanks.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://jihadwatch.org http://dhimmi.com http://palestinefacts.org
http://www.PetitionOnline.com/tap12009/ http://thereligionofpeace.com
What was there first: the Compiler or its Source code?



Re: errno -- errno name ?

2011-06-06 Thread Sam Steingold
Hi Bruno,

 * Bruno Haible oe...@pyvfc.bet [2011-06-06 22:52:14 +0200]:
 I think it would be a useful addition to the errno/strerror/whatever
 modules to be able to convert from the numeric errno to the symbolic
 one.
 e.g.,
 
 char * errno_name () {
   switch (errno) {
   #ifdef ENOENT
case ENOENT : return ENOENT;
   #endif
default: return NULL;
   }
 }
 
 the idea is that the error explanation (returned by strerror) is
 different on different platforms (and especially if i18n is involved)
 and is hard to search for on the web and in docs, while strings like
 ENOENT et al are quite canonical and tell the expert everything they
 need to know.

 Good point. The code for doing this is already present in
 clisp/src/errunix.d and strace/**/errnoent.h.

moreover, most of it can be easily generated from the list of all
possible errno values:
-
char * errno_name () {
  switch (errno) {
#include errno_cases.h
default: return NULL;
  }
}

and a simple awk command which would convert a file:
-
ENOENT
ENOTDIR
...
-
into errno_cases.h

note that the windows version would have to operate on the values of
GetLastError() instead of errno.

 Question to Sam: Are you willing to contribute such a module to gnulib
 (and maintain it)?

Absolutely not.  The whole point of my request is that I will be
maintaining _less_ code, not more.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://pmw.org.il http://palestinefacts.org http://openvotingconsortium.org
http://www.memritv.org http://iris.org.il http://thereligionofpeace.com
Just because you're paranoid doesn't mean they AREN'T after you.



apology

2011-05-26 Thread Sam Steingold
I guess I should apologize for constantly harping about dependency creep
in gnulib.  No, gnulib is not the worst here.  By far!
I just did yum install perl-Net-SSH-Perl.noarch and it pulled 26
(that's right, twenty six!) packages for dependencies, including
perl-Math-GMP and perl-Math-Pari.
That's right, to interact with an ssh client, perl needs to do be able
to do number theoretical computer algebra system.
Can you believe it?!
-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://iris.org.il http://camera.org http://ffii.org
http://honestreporting.com http://palestinefacts.org http://pmw.org.il
Two wrongs don't make a right, but three rights make a left.



Re: need for computer algebra

2011-05-26 Thread Sam Steingold
Hi Bruno,

 * Bruno Haible oe...@pyvfc.bet [2011-05-26 21:19:55 +0200]:

 That's right, to interact with an ssh client, perl needs to do be able
 to do number theoretical computer algebra system.
 Can you believe it?!

 a good candidate is elliptic-curve cryptography.

yes, it turned out that the packages reimplements an ssh client rather
than being an interface to an existing external one, in which case pari
would obviously be not necessary.

incidentally, I was not able to get it working on either Cygwin of
CentOS, using either pre-supplied package managers or cpan.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://openvotingconsortium.org http://www.PetitionOnline.com/tap12009/
http://memri.org http://jihadwatch.org http://palestinefacts.org
Professionalism is being dispassionate about your work.



new files imported without new modules added

2011-05-24 Thread Sam Steingold
Hi,
I updated gnulib and found that it now wants to add these files to
CLISP:

src/gllib/glthread/lock.c
src/gllib/glthread/lock.h
src/gllib/glthread/threadlib.c
src/gllib/strerror-impl.h
src/gllib/strerror_r.c
src/glm4/strerror_r.m4

I did not import any new modules.
what has happened?

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://camera.org http://www.memritv.org http://mideasttruth.com
http://www.PetitionOnline.com/tap12009/ http://pmw.org.il http://dhimmi.com
Any programming language is at its best before it is implemented and used.



Re: new files imported without new modules added

2011-05-24 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-05-24 10:18:05 -0600]:
 On 05/24/2011 10:12 AM, Sam Steingold wrote:
 I updated gnulib and found that it now wants to add these files to
 CLISP:
 
 src/gllib/glthread/lock.c
 src/gllib/glthread/lock.h
 src/gllib/glthread/threadlib.c
 src/gllib/strerror-impl.h
 src/gllib/strerror_r.c
 src/glm4/strerror_r.m4
 
 I did not import any new modules.
 what has happened?

 strerror and perror now depend on strerror_r, and strerror_r depends
 on locking; this was done in order to fix perror bugs (perror is not
 allowed to modify the strerror static buffer).

Is there a way to avoid this dependency creep?
I do _not_ want strerror_r.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://dhimmi.com http://palestinefacts.org http://truepeace.org
http://camera.org http://www.memritv.org http://thereligionofpeace.com
As a computer, I find your faith in technology amusing.



Re: new files imported without new modules added

2011-05-24 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-05-24 10:21:16 -0600]:
 On 05/24/2011 10:18 AM, Eric Blake wrote:
 On 05/24/2011 10:12 AM, Sam Steingold wrote:
 I updated gnulib and found that it now wants to add these files to
 CLISP:

 src/gllib/glthread/lock.c
 src/gllib/glthread/lock.h
 src/gllib/glthread/threadlib.c
 src/gllib/strerror-impl.h
 src/gllib/strerror_r.c
 src/glm4/strerror_r.m4

 I did not import any new modules.
 what has happened?

 That means that strerror-impl.h, strerror_r.c, and strerror_r.m4 will
 still be needed, but it would get rid of the three glthread files.

I think this is wrong. I do not want strerror_r. I did not ask for it
and there is no need for it in any module I asked for.

You are making the use of gnulib a very risky proposition.
I do _NOT_ want to bundle the whole of gnu libc with clisp.
You are making sure that I have to pull in more and more files every
time I update the gnulib files.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://ffii.org http://memri.org http://www.memritv.org http://pmw.org.il
http://iris.org.il http://dhimmi.com http://mideasttruth.com
Lisp is a way of life.  C is a way of death.



Re: new files imported without new modules added

2011-05-24 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-05-24 10:32:16 -0600]:

 I do _not_ want strerror_r.

 Why not?

because I copy away the strerror return value right away.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://mideasttruth.com http://thereligionofpeace.com http://ffii.org
http://dhimmi.com http://openvotingconsortium.org http://palestinefacts.org
If you need a helping hand, just remember that you already have two.



request: pointer to the docs in the module file

2011-05-24 Thread Sam Steingold
Hi,

How do I find out where a module is documented?
E.g., when I discovered the getloadavg module, I had to do
find gnulib/ -name getload\*
to find gnulib/doc/glibc-functions/getloadavg.texi.
It would be nice if there were a pointer in gnulib/modules/getloadavg,
preferably a URL with the up-to-date (updated nightly) doc generated from
the texi file.

Also, in the MODULES.html file:
1. the dependencies should be links
2. the links to files (e.g., argz.c et al) should specify the file type
text/plain so that firefox does not ask me how to open it.
3. should contain the aforementioned link to the doc generated from
*.texi

Also, some texi docs, e.g.,
   getutxid.texi
   getuid.texi
   getpwnam.texi
   getrusage.texi
say something like this:
-
Portability problems fixed by Gnulib:
@itemize
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
This function is missing on some platforms: ...
@end itemize
-
if no portability problems are fixed, what does this module do?

Also, mkdir.texi says:
-
On Windows platforms (excluding Cygwin), this function is called @code{_mkdir}
and takes only one argument.  The fix (without Gnulib) is to define a macro
like this:
-
what does this mean?
I need to use this macro if I am not using Gnulib?
I need to define the macro even if I am using Gnulib?

Thanks.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://iris.org.il http://mideasttruth.com http://honestreporting.com
http://www.memritv.org http://ffii.org http://dhimmi.com http://pmw.org.il
non-smoking section in a restaurant == non-peeing section in a swimming pool



Re: sed hangs on solaris

2011-05-24 Thread Sam Steingold
 * Paul Eggert rtt...@pf.hpyn.rqh [2011-05-03 13:52:21 -0700]:

 On 05/03/11 13:26, Sam Steingold wrote:
 note that some pipelines appear to succeed before the hanging:

 Yes.  If it is a kernel bug, quite possibly it's timing-dependent,
 and I wouldn't be surprised if it's not that common.

isn't gnulib's raison d'etre to work around system bugs and deficiencies? :-)
how about an --avoid-pipes option to something (configure?) which would
let me avoid editing the generated Makefile by hand?
Right now I need to apply the appended patch after each make gllib.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://thereligionofpeace.com http://ffii.org http://openvotingconsortium.org
http://camera.org http://jihadwatch.org http://www.memritv.org
There are no answers, only cross references.


--- gllib/Makefile.orig 2011-05-18 11:43:58.838261985 -0400
+++ gllib/Makefile  2011-05-18 11:46:31.150273797 -0400
@@ -2074,7 +2074,6 @@
 # unistd.h when the system doesn't have one.
 unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) 
$(ARG_NONNULL_H) $(WARN_ON_USE_H)
$(AM_V_GEN)rm -f $@-t $@  \
-   { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
  -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
  -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
@@ -2124,7 +2123,7 @@
  -e 's|@''GNULIB_UNLINKAT''@|$(GNULIB_UNLINKAT)|g' \
  -e 's|@''GNULIB_USLEEP''@|$(GNULIB_USLEEP)|g' \
  -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \
-  $(srcdir)/unistd.in.h | \
+  $(srcdir)/unistd.in.h  z
  sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
  -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
  -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
@@ -2163,7 +2162,7 @@
  -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
  -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
  -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
- | \
+  z  y
  sed -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
  -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
  -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
@@ -2194,8 +2193,8 @@
  -e 
's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g'
 \
  -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
  -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
- -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-   }  $@-t  \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+y  $@-t  \
mv $@-t $@
 
 unitypes.h: unitypes.in.h
@@ -2224,7 +2223,6 @@
 # version does not work standalone.
 wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) 
$(ARG_NONNULL_H) $(WARN_ON_USE_H)
$(AM_V_GEN)rm -f $@-t $@  \
-   { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
  -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
  -e 's|@''PRAGMA_COLUMNS''@||g' \
@@ -2270,7 +2268,7 @@
  -e 's|@''GNULIB_WCSSTR''@|$(GNULIB_WCSSTR)|g' \
  -e 's|@''GNULIB_WCSTOK''@|$(GNULIB_WCSTOK)|g' \
  -e 's|@''GNULIB_WCSWIDTH''@|$(GNULIB_WCSWIDTH)|g' \
-  $(srcdir)/wchar.in.h | \
+  $(srcdir)/wchar.in.h  z
  sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
  -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
  -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
@@ -2311,7 +2309,7 @@
  -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
  -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
  -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
- | \
+  z  y
  sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
  -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
  -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
@@ -2327,8 +2325,8 @@
  -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
  -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
  -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
- -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-   }  $@-t  \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+y  $@-t  \
mv $@-t $@
 
 # We need the following in order to create wctype.h when the system



Re: request: pointer to the docs in the module file

2011-05-24 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-05-24 11:37:40 -0600]:
 On 05/24/2011 11:26 AM, Sam Steingold wrote:
 How do I find out where a module is documented?
 E.g., when I discovered the getloadavg module, I had to do
 find gnulib/ -name getload\*
 to find gnulib/doc/glibc-functions/getloadavg.texi.

 If it is a POSIX function, it is documented in
 gnulib/doc/posix-functions.  If it is a glibc extension, it is
 documented in gnulib/doc/glibc-functions.  Otherwise, it is a gnulib
 invention, and we haven't been very consistent at where that
 documentation lives.

Yes, thanks, you (or someone else) already told me that at least once,
and I am using the advice, even though I usually cannot tell right away
whether a specific function is posix or glibc (e.g., I thought that
mkdtemp was not in posix) - which is why I am asking for the link.

 It would be nice if there were a pointer in gnulib/modules/getloadavg,
 preferably a URL with the up-to-date (updated nightly) doc generated from
 the texi file.

 I would prefer not in the modules file itself (that seems like a
 maintenance burden to have to manually maintain an extra link), but
 perhaps in the generated web page that describes each module.

I guess I am using gnulib wrong.
Suppose I want to replace my very own maze of #ifdefs surrounding a call
to a posix function foo() with a nice gnulib module foo.
Right now I look for modules/foo and, if I see that it does not pull in
too many dependencies, I try to find the texi file to see if it solves
my portability problems. This is why I want a link in the modules/foo
file to foo.texi (or foo.html) so that I do not have to run a find.
What is the right way?

 Also, mkdir.texi says:
 -
 On Windows platforms (excluding Cygwin), this function is called 
 @code{_mkdir}
 and takes only one argument.  The fix (without Gnulib) is to define a macro
 like this:
 -
 what does this mean?
 I need to use this macro if I am not using Gnulib?
 I need to define the macro even if I am using Gnulib?

 It means that you either use the gnulib module (and don't worry about
 anything extra), or you can be lighter-weight and use that listed
 workaround instead of the gnulib module.  So only define that macro only
 if you are not using gnulib.

So, if I were using the mkdir module (which I won't because it pulls
dirname-lgpl which pulls a bunch of other modules), I can use mkdir with
2 arguments on mingw too?
But which header file will defined mkdir with 2 arguments?
The mkdir module does not seem to export any header files.
Oh wait - it will replace mkdir with a _function_ rpl_mkdir, right?

 That is, docs/posix-functions is intended to be a catch-all for _all_
 portability problems, not just those fixed by gnulib, but tends to be
 biased towards gnulib solutions.

I am sorry, I can parse this sentence just fine, but I cannot extract
the meaning.  Remember, English is not my native language.

--
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://truepeace.org http://ffii.org http://openvotingconsortium.org
http://www.memritv.org http://honestreporting.com http://jihadwatch.org
As a computer, I find your faith in technology amusing.



Re: new files imported without new modules added

2011-05-24 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-05-24 10:54:20 -0600]:

 Are you multi-threaded?  Then you are suffering from a data race.

I am sorry, I am afraid I am out of my depth.
Why is this function suffering from a data race?

const char *strerror (int e) {
  switch (e) {
case EINPROGRESS: return Operation now in progress;
case EALREADY: return Operation already in progress;
...
  }
}

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://honestreporting.com http://iris.org.il http://jihadwatch.org
http://pmw.org.il http://camera.org http://thereligionofpeace.com
The only time you have too much fuel is when you're on fire.



Re: strerror vs. threads [was: new files imported without new modules added]

2011-05-24 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-05-24 12:24:34 -0600]:

 strerror(-1) in thread 1
 strerror(-2) in thread 2

thanks for the explanation.

My further questions are:
you are not using the standard win32 FormatMessage() function.
how do you hangle the gazillion windows error messages?
(same goes for system-supplied strerror - is it ever used?)

thanks!

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://www.memritv.org http://mideasttruth.com http://palestinefacts.org
http://iris.org.il http://openvotingconsortium.org http://honestreporting.com
Murphy's Law was probably named after the wrong guy.



getloadavg is broken

2011-05-24 Thread Sam Steingold
Unless I remove the offending line (see the appended patch), configure
fails with ../src/src/gllib/getloadavg.c is missing message.
apparently $srcdir is ../src and $1=$gl_source_base=src/gllib which
cannot be combined into anything sensible.
no other module does such a check, so it is not clear why getloadavg should.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://camera.org http://www.PetitionOnline.com/tap12009/
http://memri.org http://palestinefacts.org http://truepeace.org
Trespassers will be shot.  Survivors will be SHOT AGAIN!


diff -r efa3b7c4c766 src/glm4/getloadavg.m4
--- a/src/glm4/getloadavg.m4Tue May 24 16:34:36 2011 -0400
+++ b/src/glm4/getloadavg.m4Tue May 24 16:57:30 2011 -0400
@@ -20,10 +20,6 @@ AC_DEFUN([gl_GETLOADAVG],
 # Persuade glibc stdlib.h to declare getloadavg().
 AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
 
-# Make sure getloadavg.c is where it belongs, at configure-time.
-test -f $srcdir/$1/getloadavg.c ||
-  AC_MSG_ERROR([$srcdir/$1/getloadavg.c is missing])
-
 gl_save_LIBS=$LIBS
 
 # getloadvg is present in libc on glibc = 2.2, MacOS X, FreeBSD = 2.0,



include sys/types.h without check

2011-05-18 Thread Sam Steingold
sys_uio.in.h includes sys/types.h without #ifdef HAVE_SYS_TYPES_H.
can this file be assumed to be present on all platforms including mingw?
-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://palestinefacts.org http://mideasttruth.com http://pmw.org.il
http://honestreporting.com http://thereligionofpeace.com http://truepeace.org
MS Windows: error: the operation completed successfully.



GNULIB_PORTCHECK

2011-05-18 Thread Sam Steingold
what does GNULIB_PORTCHECK mean?
e.g.,
./config.log:REPLACE_TIMEGM='GNULIB_PORTCHECK'
the only mention I see is time_h.m4:
  dnl If another module says to replace or to not replace, do that.
  dnl Otherwise, replace only if someone compiles with -DGNULIB_PORTCHECK;
  dnl this lets maintainers check for portability.
I am confused (as usual, alas...)

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://www.memritv.org http://pmw.org.il http://mideasttruth.com
http://www.PetitionOnline.com/tap12009/ http://openvotingconsortium.org
Just because you're paranoid doesn't mean they AREN'T after you.



socketless platforms?

2011-05-18 Thread Sam Steingold
is there such a thing as a platform without socket support?
if yes, how do I detect that after I call gl_SOCKETLIB?
-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://www.memritv.org http://openvotingconsortium.org
http://pmw.org.il http://honestreporting.com http://palestinefacts.org
I'd give my right arm to be ambidextrous.



Re: alloca-opt

2011-05-17 Thread Sam Steingold
 * Bruno Haible oe...@pyvfc.bet [2011-05-17 01:00:57 +0200]:

 3) Finally there is also documentation:
 http://www.gnu.org/software/gnulib/manual/html_node/alloca_002dopt.html

so, I guess, I will be using this:

#include alloca.h
#if HAVE_ALLOCA
  /* Yay! */
#elif defined(MICROSOFT)
  #include malloc.h
  #define alloca _alloca
#endif

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://truepeace.org http://ffii.org http://www.PetitionOnline.com/tap12009/
http://palestinefacts.org http://jihadwatch.org http://thereligionofpeace.com
Feynman: 'Philosophy of science is as useful to scientists as ornithology is to 
birds'



canonicalize_file_name should support win32 shortcuts

2011-05-17 Thread Sam Steingold
it appears that neither canonicalize nor canonicalize-lgpl support win32
shortcuts (either used directly or as used by cygwin).
it would be nice if they did - then we would be able to use
canonicalize-lgpl in clisp.

now clisp uses file w32shell.c:
http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/raw-file/363f5b952505/src/w32shell.c
which works like a charm for us.
it would be wonderful if we could shift the burden of maintaining it to you.

thanks!

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://mideasttruth.com http://honestreporting.com http://palestinefacts.org
http://jihadwatch.org http://memri.org http://iris.org.il
Lisp suffers from being twenty or thirty years ahead of time.



gnulib compilation error

2011-05-16 Thread Sam Steingold
I am getting this error:

In file included from /home/sds/src/clisp/current/build-g/gllib/sys/stat.h:44,
 from clisp.c:31:
/home/sds/src/clisp/current/build-g/gllib/time.h:469: error: expected ';', ',' 
or ')' before '__timer'
/home/sds/src/clisp/current/build-g/gllib/time.h:491: error: expected ';', ',' 
or ')' before '__timer'

time.h:469:_GL_FUNCDECL_SYS (localtime_r, struct tm *, (time_t const *restrict 
__timer,
 struct tm *restrict __result)
_GL_ARG_NONNULL ((1, 2)));

it appears that time_t is not defined.

I am including these modules:

no-c++ stdint stdbool havelib gettext localcharset
uniwidth/width streq uniname/uniname unitypes link-follow
host-cpu-c-abi socklen sockets fd-hook setenv unsetenv errno
arpa_inet netinet_in inet_ntop inet_pton lstat stat canonicalize-lgpl
nocrash libsigsegv gnu-make gettimeofday getpagesize sys_time sys_wait
 mktime strftime strptime strverscmp uname strerror fnmatch-gnu
 regex

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://mideasttruth.com http://pmw.org.il
http://ffii.org http://memri.org http://thereligionofpeace.com
Independence: nobody pays for you.  Liberty: nobody thinks for you.



do I need ifdef HAVE_UNISTD_H if I import unistd?

2011-05-16 Thread Sam Steingold
DIUC that if I include the sys_time  unistd modules, I can write

#include unistd.h
#include sys/time.h

instead of

#ifdef HAVE_SYS_TIME_H
 #include sys/time.h
#endif
#ifdef HAVE_UNISTD_H
  #include unistd.h
#endif

??

the same question for all the other headers...

thanks!

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://openvotingconsortium.org http://pmw.org.il http://palestinefacts.org
http://www.memritv.org http://honestreporting.com http://truepeace.org
Politically Correct Chess: Translucent VS. Transparent.



Re: gnulib compilation error

2011-05-16 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-05-16 13:55:31 -0600]:

 On 05/16/2011 01:51 PM, Sam Steingold wrote:
 I am getting this error:

 On which platform?

CentOS release 5.6 (Final)
Linux 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64 x86_64 x86_64 
GNU/Linux

sorry about not including the obviously required information right away


-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://iris.org.il http://camera.org http://palestinefacts.org
http://jihadwatch.org http://mideasttruth.com http://ffii.org
Bill Gates is not god and Microsoft is not heaven.



Re: do I need ifdef HAVE_UNISTD_H if I import unistd?

2011-05-16 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-05-16 13:56:46 -0600]:

 On 05/16/2011 01:53 PM, Sam Steingold wrote:
 DIUC that if I include the sys_time  unistd modules, I can write
 
 #include unistd.h
 #include sys/time.h
 
 instead of
 
 #ifdef HAVE_SYS_TIME_H
  #include sys/time.h
 #endif
 #ifdef HAVE_UNISTD_H
   #include unistd.h
 #endif
 
 ??
 
 the same question for all the other headers...

 Absolutely!  In fact, the maintainer-mode module includes the
 sc_prohibit_always_true_header_tests to help you check for files where
 you can unconditionally include headers guaranteed by gnulib replacements.

there is no maintainer-mode in gnulib/modules.
how do I use it?

thanks!

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://openvotingconsortium.org http://honestreporting.com
http://camera.org http://thereligionofpeace.com http://truepeace.org
Genius is immortal, but morons live longer.



Re: gnulib compilation error

2011-05-16 Thread Sam Steingold
 * Bruno Haible oe...@pyvfc.bet [2011-05-16 22:23:23 +0200]:

 With gnulib, 'restrict' ought to be defined by config.h. Maybe you
have several config.h files, and one of them defines 'restrict' but not
the others? Or maybe the compilation unit that you are compiling does
not start with #include config.h?

yes, thanks, fixed.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://mideasttruth.com http://www.memritv.org http://thereligionofpeace.com
http://openvotingconsortium.org http://truepeace.org http://honestreporting.com
Lisp: Serious empowerment.



Re: do I need ifdef HAVE_UNISTD_H if I import unistd?

2011-05-16 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-05-16 14:13:29 -0600]:

 Import that module, possibly add a cfg.mk counterpart (hmm, we
 probably ought to provide a template file for that; but you can use
 coreutils.git/cfg.mk for an idea of how it can be customized), use GNU
 make, and run 'make syntax-check' to catch a number of consistency
 errors.  If you decide that a particular syntax check is inappropriate
 for your project, cfg.mk will let you omit it.

it looks useful but _very_ hard to actually use.

why is maint.mk put into my top dir?
shouldn't it go to src/build-aux/?
why doesn't vc-list-files accept a list of directories?
(it would be 'src modules' for me)
why is $(srcdir)/lib/ hard-coded? I use gllib instead of lib.

when I managed to get it running, I got
warnings about HAVE_ALLOCA_H in ChangeLog, aclocal.m4, and configure.

thanks for the pointer though...
-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://www.memritv.org http://openvotingconsortium.org http://camera.org
http://thereligionofpeace.com http://iris.org.il http://mideasttruth.com
Those who can't write, write manuals.



Re: do I need ifdef HAVE_UNISTD_H if I import unistd?

2011-05-16 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-05-16 15:30:04 -0600]:

 why doesn't vc-list-files accept a list of directories?

 Patches welcome; seems like a useful addition.



--- /home2/sds/src/clisp/current/gnulib/build-aux/vc-list-files 2011-05-03 
12:08:03.0 -0400
+++ /home2/sds/src/clisp/current/src/build-aux/vc-list-files2011-05-16 
17:42:00.0 -0400
@@ -2,7 +2,7 @@
 # List version-controlled file names.
 
 # Print a version string.
-scriptversion=2011-04-29.20; # UTC
+scriptversion=2011-05-16.21; # UTC
 
 # Copyright (C) 2006-2011 Free Software Foundation, Inc.
 
@@ -30,7 +30,7 @@ scriptversion=2011-04-29.20; # UTC
 postprocess=
 case $1 in
   --help) cat EOF
-Usage: $0 [-C SRCDIR] [DIR]
+Usage: $0 [-C SRCDIR] [DIR...]
 
 Output a list of version-controlled files in DIR (default .), relative to
 SRCDIR (default .).  SRCDIR must be the top directory of a checkout.
@@ -61,16 +61,10 @@ EOF
 shift; shift ;;
 esac
 
-dir=
-case $# in
-  0) ;;
-  1) dir=$1 ;;
-  *) echo $0: too many arguments 12
- echo Usage: $0 [-C srcdir] [DIR] 12; exit 1;;
-esac
-
-test x$dir = x  dir=.
+dirs=$*
+test x$dirs = x  dirs=.
 
+for dir in $dirs; do
 if test -d .git; then
   test x$dir = x. \
  dir= sed_esc= \
@@ -108,6 +102,7 @@ else
   echo $0: Failed to determine type of version control used in `pwd` 12
   exit 1
 fi
+done
 
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)

Diff finished.  Mon May 16 17:42:25 2011







 (it would be 'src modules' for me)
 why is $(srcdir)/lib/ hard-coded? I use gllib instead of lib.

 Where is it hard-coded?  We've been trying to get rid of hard-coded
 aspects, but we can only fix things as they are pointed out.

--- /home2/sds/src/clisp/current/gnulib/top/maint.mk2011-05-16 
16:32:49.0 -0400
+++ /home2/sds/src/clisp/current/maint.mk   2011-05-16 17:20:23.0 
-0400
@@ -681,7 +681,7 @@ sc_useless_cpp_parens:
 # #if HAVE_HEADER_H that you remove, be sure that your project explicitly
 # requires the gnulib module that guarantees the usability of that header.
 gl_assured_headers_ = \
-  cd $(gnulib_dir)/lib  echo *.in.h|sed 's/\.in\.h//g'
+  cd $(gnulib_dir)  echo *.in.h|sed 's/\.in\.h//g'
 
 # Convert the list of names to upper case, and replace each space with |.
 az_ = abcdefghijklmnopqrstuvwxyz
@@ -718,7 +718,7 @@ gl_extract_significant_defines_ = \
 # of macros that are guaranteed to be defined by parts of gnulib.
 define def_sym_regex
gen_h=$(gl_generated_headers_); \
-   (cd $(gnulib_dir)/lib;  \
+   (cd $(gnulib_dir);  \
  for f in *.in.h $(gl_other_headers_); do  \
perl -lne '$(gl_extract_significant_defines_)' $$f; \
  done; \
@@ -1049,7 +1049,7 @@ writable-files:
  test $$fail  exit 1 || : ;\
fi
 
-v_etc_file = $(gnulib_dir)/lib/version-etc.c
+v_etc_file = $(gnulib_dir)/version-etc.c
 sample-test = tests/sample-test
 texi = doc/$(PACKAGE).texi
 # Make sure that the copyright date in $(v_etc_file) is up to date.

Diff finished.  Mon May 16 17:43:03 2011



-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://pmw.org.il http://www.memritv.org http://honestreporting.com
http://mideasttruth.com http://www.PetitionOnline.com/tap12009/
char*a=char*a=%c%s%c;main(){printf(a,34,a,34);};main(){printf(a,34,a,34);}



Re: do I need ifdef HAVE_UNISTD_H if I import unistd?

2011-05-16 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-05-16 15:45:00 -0600]:

 On 05/16/2011 03:36 PM, Karl Berry wrote:
  warnings about HAVE_ALLOCA_H in ChangeLog, aclocal.m4, and configure.
 
 Why should there ever be a warning about an occurrence of HAVE_ALLOCA_H
 in the ChangeLog?  Just wondering.

 Only because the filters haven't been tuned to exclude non-source files
 by default for all of the syntax check rules.  It's not too hard to add
 ChangeLog to a permanent per-file exemption, by adding:

 VC_LIST_ALWAYS_EXCLUDE_REGEX = ^ChangeLog$$

 to cfg.mk.  Modify that regex as needed to permanently skip other files
 from the maint.mk syntax checks.

from the way VC_LIST_ALWAYS_EXCLUDE_REGEX is used, this appears to be TRT:

VC_LIST_ALWAYS_EXCLUDE_REGEX = ChangeLog|configure|config.in.h|aclocal.m4

however, it has no effect.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://jihadwatch.org http://openvotingconsortium.org http://truepeace.org
http://mideasttruth.com http://memri.org http://dhimmi.com
.ACMD setaloiv siht gnidaeR



environ

2011-05-16 Thread Sam Steingold
does importing the environ module mean that I can remove this:

#if !HAVE_DECL_ENVIRON
extern_C char** environ;
#endif

from my sources and assume that environ is properly declared in unistd?

also, how can I come up with the answer to this question myself without
bothering you?

thanks!

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://honestreporting.com http://truepeace.org http://pmw.org.il
http://camera.org http://www.PetitionOnline.com/tap12009/
Before telling the Truth, make sure you know it.



Re: do I need ifdef HAVE_UNISTD_H if I import unistd?

2011-05-16 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-05-16 15:57:43 -0600]:

 On 05/16/2011 03:56 PM, Sam Steingold wrote:
 
 from the way VC_LIST_ALWAYS_EXCLUDE_REGEX is used, this appears to be TRT:
 
 VC_LIST_ALWAYS_EXCLUDE_REGEX = ChangeLog|configure|config.in.h|aclocal.m4

 | outside () is different than (|).  Try:

 VC_LIST_ALWAYS_EXCLUDE_REGEX = \
  ^(ChangeLog|configure|config.in.h|aclocal.m4)$$

does not work either.

also, this seems wrong because

1. when VC_LIST_ALWAYS_EXCLUDE_REGEX is used, it is put inside ()

2. my output looks like this:

../src/../src/configure:31052:#ifdef HAVE_UNISTD_H
../src/../src/configure:31330:#ifdef HAVE_UNISTD_H
../src/../src/configure:31425:#ifdef HAVE_UNISTD_H
../src/../src/configure:31538:#ifdef HAVE_UNISTD_H
../src/../src/configure:31562:#ifdef HAVE_UNISTD_H

so ^ does not look right.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://dhimmi.com http://ffii.org http://memri.org http://truepeace.org
http://jihadwatch.org http://www.PetitionOnline.com/tap12009/
Experience comes with debts.



dependency creep: canonicalize_file_name

2011-05-04 Thread Sam Steingold
And yet again it is time for me to bitch about dependency creep.

I thought about pulling realpath from gnulib (because clisp includes its
own implementation - BTW, are there still unixes which lack it?) and
discovered that it offered canonicalize_file_name instead.
I tried pulling it and the list of new files I got did not fit on the screen:

? src/gllib/areadlink-with-size.c
? src/gllib/areadlink.h
? src/gllib/at-func.c
? src/gllib/basename-lgpl.c
? src/gllib/basename.c
? src/gllib/bitrotate.h
? src/gllib/canonicalize.c
? src/gllib/canonicalize.h
? src/gllib/chdir-long.c
? src/gllib/chdir-long.h
? src/gllib/chown.c
? src/gllib/cloexec.c
? src/gllib/cloexec.h
? src/gllib/close.c
? src/gllib/dirent.in.h
? src/gllib/dirfd.c
? src/gllib/dirname-lgpl.c
? src/gllib/dirname.c
? src/gllib/dirname.h
? src/gllib/dosname.h
? src/gllib/dup-safer.c
? src/gllib/dup2.c
? src/gllib/error.c
? src/gllib/error.h
? src/gllib/exitfail.c
? src/gllib/exitfail.h
? src/gllib/fchdir.c
? src/gllib/fchmodat.c
? src/gllib/fchown-stub.c
? src/gllib/fchownat.c
? src/gllib/fclose.c
? src/gllib/fcntl.c
? src/gllib/fcntl.in.h
? src/gllib/fd-safer.c
? src/gllib/fdopendir.c
? src/gllib/file-set.c
? src/gllib/file-set.h
? src/gllib/filenamecat-lgpl.c
? src/gllib/filenamecat.h
? src/gllib/freading.c
? src/gllib/freading.h
? src/gllib/fstatat.c
? src/gllib/getcwd-lgpl.c
? src/gllib/getcwd.c
? src/gllib/getdtablesize.c
? src/gllib/hash-pjw.c
? src/gllib/hash-pjw.h
? src/gllib/hash-triple.c
? src/gllib/hash-triple.h
? src/gllib/hash.c
? src/gllib/hash.h
? src/gllib/intprops.h
? src/gllib/lchown.c
? src/gllib/lseek.c
? src/gllib/lstat.c
? src/gllib/malloc.c
? src/gllib/mempcpy.c
? src/gllib/memrchr.c
? src/gllib/mkdir.c
? src/gllib/mkdirat.c
? src/gllib/open.c
? src/gllib/openat-die.c
? src/gllib/openat-priv.h
? src/gllib/openat-proc.c
? src/gllib/openat.c
? src/gllib/openat.h
? src/gllib/pathmax.h
? src/gllib/pipe-safer.c
? src/gllib/readlink.c
? src/gllib/realloc.c
? src/gllib/rmdir.c
? src/gllib/same-inode.h
? src/gllib/same.c
? src/gllib/same.h
? src/gllib/save-cwd.c
? src/gllib/save-cwd.h
? src/gllib/stat.c
? src/gllib/stdio-impl.h
? src/gllib/stdio.in.h
? src/gllib/strdup.c
? src/gllib/strerror.c
? src/gllib/stripslash.c
? src/gllib/strndup.c
? src/gllib/strnlen.c
? src/gllib/sys_stat.in.h
? src/gllib/time.in.h
? src/gllib/unistd--.h
? src/gllib/unistd-safer.h
? src/gllib/unlink.c
? src/gllib/unlinkat.c
? src/gllib/xalloc-die.c
? src/gllib/xalloc-oversized.h
? src/gllib/xalloc.h
? src/gllib/xgetcwd.c
? src/gllib/xgetcwd.h
? src/gllib/xmalloc.c
? src/gllib/xstrndup.c
? src/gllib/xstrndup.h
? src/glm4/canonicalize.m4
? src/glm4/chdir-long.m4
? src/glm4/chown.m4
? src/glm4/cloexec.m4
? src/glm4/close.m4
? src/glm4/d-ino.m4
? src/glm4/dirent_h.m4
? src/glm4/dirfd.m4
? src/glm4/dirname.m4
? src/glm4/double-slash-root.m4
? src/glm4/dup2.m4
? src/glm4/error.m4
? src/glm4/fchdir.m4
? src/glm4/fclose.m4
? src/glm4/fcntl.m4
? src/glm4/fcntl_h.m4
? src/glm4/fdopendir.m4
? src/glm4/filenamecat.m4
? src/glm4/freading.m4
? src/glm4/getcwd-abort-bug.m4
? src/glm4/getcwd-path-max.m4
? src/glm4/getcwd.m4
? src/glm4/getdtablesize.m4
? src/glm4/hash.m4
? src/glm4/inline.m4
? src/glm4/lchown.m4
? src/glm4/lseek.m4
? src/glm4/lstat.m4
? src/glm4/malloc.m4
? src/glm4/mempcpy.m4
? src/glm4/memrchr.m4
? src/glm4/mkdir.m4
? src/glm4/mode_t.m4
? src/glm4/open.m4
? src/glm4/openat.m4
? src/glm4/pathmax.m4
? src/glm4/readlink.m4
? src/glm4/realloc.m4
? src/glm4/rmdir.m4
? src/glm4/same.m4
? src/glm4/save-cwd.m4
? src/glm4/ssize_t.m4
? src/glm4/stat.m4
? src/glm4/stdio_h.m4
? src/glm4/strdup.m4
? src/glm4/strerror.m4
? src/glm4/strndup.m4
? src/glm4/strnlen.m4
? src/glm4/sys_stat_h.m4
? src/glm4/time_h.m4
? src/glm4/unistd-safer.m4
? src/glm4/unlink.m4
? src/glm4/xalloc.m4
? src/glm4/xgetcwd.m4
? src/glm4/xstrndup.m4

Yep, 150+ new files just for canonicalize_file_name (realpath
in clisp/src/pathname.d almost takes about 160 lines of C code).

People, this is ridiculous.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://pmw.org.il http://ffii.org http://iris.org.il http://memri.org
http://www.PetitionOnline.com/tap12009/ http://truepeace.org
Three can keep a secret if two of them are dead.



solaris 11 (i386), PIC, dlopen c

2011-05-04 Thread Sam Steingold
  0x126c  libgnu_wc.a(fnmatch.o)
getenv  0x1897  libgnu_wc.a(fnmatch.o)
memcpy  0x195   libgnu_wc.a(fnmatch.o)
memcpy  0x261   libgnu_wc.a(fnmatch.o)
__assert0x299   libgnu_wc.a(fnmatch.o)
__assert0x475   libgnu_wc.a(fnmatch.o)
__assert0x578   libgnu_wc.a(fnmatch.o)
__assert0x1208  libgnu_wc.a(fnmatch.o)
__assert0x1226  libgnu_wc.a(fnmatch.o)
__assert0x14e9  libgnu_wc.a(fnmatch.o)
__assert0x200d  libgnu_wc.a(fnmatch.o)
__assert0x203a  libgnu_wc.a(fnmatch.o)
__assert0x2057  libgnu_wc.a(fnmatch.o)
strcat  0x323   libgnu_wc.a(fnmatch.o)
tolower 0x8c4   libgnu_wc.a(fnmatch.o)
tolower 0x8e0   libgnu_wc.a(fnmatch.o)
tolower 0x947   libgnu_wc.a(fnmatch.o)
tolower 0x980   libgnu_wc.a(fnmatch.o)
tolower 0xa5c   libgnu_wc.a(fnmatch.o)
tolower 0xab1   libgnu_wc.a(fnmatch.o)
tolower 0xbde   libgnu_wc.a(fnmatch.o)
tolower 0xbf5   libgnu_wc.a(fnmatch.o)
tolower 0xeea   libgnu_wc.a(fnmatch.o)
wctype  0x9e4   libgnu_wc.a(fnmatch.o)
wctype  0x1ced  libgnu_wc.a(fnmatch.o)
btowc   0xa05   libgnu_wc.a(fnmatch.o)
iswctype0xa0d   libgnu_wc.a(fnmatch.o)
iswctype0x1d09  libgnu_wc.a(fnmatch.o)
memchr  0xb0f   libgnu_wc.a(fnmatch.o)
memchr  0xd20   libgnu_wc.a(fnmatch.o)
wcslen  0x1000  libgnu_wc.a(fnmatch.o)
wmemcpy 0x10e2  libgnu_wc.a(fnmatch.o)
wmemcpy 0x11d7  libgnu_wc.a(fnmatch.o)
wcscat  0x12a2  libgnu_wc.a(fnmatch.o)
towlower0x1572  libgnu_wc.a(fnmatch.o)
towlower0x1829  libgnu_wc.a(fnmatch.o)
towlower0x1843  libgnu_wc.a(fnmatch.o)
towlower0x1965  libgnu_wc.a(fnmatch.o)
towlower0x1994  libgnu_wc.a(fnmatch.o)
towlower0x1ad7  libgnu_wc.a(fnmatch.o)
towlower0x1aee  libgnu_wc.a(fnmatch.o)
towlower0x1c56  libgnu_wc.a(fnmatch.o)
wmemchr 0x1a1f  libgnu_wc.a(fnmatch.o)
wmemchr 0x1c79  libgnu_wc.a(fnmatch.o)
__ctype 0x1e9f  libgnu_wc.a(fnmatch.o)
mbsrtowcs   0x1efc  libgnu_wc.a(fnmatch.o)
mbsrtowcs   0x1f2d  libgnu_wc.a(fnmatch.o)
mbsrtowcs   0x1fa4  libgnu_wc.a(fnmatch.o)
mbsrtowcs   0x1fc7  libgnu_wc.a(fnmatch.o)
mbsinit 0x1f11  libgnu_wc.a(fnmatch.o)
mbsinit 0x1f43  libgnu_wc.a(fnmatch.o)
mbsinit 0x1faf  libgnu_wc.a(fnmatch.o)
free0x201b  libgnu_wc.a(fnmatch.o)
malloc  0x206e  libgnu_wc.a(fnmatch.o)
errno   0x2086  libgnu_wc.a(fnmatch.o)
ld: fatal: relocations remain against allocatable but non-writable sections
collect2: ld returned 1 exit status

3. when clisp is configured normally, dynmod/lib-wildcard.so is created
without an error, but loading is fails:
 (REQUIRE wildcard) ==
;; Loading file /.../dynmod/wildcard.lisp ...
;;  Loading module wildcard from /.../dynmod/lib-wildcard.so
[SIMPLE-ERROR]: SYSTEM::DYNLOAD-MODULES: dlopen -
  ld.so.1: lisp.run: fatal: relocation error:
  file /.../dynmod/lib-wildcard.so: symbol rpl_mbsrtowcs:
  referenced symbol not found

I am passing CFLAGS et al to the gnulib compilation, so -fPIC -DPIC
should have been used.

Bruno, do you have any insight on the matter?

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://truepeace.org http://www.memritv.org http://thereligionofpeace.com
http://ffii.org http://honestreporting.com http://mideasttruth.com
Sinners can repent, but stupid is forever.



sed hangs on solaris

2011-05-03 Thread Sam Steingold
' \
  -e 's|@''REPLACE_LSEEK''@|0|g' \
  -e 's|@''REPLACE_PREAD''@|0|g' \
  -e 's|@''REPLACE_PWRITE''@|0|g' \
  -e 's|@''REPLACE_READ''@|0|g' \
  -e 's|@''REPLACE_READLINK''@|0|g' \
  -e 's|@''REPLACE_RMDIR''@|0|g' \
  -e 's|@''REPLACE_SLEEP''@|0|g' \
  -e 's|@''REPLACE_SYMLINK''@|0|g' \
  -e 's|@''REPLACE_TTYNAME_R''@|0|g' \
  -e 's|@''REPLACE_UNLINK''@|0|g' \
  -e 's|@''REPLACE_UNLINKAT''@|0|g' \
  -e 's|@''REPLACE_USLEEP''@|0|g' \
  -e 's|@''REPLACE_WRITE''@|0|g' \
  -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|0|g' \
  -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|0|g' \
  -e '/definitions of _gl_GL_FUNCDECL_RPL/r c++defs.h' \
  -e '/definition of _gl_GL_ARG_NONNULL/r arg-nonnull.h' \
  -e '/definition of _gl_GL_WARN_ON_USE/r warn-on-use.h'; \
}  unistd.h-t  \
mv unistd.h-t unistd.h
make[1]: *** [unistd.h] Interrupt

when I split the pipe of 3 seds into 3 separate invocations with
intermediate files, it works just fine (but hangs in the next sed chain)
adding SHELL = /bin/bash to the Makefile did nto change anything.

whan do I do now?

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://jihadwatch.org http://memri.org http://mideasttruth.com
http://truepeace.org http://dhimmi.com http://iris.org.il http://camera.org
OK, so you're a Ph.D.  Just don't touch anything.



what happened to HAVE_STDBOOL_H

2011-05-03 Thread Sam Steingold
when I regenerate config.h with the current gnulib, I get:

@@ -871,12 +979,6 @@
 /* `struct sockaddr_un' from sys/un.h has a `sun_len' field */
 #undef HAVE_SOCKADDR_UN_LEN
 
-/* Define to 1 if stdbool.h conforms to C99. */
-#undef HAVE_STDBOOL_H
-
-/* Define to 1 if you have the stddef.h header file. */
-#undef HAVE_STDDEF_H
-
 /* Define to 1 if you have the stdint.h header file. */
 #undef HAVE_STDINT_H
 

what happenned? are we assuming that all platforms now have these files?

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://pmw.org.il http://honestreporting.com http://dhimmi.com
http://camera.org http://openvotingconsortium.org http://truepeace.org
If Perl is the solution, you're solving the wrong problem. - Erik Naggum



Re: what happened to HAVE_STDBOOL_H

2011-05-03 Thread Sam Steingold
 * Eric Blake roy...@erqung.pbz [2011-05-03 16:03:16 -0600]:

 On 05/03/2011 03:52 PM, Sam Steingold wrote:
 when I regenerate config.h with the current gnulib, I get:
 
 @@ -871,12 +979,6 @@
  /* `struct sockaddr_un' from sys/un.h has a `sun_len' field */
  #undef HAVE_SOCKADDR_UN_LEN
  
 -/* Define to 1 if stdbool.h conforms to C99. */
 -#undef HAVE_STDBOOL_H
 -
 -/* Define to 1 if you have the stddef.h header file. */
 -#undef HAVE_STDDEF_H
 -
  /* Define to 1 if you have the stdint.h header file. */
  #undef HAVE_STDINT_H
  
 
 what happenned? are we assuming that all platforms now have these files?

 stddef.h is required by C89, so yes, it was a redundant declaration.

 stdbool.h is not required by C89.  However, nothing else in gnulib
 used the results of the test, and the idea is that if you are using
 gnulib's stdbool module, you don't care about a fully
 standards-compliant stdbool.h, rather you care about the subset of
 stdbool.h guaranteed by gnulib.  So we trimmed the size of config.h
 for the sake of emacs:
 http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00571.html

So, how do I know if gnulib created the file or not?
(if you must know, in clisp we create a header clisp.h for external
modules to include and it either includes the generated stdbool.h
literally or does #include stdbool.h; we used HAVE_STDBOOL_H to
decide what to do).

Thanks.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 
11.0.60900031
http://truepeace.org http://pmw.org.il http://iris.org.il http://jihadwatch.org
http://www.PetitionOnline.com/tap12009/ http://openvotingconsortium.org
A computer scientist is someone who fixes things that aren't broken.



error: expected ')' before 'int'

2011-03-24 Thread Sam Steingold
Hi,
I am trying to update gnulib in clisp and clisp no longer compiles:

In file included from ../../src/gllib/close-hook.c:23:
./stdlib.h:611: error: expected ')' before 'int'
./stdlib.h:729: error: expected ')' before 'int'
In file included from ../../src/gllib/close-hook.c:24:
./unistd.h:290: error: expected ')' before 'int'
./unistd.h:812: error: expected ')' before 'int'
make[3]: *** [close-hook.o] Error 1

clisp hg tip.
gnulib pulled from git yesterday
autoconf 2.65

you can find unistd.h and stdlib.h in
http://sds.podval.org/data/gnulib.zip; please tell me which file you
want me to add there.

thanks!

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.5 (Final) X
http://truepeace.org http://ffii.org http://palestinefacts.org
http://thereligionofpeace.com http://dhimmi.com
My inferiority complex is the only thing I can be proud of.



Re: error: expected ')' before 'int'

2011-03-24 Thread Sam Steingold
 * Sam Steingold f...@tah.bet [2011-03-24 10:45:47 -0400]:

 I am trying to update gnulib in clisp and clisp no longer compiles:

 In file included from ../../src/gllib/close-hook.c:23:
 ./stdlib.h:611: error: expected ')' before 'int'
 ./stdlib.h:729: error: expected ')' before 'int'
 In file included from ../../src/gllib/close-hook.c:24:
 ./unistd.h:290: error: expected ')' before 'int'
 ./unistd.h:812: error: expected ')' before 'int'
 make[3]: *** [close-hook.o] Error 1

 clisp hg tip.
 gnulib pulled from git yesterday
 autoconf 2.65

 you can find unistd.h and stdlib.h in
 http://sds.podval.org/data/gnulib.zip; please tell me which file you
 want me to add there.

This happens after I removed my gnutool-patch which prepended stuff to
gnulib define constants to allow me using gnulib in several projects.
I was lead to believe that gnulib now supported my setup.

-- 
Sam Steingold (http://sds.podval.org/) on CentOS release 5.5 (Final) X
http://thereligionofpeace.com http://palestinefacts.org http://camera.org
http://memri.org http://jihadwatch.org http://dhimmi.com http://www.memritv.org
Failure is not an option. It comes bundled with your Microsoft product.



error: redefinition of `struct random_data'

2010-10-11 Thread Sam Steingold
All of a sudden (after the 27-Sep-10 sync with gnulib) I am getting this error 
when compiling gllib in the regexp clisp module on mingw and cygwin:
gcc -mno-cygwin -DHAVE_CONFIG_H -I. -I/.../current/modules/regexp/gllib -I.. 
-I/.../top/include -I/.../current/build-mingw-g-7/gllib 
-I/.../current/build-mingw-g-7  -g -O2 -W -Wswitch -Wcomment -Wpointer-arith 
-Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare 
-Wno-format-nonliteral -falign-functions=4 -D_WIN32 -g -O0 -DDEBUG_OS_ERROR 
-DDEBUG_SPVW -DDEBUG_BYTECODE -DSAFETY=3 -DENABLE_UNICODE -DNO_TERMCAP_NCURSES 
-DDYNAMIC_FFI -DDYNAMIC_MODULES -DNO_GETTEXT -I.  -DDLL_EXPORT -DPIC 
-I/.../current/build-mingw-g-7/  -MT malloc.o -MD -MP -MF .deps/malloc.Tpo -c 
-o malloc.o /.../current/modules/regexp/gllib/malloc.c

In file included from /.../current/modules/regexp/gllib/malloc.c:
32:./stdlib.h:65: error: redefinition of `struct random_data'
make[4]: *** [malloc.o] Error 1

indeed, I have stdlib.h both in gllib and regexp/gllib.
what has happened?
thanks.
Sam.




module request: gmalloc

2010-10-11 Thread Sam Steingold
some platforms have malloc implementations with extra features like 
randomizations, and some applications cannot handle those features.

thus emacs (and clisp) come with gmalloc.c by Mike Haertel.
It would be nice if it were offered by gnulib, so that I won't have to have my 
own special login to handle the --with-gmalloc configure option and could 
instead get the gmalloc module from gnulib and --with-included-malloc (???) 
would DTRT.

thanks.
Sam.




Re: error: redefinition of `struct random_data'

2010-10-11 Thread Sam Steingold
Hi Bruno,

On Mon, Oct 11, 2010 at 6:41 PM, Bruno Haible br...@clisp.org wrote:

 It sounds like you have two invocations for gnulib-tool, one for gllib,
 and one for regexp/gllib.

you must be clairvoyant.

 You probably renamed the inclusion guard (_GL_STDLIB_H)
 appropriate (as recommended).

does this as recommended mean that you are now more amenable to
accepting my patch?
http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/gnulib-tool.patch?view=log

 I think the problem you encountered is not specific to clisp, therefore I'm
 applying approach a).

thanks.

-- 
Sam Steingold http://sds.podval.org



gl_* check do nothing?

2010-09-29 Thread Sam Steingold

this part of my configure.in:

==
AC_FUNC_CHOWN
gl_FUNC_MKTIME
gl_FUNC_GNU_STRFTIME
gl_FUNC_STRPTIME
gl_TIME_MODULE_INDICATOR([strptime])
gl_GETDATE
gl_FUNC_STRVERSCMP
gl_STRING_MODULE_INDICATOR([strverscmp])
gl_FUNC_UNAME
gl_SYS_UTSNAME_MODULE_INDICATOR([uname])
gl_FUNC_STRERROR
gl_STRING_MODULE_INDICATOR([strerror])
AC_CHECK_DECLS([signgam],,,[#include math.h])
==

produces this output:
==
checking for working chown... yes
checking for working mktime... (cached) yes
checking for struct tm.tm_zone... (cached) yes
checking for strverscmp... (cached) yes
checking for uname... (cached) yes
checking whether signgam is declared... yes
==

i.e.,

==
gl_FUNC_GNU_STRFTIME
gl_FUNC_STRPTIME
gl_TIME_MODULE_INDICATOR([strptime])
gl_GETDATE
==

only prints

==
checking for struct tm.tm_zone... (cached) yes
==

while

==
gl_FUNC_STRERROR
gl_STRING_MODULE_INDICATOR([strerror])
==

print NOTHING.

So, does this mean that gnulib NEVER relies on the system-supplied strftime, 
strptime, getdate, strerror?

why?
this is a very current ubuntu so I expected that _none_ of the gnulib code 
would be used.
how do I get the full list of all functions which gnulib actually replaced in 
the current build?


thanks!
Sam.




getdate fails to build

2010-09-29 Thread Sam Steingold
/bin/bash /home/sds/src/clisp/current/build-g//build-aux/ylwrap 
/home/sds/src/clisp/current/modules/syscalls/gllib/getdate.y \

  y.tab.c getdate.c \
  y.tab.h getdate.h \
  y.output getdate.output \
  -- byacc\
mv getdate.c getdate.c-t  \
mv getdate.c-t 
/home/sds/src/clisp/current/modules/syscalls/gllib/getdate.c
byacc: e - line 277 of 
/home/sds/src/clisp/current/modules/syscalls/gllib/getdate.y, syntax error

%pure-parser
^
make[2]: *** [getdate.c] Error 1

why is getdate built at all on the latest ubuntu?
isn't glibc enough there?!

thanks
Sam




Re: gl_* check do nothing?

2010-09-29 Thread Sam Steingold
 getdate: never supplied by the system.

HUH???!!!

$ nm /lib/libc.so.6 | grep getdate
00085620 t __getdate_r
00085b70 T getdate
00157334 B getdate_err
00085620 W getdate_r

-- 
Sam Steingold http://sds.podval.org



Re: getdate fails to build

2010-09-29 Thread Sam Steingold
Bruno,

On Wed, Sep 29, 2010 at 12:33 PM, Bruno Haible br...@clisp.org wrote:
 Sam,

 why is getdate built at all on the latest ubuntu?
 isn't glibc enough there?!

 Take a look at the module description (modules/getdate):

  1) It says

       Include:
       getdate.h

     Does glibc have a getdate.h include file?

posix does not require getdate.h.
gnulib shouldn't either.

every time you replace some glibc functionality, it is a bug.
either in gnulib, or in glibc.


  2) It says

       Makefile.am:
       lib_SOURCES += getdate.y

     which means that getdate.y is compiled unconditionally.
     Whereas platform-dependent compilations are usually triggered
     through AC_LIBOBJ.

this is a bug in gnulib.

 /bin/bash /home/sds/src/clisp/current/build-g//build-aux/ylwrap
 /home/sds/src/clisp/current/modules/syscalls/gllib/getdate.y \
                                        y.tab.c getdate.c \
                                        y.tab.h getdate.h \
                                        y.output getdate.output \
                                        -- byacc    \
          mv getdate.c getdate.c-t  \
          mv getdate.c-t
 /home/sds/src/clisp/current/modules/syscalls/gllib/getdate.c
 byacc: e - line 277 of
 /home/sds/src/clisp/current/modules/syscalls/gllib/getdate.y, syntax error
 %pure-parser
 ^
 make[2]: *** [getdate.c] Error 1

 The getdate module comes with an autoconf macro gl_GETDATE, which requires
 gl_BISON, found in m4/bison.m4. This macro has a comment
 # getdate.y works with bison only., and sets the default value of YACC
 to 'bison -y'. Probably you had YACC set by another macro, and it ended
 up being 'byacc'. Since your package now includes getdate.y, it relies
 on bison. So you can ditch your other macro that determined YACC in a
 more relaxed way, and use bison.m4 instead.

this is another gnulib bug: it should have detected bad YACC at
configure time and failed then.

the bottom line is:
gnulib has no business requiring YACC on linux
gnulib has no business replacing glibc functions on linux

-- 
Sam Steingold http://sds.podval.org



Re: gl_* check do nothing?

2010-09-29 Thread Sam Steingold
On Wed, Sep 29, 2010 at 11:50 AM, Eric Blake ebl...@redhat.com wrote:
 On 09/29/2010 09:34 AM, Sam Steingold wrote:

 this part of my configure.in:

 You haven't switched to configure.ac yet?

http://www.cygwin.com/acronyms/#PTC :-)

 AC_FUNC_CHOWN
 gl_FUNC_MKTIME
 gl_FUNC_GNU_STRFTIME
 gl_FUNC_STRPTIME
 gl_TIME_MODULE_INDICATOR([strptime])
 gl_GETDATE
 gl_FUNC_STRVERSCMP
 gl_STRING_MODULE_INDICATOR([strverscmp])
 gl_FUNC_UNAME
 gl_SYS_UTSNAME_MODULE_INDICATOR([uname])
 gl_FUNC_STRERROR
 gl_STRING_MODULE_INDICATOR([strerror])

 Why are you calling these macros directly?  It's much easier to call a
 single gl_INIT (after gl_INIT_EARLY) to get it all taken care of for you.

because I did not know that gl_INIT called them.
thanks for pointing this out.

 how do I get the full list of all functions which gnulib actually
 replaced in the current build?

 For all gnulib replacements that follow modern paradigms, the fastest way to
 see what needed replacement is 'grep REPLACE_.\*1 config.log',

no matches.
great!

 although that
 may miss out on a few of the older-style function replacements (for example,
 poll didn't show up in that paradigm until just this week).

are there many of those?

-- 
Sam Steingold http://sds.podval.org



Re: gl_* check do nothing?

2010-09-29 Thread Sam Steingold
On Wed, Sep 29, 2010 at 1:32 PM, Eric Blake ebl...@redhat.com wrote:
 On 09/29/2010 11:25 AM, Eric Blake wrote:

 On 09/29/2010 10:50 AM, Sam Steingold wrote:

 getdate: never supplied by the system.

 Gnulib and glibc getdate are not synced. There are extensions and bug
 fixes in gnulib's getdate that have not been ported to glibc. Therefore,
 use of the gnulib module intentionally avoids the glibc getdate at the
 moment.

 Correction - gnulib getdate provides get_date(), not getdate(), so there is
 nothing to be synced back to glibc.

Too bad.
Had I realised this earlier, I would not have pulled the getdate
module from gnulib.
now I have to revert my changes...

maybe it would be a good idea to rename to module get_date?

-- 
Sam Steingold http://sds.podval.org



Re: getdate fails to build

2010-09-29 Thread Sam Steingold
On Wed, Sep 29, 2010 at 1:44 PM, Paul Eggert egg...@cs.ucla.edu wrote:
 Renaming the module to get_date would avoid
 confusion like Sam's in the future.  Presumably
 getdate.h would be renamed to get_date.h as well.

yes, please do!

thanks for your explanations!


-- 
Sam Steingold http://sds.podval.org



Re: gl_* check do nothing?

2010-09-29 Thread Sam Steingold
On Wed, Sep 29, 2010 at 2:17 PM, Eric Blake ebl...@redhat.com wrote:
 On 09/29/2010 12:10 PM, Sam Steingold wrote:

 Had I realised this earlier, I would not have pulled the getdate
 module from gnulib.
 now I have to revert my changes...

 Which application are you trying to use this in?

GNU CLISP http://clisp.cons.org

 this part of my configure.in:

 You haven't switched to configure.ac yet?
 http://www.cygwin.com/acronyms/#PTC :-)

 Which project would I be submitting a patch to, anyway?

clisp.
if you are serious, let us talk on clisp-devel.

-- 
Sam Steingold http://sds.podval.org



why does getdate include xalloc-die.c?

2010-09-28 Thread Sam Steingold

does this mean that on memory allocation failure in getdate clisp will exit?
this is no good.




Re: module gethostname

2010-09-16 Thread Sam Steingold

Bruno Haible wrote:

I am now getting

undefined reference to 
`_gethostname_used_without_requesting_gnulib_module_gethostname'


This indicates that you have included gnulib unistd.h, are using 
gethostname(),
and have not asked for the gnulib module 'gethostname'.
  - If you want to use a POSIX compliant gethostname() function, you need to
request the 'gethostname' module.
  - If you want to use Win32 gethostname() - handling errors in the Win32 way,
and guaranteeing the socket library initialization call yourself - then be
sure to #include unistd.h, then #undef gethostname, and then #include
winsock2.h and ws2tcpip.h.


thanks.
now I get a linking error:

Warning: resolving _gethostname by linking to _gethostn...@8
Use --enable-stdcall-fixup to disable these warnings
Use --disable-stdcall-fixup to disable these fixups
libgnu_cl.a(sockets.o): In function `close_fd_maybe_socket':
/cygdrive/c/sds/dev/current/build-mingw-O-2/gllib/../../src/gllib/sockets.c:44:
undefined reference to `_wsaenumnetworkeve...@12'
collect2: ld returned 1 exit status

curiously, this happens only when I link the base linking set; the boot linking 
set is created just fine




module gethostname

2010-09-15 Thread Sam Steingold

The only problem which gethostname module fixes is:

On mingw, this function has a prototype that differs from that
specified by POSIX, and it is defined only in the ws2_32 library.

why does it have such extensive dependencies? (sockets! errno!)

I have to reiterate my complaint that the gnulib dependencies mean that one has 
to include (almost) the whole of gnulib if one includes (almost) any part thereof.


the case in question is that I am now getting

undefined reference to 
`_gethostname_used_without_requesting_gnulib_module_gethostname'


gcc errors on mingw and I have to figure out which gnulib module did this to me.




Re: feature request: detect CPU instruction set

2010-09-03 Thread Sam Steingold

Bruno Haible wrote:

  AH_TOP([/* CPU and C ABI indicator */
#ifndef __i386__
#undef __i386__
#endif
#ifndef __x86_64__
#undef __x86_64__
#endif
#ifndef __alpha__
#undef __alpha__
#endif
#ifndef __arm__
#undef __arm__
#endif
#ifndef __armel__
#undef __armel__
#endif
#ifndef __hppa__
#undef __hppa__
#endif
#ifndef __hppa64__
#undef __hppa64__
#endif
#ifndef __ia64__
#undef __ia64__
#endif
#ifndef __m68k__
#undef __m68k__
#endif
#ifndef __mips__
#undef __mips__
#endif
#ifndef __mipsn32__
#undef __mipsn32__
#endif
#ifndef __mips64__
#undef __mips64__
#endif
#ifndef __powerpc__
#undef __powerpc__
#endif
#ifndef __powerpc64__
#undef __powerpc64__
#endif
#ifndef __s390__
#undef __s390__
#endif
#ifndef __s390x__
#undef __s390x__
#endif
#ifndef __sh__
#undef __sh__
#endif
#ifndef __sparc__
#undef __sparc__
#endif
#ifndef __sparc64__
#undef __sparc64__
#endif
])


what is this?
how is it supposed to be used?
I only see it in:
$ grep -r 'CPU and C ABI indicator' .
./glm4/host-cpu-c-abi.m4:  AH_TOP([/* CPU and C ABI indicator */
./aclocal.m4:  AH_TOP([/* CPU and C ABI indicator */
$

does it somehow replace
=
/* CPU */
#ifndef __i386__
#undef __i386__
#endif
#ifndef __m68k__
#undef __m68k__
#endif
#ifndef __mips__
#undef __mips__
#endif
#ifndef __mipsn32__
#undef __mipsn32__
#endif
#ifndef __mips64__
#undef __mips64__
#endif
#ifndef __sparc__
#undef __sparc__
#endif
#ifndef __sparc64__
#undef __sparc64__
#endif
#ifndef __alpha__
#undef __alpha__
#endif
#ifndef __hppa__
#undef __hppa__
#endif
#ifndef __arm__
#undef __arm__
#endif
#ifndef __powerpc__
#undef __powerpc__
#endif
#ifndef __powerpc64__
#undef __powerpc64__
#endif
#ifndef __s390__
#undef __s390__
#endif
#ifndef __m88k__
#undef __m88k__
#endif
#ifndef __convex__
#undef __convex__
#endif
#ifndef __ia64__
#undef __ia64__
#endif
#ifndef __x86_64__
#undef __x86_64__
#endif
=
in, e.g., vacall.h.in?



module request: sockets.m4

2010-09-01 Thread Sam Steingold

Hi,
I want to include sockets.m4 and nothing else (I need LIBSOCKET to replace 
clisp/src/m4/socket.m4).

Is it possible to add a module which would only include that one file?
thanks
Sam.




Re: module request: sockets.m4

2010-09-01 Thread Sam Steingold
Hi Bruno,

On 9/1/10, Bruno Haible br...@clisp.org wrote:

   I want to include sockets.m4 and nothing else (I need LIBSOCKET to replace
   clisp/src/m4/socket.m4).
   Is it possible to add a module which would only include that one file?

 You can get this file by invoking
gnulib-tool --copy-file m4/sockets.m4 src/m4/socket.m4

thanks.

  But note that we don't guarantee stability (modulo changes listed in the NEWS
  file) only for entire modules. In other words, the naming and contents of a 
 .m4
  file may change without notice.

Ok, so please do create a module and guarantee the stability. :-)

-- 
Sam Steingold http://sds.podval.org



Re: feature request: detect CPU instruction set

2010-08-31 Thread Sam Steingold

Bruno Haible wrote:

Compared to the code that you proposed:
  - I changed the name, of course.
  - I chose to use AC_CACHE_CHECK once for the result of the entire macro, not
for each AC_EGREP_CPP inside it.
  - I dropped Convex CPUs; these are dead for more than 10 years.
  - I added an AH_TOP invocation so that the __xyz__ macro gets defined through
config.h.


these are not the only changes:


 AC_EGREP_CPP([yes],
   [#if defined __LP64__ || defined __x86_64__ || defined __amd64__
yes
#endif],

...

 AC_EGREP_CPP([yes],
   [#if defined __ARMEL__
yes
#endif],

... etc

I have

dnl CL_CACHE_EGREP_CPP(what,variable,condition)
AC_DEFUN([CL_CACHE_EGREP_CPP],
[AC_CACHE_CHECK([for $1], [$2], [AC_EGREP_CPP(yes,
[#if $3
  yes
#endif
], [$2=yes], [$2=no])])])

dnl CL_SET_CPU_ABI(what,variable,condition,yes_abi,no_abi)
AC_DEFUN([CL_SET_CPU_ABI],
[CL_CACHE_EGREP_CPP([$1],[$2],[$3])
if test $$2 = yes; then
  host_cpu_abi=$4
else
  host_cpu_abi=$5
fi])

which make the code much more readable.
you say you want to cache just once.
fine, remove AC_CACHE_CHECK.



Re: feature request: detect CPU instruction set

2010-08-31 Thread Sam Steingold
Hi Bruno,

On 8/31/10, Bruno Haible br...@clisp.org wrote:

 It apparently depends for whom the code should be readable.
since you will be maintaining the code, it is your choice.

  So, except for code style, you are fine with that proposed module?
yes.

-- 
Sam Steingold http://sds.podval.org



Re: feature request: detect CPU instruction set

2010-08-30 Thread Sam Steingold
Hi Bruno,

On 8/28/10, Bruno Haible br...@clisp.org wrote:
  Sam, you contributed a significant part to the
  FFCALL_CANONICAL_HOST_CPU code that you proposed, from which this one here
  is derived. Would you mind starting the paperwork process for assigning
  your gnulib contributions to the FSF? Please refer to
  http://www.gnu.org/prep/maintain/maintain.html#Copyright-Papers

I think I have already contributed and thus you should already have
all the papers.

PS. I do not see the new module under git.

-- 
Sam Steingold http://sds.podval.org



Re: feature request: detect CPU instruction set

2010-07-28 Thread Sam Steingold

so, what's the verdict?

Sam Steingold wrote:
The already existing AC_CANONICAL_HOST is insufficient in that it does 
not detect the actual cpu instruction set to which the C compiler compiles.
E.g., it is quite common that uname -m prints sparc64 while gcc 
compile 32-bit binaries by default.
It would be nice if gnulib offered a module containing one m4 file with 
one exported macro which would cache and substitute @host_cpu_abi@ (or 
@host_cpu_instructionset@).
Specifically, clisp and libffcall both have this (originally by Bruno, 
modified by me):

=
dnl FFCALL_CACHE_EGREP_CPP(what,variable,condition)
AC_DEFUN([FFCALL_CACHE_EGREP_CPP],
[AC_CACHE_CHECK([for $1], [$2], [AC_EGREP_CPP(yes,
[#if $3
  yes
#endif
], [$2=yes], [$2=no])])])

dnl FFCALL_SET_CPU_ABI(what,variable,condition,yes_abi,no_abi)
AC_DEFUN([FFCALL_SET_CPU_ABI],
[FFCALL_CACHE_EGREP_CPP([$1],[$2],[$3])
if test $$2 = yes; then
  host_cpu_abi=$4
else
  host_cpu_abi=$5
fi])

AC_DEFUN([FFCALL_CANONICAL_HOST_CPU],
[AC_REQUIRE([AC_CANONICAL_HOST])AC_REQUIRE([AC_PROG_CC])
case $host_cpu in
changequote(,)dnl
  i[4567]86 )
host_cpu_abi=i386
;;
  alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] )
host_cpu_abi=alpha
;;
  hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
host_cpu_abi=hppa
;;
  rs6000 )
host_cpu_abi=powerpc
;;
  c1 | c2 | c32 | c34 | c38 | c4 )
host_cpu_abi=convex
;;
changequote([,])dnl
  arm* )
FFCALL_SET_CPU_ABI([ARMel], ffcall_cv_host_armel,
  [defined(__ARMEL__)],armel,arm)
;;
  mips* )
dnl We should also check for (_MIPS_SZPTR == 64), but gcc keeps this at 32.
FFCALL_CACHE_EGREP_CPP([64-bit MIPS], ffcall_cv_host_mips64,
  [defined(_MIPS_SZLONG)  (_MIPS_SZLONG == 64)])
if test $ffcall_cv_host_mips64 = yes; then
  host_cpu_abi=mips64
else
dnl Strictly speaking, the MIPS ABI (-32 or -n32) is independent from 
the CPU
dnl identification (-mips[12] or -mips[34]). But -n32 is commonly used 
together

dnl with -mips3, and it's easier to test the CPU identification.
  FFCALL_SET_CPU_ABI([MIPS with n32 ABI], ffcall_cv_host_mipsn32,
[__mips = 3], mipsn32, mips)
fi
;;
dnl On powerpc64 systems, the C compiler may still be generating 32-bit 
code.

  powerpc64 )
FFCALL_SET_CPU_ABI([64-bit PowerPC], ffcall_cv_host_powerpc64,
  [defined(__powerpc64__) || defined(_ARCH_PPC64)], powerpc64, powerpc)
;;
dnl UltraSPARCs running Linux have `uname -m` = sparc64, but the C 
compiler

dnl still generates 32-bit code.
  sparc | sparc64 )
FFCALL_SET_CPU_ABI([64-bit SPARC], ffcall_cv_host_sparc64,
  [defined(__sparcv9) || defined(__arch64__)], sparc64, sparc)
;;
dnl On x86_64 systems, the C compiler may still be generating 32-bit code.
  x86_64 )
FFCALL_SET_CPU_ABI([64-bit x86_64], ffcall_cv_host_x86_64,
  [defined(__LP64__) || defined(__x86_64__) || defined(__amd64__)],
  x86_64, i386)
;;
  *)
host_cpu_abi=$host_cpu
;;
esac
AC_SUBST(host_cpu_abi)
dnl was AC_DEFINE_UNQUOTED(__${host_cpu}__) but KAI C++ 3.2d doesn't 
like this

cat  confdefs.h EOF
#ifndef __${host_cpu_abi}__
#define __${host_cpu_abi}__ 1
#endif
EOF
])
=
It would be nice if you could incorporate it into gnulib.
Thanks.
Sam








feature request: detect CPU instruction set

2010-07-21 Thread Sam Steingold
The already existing AC_CANONICAL_HOST is insufficient in that it does not 
detect the actual cpu instruction set to which the C compiler compiles.
E.g., it is quite common that uname -m prints sparc64 while gcc compile 
32-bit binaries by default.
It would be nice if gnulib offered a module containing one m4 file with one 
exported macro which would cache and substitute @host_cpu_abi@ (or 
@host_cpu_instructionset@).
Specifically, clisp and libffcall both have this (originally by Bruno, modified 
by me):

=
dnl FFCALL_CACHE_EGREP_CPP(what,variable,condition)
AC_DEFUN([FFCALL_CACHE_EGREP_CPP],
[AC_CACHE_CHECK([for $1], [$2], [AC_EGREP_CPP(yes,
[#if $3
  yes
#endif
], [$2=yes], [$2=no])])])

dnl FFCALL_SET_CPU_ABI(what,variable,condition,yes_abi,no_abi)
AC_DEFUN([FFCALL_SET_CPU_ABI],
[FFCALL_CACHE_EGREP_CPP([$1],[$2],[$3])
if test $$2 = yes; then
  host_cpu_abi=$4
else
  host_cpu_abi=$5
fi])

AC_DEFUN([FFCALL_CANONICAL_HOST_CPU],
[AC_REQUIRE([AC_CANONICAL_HOST])AC_REQUIRE([AC_PROG_CC])
case $host_cpu in
changequote(,)dnl
  i[4567]86 )
host_cpu_abi=i386
;;
  alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] )
host_cpu_abi=alpha
;;
  hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
host_cpu_abi=hppa
;;
  rs6000 )
host_cpu_abi=powerpc
;;
  c1 | c2 | c32 | c34 | c38 | c4 )
host_cpu_abi=convex
;;
changequote([,])dnl
  arm* )
FFCALL_SET_CPU_ABI([ARMel], ffcall_cv_host_armel,
  [defined(__ARMEL__)],armel,arm)
;;
  mips* )
dnl We should also check for (_MIPS_SZPTR == 64), but gcc keeps this at 32.
FFCALL_CACHE_EGREP_CPP([64-bit MIPS], ffcall_cv_host_mips64,
  [defined(_MIPS_SZLONG)  (_MIPS_SZLONG == 64)])
if test $ffcall_cv_host_mips64 = yes; then
  host_cpu_abi=mips64
else
dnl Strictly speaking, the MIPS ABI (-32 or -n32) is independent from the CPU
dnl identification (-mips[12] or -mips[34]). But -n32 is commonly used together
dnl with -mips3, and it's easier to test the CPU identification.
  FFCALL_SET_CPU_ABI([MIPS with n32 ABI], ffcall_cv_host_mipsn32,
[__mips = 3], mipsn32, mips)
fi
;;
dnl On powerpc64 systems, the C compiler may still be generating 32-bit code.
  powerpc64 )
FFCALL_SET_CPU_ABI([64-bit PowerPC], ffcall_cv_host_powerpc64,
  [defined(__powerpc64__) || defined(_ARCH_PPC64)], powerpc64, powerpc)
;;
dnl UltraSPARCs running Linux have `uname -m` = sparc64, but the C compiler
dnl still generates 32-bit code.
  sparc | sparc64 )
FFCALL_SET_CPU_ABI([64-bit SPARC], ffcall_cv_host_sparc64,
  [defined(__sparcv9) || defined(__arch64__)], sparc64, sparc)
;;
dnl On x86_64 systems, the C compiler may still be generating 32-bit code.
  x86_64 )
FFCALL_SET_CPU_ABI([64-bit x86_64], ffcall_cv_host_x86_64,
  [defined(__LP64__) || defined(__x86_64__) || defined(__amd64__)],
  x86_64, i386)
;;
  *)
host_cpu_abi=$host_cpu
;;
esac
AC_SUBST(host_cpu_abi)
dnl was AC_DEFINE_UNQUOTED(__${host_cpu}__) but KAI C++ 3.2d doesn't like this
cat  confdefs.h EOF
#ifndef __${host_cpu_abi}__
#define __${host_cpu_abi}__ 1
#endif
EOF
])
=
It would be nice if you could incorporate it into gnulib.
Thanks.
Sam




Re: feature request: detect CPU instruction set

2010-07-21 Thread Sam Steingold
Hello Ralf,

On 7/21/10, Ralf Wildenhues ralf.wildenh...@gmx.de wrote:
  * Sam Steingold wrote on Wed, Jul 21, 2010 at 05:08:02PM CEST:
  The already existing AC_CANONICAL_HOST is insufficient in that it
   does not detect the actual cpu instruction set to which the C
   compiler compiles.

 Is there something in GCC and/or binutils to bite off of?

I have no idea - I don't hack on gcc and binutils.

  I mean, ideally something syncable in the future.

I don't expect this code to be very actively evolving.


-- 
Sam Steingold http://sds.podval.org



module request: comparing version numbers

2010-06-17 Thread Sam Steingold

Hi,
some gnulib modules (e.g., gnulib/m4/libunistring-base.m4) have facilities for 
comparing version numbers, e.g., 1.5.22 with 2.2.8.
it would be nice if there were a module (say, version-compare) which would 
export such a facility.

e.g., @VERSION_COMPARE@ would expand to
version_compare() {
  ...
}
which would return 0 or 1 depending on whether $1 is smaller than $2.
Thanks.
Sam.




Re: module request: comparing version numbers

2010-06-17 Thread Sam Steingold
On 6/17/10, Eric Blake ebl...@redhat.com wrote:
 On 06/17/2010 11:33 AM, Sam Steingold wrote:
   some gnulib modules (e.g., gnulib/m4/libunistring-base.m4) have
   facilities for comparing version numbers, e.g., 1.5.22 with 2.2.8.
   it would be nice if there were a module (say, version-compare) which
   would export such a facility.
   e.g., @VERSION_COMPARE@ would expand to
   version_compare() {
 ...
   }
   which would return 0 or 1 depending on whether $1 is smaller than $2.

 Are you talking about version comparisons at m4 time (if so, is
  m4_version_compare from autoconf adequate?), at shell time (if so, is
  AS_VERSION_COMPARE from autoconf adequate?), or in your executable (if
  so, is either the strverscmp or filevercmp module adequate?).

at shell time, but not in configure.
I have a shell file foo.in which is processed by configure using
AC_CONFIG_FILES, and I want to be able to compare versions there.

-- 
Sam Steingold http://sds.podval.org



  1   2   3   >