Porting BIND 8 to Another System
Make sure to base your port on an existing one. If your port is
for a new release of an already supported operating system, please
try to make the existing port support the new release instead of
making a new port directory. For an example of how to do this,
look at how the Solaris port uses os_version.h in port_after.h. See
port/solaris/include/Makefile and port/solaris/bin/make_os_version
to learn how an os_version.h is made.
Porting problems fall into broad categories which have simple answers:
Include File Missing or Broken
Make one (possibly empty) in port/*/include or in
port/*/include/sys. Broken include files can be fixed; see
the BSD/OS and ULTRIX ports for examples of how to do this.
Library Function Missing:
Make one (possibly copying it from some other port and hacking)
and cause it to appear in port/libport.a by virtue of building
it in port/*/Makefile. An example is the __ansi_realloc()
routine in the SunOS port.
Desired system feature absent or not prototyped or whatever:
Edit port/*/include/port_{before,after}.h. read a few source
files in lib/ or bin/ to see when/why these are #included.
"Make" doesn't work even though my system has a port/* subdir:
Type "uname -s -r" at your shell and see if the resulting
string is present in your system's putative port/*/probe
file. If not, try adding it. If it works, send mail to
bind-bugs@isc.org.
My system doesn't have enough of ANSI and POSIX to allow a port:
Give up. Get a different system.
Porting mistakes also fall into broad categories with simple answers:
I Can't Get It To Build Without Compiler (Not Linker!) Warnings:
Keep trying, you're not done yet.
I Need To Add Another Portability #define And Some #ifdef's:
Make sure it won't hurt any other port. Send us some mail.
I Just Have To Edit A Source File To Get It To Compile:
You are probably missing one of the above opportunities to do
the right thing and you should rethink your approach and get
some advice before you send in your port. But it's possible
that a non-UNIX system will need a different porting layer,
especially in isc/eventlib.c and its friends, so contact us
if you're stuck on this point, there may be something we can
do. Send mail to bind-bugs@isc.org.
My Employer Won't Allow Me To Send In Porting Diffs:
You probably need a new employer. But try really hard, OK?