1*********************************************************************************
2*										*
3*			WARNING							*
4*										*
5*	This is only valid for OLD MacOS X versions				*
6*	This are versions _before_ MacOS X-10.1	(Darwin-1.4)			*
7*										*
8*										*
9*********************************************************************************
10
11If uname -a does print something like:
12
13Darwin HOST 1.4 Darwin Kernel Version 1.4: Sun Sep  9 15:39:59 PDT 2001; root:xnu/xnu-201.obj~1/RELEASE_PPC  Power Macintosh powerpc
14
15or a version > 1.4 then you should rather read  README.macosX
16
17/*--------------------------------------------------------------------------*/
18
19Unfortunately, Apple does not deliver a consistent Mac OS-X system
20The longer they work on it, the more bugs they introduce...
21
22In addition, there is no visible 'clean' road of development.
23Release names (from 'uname') are confusing and don't help to find out what
24release they refer to.
25
26/*--------------------------------------------------------------------------*/
27	The next hint is for Mac OS X versions up to January 2000 only:
28
29The file <bsd/dev/scsireg.h> tries to include <kern/queue.h> which cannot
30be found.
31
32To be able to compile, I suggest to create a symlink:
33
34System/Library/Frameworks/System.framework/Versions/B/Headers/kern -> kernserv
35
36To do this, chdir to:
37
38System/Library/Frameworks/System.framework/Versions/B/Headers/
39
40and call
41
42ln -s kernserv kern
43
44as root.
45/*--------------------------------------------------------------------------*/
46
47
48/*--------------------------------------------------------------------------*/
49	This hint is for Mac OS X version starting ~ April 2000:
50
51Apple did remove the generic SCSI transport driver for unknown reasons!
52Cdrtools compile, but as there is no SCSI transport, you may only write
53CD's connected to other systems using the REMOTE SCSI protocol.
54/*--------------------------------------------------------------------------*/
55
56/*--------------------------------------------------------------------------*/
57	This hint is for Mac OS X versions starting around March 2001:
58
59If your compile log looks like this:
60
61         ==> MAKING "all" ON SUBCOMPONENT ".../libschily.mk"
62         ==> COMPILING "OBJ/powerpc-darwin-cc/cmpbytes.o"
63cmpbytes.c: In function `cmpbytes':
64cmpbytes.c:49: invalid operands to binary |
65make[1]: *** [OBJ/powerpc-darwin-cc/cmpbytes.o] Error 1
66make: *** [all] Error 2
67
68You are hit by the Apple developers. Some time ago they started to introduce
69a file <inttypes.h> which uses types defines in <sys/types.h>
70While the buggy types are ignored in <sys/types.h> they are used if found
71in <inttypes.h>.
72
73As a workaround, you may edit
74
75	incs/power-macintosh-darwin-cc/xconfig.h
76
77after it has been created by autoconf and make the lint containing
78HAME_INTTYPES_H this way:
79
80/* #undef HAVE_INTTYPES_H */    /* to use UNIX-98 inttypes.h */
81
82This will tell the autoconf using code to ignore the system supplied
83<inttypes.h> and use the internal version.
84
85IMPORTANT: Don't forget to tell the Apple support that MacOSX sucks until they
86fix such fundamental bugs in the system include files!
87
88In case you are interested in the full details: the reason why cdrecord
89does not compile is that MacOS X defines a type
90
91typedef	int *		intptr_t;
92typedef	unsigned int *	uintptr_t;
93
94instead of the correct:
95
96typedef	long		intptr_t;
97typedef	unsigned long	intptr_t;
98
99... a result of either Apple developers being unwilling to read or unable to
100understand simple standards written in English :-(
101
102See: http://www.opengroup.org/onlinepubs/7908799/xsh/inttypes.h.html
103
104/*--------------------------------------------------------------------------*/
105