aboutsummaryrefslogtreecommitdiff
path: root/mk/programs.mk
AgeCommit message (Collapse)Author
2024-03-13support <program>_ENV variableseldritch horrors
this lets us set per-test-program environment variables rather than only a single, global default. this was supported in nix originally but might've gone partially missing in the upstream backports process? Change-Id: Iad0919841b1b6d11e0b7ebd3920449a62f544e77
2024-03-04Merge pull request #8923 from obsidiansystems/test-protoeldritch horrors
Unit test some worker protocol serializers (cherry picked from commit c6faef61a6f31c71146aee5d88168e861df9a22a) Change-Id: I99e36f5f17eb7642211a4e42a16b143424f164b4
2023-02-14Fix static buildEelco Dolstra
For static builds, we need to propagate all the static library dependencies to the link of the program. E.g. if libstore-tests-exe depends on libnixstore-tests, and libnixstore-tests depends on libstore, then libstore-tests-exe needs to link against libstore. https://hydra.nixos.org/build/209007480
2023-01-29Allow programs to have custom namesJohn Ericson
Logic modeled after that for libraries.
2022-03-03enable LTO in optimized buildspennae
gives 2-5% performance improvement across a board of tests. LTO is broken when using clang; some libs link fine while others crash the linker with a segfault in the llvm linker plugin. 🙁
2022-02-09Revert "mk: prefert inplace library paths to system ones (take 2)"Sergei Trofimovich
2022-02-07mk: prefert inplace library paths to system ones (take 2)Sergei Trofimovich
It's a second attempt to merge the change. Previous attempt was reverted in b976b34a5b05ba303904cc7b8e0a2579bdb52807. Since then underlying failure exposed by original change was fixed by https://github.com/NixOS/nix/pull/5354. Below goes description of original change: The link failure happens on a system with stable nix-2.3.15 installed in /usr/lib64 (it's libutil.so API differs from master): ``` LANG=C make V=1 g++ -o /home/slyfox/dev/git/nix/src/libstore/libnixstore.so \ -shared -L/usr/lib64 -Wl,--no-copy-dt-needed-entries \ src/libstore/binary-cache-store.o ... src/libstore/uds-remote-store.o \ -lsqlite3 -lcurl -lsodium -pthread -ldl -lseccomp -Wl,-z,defs -Wl,-soname=libnixstore.so -Wl,-rpath,/home/slyfox/dev/git/nix/src/libutil -Lsrc/libutil -lnixutil ld: src/libstore/binary-cache-store.o: in function `nix::BinaryCacheStore::BinaryCacheStore( std::map<std::__cxx11::basic_string<char, std::char_traits<char>, ... nix/src/libstore/binary-cache-store.cc:30: undefined reference to `nix::readFile( std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' ... ... ``` This happens due to `-L/usr/lib64 -Lsrc/libutil` search path ordering. The change turns it into `-Lsrc/libutil -L/usr/lib64`. Closes: https://github.com/NixOS/nix/issues/3087
2021-10-07Revert "mk: prefert inplace library paths to system ones"Tom Bereknyei
This reverts commit 4993174be59adc688efad49f2f9205688bd2ee26. buildStatic.x86_64-linux and buildStatic.aarch64-linux were broken, see https://hydra.nixos.org/build/151755012
2021-08-28mk: prefert inplace library paths to system onesSergei Trofimovich
The link failure happens on a system with stable nix-2.3.15 installed in /usr/lib64 (it's libutil.so API differs from master): ``` LANG=C make V=1 g++ -o /home/slyfox/dev/git/nix/src/libstore/libnixstore.so \ -shared -L/usr/lib64 -Wl,--no-copy-dt-needed-entries \ src/libstore/binary-cache-store.o ... src/libstore/uds-remote-store.o \ -lsqlite3 -lcurl -lsodium -pthread -ldl -lseccomp -Wl,-z,defs -Wl,-soname=libnixstore.so -Wl,-rpath,/home/slyfox/dev/git/nix/src/libutil -Lsrc/libutil -lnixutil ld: src/libstore/binary-cache-store.o: in function `nix::BinaryCacheStore::BinaryCacheStore( std::map<std::__cxx11::basic_string<char, std::char_traits<char>, ... nix/src/libstore/binary-cache-store.cc:30: undefined reference to `nix::readFile( std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' ... ... ``` This happens due to `-L/usr/lib64 -Lsrc/libutil` search path ordering. The change turns it into `-Lsrc/libutil -L/usr/lib64`. Closes: https://github.com/NixOS/nix/issues/3087
2020-12-03Remove 'dist' targetEelco Dolstra
We're not producing source tarballs anymore so this has been bitrotting.
2020-05-08Don't install unit testsEelco Dolstra
2020-05-08make check: Run unit testsEelco Dolstra
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>
2018-04-08Fix missing $DESTDIR when installing programsAndrew Dunham
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 commit '36c67860363c93eb00cf5b8e2ad34f6f775e6901'Eelco Dolstra
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-10Initial commit (imported from the Nix repo)Eelco Dolstra
2013-11-25Add a Makefile for the scripts directoryEelco Dolstra
2013-11-25Add a Makefile for bsdiffEelco Dolstra
2013-11-25Split Makefile.lib into several *.mk filesEelco Dolstra