Hi,
we have to exclude compilation of
lib/gis/win32_pipes.c
lib/gis/user_config.c
when compiling with mingW. How to modify the Makefile?
Is there a way to define an EXCLUDE variable in this
Makefile and make include/Make/Lib.make aware of it?
I know too little about Makefile programming to implement
it correctly. Throwing files away may not be the solution.
Markus
Markus Neteler wrote:
we have to exclude compilation of
lib/gis/win32_pipes.c
lib/gis/user_config.c
when compiling with mingW.
Huh? The whole of win32_pipes.c is conditionalised upon
"#ifdef __MINGW32__", so if that file isn't wanted for MinGW, it
should just be removed.
How to modify the Makefile?
Is there a way to define an EXCLUDE variable in this
Makefile and make include/Make/Lib.make aware of it?
I know too little about Makefile programming to implement
it correctly. Throwing files away may not be the solution.
The usual approach is to just conditionalise the entire source file
upon a macro, so that you effectively get an empty file if the test is
false.
--
Glynn Clements <glynn@gclements.plus.com>
On Sat, Feb 11, 2006 at 01:28:47AM +0000, Glynn Clements wrote:
Markus Neteler wrote:
> we have to exclude compilation of
> lib/gis/win32_pipes.c
> lib/gis/user_config.c
>
> when compiling with mingW.
Huh? The whole of win32_pipes.c is conditionalised upon
"#ifdef __MINGW32__", so if that file isn't wanted for MinGW, it
should just be removed.
> How to modify the Makefile?
> Is there a way to define an EXCLUDE variable in this
> Makefile and make include/Make/Lib.make aware of it?
>
> I know too little about Makefile programming to implement
> it correctly. Throwing files away may not be the solution.
The usual approach is to just conditionalise the entire source file
upon a macro, so that you effectively get an empty file if the test is
false.
I don't know - this was a request by Radim, I suggested
to him to remove the files. Let's listen to him.
Markus
On 2/11/06, Markus Neteler <neteler@itc.it> wrote:
On Sat, Feb 11, 2006 at 01:28:47AM +0000, Glynn Clements wrote:
>
> Markus Neteler wrote:
>
> > we have to exclude compilation of
> > lib/gis/win32_pipes.c
> > lib/gis/user_config.c
> >
> > when compiling with mingW.
>
> Huh? The whole of win32_pipes.c is conditionalised upon
> "#ifdef __MINGW32__", so if that file isn't wanted for MinGW, it
> should just be removed.
>
> > How to modify the Makefile?
> > Is there a way to define an EXCLUDE variable in this
> > Makefile and make include/Make/Lib.make aware of it?
> >
> > I know too little about Makefile programming to implement
> > it correctly. Throwing files away may not be the solution.
>
> The usual approach is to just conditionalise the entire source file
> upon a macro, so that you effectively get an empty file if the test is
> false.
I don't know - this was a request by Radim, I suggested
to him to remove the files. Let's listen to him.
Those two files do not compile with MinGW but they are not
used in fact. The files were not in the list of files for compilation
in Makefile but with the recent change which is using *.c
appeared in the list. I only want that it compiles. Do whatever
you prefer. I just worry that if we delete the files the code will be
forgoten for ever.
Radim
Radim Blazek wrote:
> > > we have to exclude compilation of
> > > lib/gis/win32_pipes.c
> > > lib/gis/user_config.c
> > >
> > > when compiling with mingW.
> >
> > Huh? The whole of win32_pipes.c is conditionalised upon
> > "#ifdef __MINGW32__", so if that file isn't wanted for MinGW, it
> > should just be removed.
> >
> > > How to modify the Makefile?
> > > Is there a way to define an EXCLUDE variable in this
> > > Makefile and make include/Make/Lib.make aware of it?
> > >
> > > I know too little about Makefile programming to implement
> > > it correctly. Throwing files away may not be the solution.
> >
> > The usual approach is to just conditionalise the entire source file
> > upon a macro, so that you effectively get an empty file if the test is
> > false.
>
> I don't know - this was a request by Radim, I suggested
> to him to remove the files. Let's listen to him.
Those two files do not compile with MinGW but they are not
used in fact. The files were not in the list of files for compilation
in Makefile but with the recent change which is using *.c
appeared in the list. I only want that it compiles. Do whatever
you prefer. I just worry that if we delete the files the code will be
forgoten for ever.
ISTR that win32_pipes.c is supposed to be replacements for
unix_socks.c, as Windows doesn't support PF_LOCAL (aka PF_UNIX)
sockets.
Personally, I would have thought it would be simpler to just use a
PF_INET socket instead (e.g. use an ephemeral port and write the port
number to a file with the same pathname as would have been used for
the PF_LOCAL socket).
Do you have any idea why they don't compile under MinGW? Both appear
to have been explicitly written with MinGW in mind. Maybe we need some
additional compilation options?
--
Glynn Clements <glynn@gclements.plus.com>
On 2/13/06, Glynn Clements <glynn@gclements.plus.com> wrote:
Radim Blazek wrote:
> > > > we have to exclude compilation of
> > > > lib/gis/win32_pipes.c
> > > > lib/gis/user_config.c
> > > >
> > > > when compiling with mingW.
> > >
> > > Huh? The whole of win32_pipes.c is conditionalised upon
> > > "#ifdef __MINGW32__", so if that file isn't wanted for MinGW, it
> > > should just be removed.
> > >
> > > > How to modify the Makefile?
> > > > Is there a way to define an EXCLUDE variable in this
> > > > Makefile and make include/Make/Lib.make aware of it?
> > > >
> > > > I know too little about Makefile programming to implement
> > > > it correctly. Throwing files away may not be the solution.
> > >
> > > The usual approach is to just conditionalise the entire source file
> > > upon a macro, so that you effectively get an empty file if the test is
> > > false.
> >
> > I don't know - this was a request by Radim, I suggested
> > to him to remove the files. Let's listen to him.
>
> Those two files do not compile with MinGW but they are not
> used in fact. The files were not in the list of files for compilation
> in Makefile but with the recent change which is using *.c
> appeared in the list. I only want that it compiles. Do whatever
> you prefer. I just worry that if we delete the files the code will be
> forgoten for ever.
ISTR that win32_pipes.c is supposed to be replacements for
unix_socks.c, as Windows doesn't support PF_LOCAL (aka PF_UNIX)
sockets.
Personally, I would have thought it would be simpler to just use a
PF_INET socket instead (e.g. use an ephemeral port and write the port
number to a file with the same pathname as would have been used for
the PF_LOCAL socket).
Do you have any idea why they don't compile under MinGW? Both appear
to have been explicitly written with MinGW in mind. Maybe we need some
additional compilation options?
user_config.c:34:17: pwd.h: No such file or directory
user_config.c: In function `_make_toplevel':
user_config.c:87: warning: implicit declaration of function `lstat'
user_config.c:94: error: too many arguments to function `mkdir'
user_config.c: In function `_make_sublevels':
user_config.c:246: error: too many arguments to function `mkdir'
OBJ.i586-pc-mingw32msvc/win32_pipes.o(.text+0x62): In function
`G_pipe_get_fname':
/ssi0/ssi/blazek/win/source/grass6/lib/gis/win32_pipes.c:66: undefined
reference to `_lstat'
OBJ.i586-pc-mingw32msvc/win32_pipes.o(.text+0x166): In function `G_pipe_exists':
/ssi0/ssi/blazek/win/source/grass6/lib/gis/win32_pipes.c:142:
undefined reference to `_CloseFile'
Radim
--
Glynn Clements <glynn@gclements.plus.com>
On Mon, Feb 13, 2006 at 05:31:01PM +0100, Radim Blazek wrote:
On 2/13/06, Glynn Clements <glynn@gclements.plus.com> wrote:
>
> Radim Blazek wrote:
>
> > > > > we have to exclude compilation of
> > > > > lib/gis/win32_pipes.c
> > > > > lib/gis/user_config.c
> > > > >
> > > > > when compiling with mingW.
> > > >
> > > > Huh? The whole of win32_pipes.c is conditionalised upon
> > > > "#ifdef __MINGW32__", so if that file isn't wanted for MinGW, it
> > > > should just be removed.
> > > >
> > > > > How to modify the Makefile?
> > > > > Is there a way to define an EXCLUDE variable in this
> > > > > Makefile and make include/Make/Lib.make aware of it?
> > > > >
> > > > > I know too little about Makefile programming to implement
> > > > > it correctly. Throwing files away may not be the solution.
> > > >
> > > > The usual approach is to just conditionalise the entire source file
> > > > upon a macro, so that you effectively get an empty file if the test is
> > > > false.
> > >
> > > I don't know - this was a request by Radim, I suggested
> > > to him to remove the files. Let's listen to him.
> >
> > Those two files do not compile with MinGW but they are not
> > used in fact. The files were not in the list of files for compilation
> > in Makefile but with the recent change which is using *.c
> > appeared in the list. I only want that it compiles. Do whatever
> > you prefer. I just worry that if we delete the files the code will be
> > forgoten for ever.
>
> ISTR that win32_pipes.c is supposed to be replacements for
> unix_socks.c, as Windows doesn't support PF_LOCAL (aka PF_UNIX)
> sockets.
>
> Personally, I would have thought it would be simpler to just use a
> PF_INET socket instead (e.g. use an ephemeral port and write the port
> number to a file with the same pathname as would have been used for
> the PF_LOCAL socket).
>
> Do you have any idea why they don't compile under MinGW? Both appear
> to have been explicitly written with MinGW in mind. Maybe we need some
> additional compilation options?
user_config.c:34:17: pwd.h: No such file or directory
user_config.c: In function `_make_toplevel':
user_config.c:87: warning: implicit declaration of function `lstat'
user_config.c:94: error: too many arguments to function `mkdir'
user_config.c: In function `_make_sublevels':
user_config.c:246: error: too many arguments to function `mkdir'
see make_loc.c:
#ifdef __MINGW32__
# define mkdir(name, mode) ((mkdir) (name))
#endif
Markus
OBJ.i586-pc-mingw32msvc/win32_pipes.o(.text+0x62): In function
`G_pipe_get_fname':
/ssi0/ssi/blazek/win/source/grass6/lib/gis/win32_pipes.c:66: undefined
reference to `_lstat'
OBJ.i586-pc-mingw32msvc/win32_pipes.o(.text+0x166): In function `G_pipe_exists':
/ssi0/ssi/blazek/win/source/grass6/lib/gis/win32_pipes.c:142:
undefined reference to `_CloseFile'
Radim
> --
> Glynn Clements <glynn@gclements.plus.com>
>
_______________________________________________
grass5 mailing list
grass5@grass.itc.it
http://grass.itc.it/mailman/listinfo/grass5
--
Markus Neteler <neteler itc it> http://mpa.itc.it
ITC-irst - Centro per la Ricerca Scientifica e Tecnologica
MPBA - Predictive Models for Biol. & Environ. Data Analysis
Via Sommarive, 18 - 38050 Povo (Trento), Italy
Radim Blazek wrote:
> Do you have any idea why they don't compile under MinGW? Both appear
> to have been explicitly written with MinGW in mind. Maybe we need some
> additional compilation options?
user_config.c:34:17: pwd.h: No such file or directory
#ifndef __MINGW32__
#include <pwd.h>
#endif
The code which relies upon <pwd.h> is already conditionalised upon
__MINGW32__.
--
Glynn Clements <glynn@gclements.plus.com>