-- SlowCreateMap.cm
-- Russ Atkinson, May 25, 1983 7:44 pm
-- This command file gives directions for the creation of version maps from the highest version on the Cedar directory. You had better have over 4000 pages of VM available in order to run this beast, or you will be sorry!
-- if necessary, obtain the appropriate modules
-- bringover /a [Indigo]<Cedar>Top>SaveMap.df
-- bringover /o IFSFileImpl.bcd IFSFile.df
-- bringover /o UnsafeSTPs.bcd STP.df
-- bringover /o VersionMapBuilderImpl.bcd VersionMapBuilder.df
-- run the modules needed
run IFSFileImpl
run VersionMapBuilderImpl
-- now generate the new merged map from the Cedar directory
← VersionMapBuilderImpl
← SetReportInterval[1]
← [] ← &update ← GenerateMapFromRemote["Indigo", "<Cedar>*!h"]
-- save the intermediate result in case we crash
← VersionMapImpl.SaveMapToFile[&update, "Merged.VersionMap"]
-- to restart: &update ← VersionMapImpl.RestoreMapFromFile["Merged.VersionMap"]
-- now split into CedarSymbols.VersionMap & CedarSource.VersionMap
← [] ← &both ← VersionMapBuilderImpl.SplitMap[&update]
← [] ← &source ← VersionMapBuilderImpl.CompressMap[&both.source]
← VersionMapImpl.SaveMapToFile[&source, "CedarSource.VersionMap"]
← [] ← &symbols ← VersionMapBuilderImpl.CompressMap[&both.symbols]
← VersionMapImpl.SaveMapToFile[&symbols, "CedarSymbols.VersionMap"]
← VersionMapBuilderImpl.SetReportInterval[0]
-- finally, save the results
smodel /a /f SaveMap
-- NOTE: as a last manual step, you must set the create date of SaveMap.df to match the create date expected by the rest of the release!