diff --unified --ignore-all-space bootp-DD2.4.3/Makefile bootp-DD2.4.3.2/Makefile
--- bootp-DD2.4.3/Makefile	Sat Apr 15 13:38:17 1995
+++ bootp-DD2.4.3.2/Makefile	Tue Dec 16 14:31:47 1997
@@ -107,6 +107,14 @@
 		FILEDEFS='-DCONFIG_FILE=\"/etc/bootptab\" \
 			  -DDUMPTAB_FILE=\"/tmp/bootpd.dump\"'
 
+# NeXT 3.x
+next:
+	$(MAKE) CC="cc -O -arch m68k -arch i386 -arch sparc -arch hppa" 	\
+		SYSDEFS="-DDYNAMIC -DNO_UTSNAME -DNO_UNISTD -DNO_SETSID \
+			-DETC_ETHERS -DUSE_BFUNCS"			\
+		FILEDEFS='-DCONFIG_FILE=\"/usr/local/etc/bootptab\" 
+
+
 # SCO (pah!) SYSV rel 3.2
 sco:
 	$(MAKE) CC="cc" SYSLIBS="-lsocket"
diff --unified --ignore-all-space bootp-DD2.4.3/bootpd.c bootp-DD2.4.3.2/bootpd.c
--- bootp-DD2.4.3/bootpd.c	Sat Apr 15 13:37:51 1995
+++ bootp-DD2.4.3.2/bootpd.c	Tue Dec 16 13:55:12 1997
@@ -45,7 +45,9 @@
 #include <sys/file.h>
 #include <sys/time.h>
 #include <sys/stat.h>
+#ifndef	NO_UTSNAME
 #include <sys/utsname.h>
+#endif
 
 #include <net/if.h>
 #include <netinet/in.h>
@@ -181,7 +183,9 @@
 char *chdir_path;
 struct in_addr my_ip_addr;
 
+#ifndef NO_UTSNAME
 struct utsname my_uname;
+#endif
 char *hostname;
 
 /* Flags set by signal catcher. */
@@ -231,7 +235,7 @@
 	/*
 	 * Log startup
 	 */
-	report(LOG_INFO, "version %s.%d", VERSION, PATCHLEVEL);
+	report(LOG_INFO, "version %s.%s", VERSION, PATCHLEVEL);
 
 	/* Debugging for compilers with struct padding. */
 	assert(sizeof(struct bootp) == BP_MINPKTSZ);
@@ -275,11 +279,19 @@
 	stmp = NULL;
 	timeout = &actualtimeout;
 
+#ifndef NO_UTSNAME
 	if (uname(&my_uname) < 0) {
 		fprintf(stderr, "bootpd: can't get hostname\n");
 		exit(1);
 	}
 	hostname = my_uname.nodename;
+#else
+        hostname=calloc(MAXHOSTNAMELEN,sizeof(char));
+        if (gethostname(hostname,MAXHOSTNAMELEN) < 0 ) {
+                fprintf(stderr, "%s: can't get hostname\n",argv[0]);
+                exit(1);
+        }
+#endif
 
 	/*
 	 * Read switches.
diff --unified --ignore-all-space bootp-DD2.4.3/bootpgw.c bootp-DD2.4.3.2/bootpgw.c
--- bootp-DD2.4.3/bootpgw.c	Wed Feb 15 15:36:38 1995
+++ bootp-DD2.4.3.2/bootpgw.c	Tue Dec 16 13:55:22 1997
@@ -37,7 +37,9 @@
 #include <sys/file.h>
 #include <sys/time.h>
 #include <sys/stat.h>
+#ifndef NO_UTSNAME
 #include <sys/utsname.h>
+#endif
 
 #include <net/if.h>
 #include <netinet/in.h>
@@ -77,8 +79,12 @@
 
 /* Local definitions: */
 #define MAX_MSG_SIZE			(3*512)	/* Maximum packet size */
+#ifndef TRUE
 #define TRUE 1
+#endif
+#ifndef FALSE
 #define FALSE 0
+#endif
 #define get_network_errmsg get_errmsg
 
 
@@ -141,7 +147,9 @@
 
 struct in_addr my_ip_addr;
 
+#ifndef NO_UTSNAME
 struct utsname my_uname;
+#endif
 char *hostname;
 
 
@@ -179,7 +187,7 @@
 	/*
 	 * Log startup
 	 */
-	report(LOG_INFO, "version %s.%d", VERSION, PATCHLEVEL);
+	report(LOG_INFO, "version %s.%s", VERSION, PATCHLEVEL);
 
 	/* Debugging for compilers with struct padding. */
 	assert(sizeof(struct bootp) == BP_MINPKTSZ);
@@ -222,11 +230,19 @@
 	stmp = NULL;
 	timeout = &actualtimeout;
 
+#ifndef NO_UTSNAME
 	if (uname(&my_uname) < 0) {
 		fprintf(stderr, "bootpgw: can't get hostname\n");
 		exit(1);
 	}
 	hostname = my_uname.nodename;
+#else
+        hostname=calloc(MAXHOSTNAMELEN,sizeof(char));
+        if (gethostname(hostname,MAXHOSTNAMELEN) < 0 ) {
+                fprintf(stderr, "%s: can't get hostname\n",argv[0]);
+                exit(1);
+        }
+#endif
 
 	hep = gethostbyname(hostname);
 	if (!hep) {
diff --unified --ignore-all-space bootp-DD2.4.3/bootptest.c bootp-DD2.4.3.2/bootptest.c
--- bootp-DD2.4.3/bootptest.c	Sat Apr 15 13:37:48 1995
+++ bootp-DD2.4.3.2/bootptest.c	Tue Dec 16 13:55:34 1997
@@ -35,12 +35,16 @@
 char *usage = "bootptest [-h] server-name [vendor-data-template-file]";
 
 #include <sys/types.h>
+#include <sys/param.h>
 #include <sys/socket.h>
 #include <sys/ioctl.h>
 #include <sys/file.h>
 #include <sys/time.h>
 #include <sys/stat.h>
+#ifndef NO_UTSNAME
 #include <sys/utsname.h>
+#endif
+
 
 #include <net/if.h>
 #include <netinet/in.h>
@@ -112,7 +116,9 @@
 char *sndbuf;					/* Send packet buffer */
 char *rcvbuf;					/* Receive packet buffer */
 
+#ifndef NO_UTSNAME
 struct utsname my_uname;
+#endif
 char *hostname;
 
 /*
@@ -159,7 +165,7 @@
 	argv++;
 
 	if (debug)
-		printf("%s: version %s.%d\n", progname, VERSION, PATCHLEVEL);
+		printf("%s: version %s.%s\n", progname, VERSION, PATCHLEVEL);
 
 	/*
 	 * Verify that "struct bootp" has the correct official size.
@@ -167,11 +173,19 @@
 	 */
 	assert(sizeof(struct bootp) == BP_MINPKTSZ);
 
+#ifndef NO_UTSNAME
 	if (uname(&my_uname) < 0) {
 		fprintf(stderr, "%s: can't get hostname\n", argv[0]);
 		exit(1);
 	}
 	hostname = my_uname.nodename;
+#else
+        hostname=calloc(MAXHOSTNAMELEN,sizeof(char));
+        if (gethostname(hostname,MAXHOSTNAMELEN) < 0 ) {
+                fprintf(stderr, "%s: can't get hostname\n",argv[0]);
+                exit(1);
+        }
+#endif
 
 	sndbuf = malloc(BUFLEN);
 	rcvbuf = malloc(BUFLEN);
diff --unified --ignore-all-space bootp-DD2.4.3/dumptab.c bootp-DD2.4.3.2/dumptab.c
--- bootp-DD2.4.3/dumptab.c	Wed Feb 15 14:04:33 1995
+++ bootp-DD2.4.3.2/dumptab.c	Tue Dec 16 13:55:48 1997
@@ -109,7 +109,7 @@
 		exit(1);
 	}
 	t = time(NULL);
-	fprintf(fp, "\n# %s %s.%d\n", progname, VERSION, PATCHLEVEL);
+	fprintf(fp, "\n# %s %s.%s\n", progname, VERSION, PATCHLEVEL);
 	fprintf(fp, "# %s: dump of bootp server database.\n", filename);
 	fprintf(fp, "# Dump taken %s", ctime(&t));
 	fwrite(legend, 1, sizeof(legend) - 1, fp);
Only in bootp-DD2.4.3.2: ls-s
Only in bootp-DD2.4.3.2: make.out
diff --unified --ignore-all-space bootp-DD2.4.3/patchlevel.h bootp-DD2.4.3.2/patchlevel.h
--- bootp-DD2.4.3/patchlevel.h	Mon Mar 27 11:49:31 1995
+++ bootp-DD2.4.3.2/patchlevel.h	Tue Dec 16 13:59:02 1997
@@ -1,3 +1,3 @@
 /* patchlevel.h */
 #define VERSION 	"2.4"
-#define PATCHLEVEL	3
+#define PATCHLEVEL	"3.2"
