Lines Matching refs:suff
206 Suffix *suff; member
246 Suffix_Ref(Suffix *suff) in Suffix_Ref() argument
248 suff->refCount++; in Suffix_Ref()
249 return suff; in Suffix_Ref()
254 Suffix_Reassign(Suffix **var, Suffix *suff) in Suffix_Reassign() argument
258 *var = suff; in Suffix_Reassign()
259 suff->refCount++; in Suffix_Reassign()
291 StrTrimSuffix(const char *str, size_t strLen, const char *suff, size_t suffLen) in StrTrimSuffix() argument
301 if (suff[i] != suffInStr[i]) in StrTrimSuffix()
312 Suffix_TrimSuffix(const Suffix *suff, size_t nameLen, const char *nameEnd) in Suffix_TrimSuffix() argument
315 suff->name, suff->nameLen); in Suffix_TrimSuffix()
319 Suffix_IsSuffix(const Suffix *suff, size_t nameLen, const char *nameEnd) in Suffix_IsSuffix() argument
321 return Suffix_TrimSuffix(suff, nameLen, nameEnd) != NULL; in Suffix_IsSuffix()
330 Suffix *suff = ln->datum; in FindSuffixByNameLen() local
331 if (suff->nameLen == nameLen && in FindSuffixByNameLen()
332 memcmp(suff->name, name, nameLen) == 0) in FindSuffixByNameLen()
333 return suff; in FindSuffixByNameLen()
358 SuffixList_Unref(SuffixList *list, Suffix *suff) in SuffixList_Unref() argument
360 SuffixListNode *ln = Lst_FindDatum(list, suff); in SuffixList_Unref()
363 suff->refCount--; in SuffixList_Unref()
368 Suffix_Free(Suffix *suff) in Suffix_Free() argument
371 if (suff == nullSuff) in Suffix_Free()
374 if (suff == emptySuff) in Suffix_Free()
379 if (suff->refCount != 0) in Suffix_Free()
381 suff->name, suff->refCount); in Suffix_Free()
384 Lst_Done(&suff->children); in Suffix_Free()
385 Lst_Done(&suff->parents); in Suffix_Free()
386 SearchPath_Free(suff->searchPath); in Suffix_Free()
388 free(suff->name); in Suffix_Free()
389 free(suff); in Suffix_Free()
394 SuffixList_Remove(SuffixList *list, Suffix *suff) in SuffixList_Remove() argument
396 SuffixList_Unref(list, suff); in SuffixList_Remove()
397 if (suff->refCount == 0) { in SuffixList_Remove()
399 SuffixList_Unref(&sufflist, suff); in SuffixList_Remove()
400 DEBUG1(SUFF, "Removing suffix \"%s\"\n", suff->name); in SuffixList_Remove()
401 Suffix_Free(suff); in SuffixList_Remove()
410 SuffixList_Insert(SuffixList *list, Suffix *suff) in SuffixList_Insert() argument
417 if (listSuff->sNum >= suff->sNum) in SuffixList_Insert()
423 suff->name, suff->sNum); in SuffixList_Insert()
424 Lst_Append(list, Suffix_Ref(suff)); in SuffixList_Insert()
425 } else if (listSuff->sNum != suff->sNum) { in SuffixList_Insert()
427 suff->name, suff->sNum, listSuff->name, listSuff->sNum); in SuffixList_Insert()
428 Lst_InsertBefore(list, ln, Suffix_Ref(suff)); in SuffixList_Insert()
431 suff->name, suff->sNum); in SuffixList_Insert()
445 Suffix *suff = bmake_malloc(sizeof *suff); in Suffix_New() local
447 suff->name = bmake_strdup(name); in Suffix_New()
448 suff->nameLen = strlen(suff->name); in Suffix_New()
449 suff->searchPath = SearchPath_New(); in Suffix_New()
450 Lst_Init(&suff->children); in Suffix_New()
451 Lst_Init(&suff->parents); in Suffix_New()
452 suff->sNum = sNum++; in Suffix_New()
453 suff->include = false; in Suffix_New()
454 suff->library = false; in Suffix_New()
455 suff->isNull = false; in Suffix_New()
456 suff->refCount = 1; /* XXX: why 1? It's not assigned anywhere yet. */ in Suffix_New()
458 return suff; in Suffix_New()
674 RebuildGraph(GNode *transform, Suffix *suff) in RebuildGraph() argument
683 toName = StrTrimPrefix(suff->name, name); in RebuildGraph()
687 Relate(suff, to); in RebuildGraph()
695 toName = Suffix_TrimSuffix(suff, nameLen, name + nameLen); in RebuildGraph()
700 Relate(from, suff); in RebuildGraph()
716 UpdateTarget(GNode *target, Suffix *suff, bool *inout_removedMain) in UpdateTarget() argument
746 ptr = strstr(target->name, suff->name); in UpdateTarget()
791 UpdateTargets(Suffix *suff) in UpdateTargets() argument
798 if (UpdateTarget(gn, suff, &removedMain)) in UpdateTargets()
809 Suffix *suff = FindSuffixByName(name); in Suff_AddSuffix() local
810 if (suff != NULL) in Suff_AddSuffix()
813 suff = Suffix_New(name); in Suff_AddSuffix()
814 Lst_Append(&sufflist, suff); in Suff_AddSuffix()
815 DEBUG1(SUFF, "Adding suffix \"%s\"\n", suff->name); in Suff_AddSuffix()
817 UpdateTargets(suff); in Suff_AddSuffix()
824 RebuildGraph(ln->datum, suff); in Suff_AddSuffix()
831 Suffix *suff = FindSuffixByName(name); in Suff_GetPath() local
832 return suff != NULL ? suff->searchPath : NULL; in Suff_GetPath()
857 Suffix *suff = ln->datum; in Suff_ExtendPaths() local
858 if (!Lst_IsEmpty(&suff->searchPath->dirs)) { in Suff_ExtendPaths()
859 if (suff->include) in Suff_ExtendPaths()
861 suff->searchPath); in Suff_ExtendPaths()
862 if (suff->library) in Suff_ExtendPaths()
863 SearchPath_AddAll(libsPath, suff->searchPath); in Suff_ExtendPaths()
864 SearchPath_AddAll(suff->searchPath, &dirSearchPath); in Suff_ExtendPaths()
866 SearchPath_Free(suff->searchPath); in Suff_ExtendPaths()
867 suff->searchPath = Dir_CopyDirSearchPath(); in Suff_ExtendPaths()
892 Suffix *suff = FindSuffixByName(suffName); in Suff_AddInclude() local
893 if (suff != NULL) in Suff_AddInclude()
894 suff->include = true; in Suff_AddInclude()
906 Suffix *suff = FindSuffixByName(suffName); in Suff_AddLib() local
907 if (suff != NULL) in Suff_AddLib()
908 suff->library = true; in Suff_AddLib()
963 Candidate_New(char *name, char *prefix, Suffix *suff, Candidate *parent, in Candidate_New() argument
970 cand->suff = Suffix_Ref(suff); in Candidate_New()
984 Suffix *suff, const char *debug_tag MAKE_ATTR_UNUSED) in CandidateList_Add() argument
986 Candidate *cand = Candidate_New(srcName, targ->prefix, suff, targ, in CandidateList_Add()
1007 for (ln = cand->suff->children.first; ln != NULL; ln = ln->next) { in CandidateList_AddCandidatesFor()
1008 Suffix *suff = ln->datum; in CandidateList_AddCandidatesFor() local
1010 if (suff->isNull && suff->name[0] != '\0') { in CandidateList_AddCandidatesFor()
1017 cand, suff, "1"); in CandidateList_AddCandidatesFor()
1020 CandidateList_Add(list, str_concat2(cand->prefix, suff->name), in CandidateList_AddCandidatesFor()
1021 cand, suff, "2"); in CandidateList_AddCandidatesFor()
1109 src->suff->searchPath); in FindThem()
1144 Suffix *suff; /* Suffix of the matching candidate */ in FindCmds() local
1172 suff = FindSuffixByName(base + prefLen); in FindCmds()
1173 if (suff == NULL) in FindCmds()
1183 if (Lst_FindDatum(&suff->parents, targ->suff) != NULL) in FindCmds()
1190 ret = Candidate_New(bmake_strdup(sgn->name), targ->prefix, suff, targ, in FindCmds()
1410 Suffix *suff = gn->suffix; in Suff_FindPath() local
1412 if (suff == NULL) { in Suff_FindPath()
1422 suff = ln->datum; in Suff_FindPath()
1429 if (suff != NULL) { in Suff_FindPath()
1430 DEBUG1(SUFF, "suffix is \"%s\"...\n", suff->name); in Suff_FindPath()
1431 return suff->searchPath; in Suff_FindPath()
1515 Suffix *suff = ln->datum; in ExpandMember() local
1516 if (!ApplyTransform(gn, mem, suff, memSuff)) { in ExpandMember()
1518 memSuff->name, suff->name); in ExpandMember()
1634 Suffix *suff = FindSuffixByName(LIBSUFF); in FindDepsLib() local
1635 if (suff != NULL) { in FindDepsLib()
1636 Suffix_Reassign(&gn->suffix, suff); in FindDepsLib()
1637 Arch_FindLib(gn, suff->searchPath); in FindDepsLib()
1660 Suffix *suff = ln->datum; in FindDepsRegularKnown() local
1661 if (!Suffix_IsSuffix(suff, nameLen, name + nameLen)) in FindDepsRegularKnown()
1664 pref = bmake_strldup(name, (size_t)(nameLen - suff->nameLen)); in FindDepsRegularKnown()
1665 targ = Candidate_New(bmake_strdup(gn->name), pref, suff, NULL, in FindDepsRegularKnown()
1720 targ == NULL ? &dirSearchPath : targ->suff->searchPath); in FindDepsRegularPath()
1731 size_t savep = strlen(gn->path) - targ->suff->nameLen; in FindDepsRegularPath()
1734 Suffix_Reassign(&gn->suffix, targ->suff); in FindDepsRegularPath()
1865 if (targ->suff->library) in FindDepsRegular()
1910 Suffix_Reassign(&src->node->suffix, src->suff); in FindDepsRegular()
1915 ApplyTransform(targ->node, src->node, targ->suff, src->suff); in FindDepsRegular()
1933 Suffix_Reassign(&gn->suffix, src->suff); in FindDepsRegular()
2017 Suffix *suff = FindSuffixByName(name); in Suff_SetNull() local
2018 if (suff == NULL) { in Suff_SetNull()
2027 suff->isNull = true; in Suff_SetNull()
2029 nullSuff = suff; in Suff_SetNull()
2071 const Suffix *suff = ln->datum; in PrintSuffNames() local
2072 debug_printf("%s ", suff->name); in PrintSuffNames()
2078 Suffix_Print(const Suffix *suff) in Suffix_Print() argument
2083 Buf_AddFlag(&buf, suff->include, "SUFF_INCLUDE"); in Suffix_Print()
2084 Buf_AddFlag(&buf, suff->library, "SUFF_LIBRARY"); in Suffix_Print()
2085 Buf_AddFlag(&buf, suff->isNull, "SUFF_NULL"); in Suffix_Print()
2088 suff->name, suff->sNum, suff->refCount); in Suffix_Print()
2095 PrintSuffNames("To", &suff->parents); in Suffix_Print()
2096 PrintSuffNames("From", &suff->children); in Suffix_Print()
2099 SearchPath_Print(suff->searchPath); in Suffix_Print()
2136 Suffix *suff; in Suff_NamesStr() local
2140 suff = ln->datum; in Suff_NamesStr()
2143 Buf_AddStr(&buf, suff->name); in Suff_NamesStr()