Re: [patch 07/15] host-IRIX.patch
From: Gary V. Vaughan <hidden>
Date: 2016-06-15 22:48:42
[It seems that while the list allows me to start a new thread, all my replies are actually discarded or held for moderation :( Please forward a copy to the list on my behalf] On Tue, Mar 16, 2010 at 10:27:07AM -0500, Brandon Casey wrote:
On 03/16/2010 12:42 AM, Gary V. Vaughan wrote:quoted
Irix 6.5 does not define 'sgi', but does define '__sgi'. Also, Irix 6.5 requires _BSD_TYPES to be defined in order for the BSD u_short types et. al. to be declared properly.Which IRIX release (uname -R) and compiler version are you using? I have IRIX 6.5.29m and MIPSpro Compiler 7.4.4m.
IRIX 6.5.26m here, with the same compiler.
Both 'sgi' and '__sgi' appear to be predefined by the preprocessor on my system. I wasn't aware of '__sgi' when I added 'sgi', otherwise I would have used it.
I was quite surprised too, but __sgi is necessary here.
On my system, defining _SGI_SOURCE causes _SGIAPI to be enabled which causes all of the BSD types to be enabled. In my header files in /usr/include/ everywhere I see a test for _BSD_TYPES, I also see a test for _SGIAPI (or something equivalent) like this: #if _SGIAPI || defined(_BSD_TYPES) So defining _BSD_TYPES will probably not affect compiling on IRIX for me (though I haven't tested your patches yet), but do your header files not do the same thing with _SGI_SOURCE, _SGIAPI, and _BSD_TYPES?
They do, but when I was looking for a macro to define to get the additional declarations, _BSD_TYPES was the first one I found. _SGI_SOURCE, _SGIAPI and even _BSD_COMPAT appear to work equally well.
Which shell are you using? Bash? or the native Korn shell? If you're trying to use the Korn shell, then you'll need a patch to t/test-lib.sh in order for the test suite to work properly. I can send it to you if you'd like.
I believe we're using bash. At least our environment has
SHELL=/opt/fsw/bash32/bin/bash and we call configure with '${SHELL}
./configure ...' and gmake with 'make SHELL=${SHELL}'. But I suppose
it's possible that if t/Makefile ignores those settings and the tests
begin with '#!/bin/sh', then perhaps they are using Korn shell?
Thanks, yes, I'll be interested to see your patch... but shouldn't we
try to fix git in the repo so that it respects the SHELL environment
and make setting?
I compile and test with the following config.mak settings: GIT_SKIP_TESTS := \ t3900.1[129] t3900.2[0234] \ t5100.5 t5100.1[09] \ t8005.[234] export GIT_SKIP_TESTS # perl 5.8.0 # python 2.1 # GNU tar 1.2 PERL_PATH = /apps/bin/perl PYTHON_PATH = /apps/bin/python TAR = /sw/local/bin/gtar CC = c99 CFLAGS = -n32 -O2 NO_C99_FORMAT = 1 NO_CURL = 1 NO_TCLTK = 1 NO_MMAP = NO_OPENSSL = 1 BLK_SHA1 = 1 DEFAULT_PAGER = more # For IRIX <= 6.5.20 compatibility (uname -R) # i.e. the next two are not necessary for IRIX > 6.5.20 NO_STRLCPY = 1 NO_DEFLATE_BOUND = 1
And similarly, shouldn't these settings be fed back upstream for the benefit of other IRIX users of git? Cheers, -- Gary V. Vaughan (gary@thewrittenword.com)