Passing defines to b2 ?
Ken Moffat via Boost-build <[email protected]> Fri, 31 May 2019 05:14:21 +0100
| Newsgroups | gmane.comp.lib.boost.build |
|---|---|
| Message-ID | <CANVEwpZLoNegv-0drW=bLky_sbBbkUkR2EqxTa8qZmAksHrwBA@mail.gmail.com> |
Hi. I'm currently exploring options for how I build all my packages (linux, basically Beyond Linux From Scratch). After successfully using ./b2 stage cxxflags="$CXXFLAGS" threading=multi link=shared -d+2 with CXXFLAGS of initially -O2 -march=native, later reduced to -march=native to keep the default -O3, I started to look at hardening options to find out where the problems are, and if any cost is worthwhile. And no, -march=native is not necessarily a good idea, but in verbose builds it tells me if my flags are being used. Now I'm looking at the first of the cheap hardening options (on gcc) : -D_FORTIFY_SOURCE=2 but b2 has a strong dislike of -D. After looking around, it appears that this needs to be in a jam file, possibly in a form like <define>\_FORTIFY\_SOURCE\=2 but I'm making no progress on this. Also, I could not find any guide to whether the underscores need to be escaped, I just started with those and found that the = definitely needed to be escaped. I've created user-config.jam: using gcc : : : <compileflags>-march=native<compileflags>_FORTIFY_SOURCE\=2 ; project user-config ; (using gcc through to 2; is all on one line, gmail insists on breaking it up) Any guidance, please ? _______________________________________________ Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build