Allow TARGET_LDFLAGS setting by T_A

Bug #1711597 reported by Ralph Lange
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
EPICS Base
Invalid
Undecided
Unassigned

Bug Description

On Windows:
MinGW and MSVC share the OS_CLASS of "WIN32".
LDFLAGS is the only FLAGS setting that - when set for a specific make target - doesn't allow configuring by target architecture, only by OS_CLASS.
I.e., setting
    myapp_CFLAGS_windows-x64
works, while trying to do the same with
    myapp_LDFLAGS_windows-x64
does not work.

Problem: A specific test program (epicsStackTracetest) needs "-debug" in the LDFLAGS, but only for the Microsoft compiler, not for GCC based MinGW.

Note: this change will need matching changes in the documentation (AppDevGuide, chapter on the build system).

Revision history for this message
Ralph Lange (ralph-lange) wrote :

Attaching a patch for this.

Revision history for this message
Ralph Lange (ralph-lange) wrote :

Patch had side effects - working on an update.

Revision history for this message
Ralph Lange (ralph-lange) wrote :

Invalid.

There are two mechanisms:
1. _<T_A> then _<OS_CLASS> then <no suffix>, cumulative
2. _<OS_CLASS> if defined, else _DEFAULT, alternative

1. is used for INCLUDES CFLAGS CXXFLAGS CPPFLAGS
2. is used for SRCS RCS ...OBJS ...LIBS and LDFLAGS

The use case calls for a cumulative T_A element for LDFLAGS, which is breaking the design.

Solution: hard-wire using ifeq in the local Makefile.

Changed in epics-base:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.