summaryrefslogtreecommitdiff
path: root/config/pintool.mpb
blob: 815e34420761a6fa7e43b3f12f81dd2a7102cc12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
project : pin {
  specific (prop:windows) {
    link_options += /EXPORT:main
  }

  verbatim (make, top) {
    no_hidden_visibility = 1
  }

  verbatim (gnuace, top) {
    no_hidden_visibility = 1
  }

  verbatim (make, macros) {
    ifeq ($(shell uname -s), Darwin)
      CPPFLAGS += -DTARGET_MAC
      LDFLAGS  += -nostdlib -lpin3dwarf -Wl,-exported_symbols_list -Wl,$(PIN_ROOT)/source/include/pin/pintool.exp
      LDFLAGS  -= -lpthread
    else
      CPPFLAGS += -DTARGET_LINUX -fno-rtti -Wl,--hash-style=sysv
      LDLIBS   += -nostdlib -ldl-dynamic -lpindwarf
      LDFLAGS  += -Wl,-Bsymbolic -Wl,$(PIN_ROOT)/intel64/runtime/pincrt/crtbeginS.o $(PIN_ROOT)/intel64/runtime/pincrt/crtendS.o
    endif
  }

  verbatim (gnuace, macros) {
    ifeq ($(shell uname -s), Darwin)
      CPPFLAGS += -DTARGET_MAC
      LDFLAGS  += -lpinpthread -Wl,-exported_symbols_list -Wl,$(PIN_ROOT)/source/include/pin/pintool.exp
      LDFLAGS  -= -lpthread
    else
      CPPFLAGS += -DTARGET_LINUX -Wl,--hash-style=sysv
      LIBS     += -lpindwarf
      LDFLAGS  += -Wl,-Bsymbolic -Wl,--version-script=$(PIN_ROOT)/source/include/pin/pintool.ver
    endif
  }
}

feature (ia32) {
  specific (vc9) {
    link_options += /ENTRY:Ptrace_DllMainCRTStartup@12
  }

  specific (prop:microsoft) {
    EntryPointSymbol = Ptrace_DllMainCRTStartup@12
  }
}

feature (intel64) {
  specific (vc9) {
    link_options += /ENTRY:Ptrace_DllMainCRTStartup
  }

  specific (prop:microsoft) {
    EntryPointSymbol = Ptrace_DllMainCRTStartup
  }
}