On 06/21/2013 02:21 PM, Olivier Martin wrote: > > >> -----Original Message----- >> From: Andrew Fish [mailto:[email protected]] >> Sent: 21 June 2013 19:01 >> To: [email protected] >> Cc: Olivier Martin; [email protected]; edk2- >> [email protected]; [email protected] >> Subject: Re: [edk2] [PATCH 1/9] ArmPlatformPkg/ArmVExpressPkg: Add >> support for EDK2_OUT_DIR build parameter >> >> >> >> On Jun 21, 2013, at 10:36 AM, Ryan Harkin <[email protected]> >> wrote: >> >>> On 21 June 2013 17:12, Andrew Fish <[email protected]> wrote: >>>> >>>> On Jun 21, 2013, at 4:23 AM, Ryan Harkin <[email protected]> >> wrote: >>>> >>>>> On 21 June 2013 11:15, Olivier Martin <[email protected]> >> wrote: >>>>>> I am not convinced by this patch. >>>>>> The use case you gave is the automated build system. Nothing >> prevent you to >>>>>> do a move the folder around after building it. >>>>> >>>>> That's not quite suitable for our CI builds, but I see your point. >>>>> >>>> >>>> If you build from a script you should be able to do anything you >> want? "You can solve every problem with another level of indirection, >> except for the problem of too many levels of indirection". >>>> >>>> So you could post process with a mv or preprocess the .dsc file, and >> restore it from a build script wrapper. >>>> >>> >>> Hacking the build system is not a solution to my problem. >>> >> >> I guess I'm not as opposed to this idea as a lot of platforms in the >> real world have pre and post build steps that are driven by a script or >> makefile. So if you already have a script or a makefile that you have >> to build from adding another step to it does not seem as bad. >> >> https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/EmulatorPkg/bu >> ild.sh >> >>> >>>>> >>>>>> Instead of changing all the DSC files of EDK2, I would prefer to >> see a patch >>>>>> that changes the 'build' command to allow to overwrite the Build >> directory >>>>>> defined in the DSC file. >>>>> >>>> >>>> The build command already has a lot of options. I'm not sure adding >> an option is the right thing to do? >>> >>> So if hacking the DSC file in no good, hacking the build system is no >>> good and hacking the build command is no good, is there a sane way to >>> get the EDKII build environment to support a configurable output >>> directory? >>> >> >> >> The build systems design assumes that there may need to be pre and post >> build phases that will done via a script or makefile. For example the >> FD may need to get signed and the the signing process would be a post >> processing step. >> >> Given what we have today I think the simplest thing to do is make Build >> directory a symbolic link to the location you really want the output to >> go to. This works assuming your build script has permissions to write >> to this directory. >> >> The more I think about it we need to change something on the edk2 side >> I think the best thing would be to add the argument to build like >> Olivier suggested. >> >> Thanks, >> >> Andrew Fish >> > > Another solution would be to introduce an environment variable (eg: > EDK_BUILD_PATH) set by edksetup.(sh|bat) with a default value equal to > $(WORKSPACE) that can be overwritten.
I suspect this would work for everyones use cases. > But I am not sure to fully understand the motivation behind changing the > default build directory. If you cannot add pre/post action to your build > system then it should not take a long time to receive a new request to > change the UEFI firmware filename ;-) Allowing for user-specified output directories helps a lot of different use cases. My favourite is when debugging builds and bisecting a problem to throw each build into foo.rev so that I can if needed compare objects, etc, etc, without having to think about moving stuff around. -- Tom _______________________________________________ boot-architecture mailing list [email protected] http://lists.linaro.org/mailman/listinfo/boot-architecture
