#ifndef __cmt_parser_h__ #define __cmt_parser_h__ /* Generation of shell scripts : We consider for the moment only csh and sh */ typedef enum { Csh, Sh, Bat, Make } PrintMode; typedef enum { mgr_style, cmt_style, no_version_style, none_style } CmtDirStyle; typedef enum { with_version_directory, without_version_directory } CmtStructuringStyle; typedef enum { default_filtering_mode, block_private_uses, reach_private_uses } CmtScopeFilteringMode; /* Commands correspond to keywords in the requirements file. */ typedef enum { CommandNone, CommandAlias, CommandApplication, CommandApplyPattern, CommandApplyTag, CommandAuthor, CommandBranches, CommandBuildStrategy, CommandCleanupScript, CommandCmtPathPattern, CommandDocument, CommandIgnorePattern, CommandIncludeDirs, CommandIncludePath, CommandLanguage, CommandLibrary, CommandMacro, CommandMacroPrepend, CommandMacroAppend, CommandMacroRemove, CommandMacroRemoveAll, CommandMakeFragment, CommandManager, CommandPackage, CommandPath, CommandPathAppend, CommandPathPrepend, CommandPathRemove, CommandPattern, CommandPrivate, CommandProject, CommandPublic, CommandSet, CommandSetAppend, CommandSetPrepend, CommandSetRemove, CommandSetupScript, CommandSetupStrategy, CommandTag, CommandTagExclude, CommandUse, CommandVersion, CommandVersionStrategy, Commands } CommandType; /* The scope is modified while the requirements file is read when the keywords public or private are met. It is also set to public when a used requirements file is read. */ typedef enum { DeveloperMode, UserMode } AccessMode; typedef enum { ScopeUnspecified, ScopePublic, ScopePrivate } ScopeType; typedef enum { Unspecified = -1, Off = 0, On = 1 } State; typedef enum { PriorityLowest = 0, PriorityDefault = 1, PriorityVersion = 2, PriorityUname = 3, PrioritySite = 4, PriorityUserTag = 5, PriorityTag = 6, PriorityConfig = 7, PriorityArgument = 8 } Priority; typedef enum { SetupScript, CleanupScript } ScriptType; typedef enum { BestFit, // The current default BestFitNoCheck, // The current default without compatibility check FirstChoice, // The first reference will not be overridden LastChoice, // The last reference wins KeepAll, // Keep all uses Strategies } VersionStrategy; // // Build strategy is a mix of various options // + predefined values should be multiples of 2^n // + effective value is an OR of these options // + all options should be specified inthis enum as pairs // of