gfinney@xroads.UUCP (Guy A. Finney) (04/22/89)
Ok, I can hear you all chuckling at my plight. I'm not holding out hope of anyone making my task easy, but do hope that enough people have done this (porting the client development environment, not servers, to Sys V) that I can get a hint or two. Do I have to become a BSD whiz to emulate the various functions (e.g. select(), setitimer()) to get anywhere, or can I cheat somehow? (I've sometimes thought it's better to know how to cheat well than to be good). How is it that X is heralded as portable when it's got so much BSD stuff baked into it? I guess I could do the world a favor and go at this in a big way, donating the result to the keepers, but business deadlines don't permit me a liesurly pace. Any pointers? -- \ / C r o s s r o a d s C o m m u n i c a t i o n s /\ (602) 941-2005 300|1200 Baud 24 hrs/day / \ hplabs!hp-sdd!crash!xroads!gfinney
kemnitz@mitisft.Convergent.COM (Gregory Kemnitz) (04/25/89)
In article <661@xroads.UUCP>, gfinney@xroads.UUCP (Guy A. Finney) writes: > > Ok, I can hear you all chuckling at my plight. I'm not holding out hope > of anyone making my task easy, but do hope that enough people have done > this (porting the client development environment, not servers, to Sys V) > that I can get a hint or two. > > Do I have to become a BSD whiz to emulate the various functions (e.g. > select(), setitimer()) to get anywhere, or can I cheat somehow? (I've > sometimes thought it's better to know how to cheat well than to be good). > How is it that X is heralded as portable when it's got so much BSD stuff > baked into it? I guess I could do the world a favor and go at this in a > big way, donating the result to the keepers, but business deadlines don't > permit me a liesurly pace. > > Any pointers? 1. If you have a system that has an implementation of Berkeley sockets, system V is relatively easy. Most system V ports DO have some implementation of sockets. If you don't have sockets, you will have to implement them with STREAMS and poll(). This is a significantly bigger project. 2. Make sure that imake and makedepend have SYSV defined. I changed lines with MIPS and SYSTEM_SYSV to just SYSV and everything worked. Some preprocessors cause imake to create bogus makefiles. If you run imake and get rules line errors, try setting the REDUCED_TO_ASCII_SPACE switch in building imake. Some other things. You will need to make sure the build of the Berkeley stuff does not assume you have symbolic links. (In Guess.macros, there is a hardcoded ln -s in building the Berkeley compatibility library.) In building your .macros file for your machine, make certain -DSYSV is everywhere. 3. You will need to write the BSD rename() function, and put it into Berklib.c. It is just four lines of code.