summaryrefslogtreecommitdiff
path: root/bin/MakeProjectCreator/templates/makedll.mpt
blob: 597475bb95c054f49eaf5a78916821e15116c0e6 (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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
// -*- MPC -*-
// $Id$

// ***********************************************************************
// The default configuration for the 'make' project type is gcc.  This
// is controlled by the configurations template variable.  It may be
// changed on the MPC command line via the -value_template option. 
// Additionally, each compiler has a default platform.  The default
// platform for gcc is linux.  This too can be changed via the
// -value_template option.  Below are some examples.
//
// Use SunCC on the default platform (solaris):
//   mwc.pl -type make -value_template configurations=SunCC
// Use the default configuration (gcc) on LynxOS:
//   mwc.pl -type make -value_template platforms=lynxos
// Use HP-UX aCC on the default platform (HP-UX):
//   mwc.pl -type make -value_template configurations=aCC
// ***********************************************************************

conditional_include "idl_compiler"
conditional_include "common"

configurations = gcc
ln             = ln -s
soext          = so
exeext         =
cppflags       =
arflags        =

// ***********************************************************************
// Configuration Section
// ***********************************************************************

cxx {
  cxx        = cxx
  clean      = cxx_repository so_locations
  tempincopt = "-ptr "
  tempinc    = cxx_repository
  platforms  = tru64
}

gcc {
  cxx       = g++
  pic       = -fPIC
  platforms = linux
}

SunCC {
  cxx       = CC
  pic       = -KPIC
  linkflags = -library=Cstd -library=Crun
  clean     = SunWS_cache ir.out
  platforms = solaris
}

aCC {
  cxx           = aCC
  pic           = +Z
  platforms     = hpux
  compilerflags = -AA -D_RWSTD_MULTI_THREAD
}

xlC_r {
  cxx       = xlC_r
  platforms = aix
}

SGICC {
  cxx       = CC
  pic       = -KPIC
  linkflags = -Wl,-woff,84
  clean     = ii_files
  platforms = irix
}

wrsppc {
  cxx          = g++ppc
  ld           = ldppc
  cputype      = ppc
  cpu          = PPC604
  ar           = arppc
  nm           = nmppc
  compileflags = -mlongcall -nostdlib
  linkflags    = -X -r
  platforms    = vxworks
}

wrspentium {
  cxx          = g++pentium
  ld           = ldpentium
  cputype      = pentium
  cpu          = PENTIUM
  ar           = arpentium
  nm           = nmpentium
  compileflags = -nostdlib
  linkflags    = -X -r
  platforms    = vxworks
}

// ***********************************************************************
// Platform Section
// ***********************************************************************

tru64 {
  extracppflags = -D__USE_STD_IOSTREAM
  shflags       = -shared /usr/lib/libcxxstd.a
  ldlibs        = -ltli -lrt
}

linux {
  shflags = -shared
  ldlibs  = -ldl -lpthread
}

solaris {
  shflags = -G
  ldlibs  = -lsocket -ldl -lnsl -lgen -lposix4
}

hpux {
  soext   = sl
  shflags = -b
  ldlibs  = -lxti -lpthread -lrt -ldld
}

aix {
  soext  =
  ldlibs = -ldl
}

irix {
  shflags = -shared
  ldlibs  = -lsocket -ldl -lgen -lpthread
}

lynxos {
  soext         =
  extracppflags = -D__NO_INCLUDE_WARN__
}

macos {
  dld     = libtool
  soext   = dylib
  shflags = -dynamic
  ldlibs  = -lcc_dynamic -lstdc++ -lSystem -ldl
}

unixware {
  shflags = -G
  ldlibs  = -lsocket -ldl -lnsl -lgen -lposix4
}

qnx {
  shflags       = -shared
  ldlibs        = -lsocket
  extracppflags = -D__GCC_BUILTIN
}

vxworks {
  soext         =
  extracppflags = -I$(WIND_BASE)/target/h
  specialscript = "#!/bin/sh\nfor i in $$3; do\nfor j in $$4; do\ni=`echo $$i | sed sa\^-laa`\n[ -r \"$$j/lib$$i.a\" ] && libs=\"$$libs $$j/lib$$i.a\" && break\ndone\ndone\n$$1 $$2 $$libs | munch | grep -v \\.cpp > $$5"
  prelink       = __ctordtor.c
  ldlibs        = -L$(WIND_BASE)/target/lib/$(CPUTYPE)/$(CPU)/common -larch
}

cygwin32 {
  soext   = dll
  exeext  = .exe
  shflags = -shared
  ln      = mv
}

mingw32 {
  soext   = dll
  exeext  = .exe
  shflags = -shared
  ln      = mv
  ldlibs  = -lwsock32 -lnetapi32
}