~ubuntu-branches/ubuntu/precise/krb5/precise-updates

« back to all changes in this revision

Viewing changes to src/windows/identity/config/Makefile.w2k

  • Committer: Package Import Robot
  • Author(s): Sam Hartman
  • Date: 2011-12-01 19:34:41 UTC
  • mfrom: (28.1.14 sid)
  • Revision ID: package-import@ubuntu.com-20111201193441-9tipg3aru1jsidyv
Tags: 1.10+dfsg~alpha1-6
* Fix segfault with unknown hostnames in krb5_sname_to_principal,
  Closes: #650671
* Indicate that this library breaks libsmbclient versions that depend on
  krb5_locate_kdc, Closes: #650603, #650611

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#
2
 
#  Khimaira : Win32 configuration makefile
3
 
#             This file will be included by all the makefiles
4
 
#             in the build tree.
5
 
#
6
 
# Copyright (c) 2004,2005,2006 Massachusetts Institute of Technology
7
 
# Copyright (c) 2006,2007 Secure Endpoints Inc.
8
 
#
9
 
# Permission is hereby granted, free of charge, to any person
10
 
# obtaining a copy of this software and associated documentation files
11
 
# (the "Software"), to deal in the Software without restriction,
12
 
# including without limitation the rights to use, copy, modify, merge,
13
 
# publish, distribute, sublicense, and/or sell copies of the Software,
14
 
# and to permit persons to whom the Software is furnished to do so,
15
 
# subject to the following conditions:
16
 
#
17
 
# The above copyright notice and this permission notice shall be
18
 
# included in all copies or substantial portions of the Software.
19
 
#
20
 
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21
 
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22
 
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23
 
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
24
 
# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
25
 
# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
26
 
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
 
# SOFTWARE.
28
 
 
29
 
!ifndef KHIMAIRA_WIN32_CONFIG
30
 
KHIMAIRA_WIN32_CONFIG=1
31
 
 
32
 
# Environment Variables
33
 
#  The following environment variables MUST be set:
34
 
#   KH_ROOT : Root of the source tree.
35
 
#   KH_BUILD: One of DEBUG or RETAIL
36
 
#
37
 
#  The following environment variables are optional:
38
 
#   KH_RUNTIME: One of STATIC or DLL, specifies whether the CRT libs
39
 
#               are linked statically or through MSVCRT.DLL.
40
 
#   KH_AUXCFLAGS: Optional flags for CL
41
 
#   KH_RELEASE: Release type.  One of OFFICIAL, PRERELEASE, PRIVATE or SPECIAL.
42
 
#      OFFICIAL   : An official release of Khimaira
43
 
#      PREPRELEASE: A beta/release candidate release
44
 
#      PRIVATE    : Private build
45
 
#      SPECIAL    : Special build.  Typically one with non-mainline patches.
46
 
 
47
 
# Version info
48
 
NETIDMGR_VERSION_MAJOR=1
49
 
NETIDMGR_VERSION_MINOR=3
50
 
NETIDMGR_VERSION_PATCH=1
51
 
NETIDMGR_VERSION_AUX=0
52
 
NETIDMGR_RELEASEDESC=
53
 
 
54
 
# The API version.  This number must be incremented each time the API
55
 
# changes.  Plugins specify the version of the API that they were
56
 
# compiled against and the Module Manager uses the API numbers to
57
 
# decide whether the plugin is safe to load or not.
58
 
#
59
 
# Changes to the API version numbers should be documented in
60
 
# apiversion.txt at the root of the source tree.
61
 
NETIDMGR_VERSION_API=10
62
 
 
63
 
# Minimum backwards compatible version.  API versions from
64
 
# NETIDMGR_VERSION_API_MINCOMPAT through NETIDMGR_VERSION_API
65
 
# inclusive, are compatible with this version.
66
 
NETIDMGR_VERSION_API_MINCOMPAT=5
67
 
 
68
 
NETIDMGR_VERSION=$(NETIDMGR_VERSION_MAJOR).$(NETIDMGR_VERSION_MINOR).$(NETIDMGR_VERSION_PATCH).$(NETIDMGR_VERSION_AUX)
69
 
NETIDMGR_VERSIONC=$(NETIDMGR_VERSION_MAJOR),$(NETIDMGR_VERSION_MINOR),$(NETIDMGR_VERSION_PATCH),$(NETIDMGR_VERSION_AUX)
70
 
 
71
 
# Source information
72
 
NETIDMGR_SRC_COMPANY_1033=Massachusetts Institute of Technology
73
 
NETIDMGR_SRC_COPYRIGHT_1033=(C) 2005-2007 Massachusetts Institute of Technology
74
 
 
75
 
# Choose the default build type if one is not set
76
 
!if ("$(KH_BUILD)" != "DEBUG") && ("$(KH_BUILD)" != "RETAIL")
77
 
!  if defined(NODEBUG) && "$(NODEBUG)"=="1"
78
 
KH_BUILD=RETAIL
79
 
!  else
80
 
KH_BUILD=DEBUG
81
 
!  endif
82
 
!endif
83
 
 
84
 
!if "$(KH_BUILD)"=="DEBUG" && defined(NODEBUG) && "$(NODEBUG)"=="1"
85
 
! error The Khimaira build configuration is set for DEBUG while the Platform SDK build environment is set to RETAIL.
86
 
!endif
87
 
 
88
 
# The default release type is PRIVATE is no other type is specified
89
 
!if ("$(KH_RELEASE)" != "OFFICIAL") && ("$(KH_RELEASE)" != "PRERELEASE") && ("$(KH_RELEASE)" != "PRIVATE") && ("$(KH_RELEASE)" != "SPECIAL")
90
 
KH_RELEASE=PRIVATE
91
 
!endif
92
 
 
93
 
# Actual build environment settings
94
 
 
95
 
# See what compiler we are using
96
 
# TODO: Update this to support other compilers
97
 
!if defined(MSVCVer) && "$(MSVCVer)"=="8.0"
98
 
KH_CLVER=vc8
99
 
!else
100
 
KH_CLVER=vc7
101
 
!endif
102
 
 
103
 
# Check for required env vars
104
 
!ifndef MODULE
105
 
!       error MODULE must be specified
106
 
!endif
107
 
!ifndef KH_ROOT
108
 
! ifndef PISMERE
109
 
!   error Either KH_ROOT or PISMERE must be defined
110
 
! else
111
 
KH_ROOT=$(PISMERE)\athena\auth\krb5\src\windows\identity
112
 
! endif
113
 
!endif
114
 
 
115
 
!ifdef NODEBUG
116
 
OUTPRE_DBG=rel
117
 
!else
118
 
OUTPRE_DBG=dbg
119
 
!endif
120
 
OUTPRE1=obj
121
 
OUTPRE2=$(OUTPRE1)\$(CPU)
122
 
OUTPRE3=$(OUTPRE2)\$(OUTPRE_DBG)
123
 
OUTPRE=$(OUTPRE3)^\
124
 
 
125
 
 
126
 
 
127
 
# Output directory structure
128
 
DESTROOT=$(KH_ROOT)\obj
129
 
OBJROOT=$(KH_ROOT)\obj
130
 
SRC=$(KH_ROOT)
131
 
 
132
 
DESTDIR=$(DESTROOT)\$(CPU)\$(OUTPRE_DBG)
133
 
OBJDIR=$(OBJROOT)\$(CPU)\$(OUTPRE_DBG)
134
 
 
135
 
OBJ=$(OBJDIR)\$(MODULE)
136
 
INCDIR=$(DESTDIR)\inc
137
 
#BINDIR=$(DESTDIR)\bin
138
 
BINDIR=$(KH_ROOT)\$(OUTPRE)\W2K
139
 
#LIBDIR=$(DESTDIR)\lib
140
 
LIBDIR=$(KH_ROOT)\$(OUTPRE)\W2K
141
 
DOCDIR=$(DESTDIR)\doc
142
 
 
143
 
# Source directories
144
 
CONFDIR=$(SRC)\config
145
 
 
146
 
# Setup environment for win32.mak
147
 
 
148
 
!if "$(KH_BUILD)" == "RETAIL"
149
 
NODEBUG=1
150
 
!endif
151
 
 
152
 
# Win32.mak
153
 
APPVER=5.0
154
 
TARGETOS=WINNT
155
 
_WIN32_IE=0x0500
156
 
_WIN32_WINNT=0x0500
157
 
!include <Win32.Mak>
158
 
 
159
 
# Program macros
160
 
 
161
 
CD=cd
162
 
RM=del /q
163
 
MKDIR=md
164
 
RMDIR=rd
165
 
ECHO=echo
166
 
MAKECMD=nmake /nologo
167
 
CP=copy /y
168
 
LINK=link
169
 
CCSV=perl $(SRC)\config\ccsv.pl
170
 
MC=mc
171
 
 
172
 
!ifdef KH_DOXYFULLPATH
173
 
DOXYGEN=$(KH_DOXYFULLPATH)
174
 
!else
175
 
DOXYGEN=doxygen
176
 
!endif
177
 
 
178
 
!ifdef KH_HHCFULLPATH
179
 
HHC=$(KH_HHCFULLPATH)
180
 
!else
181
 
HHC=hhc
182
 
!endif
183
 
 
184
 
!ifdef KH_KFWPATH
185
 
KFWINCDIR=$(KH_KFWPATH)\inc
186
 
kfwincflags = -I$(KFWINCDIR)\krb5 -I$(KFWINCDIR)\krb5\KerberosIV -I$(KFWINCDIR)\krb4 -I$(KFWINCDIR)\loadfuncs -I$(KFWINCDIR)
187
 
KFWLIBDIR=$(KH_KFWPATH)\lib\$(CPU)
188
 
!else if defined(PISMERE)
189
 
KFWINCDIR=$(PISMERE)\athena\auth\krb5\src\include
190
 
kfwincflags = -I$(KFWINCDIR) -I$(PISMERE)\athena\util\loadfuncs -I$(PISMERE)\athena\auth\krb5\src\include\kerberosIV -I$(PISMERE)\athena\auth\krb4\include
191
 
KFWLIBDIR=$(PISMERE)\target\lib\$(CPU)\$(OUTPRE_DBG)
192
 
!endif
193
 
 
194
 
!ifdef KH_AFSPATH
195
 
AFSINCDIR=$(KH_AFSPATH)\include
196
 
AFSLIBDIR=$(KH_AFSPATH)\lib
197
 
afsincflags=-I$(AFSINCDIR)
198
 
!endif
199
 
 
200
 
#EXTLIBDIR=$(SRC)\ext-lib\$(CPU)
201
 
#EXTINCDIR=-I$(SRC)\ext-inc
202
 
 
203
 
incflags= -I$(INCDIR) -I$(SRC)\include -I. -I$(OBJ) $(kfwincflags) $(afsincflags)
204
 
rincflags= /i $(INCDIR) /i $(SRC)\include /i .
205
 
khdefines=-DUNICODE -D_UNICODE
206
 
khcwarn=/Wp64
207
 
!ifndef KH_NO_WX
208
 
khcwarn=$(khcwarn) /WX
209
 
!endif
210
 
 
211
 
!if "$(CPU)" == "i386"
212
 
khdefines=$(khdefines) -D_USE_32BIT_TIME_T
213
 
!endif
214
 
 
215
 
#DEBUG_SYMBOLS
216
 
ldebug=$(ldebug) /DEBUG
217
 
cdebug=$(cdebug) -Os -Zi
218
 
 
219
 
# Additionally, suppress conflicting default library directives that we
220
 
# might pull in from external libraries.
221
 
 
222
 
!ifndef NODEBUG
223
 
lndeflibflag=/NODEFAULTLIB:MSVCRT
224
 
!else
225
 
lndeflibflag=/NODEFAULTLIB:MSVCRTD
226
 
!endif
227
 
 
228
 
khcflags=$(cdebug) $(cflags) $(incflags) $(khdefines) $(khcwarn)
229
 
khlguiflags=$(ldebug) $(guilflags) $(lndeflibflag)
230
 
khlconflags=$(ldebug) $(conlflags) $(lndeflibflag)
231
 
khldllguiflags=$(ldebug) $(dlllflags) $(lndeflibflag)
232
 
khldllconflags=$(ldebug) $(dlllflags) $(lndeflibflag)
233
 
 
234
 
!if "$(KH_RUNTIME)" == "STATIC"
235
 
khcflags=$(khcflags) $(cvarsmt)
236
 
khlguiflags=$(khlguiflags) $(guilibsmt)
237
 
khlconflags=$(khlconflags) $(conlibsmt)
238
 
khldllguiflags=$(khldllguiflags) $(guilibsmt)
239
 
khldllconflags=$(khldllconflags) $(conlibsmt)
240
 
!else
241
 
khcflags=$(khcflags) $(cvarsdll)
242
 
khlguiflags=$(khlguiflags) $(guilibsdll)
243
 
khlconflags=$(khlconflags) $(conlibsdll)
244
 
khldllguiflags=$(khldllguiflags) $(guilibsdll)
245
 
khldllconflags=$(khldllconflags) $(conlibsdll)
246
 
!endif
247
 
 
248
 
C2OBJ=$(CC) $(khcflags) $(KH_AUXCFLAGS) /Fo"$@" /c $**
249
 
 
250
 
EXECONLINK=$(LINK) /NOLOGO $(khlconflags) /OUT:$@ $**
251
 
 
252
 
EXEGUILINK=$(LINK) /NOLOGO $(khlguiflags) /OUT:$@ $**
253
 
 
254
 
DLLCONLINK=$(LINK) /NOLOGO $(khldllconflags) /OUT:$@ /IMPLIB:$(LIBDIR)\$(@B).lib $**
255
 
 
256
 
DLLGUILINK=$(LINK) /NOLOGO $(khldllguiflags) /OUT:$@ /IMPLIB:$(LIBDIR)\$(@B).lib $**
257
 
 
258
 
DLLRESLINK=$(LINK) /NOLOGO /DLL /NOENTRY /MACHINE:$(PROCESSOR_ARCHITECTURE) /OUT:$@ $**
259
 
 
260
 
RC2RES=$(RC) $(RFLAGS) $(rincflags) /fo $@ $**
261
 
 
262
 
MC2RC=$(MC) $(MCFLAGS) -h $(OBJ)\ -m 1024 -r $(OBJ)\ -x $(OBJ)\ $**
263
 
 
264
 
{}.c{$(OBJ)}.obj:
265
 
        $(C2OBJ)
266
 
 
267
 
{$(OBJ)}.c{$(OBJ)}.obj:
268
 
        $(C2OBJ)
269
 
 
270
 
{}.h{$(INCDIR)}.h:
271
 
        $(CP) $** $@
272
 
 
273
 
{}.rc{$(OBJ)}.res:
274
 
        $(RC2RES)
275
 
 
276
 
{$(OBJ)}.rc{$(OBJ)}.res:
277
 
        $(RC2RES)
278
 
 
279
 
clean::
280
 
!if exist($(OBJ))
281
 
        $(RM) $(OBJ)\
282
 
!endif
283
 
        if exist vc70.pdb $(RM) vc70.pdb
284
 
        if exist vc80.pdb $(RM) vc80.pdb
285
 
 
286
 
test::
287
 
 
288
 
mkdirs::
289
 
!if !exist($(LIBDIR))
290
 
        $(MKDIR) $(LIBDIR)
291
 
!endif
292
 
!if !exist($(BINDIR))
293
 
        $(MKDIR) $(BINDIR)
294
 
!endif
295
 
!if !exist($(OBJ))
296
 
        $(MKDIR) $(OBJ)
297
 
!endif
298
 
 
299
 
TAGFILE = $(SRC)\TAGS
300
 
 
301
 
etag::
302
 
        etags -o $(TAGFILE) -a *.c *.h
303
 
 
304
 
.SUFFIXES: .h
305
 
 
306
 
!endif