aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)Author
2019-12-02Merge branch 'pkg-config-static' of https://github.com/matthewbauer/nixEelco Dolstra
2019-11-26Clean up the configure scriptEelco 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-06Make --enable-gc the defaultEelco Dolstra
2019-11-01Pass --static flag to pkg-config when necessaryMatthew Bauer
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