I was beating my head on the wall yesterday trying to figure out why
an intlist test was failing on a freshly updated source tree. (I
rarely use 'make clean', because that's almost always just covering up
dependency problems.) I'll leave out the gory details, but the problem
boiled down to parrot/intlist.o and parrot/classes/intlist.o being
treated as identical by ar. Upon further reading, it appears that for
portability, we can only depend on the basename of ar entries.

So, what's the best approach to avoid this? For this particular case,
it's easy enough to just rename one or the other. (Or maybe all of
intlist.c should be inserted into intlist.pmc.) But generally, should
we have pmc in the name of all PMCs? Or should we make a separate
library for PMCs and any other major component? Is there some standard
trick I don't know about? Should we rebuild the archive from scratch
every time instead of replacing? (Would that be sufficient, or just
conceal the problem?)

Reply via email to