@@ -730,47 +730,6 @@ void ProjMgrWorker::GetRequiredLayerTypes(ContextItem& context, LayersDiscoverin
730730 }
731731}
732732
733- bool ProjMgrWorker::ProcessCandidateLayers (ContextItem& context, LayersDiscovering& discover) {
734- // get all candidate layers
735- if (!GetCandidateLayers (discover)) {
736- return false ;
737- }
738- // load device/board specific packs specified in candidate layers
739- vector<PackItem> packRequirements;
740- for (const auto & [type, clayers] : discover.candidateClayers ) {
741- for (const auto & clayer : clayers) {
742- const ClayerItem& clayerItem = m_parser->GetGenericClayers ()[clayer];
743- if (!clayerItem.forBoard .empty () || !clayerItem.forDevice .empty ()) {
744- InsertPackRequirements (clayerItem.packs , packRequirements, clayerItem.directory );
745- }
746- }
747- }
748- if (packRequirements.size () > 0 ) {
749- AddPackRequirements (context, packRequirements);
750- if (!LoadAllRelevantPacks () || !LoadPacks (context)) {
751- PrintContextErrors (context.name );
752- return false ;
753- }
754- }
755- // process board/device filtering
756- if (!ProcessDevice (context)) {
757- return false ;
758- }
759- if (!SetTargetAttributes (context, context.targetAttributes )) {
760- return false ;
761- }
762- // recollect layers from packs after filtering
763- discover.genericClayersFromPacks .clear ();
764- if (!CollectLayersFromPacks (context, discover.genericClayersFromPacks )) {
765- return false ;
766- }
767- discover.candidateClayers .clear ();
768- if (!GetCandidateLayers (discover)) {
769- return false ;
770- }
771- return true ;
772- }
773-
774733bool ProjMgrWorker::GetCandidateLayers (LayersDiscovering& discover) {
775734 // clayers matching required types
776735 StrVecMap genericClayers = CollectionUtils::MergeStrVecMap (discover.genericClayersFromSearchPath , discover.genericClayersFromPacks );
@@ -805,8 +764,8 @@ bool ProjMgrWorker::DiscoverMatchingLayers(ContextItem& context, string clayerSe
805764 }
806765 // get required layer types
807766 GetRequiredLayerTypes (context, discover);
808- // process candidate layers
809- if (!ProcessCandidateLayers (context, discover)) {
767+ // get candidate layers
768+ if (!GetCandidateLayers ( discover)) {
810769 return false ;
811770 }
812771 // process layer combinations
@@ -4106,12 +4065,16 @@ bool ProjMgrWorker::ListLayers(vector<string>& layers, const string& clayerSearc
41064065 }
41074066 }
41084067 } else {
4109- // process precedences
4110- if (!ProcessPrecedences (context)) {
4068+ // process precedences and device/board
4069+ if (!ProcessPrecedences (context, true )) {
41114070 failedContexts.insert (selectedContext);
41124071 error |= true ;
41134072 continue ;
41144073 }
4074+ if (!SetTargetAttributes (context, context.targetAttributes )) {
4075+ error |= true ;
4076+ continue ;
4077+ }
41154078 // get matching layers for selected context
41164079 if (!DiscoverMatchingLayers (context, clayerSearchPath)) {
41174080 failedContexts.insert (selectedContext);
0 commit comments