{ POOL_FLAG_HAVEDISTEPOCH, "havedistepoch", 0 },
{ POOL_FLAG_NOOBSOLETESMULTIVERSION, "noobsoletesmultiversion", 0 },
{ POOL_FLAG_ADDFILEPROVIDESFILTERED, "addfileprovidesfiltered", 0 },
+ { POOL_FLAG_NOWHATPROVIDESAUX, "nowhatprovidesaux", 0 },
{ 0, 0, 0 }
};
return pool->noobsoletesmultiversion;
case POOL_FLAG_ADDFILEPROVIDESFILTERED:
return pool->addfileprovidesfiltered;
+ case POOL_FLAG_NOWHATPROVIDESAUX:
+ return pool->nowhatprovidesaux;
default:
break;
}
case POOL_FLAG_ADDFILEPROVIDESFILTERED:
pool->addfileprovidesfiltered = value;
break;
+ case POOL_FLAG_NOWHATPROVIDESAUX:
+ pool->nowhatprovidesaux = value;
+ break;
default:
break;
}
/* alloc aux vector */
whatprovidesauxdata = 0;
- pool->whatprovidesaux = whatprovidesaux = solv_calloc(num, sizeof(Offset));
- pool->whatprovidesauxoff = num;
- pool->whatprovidesauxdataoff = off;
- pool->whatprovidesauxdata = whatprovidesauxdata = solv_calloc(pool->whatprovidesauxdataoff, sizeof(Id));
+ if (!pool->nowhatprovidesaux)
+ {
+ pool->whatprovidesaux = whatprovidesaux = solv_calloc(num, sizeof(Offset));
+ pool->whatprovidesauxoff = num;
+ pool->whatprovidesauxdataoff = off;
+ pool->whatprovidesauxdata = whatprovidesauxdata = solv_calloc(pool->whatprovidesauxdataoff, sizeof(Id));
+ }
/* now fill data for all provides */
for (i = pool->nsolvables - 1; i > 0; i--)
int addfileprovidesfiltered; /* 1: only use filtered file list for addfileprovides */
int addedfileprovides; /* true: application called addfileprovides */
Queue lazywhatprovidesq; /* queue to store old whatprovides offsets */
+ int nowhatprovidesaux; /* don't allocate and use the whatprovides aux helper */
#endif
};
#define POOL_FLAG_NOOBSOLETESMULTIVERSION 8
#define POOL_FLAG_ADDFILEPROVIDESFILTERED 9
#define POOL_FLAG_IMPLICITOBSOLETEUSESCOLORS 10
+#define POOL_FLAG_NOWHATPROVIDESAUX 11
/* ----------------------------------------------- */