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