about summary refs log tree commit diff
path: root/configure.ac (follow)
AgeCommit message (Collapse)AuthorFilesLines
2019-07-05 Revert 82b7f0e840983879a510245903ff7c917276f65d, ↵Eelco Dolstra1-32/+4
cd8bc06e8786018ddb16cea4cb10971b63d0efd2, c3db9e6f8fd06d691be04cdd95a6bb21a400481d This breaks the tarball job: https://hydra.nixos.org/build/95714570
2019-07-03 autoconf: Implement release tarball detection. Fixes #257.Niklas Hambüchen1-7/+20
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-03 autoconf: Add comment on use of `false`.Niklas Hambüchen1-3/+9
This is to avoid confusion as in commit a0d29040f79b365598fe75d01f72d29ab538206b.
2019-07-03 autoconf: Check if --nonet works. Fixes #967 #506.Niklas Hambüchen1-0/+9
Also give a helpful error message on what package the user likely has to install to make it work.
2019-07-03 Get BOOST_LDFLAGS from autoconf, fix Ubuntu 16.04 build.Niklas Hambüchen1-0/+3
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-03 autoconf: Allow overriding CFLAGS/CXXFLAGS from outside.Niklas Hambüchen1-2/+4
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-03 autoconf: Fix AC_STRUCT_DIRENT_D_TYPE being used before AC_PROG_CC.Niklas Hambüchen1-8/+8
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-03 autoconf: Fix C++17 detection not working on Ubuntu 16.04.Niklas Hambüchen1-1/+2
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-03 autoconf: Work around editline not being found on Ubuntu 16.04.Niklas Hambüchen1-1/+10
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-03 autoconf: Detect boost, require version, set CXXFLAGS.Niklas Hambüchen1-0/+7
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-03 autoconf: Change quotes in description.Niklas Hambüchen1-1/+1
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-25 configure.ac: update for new version file locationWill Dietz1-1/+1
2019-03-10 require c++ 17Guillaume Maudoux1-1/+1
This fixes warnings about "structured binding declaration" requiring "-std=c++1z".
2019-02-13 Support --disable-shared flag.Matthew Bauer1-0/+10
This tells Nix to not build the shared libraries.
2019-01-10 Revert "Remove some bashisms from configure.ac"Eelco Dolstra1-11/+6
This reverts commit e8b0efdcc9d6329b299937790360cac8b9b256c9.
2019-01-10 Revert "Escape square brackets in configure.ac"Eelco Dolstra1-1/+1
This reverts commit 80f464d9d72839841422f75e78ce725365cc3d71.
2019-01-09 Escape square brackets in configure.acMateusz Piotrowski1-1/+1
This patch attempts to solve the regression introduced in e8b0efdc (#2607).
2019-01-07 Merge pull request #2607 from 0mp/configure.ac-fixEelco Dolstra1-6/+11
Remove some bashisms from configure.ac
2019-01-07 Don't look for a "pv" program, or mention it in the manual sourceJohn Ericson1-1/+0
The manual reference was commented out, and the sole reference to this program other than the configure script. Removed both.
2019-01-05 brotli is only used as a library nowJohn Ericson1-1/+0
2019-01-05 Remove dead code computing `dynlib_suffix` from comfigure.acJohn Ericson1-5/+0
2018-12-30 Remove some bashisms from configure.acMateusz Piotrowski1-6/+11
"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-29 editline: wipWill Dietz1-0/+2
2018-09-03 docs: change expired bzip2.org to archive.orgVladimír Čunát1-2/+2
Fixes #2396.
2018-08-20 Drop all references to --disable-init-stateTuomas Tynkkynen1-6/+0
It's all dead code since 2014 (commit 0c6d62cf27b3b2).
2018-08-06 Require libbrotliEelco Dolstra1-6/+3
2018-04-06 Use $CPPFLAGS when detecting version of aws-sdk-cppAndrew Dunham1-1/+1
2018-03-20 ask autotools for c++14 support flags, not c++11; don't override laterWill Dietz1-1/+1
2018-02-19 configure.ac: define HAVE_SECCOMP macro when using seccomp, fix build/testsWill Dietz1-0/+1
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-19 Merge pull request #1857 from dtzWill/fix/check-for-lzma-mtEelco Dolstra1-0/+2
configure.ac: check if lzma has MT support, fix deb build/etc.
2018-02-18 configure: Add a flag to disable seccomp.Shea Levy1-2/+14
This is needed for new arches where libseccomp support doesn't exist yet. Fixes #1878.
2018-02-09 configure.ac: check if lzma has MT support, fix deb build/etc.Will Dietz1-0/+2
2018-01-29 configure: Use $CPP instead of cpp directlyBen Gamari1-1/+2
The latter breaks in the case of cross-compilation, when `cpp` bears a target prefix.
2017-12-30 use libbrotli directly when availableWill Dietz1-1/+8
* 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-22 Check aws-sdk-cpp versionEelco Dolstra1-1/+7
2017-05-29 Add a seccomp filter to prevent creating setuid/setgid binariesEelco Dolstra1-0/+7
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-15 Add --with-sandbox-shell configure flagEelco Dolstra1-0/+6
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-10 Replace readline by linenoiseEelco Dolstra1-8/+0
Using linenoise avoids a license compatibility issue (#1356), is a lot smaller and doesn't pull in ncurses.
2017-04-28 Check for libreadlineEelco Dolstra1-0/+8
2017-04-20 Detect lsofEelco Dolstra1-0/+1
Also, don't use lsof on Linux since it's not needed. Fixes #1328.
2017-03-31 Merge branch 'remove-perl' of https://github.com/shlevy/nixEelco Dolstra1-52/+0
2017-03-21 Don't make brotli a hard dependencyEelco Dolstra1-1/+1
2017-03-15 Add support for brotli compressionEelco Dolstra1-0/+1
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-15 Remove dependency on "curl" binaryEelco Dolstra1-1/+0
2017-02-28 Improve SQLite busy handlingEelco Dolstra1-1/+1
2017-02-21 Revert "configure.ac: We require C++14 now"Eelco Dolstra1-1/+1
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-08 configure.ac: We require C++14 nowTuomas Tynkkynen1-1/+1
At least in the main Makefile we have: GLOBAL_CXXFLAGS += -std=c++14 -g -Wall
2017-02-07 Remove perl dependency.Shea Levy1-52/+0
Fixes #341
2016-12-19 Revert "Merge branch 'seccomp' of https://github.com/aszlig/nix"Eelco Dolstra1-9/+0
This reverts commit 9f3f2e21edb17dbcd674539dff96efb6cceca10c, reversing changes made to 47f587700d646f5b03a42f2fa57c28875a31efbe.
2016-12-15 Merge branch 'seccomp' of https://github.com/aszlig/nixEelco Dolstra1-0/+9