1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- ; ---------------------
- ; Util.nsh
- ; ---------------------
- ;
- ; Voodoo macros to make end-user usage easier. This may be documented someday.
- !verbose push
- !verbose 3
- !ifndef ___UTIL__NSH___
- !define ___UTIL__NSH___
- # see WinVer.nsh and *Func.nsh for usage examples
- !macro CallArtificialFunction NAME
- !ifndef __UNINSTALL__
- !define CallArtificialFunction_TYPE inst
- !else
- !define CallArtificialFunction_TYPE uninst
- !endif
- Call :.${NAME}${CallArtificialFunction_TYPE}
- !ifndef ${NAME}${CallArtificialFunction_TYPE}_DEFINED
- Goto ${NAME}${CallArtificialFunction_TYPE}_DONE
- !define ${NAME}${CallArtificialFunction_TYPE}_DEFINED
- .${NAME}${CallArtificialFunction_TYPE}:
- !insertmacro ${NAME}
- Return
- ${NAME}${CallArtificialFunction_TYPE}_DONE:
- !endif
- !undef CallArtificialFunction_TYPE
- !macroend
- !define CallArtificialFunction `!insertmacro CallArtificialFunction`
- # for usage of artificial functions inside artificial functions
- # macro recursion is prohibited
- !macro CallArtificialFunction2 NAME
- !ifndef __UNINSTALL__
- !define CallArtificialFunction2_TYPE inst
- !else
- !define CallArtificialFunction2_TYPE uninst
- !endif
- Call :.${NAME}${CallArtificialFunction2_TYPE}
- !ifndef ${NAME}${CallArtificialFunction2_TYPE}_DEFINED
- Goto ${NAME}${CallArtificialFunction2_TYPE}_DONE
- !define ${NAME}${CallArtificialFunction2_TYPE}_DEFINED
- .${NAME}${CallArtificialFunction2_TYPE}:
- !insertmacro ${NAME}
- Return
- ${NAME}${CallArtificialFunction2_TYPE}_DONE:
- !endif
- !undef CallArtificialFunction2_TYPE
- !macroend
- !define CallArtificialFunction2 `!insertmacro CallArtificialFunction2`
- !endif # !___UTIL__NSH___
- !verbose pop
|