@@ -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
@@ -4110,12 +4069,16 @@ bool ProjMgrWorker::ListLayers(vector<string>& layers, const string& clayerSearc
41104069 }
41114070 }
41124071 } else {
4113- // process precedences
4114- if (!ProcessPrecedences (context)) {
4072+ // process precedences and device/board
4073+ if (!ProcessPrecedences (context, true )) {
41154074 failedContexts.insert (selectedContext);
41164075 error |= true ;
41174076 continue ;
41184077 }
4078+ if (!SetTargetAttributes (context, context.targetAttributes )) {
4079+ error |= true ;
4080+ continue ;
4081+ }
41194082 // get matching layers for selected context
41204083 if (!DiscoverMatchingLayers (context, clayerSearchPath)) {
41214084 failedContexts.insert (selectedContext);
0 commit comments