67 lines
2.4 KiB
Plaintext
67 lines
2.4 KiB
Plaintext
|
|
||
|
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?
|
||
|
|