On 2015-08-05 07:06:46, Gao, Liming wrote: > Thanks for your all comments. > > Most people prefers to keep WOSKAPCE as single directory, and > introduce new env $(WORKSPACE_MULTIPLE).
I'm not sure about this conclusion. I think Paolo, Laszlo and I all expressed that using WORKSPACE for the multiple directories seemed more natural. I think you originally suggested just using WORKSPACE, but maybe now have changed your mind. I know Tim had some big concerns with expanding WORKSPACE. I agree with his concerns, but I don't think it will be much better with WORKSPACE_MULTIPLE. (The same tools will break.) Mike and Andrew appear to prefer WORKSPACE_MULTIPLE. What about this suggestion? WORKSPACE: expand to a list of directories WORKSPACE_BUILD: if not set, use first path in WORKSPACE + '/Build' WORKSPACE_CONF: if not set, scan WORKSPACE paths to find 'Conf' dir WORKSPACE_TOOLS: if not set, scan WORKSPACE paths to find 'BaseTools' dir With WORKSPACE and WORKSPACE_MULTIPLE we have a strange intersection of 'part of the source tree' and 'all of the source tree'. I think the variables I recommend avoid that partial overlap. -Jordan > I think Mike solution can > make them more clear if WORKSPACE_MULTIPLE is set. > > On QA team impact, it should be small. QA team can still use the > current working model to place all packages in root directory, and > set WORKSPACE only. QA team just needs to know the package list. > > Tim gave another idea to define multiple source locations in > Platform DSC file. It doesn't conflict with this proposal. We can > implement $(WORKSPACE_MULTIPLE) feature first, and evaluate DSC > update. On the fixed tree layout, these two solutions can work. Once > the end user reorganizes its tree layout, he needs to set > $(WORKSPACE_MULTIPLE) env or update Platform DSC file, and build > platform DSC. > > Thanks > Liming > -----Original Message----- > From: Laszlo Ersek [mailto:ler...@redhat.com] > Sent: Tuesday, August 04, 2015 7:20 PM > To: Justen, Jordan L > Cc: Gao, Liming; Paolo Bonzini; edk2-devel@lists.01.org > Subject: Re: [edk2] BaseTools features: multiple workspaces > > On 08/03/15 19:35, Jordan Justen wrote: > > On 2015-08-03 02:08:14, Gao, Liming wrote: > >> Paolo: > >> I think that keep the exiting syntax for WORKSPACE to be a single > >> path can minimize the impacts to exiting tools that assume a > >> single workspace. > > > > I know you originally suggested to use WORKSPACE, but got some > > feedback that it might be better to create a new variable to not break > > some unspecified tools. > > > > Was anyone able to name an actual tool that would be impacted? Why not > > work to update these tools at the same time? An easy 'fix' will be for > > any such tool to give an error message if it sees ':' or ';' in the > > WORKSPACE environment variable. Although this is really not a fix, it > > will be just as much support as if they ignore the new > > WORKSPACE_MULTIPLE environment variable. > > > > I think that using the single separated WORKSPACE environment variable > > is more intuitive/expected. From using env vars such as PATH, we all > > know what it means. > > > > For WORKSPACE+WORKSPACE_MULTIPLE, I don't know which has priority. I > > assume WORKSPACE is checked first, and then WORKSPACE_MULTIPLE? > > This was described in Liming's email, in point 4b. > > > > > Will this work for the integrated CryptoPkg + open-ssl? It seems like > > we need a priority above EDK II for this. I guess WORKSPACE will not > > be set to EDK II in this case? > > > > Anyway, it just seems a little odd. > > For me a colon-separated (well, separator-separated :)) single WORKSPACE > variable would be more intuitive, but WORKSPACE_MULTIPLE can be defined well > enough too. For example: > - WORKSPACE must not contain separators > - if WORKSPACE_MULTIPLE is set, then the effect is as if > ${WORKSPACE}:${WORKSPACE_MULTIPLE} were specified under the > well-known PATH semantics. > > No clue about the CryptoPkg impact. Can you remind me please why CryptoPkg / > OpensslLib are special wrt. WORKSPACE? > > Thanks > Laszlo > > > > > -Jordan > > > >> -----Original Message----- > >> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf > >> Of Paolo Bonzini > >> Sent: Monday, August 03, 2015 4:31 PM > >> To: Gao, Liming; edk2-devel@lists.01.org > >> Subject: Re: [edk2] BaseTools features: multiple workspaces > >> > >> > >> On 03/08/2015 05:56, Gao, Liming wrote: > >>> Hi, all > >>> We will update BaseTools feature to allow more than one workspaces. The > >>> detail design in the below. Please help review it. If you have any > >>> comments, please let me know. > >>> > >>> 1. Keep $(WORKSPACE) environment as is > >>> > >>> a. $(WORKSPACE) determines location of Build and Conf directory. > >>> > >>> 2. New optional $(WORKSPACE_MULTIPLE) environment is added to > >>> include more directories with the separator ';', like $(PATH) > >> > >> Why is $(WORKSPACE_MULTIPLE) necessary? On Linux it is okay to break > >> preexisting paths that contain a ":"; on Windows semicolons are allowed in > >> theory but in practice break in several ways. > >> > >> Paolo > >> > >>> a. Produce the same behavior if $(WORKSPACE_MULTIPLE) is not set. > >>> > >>> 3. Update edksetup.bat/edksetup.sh to find BaseTools directory from > >>> $(WORKSPACE) and $(WORKSPACE_MULTIPLE) directories. > >>> > >>> 4. Update BaseTools to support multiple workspaces > >>> > >>> a. For the relative file path (INF, DSC and FDF), BaseTools will > >>> search them from $(WORKSPACE) and $(WORKSPACE_MULTIPLE) directories. > >>> > >>> b. Search priority from high to low: $(WORKSPACE), > >>> $(WORKSPACE_MULTIPLE). > >>> > >>> This is a compatible feature. It has no impact on current EDKII > >>> project. > >> _______________________________________________ > >> edk2-devel mailing list > >> edk2-devel@lists.01.org > >> https://lists.01.org/mailman/listinfo/edk2-devel > >> _______________________________________________ > >> edk2-devel mailing list > >> edk2-devel@lists.01.org > >> https://lists.01.org/mailman/listinfo/edk2-devel > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel > > > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel