aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)Author
2021-11-29Merge pull request #5678 from t184256/document-libsodiumEelco Dolstra
Document libsodium, which is now mandatory, as a dependency.
2021-11-28Make libcpuid dependency optional with --disable-cpuidAlexander Sosedkin
2021-11-27Document libsodium, which is now mandatory, as a dependencyAlexander Sosedkin
2021-09-14configure: explicit dependency on lowdown libraryFederico Pellegrin
This dependency is used from quite a long time (now in libcmd) but was not explicitly stated in the configure phase, possibly leading to quite late build failures if that was not met (ie. building it outside the .nix files provided). This MR adds it in the configure phase so the failure is early and error is much more explicit.
2021-08-13configure.ac: remove another uname checkAlyssa Ross
uname checks are not cross-safe. The normalization for Cygwin doesn't need any equivalent for host_os because nothing actually checked whether sys_name was cygwin any more.
2021-08-10Fix host OS detection for darwin-specific linker flagRyan Burns
2021-06-25Merge remote-tracking branch 'origin/master' into cross-jobsMatthew Bauer
2021-06-04configure.ac: fix use of unread LIBS variablePuck Meerburg
This fixes both the SunOS/Solaris check, and the libatomic check, which reference $LIBS, which has not been used since automake was stripped out of the code.
2021-06-01Run autoupdateEelco Dolstra
2021-04-23unified macro style for ENABLE_S3p01arst0rm
2021-04-15Drop unused tar dependencyEelco Dolstra
2021-04-15Drop libbz2 / zlib / lzma dependency + style fixesEelco Dolstra
2021-03-09Merge branch 'master' into cross-jobsMatthew Bauer
2021-02-22Add x86_64 compute levels as additional system typesDaniël de Kok
When performing distributed builds of machine learning packages, it would be nice if builders without the required SIMD instructions can be excluded as build nodes. Since x86_64 has accumulated a large number of different instruction set extensions, listing all possible extensions would be unwieldy. AMD, Intel, Red Hat, and SUSE have recently defined four different microarchitecture levels that are now part of the x86-64 psABI supplement and will be used in glibc 2.33: https://gitlab.com/x86-psABIs/x86-64-ABI https://lwn.net/Articles/844831/ This change uses libcpuid to detect CPU features and then uses them to add the supported x86_64 levels to the additional system types. For example on a Ryzen 3700X: $ ~/aps/bin/nix -vv --version | grep "Additional system" Additional system types: i686-linux, x86_64-v1-linux, x86_64-v2-linux, x86_64-v3-linux
2021-02-05Re-enable armv6l supportMatthew Bauer
This fixes the libatomic detection.
2021-01-06Make sodium a required dependencyEelco Dolstra
2020-12-25Update URL where bzip2 can be obtainedSevan Janiyan
2020-12-04Fix compatibility with newer AWS SDKsStéphan Kochen
Tested against AWS SDK 1.8.99. Fixes #3201.
2020-10-15Make a better -lz hackJohn Ericson
Per the comments, the underlying issue is https://github.com/libarchive/libarchive/issues/1446, knowing this allows the hack to be much more targetted.
2020-07-23Use mdbookEelco Dolstra
2020-05-28Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-05-08configure: Look for gtestEelco Dolstra
2019-12-20Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-12-19Merge branch 'libarchive' of https://github.com/yorickvP/nixEelco Dolstra
2019-12-16Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-12-13Initial gzip supportTom Bereknyei
Closes #3256
2019-12-09downgrade required libarchive version (ubuntu 16.04)Yorick van Pelt
2019-12-07libarchive proof of conceptYorick van Pelt
2019-12-04Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-12-02Merge branch 'pkg-config-static' of https://github.com/matthewbauer/nixEelco Dolstra
2019-11-26Clean up the configure scriptEelco Dolstra
2019-11-07Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-11-07Revert "autoconf: Allow overriding CFLAGS/CXXFLAGS from outside."Eelco Dolstra
This reverts commit 717e821b99797845e1bef47d862f8cb0fb69cfc9. It's much more convenient to do 'make OPTIMIZE=0'.
2019-11-07Precompile headersEelco Dolstra
This cuts 'make install -j6' on my laptop from 170s to 134s.
2019-11-06Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-11-06Make --enable-gc the defaultEelco Dolstra
2019-11-01Pass --static flag to pkg-config when necessaryMatthew Bauer
2019-10-21Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-10-01Use more robust test for libatomicsMatthew Bauer
Taken from Mesa configure script: https://github.com/mesa3d/mesa/blob/17.2/configure.ac#L405-L427
2019-10-01Add libatomic for 32-bit ARMMatthew Bauer
Fixes #3113
2019-07-06Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-07-05Revert 82b7f0e840983879a510245903ff7c917276f65d, ↵Eelco Dolstra
cd8bc06e8786018ddb16cea4cb10971b63d0efd2, c3db9e6f8fd06d691be04cdd95a6bb21a400481d This breaks the tarball job: https://hydra.nixos.org/build/95714570
2019-07-03autoconf: Implement release tarball detection. Fixes #257.Niklas Hambüchen
This should finally allow us to address all cases of build errors due to differences between release tarballs and building from git. See also https://github.com/NixOS/nix/issues/506#issuecomment-507312587
2019-07-03autoconf: Add comment on use of `false`.Niklas Hambüchen
This is to avoid confusion as in commit a0d29040f79b365598fe75d01f72d29ab538206b.
2019-07-03autoconf: Check if --nonet works. Fixes #967 #506.Niklas Hambüchen
Also give a helpful error message on what package the user likely has to install to make it work.
2019-07-03Get BOOST_LDFLAGS from autoconf, fix Ubuntu 16.04 build.Niklas Hambüchen
Our use of boost::coroutine2 depends on -lboost_context, which in turn depends on `-lboost_thread`, which in turn depends on `-lboost_system`. I suspect that this builds on nix only because of low-level hacks like NIX_LDFLAGS. This commit passes the proper linker flags, thus fixing bootstrap builds on non-nix distributions like Ubuntu 16.04. With these changes, I can build Nix on Ubuntu 16.04 using: ./bootstrap.sh ./configure --prefix=$HOME/editline-prefix \ --disable-doc-gen \ CXX=g++-7 \ --with-boost=$HOME/boost-prefix \ EDITLINE_CFLAGS=-I$HOME/editline-prefix/include \ EDITLINE_LIBS=-leditline \ LDFLAGS=-L$HOME/editline-prefix/lib make where * g++-7 comes from gcc-7 from https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test, * editline 1.14 from https://github.com/troglobit/editline/releases/tag/1.14.0 was installed into `$HOME/editline-prefix` (because Ubuntu 16.04's `editline` is too old to have the function nix uses), * boost 1.66 from https://www.boost.org/doc/libs/1_66_0/more/getting_started/unix-variants.html was installed into $HOME/boost-prefix (because Ubuntu 16.04 only has 1.58)
2019-07-03autoconf: Allow overriding CFLAGS/CXXFLAGS from outside.Niklas Hambüchen
As is normal for autoconf-based projects. For example, it is a common use case to do ./configure CXXFLAGS=-O0 This did not work for nix until now, because the `CXXFLAGS=` declaration would unconditionally erase what the user had specified. The custom `OPTIMIZE` flag is removed, but the default `-O3` is retained; autoconf would default to `-g -O2` by default otherwise as documented on: https://www.gnu.org/software/autoconf/manual/autoconf-2.60/html_node/C-Compiler.html https://www.gnu.org/software/autoconf/manual/autoconf-2.60/html_node/C_002b_002b-Compiler.html
2019-07-03autoconf: Fix AC_STRUCT_DIRENT_D_TYPE being used before AC_PROG_CC.Niklas Hambüchen
That was incorrect, because checking the dirent type already requires a working compiler. It had the effect that setting e.g. `: ${CFLAGS=""}` before `AC_PROG_CC` as per `AC_PROG_CC`'s documentation would have no effect, because `AC_STRUCT_DIRENT_D_TYPE` would automatically set CFLASGS. (In a followup commit `: ${CFLAGS=""}` will be used, so it's important to get this working first.)
2019-07-03autoconf: Fix C++17 detection not working on Ubuntu 16.04.Niklas Hambüchen
And probably many other distributions. Until now, ./configure would fail silently printing a warning ./configure: line 4621: AX_CXX_COMPILE_STDCXX_17: command not found and then continuing, later failing with a C++ #error saying that some C++11 feature isn't supported (it didn't even get to the C++17 features). This is because older distributions don't come with the `AX_CXX_COMPILE_STDCXX_17` m4 macro. This commit vendors that macro accordingly. Now ./configure complains correctly: configure: error: *** A compiler with support for C++17 language features is required. On Ubuntu 16.04, ./configure completes if a newer compiler is used, e.g. with gcc-7 from https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test using: ./bootstrap.sh ./configure CXX=g++-7 --disable-doc-gen --with-boost=$(nix-build --no-link '<nixpkgs>' -A boost.dev)
2019-07-03autoconf: Work around editline not being found on Ubuntu 16.04.Niklas Hambüchen
And probably other Linux distributions with long-term support releases. Also update manual stating what version is needed; I checked that 1.14 is the oldest version with which current nix compiles, and added autoconf feature checks for some functions added in that release that nix uses.