README revision 1.17
1$NetBSD: README,v 1.17 2021/06/28 07:16:46 cjep Exp $
2
3Special notes for cross-hosting a NetBSD build on certain platforms.  
4Only those platforms which have been tested to complete a "build.sh" run
5are listed.
6
7All hosts must have a POSIX compatible sh. /bin/sh is assumed unless 
8otherwise set. This can be overridden by setting HOST_SH in the environment.
9
10In addition all hosts must provide the following local tools:
11  gzip
12  gcc
13  g++
14  zlib and headers (this requirement may be dropped in future)
15
16FreeBSD
17=======
18
19build.sh was recently tested on:
20* FreeBSD 13 (amd64, aarch64) 
21* FreeBSD 12.2 (amd64, aarch64)
22* FreeBSD 11.4 (amd64)
23* FreeBSD 10.4 (amd64)
24
25Linux
26=====
27
28build.sh has been tested on:
29* Amazon Linux 2 (x86)
30* Debian 10 (x86, aarch64)
31* Red Hat Enterprise Linux 8 (x86, aarch64)
32* SUSE Enterprise Server 15 (x86)
33* Ubuntu Server 20.04 (x86, aarch64)
34* Ubuntu Server 18.04 (x86)
35
36* The gcc and g++ package must be installed, along with the typical system 
37  development packages (glibc-devel, etc.). The g++ package is sometimes 
38  called gcc-c++.
39
40* The ncurses-devel package must be installed (for nbinfo).
41
42* The zlib and zlib-devel packages must be installed (these are
43  called zlib1g and zlib1g-dev on Debian and Ubuntu Linux)
44
45* There is a known build problem on Linux/aarch64 with glibc <2.28
46
47macOS/Darwin
48============
49
50build.sh was recently tested on:
51* macOS Big Sur (x86)
52* macOS Catalina
53* macOS High Sierra
54
55with up to date Xcode command line tools and APFS filesystems. 
56Previously, there have been issues building on case-insensitive 
57HFS filesystems. build.sh is not working yet on M1-based Macs.
58
59HP-UX
60=====
61
62* zlib must be available.
63
64NetBSD (earlier releases)
65=========================
66
67* Tested on NetBSD 1.5.2 (machine-independently).
68* Should need no special setup.
69* _NETBSD_SOURCE is *not* to be defined/pulled in during compat/tools builds.
70  compat_defs.h will error out if it finds it defined. 
71
72Solaris
73=======
74
75(updated instruction for Solaris 11 further below)
76
77* Tested on Solaris/x86 8 (5.8) with gcc 2.95.2 and Solaris/sparc 8 (5.8)
78  with gcc 3.2 (not yet tested with SUNWspro).
79
80* $HOST_CC needs to be set properly (for gcc, it should be set to "gcc",
81  otherwise the improper /usr/ucb/cc may be invoked by accident).
82
83* The SUNWzlib package (or a built version of zlib visible to $HOST_CC,
84  such as SMCzlib from sunfreeware.com) must be installed.  This will be
85  fixed in the future to include zlib in libnbcompat.
86
87* Needs the following paths, in this order, in $PATH:
88
89      /usr/xpg4/bin
90      /usr/ccs/bin
91      <path to host C and C++ compilers>
92      /usr/bin
93
94  /usr/ucb may optionally be placed before /usr/bin, per your preference,
95  but /usr/ucb *MUST NOT* be before /usr/ccs/bin or before the path to
96  the host C and C++ compilers.
97
98Solaris 11:
99
100* Solaris 11.3
101 * Set PATH to /usr/xpg6/bin:/usr/xpg4/bin:/usr/bin
102 * Set HOST_CC to /usr/bin/gcc
103
104* Solaris 11.4
105 * Install gcc-5 since the default installed gcc-7 has issues when compiling 
106   toolchain version of groff (hypot())
107 * Set PATH to /usr/xpg7/bin:/usr/xpg6/bin:/usr/xpg4/bin:/usr/bin
108 * set HOST_CC to /usr/gcc/5/bin/gcc
109 * set HOST_CXX to /usr/gcc/5/bin/g++
110