Currently, we hard code our OS and processor aliases for matching native code libraries. This is bad since it requires us to edit source code to add aliases. It would be better if we moved these to configuration properties, something like this:
felix.native.os.[normalname] = alias1, alias2, etc.
felix.native.arch.[normalname] = alias1, alias2, etc.
felix.native.os.win32 = Windows 8, Windows 7, Windows Vista
felix.native.arch.x86 = i386, i486, i586
We could then use the properties to define as many "normal names" as we want and associate all their known aliases, so at run time all names could be normalized.
We can include a default set of normal names and aliases in default.properties, but allow people to override any of them (or add new normal names/aliases) in config.properties.