NetBSD/tools/compat
cjep ac6ba04d2d Add macOS High Sierra to the list of verified build platforms 2021-05-12 06:39:28 +00:00
..
crypto
dev
fs/msdosfs
sys
ufs
Makefile
README Add macOS High Sierra to the list of verified build platforms 2021-05-12 06:39:28 +00:00
cdbr.h
cdbw.h
compat_defs.h
compat_getopt.h
compat_pwd.h
configure
configure.ac
db.h
defs.mk.in
dprintf.c
fgetln.c
flock.c
fpurge.c
fts.h
getline.c
getmode.c
glob.h
issetugid.c
lchflags.c
lchmod.c
lchown.c
md2.h
md4.h
md5.h
mpool.h
namespace.h
nbtool_config.h.in
ndbm.h
nl_types.h
pread.c
putc_unlocked.c
pwrite.c
regex.h
rmd160.h
setenv.c
setgroupent.c
setpassent.c
setprogname.c
sha1.h
sha2.h
snprintf.c
tzfile.h
vis.h

README

$NetBSD: README,v 1.16 2021/05/12 06:39:28 cjep Exp $

Special notes for cross-hosting a NetBSD build on certain platforms.  
Only those platforms which have been tested to complete a "build.sh" run
are listed.

All hosts must have a POSIX compatible sh. /bin/sh is assumed unless 
otherwise set. This can be overridden by setting HOST_SH in the environment.

In addition all hosts must provide the following local tools:
  gzip
  gcc
  g++
  zlib and headers (this requirement may be dropped in future)

FreeBSD
=======

build.sh was recently tested on:
* FreeBSD 13 (amd64, aarch64) 
* FreeBSD 12.2 (amd64, aarch64)
* FreeBSD 11.4 (amd64)
* FreeBSD 10.4 (amd64)

Linux
=====

build.sh has been tested on:
* Amazon Linux 2 (x86)
* Debian 10 (x86, aarch64)
* Red Hat Enterprise Linux 8 (x86, aarch64)
* SUSE Enterprise Server 15 (x86)
* Ubuntu Server 20.04 (x86, aarch64)
* Ubuntu Server 18.04 (x86)

* The gcc and g++ package must be installed, along with the typical system 
  development packages (glibc-devel, etc.). The g++ package is sometimes 
  called gcc-c++.

* The ncurses-devel package must be installed (for nbinfo).

* The zlib and zlib-devel packages must be installed (these are
  called zlib1g and zlib1g-dev on Debian and Ubuntu Linux)

* There is a known build problem on Linux/aarch64 with glibc <2.28

macOS/Darwin
============

build.sh was recently tested on:
* macOS Big Sur
* macOS Catalina
* macOS High Sierra

with up to date Xcode command line tools and APFS filesystems.
(Previously, there have been issues building on case-insensitive 
HFS filesystems.)

HP-UX
=====

* zlib must be available.

NetBSD (earlier releases)
=========================

* Tested on NetBSD 1.5.2 (machine-independently).
* Should need no special setup.
* _NETBSD_SOURCE is *not* to be defined/pulled in during compat/tools builds.
  compat_defs.h will error out if it finds it defined. 

Solaris
=======

(updated instruction for Solaris 11 further below)

* Tested on Solaris/x86 8 (5.8) with gcc 2.95.2 and Solaris/sparc 8 (5.8)
  with gcc 3.2 (not yet tested with SUNWspro).

* $HOST_CC needs to be set properly (for gcc, it should be set to "gcc",
  otherwise the improper /usr/ucb/cc may be invoked by accident).

* The SUNWzlib package (or a built version of zlib visible to $HOST_CC,
  such as SMCzlib from sunfreeware.com) must be installed.  This will be
  fixed in the future to include zlib in libnbcompat.

* Needs the following paths, in this order, in $PATH:

      /usr/xpg4/bin
      /usr/ccs/bin
      <path to host C and C++ compilers>
      /usr/bin

  /usr/ucb may optionally be placed before /usr/bin, per your preference,
  but /usr/ucb *MUST NOT* be before /usr/ccs/bin or before the path to
  the host C and C++ compilers.

Solaris 11:

* Solaris 11.3
 * Set PATH to /usr/xpg6/bin:/usr/xpg4/bin:/usr/bin
 * Set HOST_CC to /usr/bin/gcc

* Solaris 11.4
 * Install gcc-5 since the default installed gcc-7 has issues when compiling 
   toolchain version of groff (hypot())
 * Set PATH to /usr/xpg7/bin:/usr/xpg6/bin:/usr/xpg4/bin:/usr/bin
 * set HOST_CC to /usr/gcc/5/bin/gcc
 * set HOST_CXX to /usr/gcc/5/bin/g++