Slight embarassment here. I found an old /usr/local/lib/libresolv.a lurking
around. This of course explains the fact that ldd didn't show a dynamic
link to the resolver libraries. It also explains why one of my experiments
failed.
For those who are interested in getting exim to build against the resolver
libraries and NOT the nsl libraries, here's the scoop for Solaris 2.5.
1. You need to fiddle with OS/os.h-SunOS5
I added the following (possibly more than is needed):
#define endhostent res_endhostent
#define endnetent res_endnetent
#define gethostbyaddr res_gethostbyaddr
#define gethostbyname res_gethostbyname
#define gethostent res_gethostent
#define getnetbyaddr res_getnetbyaddr
#define getnetbyname res_getnetbyname
#define getnetent res_getnetent
#define sethostent res_sethostent
#define setnetent res_setnetent
[I think exim only uses gethostbyname and gethostbyaddr]
2. Rebuild exim.
Note that we still need -lnsl in the Makefile as its got bits of code
used by the NIS lookup and also the inet_addr function that exim uses.
I'm not recommending this as a general solution. It's just here so that
those of us who want exim to only use the resolver (but don't want to alter
the nsswitch.conf file) and who want to use the Solaris resolver libraries
can do so. Of course that may only be me.....
--
______ Internet :jonathan@??? Jonathan Knight,
/ UUCP :...!uknet!kl-cs!jonathan Department of Computer Science
/ _ __ Telephone : +44 1782 583437 University of Keele, Keele,
(_/ (_) / / Fax : +44 1782 713082 Staffordshire. ST5 5BG. U.K.
--
*** Exim information can be found at
http://www.exim.org/ ***