nix/mk
Matthew Bauer 7eca8a16ea Prelink static libraries into an object file
This combines the *.o into a big .o producing one translation unit.
This preserve our unused static initializers, as specified in the C++
standard:

  If no variable or function is odr-used from a given translation
  unit, the non-local variables defined in that translation unit may
  never be initialized (this models the behavior of an on-demand
  dynamic library).

Note that this is very similar to how the --whole-archive flag works.
One advantage of this is that users of the final .a library don’t have
to worry about specifying --whole-archive, or that we have unused
static initializers at all!
2020-06-09 23:35:38 -05:00
..
clean.mk Add 'mk/' from commit '1eff3ad37fdb9dcf9f8528fdacea0ebf0e79d545' 2014-02-01 14:38:28 +01:00
dist.mk Add 'mk/' from commit '1eff3ad37fdb9dcf9f8528fdacea0ebf0e79d545' 2014-02-01 14:38:28 +01:00
functions.mk Revert "Get rid of unicode quotes (#1140)" 2016-11-26 00:38:01 +01:00
install.mk Sync with make-rules repo 2014-04-03 17:37:14 +02:00
jars.mk Merge commit '36c67860363c93eb00cf5b8e2ad34f6f775e6901' 2014-12-14 01:47:06 +01:00
lib.mk Fix Perl bindings 2019-11-07 12:18:37 +01:00
libraries.mk Prelink static libraries into an object file 2020-06-09 23:35:38 -05:00
patterns.mk Precompile headers 2019-11-07 10:12:35 +01:00
precompiled-headers.mk Remove global -I flags 2020-03-30 15:30:19 +02:00
programs.mk Don't install unit tests 2020-05-08 12:03:27 +02:00
templates.mk Revert "Get rid of unicode quotes (#1140)" 2016-11-26 00:38:01 +01:00
tests.mk Add pure evaluation mode 2018-01-16 19:23:18 +01:00
tracing.mk make check: Run unit tests 2020-05-08 11:49:40 +02:00