[Scons-users] separation of behavior between building objects for shared libs and for executables
Mats Wichmann
mats at wichmann.us
Thu Jun 15 16:12:31 EDT 2017
Is this easily possible?
As an example, consider this documented gcc behavior:
-fpic
Generate position-independent code (PIC) suitable for use in a
shared library, if supported for the target machine.
-fpie
-fPIE
These options are similar to -fpic and -fPIC, but generated position
independent code can be only linked into executables.
We see (on my system, x86_64 Linux):
'CCCOM': '$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES',
'CCFLAGS': [],
'SHCCCOM': '$SHCC -o $TARGET -c $SHCFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES',
'SHCCFLAGS': ['$CCFLAGS', '-fPIC'],
'SHCFLAGS': ['$CFLAGS'],
Which seems to imply if I set -fpie into CCFLAGS with the idea of using
it for objects contributing to executables, it will also be picked into
SHCCFLAGS and thus into the build of objects-for-shared-libraries as well.
More information about the Scons-users
mailing list