-Afoo=val appends 'val' to the value of variable foo after the platform
hints are processed, but before the default value is computed by Configure.
At this time, 'foo' appears as non-empty and Configure skips the default
logic. This is the reason -shared must always be added to lddlflags.
I don't know why I didn't caught this while testing AddressSanitizer builds.