forked from mirrors/nixpkgs
ovmf: support debugging
This commit is contained in:
parent
70ae9b5943
commit
c449133f88
|
@ -4,6 +4,8 @@
|
|||
, httpSupport ? false
|
||||
, tpmSupport ? false
|
||||
, tlsSupport ? false
|
||||
, debug ? false
|
||||
, sourceDebug ? debug
|
||||
}:
|
||||
|
||||
assert csmSupport -> seabios != null;
|
||||
|
@ -44,12 +46,15 @@ edk2.mkDerivation projectDscPath (finalAttrs: {
|
|||
buildFlags =
|
||||
# IPv6 has no reason to be disabled.
|
||||
[ "-D NETWORK_IP6_ENABLE=TRUE" ]
|
||||
++ lib.optionals debug [ "-D DEBUG_ON_SERIAL_PORT=TRUE" ]
|
||||
++ lib.optionals sourceDebug [ "-D SOURCE_DEBUG_ENABLE=TRUE" ]
|
||||
++ lib.optionals secureBoot [ "-D SECURE_BOOT_ENABLE=TRUE" ]
|
||||
++ lib.optionals csmSupport [ "-D CSM_ENABLE" "-D FD_SIZE_2MB" ]
|
||||
++ lib.optionals httpSupport [ "-D NETWORK_HTTP_ENABLE=TRUE" "-D NETWORK_HTTP_BOOT_ENABLE=TRUE" ]
|
||||
++ lib.optionals tlsSupport [ "-D NETWORK_TLS_ENABLE=TRUE" ]
|
||||
++ lib.optionals tpmSupport [ "-D TPM_ENABLE" "-D TPM2_ENABLE" "-D TPM2_CONFIG_ENABLE"];
|
||||
|
||||
buildConfig = if debug then "DEBUG" else "RELEASE";
|
||||
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Qunused-arguments";
|
||||
|
||||
env.PYTHON_COMMAND = "python3";
|
||||
|
|
|
@ -116,7 +116,7 @@ edk2 = buildStdenv.mkDerivation {
|
|||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
build -a ${targetArch} -b RELEASE -t ${buildType} -p ${projectDscPath} -n $NIX_BUILD_CORES $buildFlags
|
||||
build -a ${targetArch} -b ${attrs.buildConfig or "RELEASE"} -t ${buildType} -p ${projectDscPath} -n $NIX_BUILD_CORES $buildFlags
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
|
|
Loading…
Reference in a new issue