- 
                Notifications
    
You must be signed in to change notification settings  - Fork 32
 
Description
Currently, rake-compiler-dock sets -s in LDFLAGS when installing rubies for cross-compilation (done in 
rake-compiler-dock/Dockerfile.mri.erb
Line 165 in 9e840c4
| export LDFLAGS='-pipe <%= strip %>' && \ | 
I want to say this logic was carried over from rake-compiler/rake-compiler#165.
Speaking for the grpc gem, when shipping release gems, this -s flag is normally OK because we want to strip symbols anyways.
But it's become apparent that we need to make debug symbols for our pre-compiled binaries available (otherwise, it can be hard to deal with bugs in the wild).
I came up with an approach in grpc/grpc#34632, the idea is:
- 
build an unstripped native library
 - 
save debug symbols off to the side
 - 
strip the native library, and include this in a release gem
 - 
publish debug symbols from 2) in a separate auxiliary package
 
Problem:
Because we have -s in LDFLAGS, in order to do step 1) we need to manually find and remove -s from $LDFLAGS in our extconf.rb.
Finding and removing -s seems fragile long term. For example, if the flag was renamed to --strip-all, our logic would break.
I'm wondering if we can create more explicit way to prevent automatic stripping on the rake-compiler/rake-compiler-dock side.