Attached is a patch that should fix the solaris link issues without breaking every other platform, hopefully. ;)
This adds support for setting triggers on specific config variables. The basic idea is that you can register a named callback for any specific config variable. When that variable is set, all the callbacks registrered for that variable will be called to notify them that the new setting is available. I added subs in config/init/data.pl to for adding triggers, getting them and deleting them. I also fixed the solaris hints file to use the new trigger code. It sets a trigger on 'gcc_version' and when that gets set later on in the config, if it's defined, then the link command will be set to 'g++'. I'm not sure this is the best solution either, but it shouldn't break as much stuff as my last patch, and adds some functionality that might be useful for other similar problems.
parrot.config.triggers.patch
Description: Binary data