Re: 1.3.2.gde1d fails to build on OpenBSD
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- May 15, 2006, 16:00 UTC
- Message-ID
- <Pine.LNX.4.64.0605150854420.3866@g5.osdl.org>
- In-Reply-To
- <86psiftlgf.fsf@blue.stonehenge.com>
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