Information for ISC Users
: Changes to the System Header Files
Previous: Things needed for compiling the sources
Next: make World
3. Changes to the System Header Files
You have to change some of the standard header files supplied with
your version of Interactive. You also need to change some of the include
files in the gcc-lib/include directory.
Let us say the gcc-files are in directory
/usr/local/lib/gcc-lib/i[345]86-isc[34].[0-9]/2.6.x
referred to as "gcc-lib"
3.1. /usr/include/sys/limits.h
and gcc-lib/include/sys/limits.h
#ifndef OPEN_MAX
#ifdef ISC
#define OPEN_MAX 256
#else
#define OPEN_MAX 20
#endif
#endif
OPEN_MAX had to be increased to prevent
Xlib Errors (max no. of clients reached).
3.2. /usr/include/sys/ioctl.h
surrounded by
#ifndef _IOCTL_H
#define _IOCTL_H
...
#endif
to prevent multiple includes.
3.3. /usr/include/errno.h
(and the corresponding gcc-include-file)
add
#include <net/errno.h>
because of EWOULDBLOCK undefined in several places
regarding lbx.
Surround /usr/include/net/errno.h with
#ifndef _NET_ERRNO_H
#define _NET_ERRNO_H
...
#endif
to prevent multiple includes were <net/errno.h>
is explicit included from the sources.
3.4. /usr/include/rpc/types.h
copy this file to gcc-lib/include/rpc/types.h
and change the declaration of malloc() to
#if !defined(__cplusplus)
extern char *malloc();
#endif
Note that this is only necessary if you want to build Fresco
3.5. /usr/include/sys/un.h
such a file does not exist on Interactive. You may like to generate
it, if you don't like a warning from depend. It isn't needed to compile
the sources successfully.
You could use the following to produce it:
#ifndef X_NO_SYS_UN
struct sockaddr_un {
short sun_family; /* AF_UNIX */
char sun_path[108]; /* path name (gag) */
};
#endif
3.6. /usr/include/math.h
To use the Inline Math package you have to change your existing
math.h. Please note, the way I include the new Header file, is
different than suggested in inline-math's README.
Please add the following at the bottom of math.h, before the last
#endif
#if defined(UseInlineMath)
/* Needed on ISC __CONCAT, PI */
#ifndef __CONCAT
/*
* The __CONCAT macro is used to concatenate parts of symbol names, e.g.
* with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
* The __CONCAT macro is a bit tricky -- make sure you don't put spaces
* in between its arguments. __CONCAT can also concatenate double-quoted
* strings produced by the __STRING macro, but this only works with ANSI C.
*/
#if defined(__STDC__) || defined(__cplusplus)
#define __CONCAT(x,y) x ## y
#define __STRING(x) #x
#else /* !(__STDC__ || __cplusplus) */
#define __CONCAT(x,y) x/**/y
#define __STRING(x) "x"
#endif /* !(__STDC__ || __cplusplus) */
#endif
#ifndef PI
#define PI M_PI
#endif
#include "/usr/local/include/i386/__math.h"
#endif
Information for ISC Users
: Changes to the System Header Files
Previous: Things needed for compiling the sources
Next: make World
|