Re: 1.3.2.gde1d fails to build on OpenBSD
On Mon, 15 May 2006, Randal L. Schwartz wrote:
Show 11 quoted lines
>
> GIT_VERSION = 1.3.2.gde1d
> gcc -o sha1_file.o -c -g -O2 -Wall -I/usr/local/include -DSHA1_HEADER='<openssl/sha.h>' -DNO_STRCASESTR sha1_file.c
> sha1_file.c:16:20: stdint.h: No such file or directory
> gmake: *** [sha1_file.o] Error 1
>
> I think you want
>
> #include <sys/types.h>
>
> on OpenBSD.
Gaah. This was one reason why I absolutely _detested_ those "intXX_t" types historically. I thought the world had gotten over it, and they were all so common and standard that we'd never need to worry about it.
Randal: we already _do_ include <sys/types.h>, as part of the standard set
of headers in git-compat-util.h.
So the problem is that that wasn't enough on OS X, which wanted <stdint.h>.
Junio: I'd suggest just using "unsigned int", or just defining your own
types in "cache.h". I would suggest
typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned int u32;
typedef signed char s8;
typedef short s16;
typedef int s32;
which is the only sane way to avoid idiotic crap like autoconf, and which avoids that whole "standard namespace" issue.
Yeah, some people will complain. Ten years later, they _still_ complain about me doing this right in the kernel. But you can sleep well, knowing that the complainers are standards-weenies that have read books, but never seen the real world.
Linus