xref: /386bsd/usr/src/usr.bin/file/PORTING (revision a2142627)
1Portability of the new file(1) command.
2@(#) $Header: PORTING,v 1.6 87/11/08 23:03:41 ian Exp $
3
4Read this file only if the program doesn't compile on your system.
5
6I have tried to make a program that doesn't need any command-line
7defines (-D) to specify what version of UNIX is in use,
8by using the definitions available in the system #include
9files. For example, the lstat(2) call is normally found in
104BSD systems, but might be grafted into some other variant
11of UNIX. If it's done right (ie., using the same definitions),
12my program will compile and work correctly. Look at the #ifdefs
13to see how it's done.
14
15I've also tried to include all the non-portable library routines
16I used (getopt, str*).   Non-portable here means `not in every
17reasonably standard UNIX out there: V7, System V, 4BSD'.
18
19There is one area that just might cause problems. On System
20V, they moved the definition of major() and minor() out of
21<sys/types.h> into <sys/sysmacros.h>.  Hence, if major isn't
22defined after including types.h, I automatically include sys/sysmacros.h.
23This will work for 99% of the systems out there. ONLY if you
24have a system in which  neither types.h nor sysmacros.h defines
25`major' will this automatic include fail (I hope). On such
26systems, you will get a compilation error in trying to compile
27a warning message. Please do the following:
28
29	1) change the appropriate (2nd) #include at the start of
30		fsmagic.c
31and	2) let me know the name of the system, the release number,
32	   and the name of the header file that *does* include
33	   this "standard" definition.
34
35If you are running the old Ritchie PDP-11 C compiler or
36some other compiler that doesn't know about `void', you will have
37to un-comment-out the definition of `void=int' in the Makefile.
38
39Other than this, there should be no portability problems,
40but one never knows these days. Please let me know of any
41other problems you find porting to a UNIX system. I don't much
42care for non-UNIX systems but will collect widely-used magic
43numbers for them as well as for UNIX systems.
44
45Ian Darwin
46Toronto, Canada
47