I suspect that Cisco is using a similar system to what we use, where they have one huge code base and the selection of modules is done internally with different makefiles or perhaps something more advanced. I sometimes get the feeling that Cisco have some difficulty getting releases to work with paticular combinations of features, it's strange how they need to have so many different releases.
The images we release always have all modules compiled into them with the exception (for example) a build destined for a smaller router which is unable to take a OC12 uplink module will not have the OC12 driver compiled into it and so on, there are some other small exceptions where we'll occasionally exclude rarely used modules when the target device doesn't have much flash memory, basically, we configure this like a compile of the linux kernel, we can juggle the selection around at customer request but would never release this into customer hands (actually that isn't 100% true;). 'modules' generally have to be enabled with individual licenses unless they're basic ones we give away for free - that's business.
I suspect that Cisco is using a similar system to what we use, where they have one huge code base and the selection of modules is done internally with different makefiles or perhaps something more advanced. I sometimes get the feeling that Cisco have some difficulty getting releases to work with paticular combinations of features, it's strange how they need to have so many different releases. The images we release always have all modules compiled into them with the exception (for example) a build destined for a smaller router which is unable to take a OC12 uplink module will not have the OC12 driver compiled into it and so on, there are some other small exceptions where we'll occasionally exclude rarely used modules when the target device doesn't have much flash memory, basically, we configure this like a compile of the linux kernel, we can juggle the selection around at customer request but would never release this into customer hands (actually that isn't 100% true ;). 'modules' generally have to be enabled with individual licenses unless they're basic ones we give away for free - that's business.