>> I really do not like this idea. Freenet is written in java. It does NOT >> require >> an installer to get it working (and it will work on any platform with the >> requisite java). Making this sort of change would require one to use an >> installer. > >Not exactly : Using the installer will ease the installation process... But >won't be mandatory ; CPUID is just there to detect wich type of cpu you are >using, power users (those who don't use installers) do know what their CPU >is ;) > >To sum up, there will be > - freenet-cvs-snapshot.jar with fred > - freenet-ext.jar with BDB code, Onion FEC > - freenet-native-libs.jar with optimized native code in it > >freenet-native-libs.jar will be fetched by the installer from the apropriate >directory on the server; Something like : > > /iX86/ > pentium/ > pentium-mmx/ > athlon/ > athlon64/ > /x86_64/ > /powerPC/ > ...
i don't think it is wise if all the binary libraries have the same name! cpu identification has not to be only done by the installer to fetch the correct lib, but also when running the node. people (me) tend to copy data and even java programs from windows to linux and vice versa, or having multiple operating systems on the same computer and run java programs from one single location. now the best that can happen if by windows box runs a debian binary (or even extremely more worse: a sse3 lib from work on my athlon thunderbird at home - that's sure to blow) is that it refuses to work, the words that it crashes. to prevent this a cpu detection has to be done to keep the node from executing wrong library machine code, to the detection has to be in the node. and calling the correct library by its filename is FAR easier than to guess if the available lib is the corerect one for the platform. i think it is also very unintuitive to have different libs share the same name as you can never know if the current library is the correct for the used machine enviroment, in fact there is IMHO no reason to actually LET them have the same name! also, for multi-os machines it would make sense to have the, e.g. windows and linux, library both available and in the same folder without having to swap them by a rename script which is extra hassle so, in short: separation of a huge native lib into smaller libpacks - yes let them have the same name - many, some small and some large, NO!s
