make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Mingw-users] Make configuration for Win32.


From: John Cronin
Subject: RE: [Mingw-users] Make configuration for Win32.
Date: Mon, 9 Sep 2002 16:42:10 +0100

-----Original Message-----
From: Paul D. Smith [mailto:address@hidden Behalf Of
Paul D. Smith
Sent: 09 September 2002 11:53
To: Earnie Boyd
Cc: John Cronin; address@hidden; address@hidden
Subject: Re: [Mingw-users] Make configuration for Win32.


>%% Earnie Boyd <address@hidden> writes:
>
>  >> I then ran into unresolved symbols (including our old friend bcopy) in
the
>  >> link.
>  >> bcopy was easily fixed, and I carried on with a few more defines for
>
>For bcopy etc., the configure script checks that these exist and, if
>not, redefines them using ISO C functions (see make.h).  At some point I
>want to switch that around and use the ISO C functions in the code, and
>have configure redefine them in terms of bcopy, etc. for those (few)
>systems which don't have them.  But they should work as-is anyway.

err, well it should, but:

(from make-3.80rc1)

make.h:
...
# if defined(HAVE_MEMMOVE) && !defined(bcopy)
#  define bcopy(s, d, n)    memmove ((d), (s), (n))
# endif
...

ie it defines it if its not there, and HAVE_MEMMOVE is defined.
Output of grep -r HAVE_MEMMOVE *

address@hidden:/usr/src/make-3.80rc1$ grep -r HAVE_MEMMOVE *
config.ami:#define HAVE_MEMMOVE 1
config.h-vms:#define HAVE_MEMMOVE 1
config.h.W32:#undef HAVE_MEMMOVE
config.h.W32:#define HAVE_MEMMOVE 1
make.h:# if defined(HAVE_MEMMOVE) && !defined(bcopy)

ie its not defined on anything but the config.h for amiga, vms and
preconfigured
win32 (I presume for MSVC etc).
my change just adds memmove to AC_CHECK_FUNCS, which then defines
HAVE_MEMMOVE, and
thus bcopy.  This is not normally a problem, as most unices define bcopy
anyway.



>  >> functions such as
>  >> xmalloc -> malloc
>  >> xstrdup -> malloc;strcpy
>  >> and so on, but eventually came up against some such esoteric ones
>  >> that I couldn't find a description anywhere, including fatal, error
>  >> and savestring (obviously searching google for error isn't very
>  >> helpful! although I found some reference to savestring in
>  >> readline).  They weren't defined anywhere in the make sources, the
>  >> only prototype being an extern in make.h, and I couldn't find them
>  >> anywhere in my mingw
>
>I don't understand this at all!  Obviously make will build on even the
>most ancient UNIX systems, as well as Amiga, VMS, DOS, and Windows using
>native Windows compilers.  None of these platforms have any of the
>functions above.
>
>_ALL_ the functions you describe above _ARE_ defined in the make source
>code!
>
>Look in misc.c; they're all right there.

uh, yeah, apologies for that. On my initial attempt, I copied the contents
of w32
to the toplevel dir, missing the fact that there was a misc.c already there,
which I overwrote <doh>.

Anyway, I have just got 3.80rc1 to compile on mingw (1.1 if you're
interested) and
msys, by alterations to the makefile.am and configure.in, without changing
the location
of anything.  I must just check it builds with these changes on my Linux and
Cygwin,
then I'll post a diff.

John

>--
>---------------------------------------------------------------------------
----
> 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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]