Upstream doesn't appear to support the creation of shared objects in its build system.
The build system does allow a platform specific "ar" call to create static objects by setting a variable. This assumes that the output filename is goes after the contents of the variable.
The Debian package hacks the build system by using a call to gcc as the "ar" call for a new shared object platform type. This ends in "-o" to fulfil the requirement that the output filename will go after it.
This makes it necessary to modify this hack further to move the "-o output_filename" further back to fix the --as-needed bug, so it makes sense to modify the existing Debian patch rather than create a new one. Given that the existing patch is a hack already, I can't see a cleaner way of fixing this except to change more of the upstream build system which would be too invasive. Hopefully Debian will find this acceptable.
Upstream doesn't appear to support the creation of shared objects in its build system.
The build system does allow a platform specific "ar" call to create static objects by setting a variable. This assumes that the output filename is goes after the contents of the variable.
The Debian package hacks the build system by using a call to gcc as the "ar" call for a new shared object platform type. This ends in "-o" to fulfil the requirement that the output filename will go after it.
This makes it necessary to modify this hack further to move the "-o output_filename" further back to fix the --as-needed bug, so it makes sense to modify the existing Debian patch rather than create a new one. Given that the existing patch is a hack already, I can't see a cleaner way of fixing this except to change more of the upstream build system which would be too invasive. Hopefully Debian will find this acceptable.