From: Linus Torvalds Date: Mon, 15 May 2006 16:00:22 GMT Subject: Re: 1.3.2.gde1d fails to build on OpenBSD Message-ID: In-Reply-To: <86psiftlgf.fsf@blue.stonehenge.com> On Mon, 15 May 2006, Randal L. Schwartz wrote: > > GIT_VERSION = 1.3.2.gde1d > gcc -o sha1_file.o -c -g -O2 -Wall -I/usr/local/include -DSHA1_HEADER='' -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 > > 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 , 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 . 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