aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)Author
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-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.
2019-07-03autoconf: Detect boost, require version, set CXXFLAGS.Niklas Hambüchen
This turns previous compiler errors complaining about missing files into proper ./configure time errors telling the user which version of boost is required.
2019-07-03autoconf: Change quotes in description.Niklas Hambüchen
The unbalanced single-quotes cause many editor syntax highlighters to interpret the rest of the file as a string literal, making it easier to make syntax mistakes in absence of proper highlighting.
2019-03-25configure.ac: update for new version file locationWill Dietz
2019-03-10require c++ 17Guillaume Maudoux
This fixes warnings about "structured binding declaration" requiring "-std=c++1z".
2019-02-13Support --disable-shared flag.Matthew Bauer
This tells Nix to not build the shared libraries.
2019-01-10Revert "Remove some bashisms from configure.ac"Eelco Dolstra
This reverts commit e8b0efdcc9d6329b299937790360cac8b9b256c9.
2019-01-10Revert "Escape square brackets in configure.ac"Eelco Dolstra
This reverts commit 80f464d9d72839841422f75e78ce725365cc3d71.
2019-01-09Escape square brackets in configure.acMateusz Piotrowski
This patch attempts to solve the regression introduced in e8b0efdc (#2607).
2019-01-07Merge pull request #2607 from 0mp/configure.ac-fixEelco Dolstra
Remove some bashisms from configure.ac
2019-01-07Don't look for a "pv" program, or mention it in the manual sourceJohn Ericson
The manual reference was commented out, and the sole reference to this program other than the configure script. Removed both.
2019-01-05brotli is only used as a library nowJohn Ericson
2019-01-05Remove dead code computing `dynlib_suffix` from comfigure.acJohn Ericson
2018-12-30Remove some bashisms from configure.acMateusz Piotrowski
"configure.ac" is used to generate "configure", which is supposed to be run with /bin/sh (as suggested by the shebang line of "configure"). As a result it is a good idea to remove any /bin/sh-incompatible syntax from configure.ac. Otherwise, systems that do not use Bash as their /bin/sh are unable to run "configure" due to syntax errors.
2018-10-29editline: wipWill Dietz
2018-09-03docs: change expired bzip2.org to archive.orgVladimír Čunát
Fixes #2396.
2018-08-20Drop all references to --disable-init-stateTuomas Tynkkynen
It's all dead code since 2014 (commit 0c6d62cf27b3b2).
2018-08-06Require libbrotliEelco Dolstra
2018-04-06Use $CPPFLAGS when detecting version of aws-sdk-cppAndrew Dunham
2018-03-20ask autotools for c++14 support flags, not c++11; don't override laterWill Dietz
2018-02-19configure.ac: define HAVE_SECCOMP macro when using seccomp, fix build/testsWill Dietz
Happily the failing tests should prevent anyone from using such a Nix in situations where they expect sandboxing to be on, which would otherwise be a risk.
2018-02-19Merge pull request #1857 from dtzWill/fix/check-for-lzma-mtEelco Dolstra
configure.ac: check if lzma has MT support, fix deb build/etc.
2018-02-18configure: Add a flag to disable seccomp.Shea Levy
This is needed for new arches where libseccomp support doesn't exist yet. Fixes #1878.
2018-02-09configure.ac: check if lzma has MT support, fix deb build/etc.Will Dietz
2018-01-29configure: Use $CPP instead of cpp directlyBen Gamari
The latter breaks in the case of cross-compilation, when `cpp` bears a target prefix.
2017-12-30use libbrotli directly when availableWill Dietz
* Look for both 'brotli' and 'bro' as external command, since upstream has renamed it in newer versions. If neither are found, current runtime behavior is preserved: try to find 'bro' on PATH. * Limit amount handed to BrotliEncoderCompressStream to ensure interrupts are processed in a timely manner. Testing shows negligible performance impact. (Other compression sinks don't seem to require this)
2017-12-22Check aws-sdk-cpp versionEelco Dolstra
2017-05-29Add a seccomp filter to prevent creating setuid/setgid binariesEelco Dolstra
This prevents builders from setting the S_ISUID or S_ISGID bits, preventing users from using a nixbld* user to create a setuid/setgid binary to interfere with subsequent builds under the same nixbld* uid. This is based on aszlig's seccomp code (47f587700d646f5b03a42f2fa57c28875a31efbe). Reported by Linus Heckemann.
2017-05-15Add --with-sandbox-shell configure flagEelco Dolstra
And add a 116 KiB ash shell from busybox to the release build. This helps to make sandbox builds work out of the box on non-NixOS systems and with diverted stores.
2017-05-10Replace readline by linenoiseEelco Dolstra
Using linenoise avoids a license compatibility issue (#1356), is a lot smaller and doesn't pull in ncurses.
2017-04-28Check for libreadlineEelco Dolstra
2017-04-20Detect lsofEelco Dolstra
Also, don't use lsof on Linux since it's not needed. Fixes #1328.
2017-03-31Merge branch 'remove-perl' of https://github.com/shlevy/nixEelco Dolstra
2017-03-21Don't make brotli a hard dependencyEelco Dolstra
2017-03-15Add support for brotli compressionEelco Dolstra
Build logs on cache.nixos.org are compressed using Brotli (since this allows them to be decompressed automatically by Chrome and Firefox), so it's handy if "nix log" can decompress them.
2017-03-15Remove dependency on "curl" binaryEelco Dolstra
2017-02-28Improve SQLite busy handlingEelco Dolstra
2017-02-21Revert "configure.ac: We require C++14 now"Eelco Dolstra
This reverts commit 81c53fe8e56f4a4ce10088fe2d7b6a524a6dc126. This check appears to be stricter than we need (it broke a bunch of platforms that previously did build: http://hydra.nixos.org/eval/1331921#tabs-now-fail).
2017-02-08configure.ac: We require C++14 nowTuomas Tynkkynen
At least in the main Makefile we have: GLOBAL_CXXFLAGS += -std=c++14 -g -Wall
2017-02-07Remove perl dependency.Shea Levy
Fixes #341