Hi,
With a bit of help from the author, Philip Hazel, I have successfully
built Exim 1.82 under dgux R4.11MU04 generic AViiON mc88100. See
http://www.exim.org for a better description than I could manage and
see
http://maps.vix.com/tsi/ for part of the reason why I wanted to do
this.
Topically for dg-users, the main stumbling block was some DG platform-
dependant code. Part of the Exim code tests for IP source-routed
packets. This uses definitions usually found in netinet/ip_var.h,
notably ipoptions. DG defines this as ip_opts in netinet/in.h *but*
for Intel only. I couldn't see any way of easily getting at the IP
options for m88k and if anybody knows any better please say so.
By applying the following diffs to exim.h and smtp_in.c respectively,
and using the attached Makefile-dg and os.h-dgux, Exim builds without
a whimper.
exim.h
145c145
< #ifndef LINUX_IP_OPTIONS
---
> #if ! defined(LINUX_IP_OPTIONS) && ! defined(NO_IP_VAR_H)
smtp_in.c
709c709
< #if !HAVE_IPV6
---
> #if ! defined(HAVE_IPV6) || ! defined(NO_IP_OPTIONS)
We'd be interested to know if Intel DGUX can use the IP options.
Philip hopes to roll these modest mods into the next release and if
anybody can offer him a long-term DGUX account for testing purposes
then you can help this support continue in the future. (If I could
have, I would have :)
Regards,
Ken
--
# Ken Bailey, Computer Section, # Internet: K.Bailey@??? #
# The Royal Botanic Gardens, Kew, # Tel: +44 (0)181 332 5729 #
# Richmond, Surrey, TW9 3AE, UK # Fax: +44 (0)181 332 5278 #
# Exim: OS-specific make file for DGUX
#
# Written by Ken Bailey (K.Bailey@???) Feb 1998
# on dgux R4.11MU04 generic AViiON mc88100
# with no X
BASENAME_COMMAND=/bin/basename
CHOWN_COMMAND=/bin/chown
CHGRP_COMMAND=/bin/chgrp
MV_COMMAND=/bin/mv
RM_COMMAND=/bin/rm
# PERL
# Perl is not necessary for running Exim itself, but some Perl utilities
# are provided for processing the logs. Perl 5 is assumed.
# DG ship perl version 4.036 in /bin/perl so need to use locally installed perl
PERL_COMMAND=/usr/local/bin/perl
CC=gcc
# dg's version of gcc likes O2
CFLAGS=-O2
#
RANLIB=@true
LIBS=-lsocket -lnsl
LIBRESOLV=-lresolv
DBMLIB=-ldbm
#
#
HAVE_SETEUID=YES
# End
/* Exim: OS-specific C header file for DGUX */
/* Written by Ken Bailey (K.Bailey@???) Feb 1998 */
/* on dgux R4.11MU04 generic AViiON mc88100 */
#define HAVE_SYS_STATVFS_H
#define NO_SYSEXITS /* DGUX doesn't ship sysexits.h */
#define EX_TEMPFAIL 75 /* temp failure; user is invited to retry */
#define NO_IP_VAR_H /* DGUX has no netinet/ip_var.h */
/*
The definition of ipotions (aka ip_opts) in netinet/in.h is
only defined for Intel DG _IX86_ABI .
We have to skip the detection of some source-routing IP attacks.
See smtp_in.c
*/
#define NO_IP_OPTIONS
/* End */