aboutsummaryrefslogtreecommitdiff
path: root/mk/libraries.mk
AgeCommit message (Collapse)Author
2021-06-23Apply OS checks to host platform, not buildAlyssa Ross
Previously, the build system used uname(1) output when it wanted to check the operating system it was being built for, which meant that it didn't take into-account cross-compilation when the build and host operating systems were different. To fix this, instead of consulting uname output, we consult the host triple, specifically the third "kernel" part. For "kernel"s with stable ABIs, like Linux or Cygwin, we can use a simple ifeq to test whether we're compiling for that system, but for other platforms, like Darwin, FreeBSD, or Solaris, we have to use a more complicated check to take into account the version numbers at the end of the "kernel"s. I couldn't find a way to just strip these version numbers in GNU Make without shelling out, which would be even more ugly IMO. Because these checks differ between kernels, and the patsubst ones are quite fiddly, I've added variables for each host OS we might want to check to make them easier to reuse.
2020-12-03Remove 'dist' targetEelco Dolstra
We're not producing source tarballs anymore so this has been bitrotting.
2020-06-09Prelink static libraries into an object fileMatthew Bauer
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!
2019-07-03mk: add support for passing LDFLAGS to libs and binsSergei Trofimovich
autotools-based systems usually allow user to append own LDFLAGS like LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu" at ./configure stage This change plumbs LDFLAGS through similar to existing CXXFLAGS variable. Signed-off-by: Sergei Trofimovich <siarheit@google.com>
2019-02-13Support --disable-shared flag.Matthew Bauer
This tells Nix to not build the shared libraries.
2018-02-08Add plugins to make Nix more extensible.Shea Levy
All plugins in plugin-files will be dlopened, allowing them to statically construct instances of the various Register* types Nix supports.
2016-11-26Revert "Get rid of unicode quotes (#1140)"Eelco Dolstra
This reverts commit f78126bfd6b6c8477fcdbc09b2f98772dbe9a1e7. There really is no need for such a massive change...
2016-11-25Get rid of unicode quotes (#1140)Guillaume Maudoux
2014-12-14Merge branch 'cygwin-master' of https://github.com/ternaris/nixEelco Dolstra
2014-12-14Merge commit '36c67860363c93eb00cf5b8e2ad34f6f775e6901'Eelco Dolstra
2014-12-09Fix library handling on CygwinMarko Durkovic
1. Shared lib extension is .dll 2. Shared libs are installed to $(prefix)/bin 3. Linker does not support -z flag
2014-08-20Merge commit '2aa93858afee22e0c32d8f4366970976374091ac'Eelco Dolstra
2014-04-03Sync with make-rules repoEelco Dolstra
2014-02-07Merge commit 'a210c995cdd9279ed4137ec5d2e4cc928cb36097'Eelco Dolstra
2014-02-04GNU Make 3.81 compatibilityEelco Dolstra
3.81 doesn't understand the ‘define foo =’ syntax, which was added in 3.82. So use ‘define foo’ instead.
2014-02-01Add 'mk/' from commit '1eff3ad37fdb9dcf9f8528fdacea0ebf0e79d545'Eelco Dolstra
git-subtree-dir: mk git-subtree-mainline: 6ef32bddc1f10034322966b3a5b85af7b9cdc4d8 git-subtree-split: 1eff3ad37fdb9dcf9f8528fdacea0ebf0e79d545
2014-01-09Remove mk subdirectory in preparation for "git subtree"Eelco Dolstra
2014-01-09Move stuff to top-levelEelco Dolstra
This makes it easier to use with "git subtree".
2013-12-16No longer interpret $(..._SOURCES) relative to $(..._DIR)Eelco Dolstra
2013-12-12Don't include all *.dep filesEelco Dolstra
2013-12-10Initial commit (imported from the Nix repo)Eelco Dolstra
2013-11-25Add a Makefile for the Perl stuffEelco Dolstra
2013-11-25Use create-dir for installing dynamic librariesEelco Dolstra
2013-11-25Split Makefile.lib into several *.mk filesEelco Dolstra