3 # A "response file" is a sequence of arguments that is passed via a
4 # file, rather than via argv[].
6 # For more information see:
7 # https://gcc.gnu.org/wiki/Response_Files
8 # https://www.intel.com/content/www/us/en/docs/dpcpp-cpp-compiler/developer-guide-reference/2023-0/use-response-files.html
11 name = "expand-response-params";
12 src = ./expand-response-params.c;
14 enableParallelBuilding = true;
15 # Work around "stdenv-darwin-boot-2 is not allowed to refer to path
16 # /nix/store/...-expand-response-params.c"
18 cp "$src" expand-response-params.c
22 NIX_CC_USE_RESPONSE_FILE=0 "$CC" -std=c99 -O3 -o "expand-response-params" expand-response-params.c
26 mv expand-response-params${stdenv.hostPlatform.extensions.executable} $prefix/bin/
30 description = "Internal tool used by the nixpkgs wrapper scripts for processing response files";
32 expand-response-params is a tool that allows for obtaining a full list of all
33 arguments passed in a given compiler command line including those passed via
34 so-called response files. The nixpkgs wrapper scripts for bintools and C
35 compilers use it for processing compiler flags. As it is developed in
36 conjunction with the nixpkgs wrapper scripts, it should be considered as
37 unstable and subject to change.
39 license = lib.licenses.mit;
40 platforms = lib.platforms.all;
41 mainProgram = "expand-response-params${stdenv.hostPlatform.extensions.executable}";