Statistiques
| Révision :

root / tmp / org.txm.setups / nsis-2.5 / Include / Util.nsh @ 3100

Historique | Voir | Annoter | Télécharger (1,71 ko)

1
; ---------------------
2
;       Util.nsh
3
; ---------------------
4
;
5
; Voodoo macros to make end-user usage easier. This may be documented someday.
6

    
7
!verbose push
8
!verbose 3
9

    
10
!ifndef ___UTIL__NSH___
11
!define ___UTIL__NSH___
12

    
13
# see WinVer.nsh and *Func.nsh for usage examples
14
!macro CallArtificialFunction NAME
15
  !ifndef __UNINSTALL__
16
    !define CallArtificialFunction_TYPE inst
17
  !else
18
    !define CallArtificialFunction_TYPE uninst
19
  !endif
20
  Call :.${NAME}${CallArtificialFunction_TYPE}
21
  !ifndef ${NAME}${CallArtificialFunction_TYPE}_DEFINED
22
    Goto ${NAME}${CallArtificialFunction_TYPE}_DONE
23
    !define ${NAME}${CallArtificialFunction_TYPE}_DEFINED
24
    .${NAME}${CallArtificialFunction_TYPE}:
25
      !insertmacro ${NAME}
26
    Return
27
    ${NAME}${CallArtificialFunction_TYPE}_DONE:
28
  !endif
29
  !undef CallArtificialFunction_TYPE
30
!macroend
31
!define CallArtificialFunction `!insertmacro CallArtificialFunction`
32

    
33
# for usage of artificial functions inside artificial functions
34
# macro recursion is prohibited
35
!macro CallArtificialFunction2 NAME
36
  !ifndef __UNINSTALL__
37
    !define CallArtificialFunction2_TYPE inst
38
  !else
39
    !define CallArtificialFunction2_TYPE uninst
40
  !endif
41
  Call :.${NAME}${CallArtificialFunction2_TYPE}
42
  !ifndef ${NAME}${CallArtificialFunction2_TYPE}_DEFINED
43
    Goto ${NAME}${CallArtificialFunction2_TYPE}_DONE
44
    !define ${NAME}${CallArtificialFunction2_TYPE}_DEFINED
45
    .${NAME}${CallArtificialFunction2_TYPE}:
46
      !insertmacro ${NAME}
47
    Return
48
    ${NAME}${CallArtificialFunction2_TYPE}_DONE:
49
  !endif
50
  !undef CallArtificialFunction2_TYPE
51
!macroend
52
!define CallArtificialFunction2 `!insertmacro CallArtificialFunction2`
53

    
54
!endif # !___UTIL__NSH___
55

    
56
!verbose pop