[Spread-users] Darwin/MacOS X port.

Julien Dufour julien at posse42.net
Thu Mar 8 07:07:33 EST 2001


Hi.

I've ported the spread package 3.15.1 on MacOS X. I'm currently using the build 2E14 of MacOS X beta (the one of the Tokyo MacWorld) that is based on Darwin 1.2. I will make an update when the final version is released if needed.

This port didn't require a lot of work as the spread code is very portable. I just wrote a makefile and updated some source file.


* "rand48.h", "lrand48.c" and "_rand48.c"
The "lrand48" function is missing from Darwin standard library, so I added the source. I think I got these 3 files "rand48.h", "lrand48.c" and "_rand48.c" from the source of FreeBSD, but I'm not sure. They have not been modified.


* "DARWIN_makefile"
The Makefile is based on the BSDI_makefile. "gcc" is not present and the rand48 files have to be compiled and included in the build.

bash$ diff Darwin_makefile BSDI_makefile 
1c1
< CC=cc
---
> CC=gcc
13c13
< COBJS = lex.yy.o y.tab.o configuration.o skiplist.o _rand48.o lrand48.o
---
> COBJS = lex.yy.o y.tab.o configuration.o skiplist.o


* "arch.h"
I only added a define set for the architecture.

bash$ diff arch.h arch.h.ori 
106,113d105
< #ifdef __ppc__
< #ifdef __APPLE__
< #ifdef __MACH__
< #define ARCH_APPLE_DARWIN
< #endif
< #endif
< #endif
< 
280,292d271
< 
< #ifdef ARCH_APPLE_DARWIN
< #define         INTSIZE32
< #define         ARCH_SCATTER_CONTROL
< #define         ARCH_ENDIAN     0x00000000
< #define         LOC_INLINE      __inline__
< #include        <sys/types.h>
< #include        <sys/uio.h>
< #define         ARCH_SCATTER_SIZE       1024 /* Should be UIO_MAXIOV when defining KERNEL before including uio.h */
< typedef         int sockopt_len_t;
< typedef         int socklen_t;
< #define         ERR_TIMEDOUT    ETIMEDOUT
< #endif


* "skiplist.c"
I added the signature of "lrand48" to avoid warning.

bash$ diff skiplist.c skiplist.c.ori 
44,47d43
< #ifdef ARCH_APPLE_DARWIN
< extern long lrand48(void);
< #endif


The attachement only contains added and modfied files.

Bye

--
Julien Dufour
Posse42





More information about the Spread-users mailing list