Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix build scripts forcing Debug builds. Add LTO mode and fix VW defau…
…lt visibility. (#1735) * Fix release build and unix symbol visibility. Add LTO mode. Release builds were not working for two reasons. First, it would always override -DCMAKE_BUILD_TYPE with "Debug" Second, it would use CONFIG, which is not set on OSX with cmake 3.13.1 at least. Finally, set the default symbol visibility to hidden on unix - linux is a misnomer in the build script... Without it, we export something like 700 extra symbols that corresponds to all public functions in VW. Exporting them on unix means making them available to be interposed and requiring an indirect call to be used at all call sites. The LTO mode, which can be used with -DLTO=1, enables clang's thinlto mode. * Fix python module visiblity. * Switch default to release. * Handle Release + (PROFILE or GCOV). -pg and -fomit-frame-pointer are not compatible.
- Loading branch information
1 parent
4b84704
commit 18bddab
Showing
3 changed files
with
40 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters