On 10/5/06, Axel Dörfler <axeld@xxxxxxxxxxxxxxxx> wrote:
> I'd vote for (b). The simplest solution is often the best. > > Did you check a few BONE binaries for not being linked against > libnet.so?
No, but I have another idea that takes Oliver's problems into account: Our startup code could know that it's the Haiku startup code - so if you link something for or under Haiku, it can know this, and the networking code could then never use the compatibility layer. If it's the BeOS startup code, it would test if the executable has been linked against libbind.so/libsocket.so, and if that's not the case, it would enable the R5 mode. The only (additional) disadvantage is that if you'd like to build R5 executables under Haiku, you'll also need the R5 startup code to link against. How does that sound? Too ugly or just good enough?
It's good enough. I doubt that a lot of people will want to compile for R5. Haiku will hopefully replace all current R5 installs. Those who want to build backwards-compatible binaries will know what they are doing, anyway, and I think it's more important that the Haiku source is clean and simple.
Will it be a problem that legacy R5 source will compile+link against libnet.so, but use the Haiku headers? If libnet.so is integrated in libnetwork.so the startup code could still detect that the app is compiled for Haiku although it links against libnet.so, right?
Bye, Waldemar Kornewald