[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CVS psmith make: Whoops; configure wasn't looking for memmove.
From: |
Paul D. Smith |
Subject: |
Re: CVS psmith make: Whoops; configure wasn't looking for memmove. |
Date: |
Mon, 9 Sep 2002 22:28:34 -0400 |
%% Soren A <address@hidden> writes:
sa> Yes, and because of that, build on Win32-ish was failing; but also
sa> you need to have configure check for bcopy(), because bcopy()
sa> isn't there on Win32- Gnu-ish platforms (I have been told it is
sa> part of GlibC, but Cygwin, etc are based on Newlib, not GlibC).
I don't understand this. If bcopy() isn't there and memmove() is (which
wasn't being checked but now will be) then the code in make.h as-is
works.
Doesn't it?
sa> A part of <make.h> needs to be rewritten because it appears that
sa> at some point an ad-hoc (?) addition was made to try to deal with
sa> lack of bcopy(), but was done not properly, by getting into
sa> configure and making the needed changes there.
I looked at the diffs (thanks) and this is the only one in make.h:
-# if defined(HAVE_MEMMOVE) && !defined(bcopy)
+# if ! defined(HAVE_BCOPY)
# define bcopy(s, d, n) memmove ((d), (s), (n))
# endif
I don't think this is correct--or at least not more correct than the
current behavior.
The current behavior says "if we have memmove() and bcopy() is not a
macro (because some systems define it as a macro and in that case if we
redefine it we will get an error) then define bcopy() as a macro that
invokes memmove()".
I believe this is correct, even on MINGW systems.
Your change says "if configure can't find a bcopy(), then define it to
be memmove()".
I think the only practical difference (except for weird cases where
configure can't find bcopy() but it does end up being defined as a macro
in the actual build, where your change would fail--but I doubt that
would happen in real life) is that the original prefers memmove() if
it exists, and your change prefers bcopy() if it exists.
--
-------------------------------------------------------------------------------
Paul D. Smith <address@hidden> Find some GNU make tips at:
http://www.gnu.org http://make.paulandlesley.org
"Please remain calm...I may be mad, but I am a professional." --Mad Scientist