On 21 June 2013 17:12, Andrew Fish <af...@apple.com> wrote:
>
> On Jun 21, 2013, at 4:23 AM, Ryan Harkin <ryan.har...@linaro.org> wrote:
>
>> On 21 June 2013 11:15, Olivier Martin <olivier.mar...@arm.com> 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.


>>
>>> 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?


>
> (master)>build --help
> Usage: build.exe [options] 
> [all|fds|genc|genmake|clean|cleanall|cleanlib|modules|libraries|run]
>
> Copyright (c) 2007 - 2010, Intel Corporation  All rights reserved.
>
> Options:
>   --version             show program's version number and exit
>   -h, --help            show this help message and exit
>   -a TARGETARCH, --arch=TARGETARCH
>                         ARCHS is one of list: IA32, X64, IPF, ARM or EBC,
>                         which overrides target.txt's TARGET_ARCH definition.
>                         To specify more archs, please repeat this option.
>   -p PLATFORMFILE, --platform=PLATFORMFILE
>                         Build the platform specified by the DSC file name
>                         argument, overriding target.txt's ACTIVE_PLATFORM
>                         definition.
>   -m MODULEFILE, --module=MODULEFILE
>                         Build the module specified by the INF file name
>                         argument.
>   -b BUILDTARGET, --buildtarget=BUILDTARGET
>                         Using the TARGET to build the platform, overriding
>                         target.txt's TARGET definition.
>   -t TOOLCHAIN, --tagname=TOOLCHAIN
>                         Using the Tool Chain Tagname to build the platform,
>                         overriding target.txt's TOOL_CHAIN_TAG definition.
>   -x SKUID, --sku-id=SKUID
>                         Using this name of SKU ID to build the platform,
>                         overriding SKUID_IDENTIFIER in DSC file.
>   -n THREADNUMBER       Build the platform using multi-threaded compiler. The
>                         value overrides target.txt's
>                         MAX_CONCURRENT_THREAD_NUMBER. Less than 2 will disable
>                         multi-thread builds.
>   -f FDFFILE, --fdf=FDFFILE
>                         The name of the FDF file to use, which overrides the
>                         setting in the DSC file.
>   -r ROMIMAGE, --rom-image=ROMIMAGE
>                         The name of FD to be generated. The name must be from
>                         [FD] section in FDF file.
>   -i FVIMAGE, --fv-image=FVIMAGE
>                         The name of FV to be generated. The name must be from
>                         [FV] section in FDF file.
>   -C CAPNAME, --capsule-image=CAPNAME
>                         The name of Capsule to be generated. The name must be
>                         from [Capsule] section in FDF file.
>   -u, --skip-autogen    Skip AutoGen step.
>   -e, --re-parse        Re-parse all meta-data files.
>   -c, --case-insensitive
>                         Don't check case of file name.
>   -w, --warning-as-error
>                         Treat warning in tools as error.
>   -j LOGFILE, --log=LOGFILE
>                         Put log in specified file as well as on console.
>   -s, --silent          Make use of silent mode of (n)make.
>   -q, --quiet           Disable all messages except FATAL ERRORS.
>   -v, --verbose         Turn on verbose output with informational messages
>                         printed, including library instances selected, final
>                         dependency expression, and warning messages, etc.
>   -d DEBUG, --debug=DEBUG
>                         Enable debug messages at specified level.
>   -D MACROS, --define=MACROS
>                         Macro: "Name [= Value]".
>   -y REPORTFILE, --report-file=REPORTFILE
>                         Create/overwrite the report to the specified filename.
>   -Y REPORTTYPE, --report-type=REPORTTYPE
>                         Flags that control the type of build report to
>                         generate.  Must be one of: [PCD, LIBRARY, FLASH,
>                         DEPEX, BUILD_FLAGS, FIXED_ADDRESS, EXECUTION_ORDER].
>                         To specify more than one flag, repeat this option on
>                         the command line and the default flag set is [PCD,
>                         LIBRARY, FLASH, DEPEX, BUILD_FLAGS, FIXED_ADDRESS]
>   -F FLAG, --flag=FLAG  Specify the specific option to parse EDK UNI file.
>                         Must be one of: [-c, -s]. -c is for EDK framework UNI
>                         file, and -s is for EDK UEFI UNI file. This option can
>                         also be specified by setting *_*_*_BUILD_FLAGS in
>                         [BuildOptions] section of platform DSC. If they are
>                         both specified, this value will override the setting
>                         in [BuildOptions] section of platform DSC.
>   -N, --no-cache        Disable build cache mechanism
>
> Thanks,
>
> Andrew Fish
>
>> That's a preferable option, although it would involve me hacking in
>> python - shudder ;-)
>>
>> I'll look into the build script if I get some time.  Meanwhile, this
>> patch can live in my tree.
>>
>

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to