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

Re: Detecting kfreebsd kernel while compiling [hurd]



Hi!

On Mon, 2010-02-01 at 17:43:32 +0100, Joachim Wiedorn wrote:
> Luca Bruno <lucab@debian.org> wrote:
> > From our hurd-i386 porterbox:
> > 
> > lucab@strauss:~$ echo | gcc -g3 -E - | grep -i hurd
> > #define __gnu_hurd__ 1
> > lucab@strauss:~$ echo | gcc -g3 -E - | grep -i gnu 
> > #define __GNUC__ 4
> > #define __GNUC_MINOR__ 4
> > #define __GNUC_PATCHLEVEL__ 3
> > #define __GNUC_GNU_INLINE__ 1
> > #define __gnu_hurd__ 1
> > #define __GNU__ 1
> > lucab@strauss:~$ echo | gcc -g3 -E - | grep -i mach
> > #define __MACH 1
> > #define __MACH__ 1
> > #define MACH 1
> 
> Thanks! 
> Now I can difference between GNU/Linux and GNU/Hurd.

As being said on the list, explicitly checking for those on the source
is not usually the correct solution. I've taken a look at the xfe code
now, and I see three portability checks.

For the tty ones in xvt/ttyinit.c the linux check is wrong, it should
check for __GLIBC__ (which is what was intended as can be read from
the comment in “Obtaining a free pty”).

Then there's the mount/unmount support, which seems to be truly Linux
specific.

And finally the package support, which should not be kernel dependent
at all (currently wrongly checks for Linux). This check should just be
removed and the functionality enabled at build or run time if dpkg or
rpm is detected. Also it assumes that if dpkg is installed it cannot
be an rpm based system, which also seems wrong, as Debian for example
has rpm, and dpkg can be packaged for other non-Debian based distros.

thanks,
guillem


Reply to: