be5926babb
The changes in af272aca59
only works when
using gcc/g++ with -E or -save-temps, otherwise newlib's newlib.h gets
used even if -specs=nano.specs is specified. This is because the driver
only use cpp_options spec for the external cpp tool, not for the
integrated one.
This patch uses instead cpp_unique_options which is used in all cases:
it is used directly when the integrated preprocessor is used, and
indirectly by expansion of cpp_options otherwise.
23 lines
740 B
Plaintext
23 lines
740 B
Plaintext
%rename link nano_link
|
|
%rename link_gcc_c_sequence nano_link_gcc_c_sequence
|
|
%rename cpp_unique_options nano_cpp_unique_options
|
|
|
|
*cpp_unique_options:
|
|
-isystem =/include/newlib-nano %(nano_cpp_unique_options)
|
|
|
|
*nano_libc:
|
|
-lc_nano
|
|
|
|
*nano_libgloss:
|
|
%{specs=rdimon.specs:-lrdimon_nano} %{specs=nosys.specs:-lnosys}
|
|
|
|
*link_gcc_c_sequence:
|
|
%(nano_link_gcc_c_sequence) --start-group %G %(nano_libc) %(nano_libgloss) --end-group
|
|
|
|
*link:
|
|
%(nano_link) %:replace-outfile(-lc -lc_nano) %:replace-outfile(-lg -lg_nano) %:replace-outfile(-lrdimon -lrdimon_nano) %:replace-outfile(-lstdc++ -lstdc++_nano) %:replace-outfile(-lsupc++ -lsupc++_nano)
|
|
|
|
*lib:
|
|
%{!shared:%{g*:-lg_nano} %{!p:%{!pg:-lc_nano}}%{p:-lc_p}%{pg:-lc_p}}
|
|
|