1 martin 1.92 #//%2005////////////////////////////////////////////////////////////////////////
2 #//
3 #// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
4 #// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
5 #// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
6 #// IBM Corp.; EMC Corporation, The Open Group.
7 #// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
8 #// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
9 #// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 #// EMC Corporation; VERITAS Software Corporation; The Open Group.
11 #//
12 #// Permission is hereby granted, free of charge, to any person obtaining a copy
13 #// of this software and associated documentation files (the "Software"), to
14 #// deal in the Software without restriction, including without limitation the
15 #// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
16 #// sell copies of the Software, and to permit persons to whom the Software is
17 #// furnished to do so, subject to the following conditions:
18 #//
19 #// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
20 #// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
21 #// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
22 martin 1.92 #// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
23 #// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
24 #// HOLDERS 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 CONNECTION
26 #// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 #//
28 #//==============================================================================
|
29 mike 1.1 ################################################################################
30 ##
31 ## Get external environment variables. Note that all external environment
32 ## variables begin with "PEGASUS_".
33 ##
34 ################################################################################
35
|
36 konrad.r 1.55 ifndef ROOT
37 ROOT = $(subst \,/,$(PEGASUS_ROOT))
38 endif
39
|
40 denise.eckstein 1.61 ifdef PEGASUS_ENVVAR_FILE
|
41 david.dillard 1.65 include $(PEGASUS_ENVVAR_FILE)
|
42 denise.eckstein 1.61 else
|
43 david.dillard 1.65 include $(ROOT)/env_var.status
|
44 denise.eckstein 1.61 endif
|
45 konrad.r 1.55
|
46 mike 1.2 ifdef PEGASUS_HOME
|
47 david.dillard 1.65 HOME_DIR = $(subst \,/,$(PEGASUS_HOME))
|
48 mike 1.1 else
|
49 david.dillard 1.65 $(error PEGASUS_HOME environment variable undefined)
|
50 mike 1.1 endif
51
|
52 karl 1.18 ifdef PEGASUS_ROOT
53 ROOT = $(subst \,/,$(PEGASUS_ROOT))
54 else
|
55 david.dillard 1.65 $(error PEGASUS_ROOT environment variable undefined)
|
56 karl 1.18 endif
57
|
58 chuck 1.35 # l10n
59 ifdef ICU_ROOT
60 ICUROOT = $(subst \,/,$(ICU_ROOT))
61 endif
62
|
63 kumpf 1.21 ifdef PEGASUS_TMP
|
64 david.dillard 1.65 TMP_DIR = $(subst \,/,$(PEGASUS_TMP))
|
65 kumpf 1.21 else
|
66 david.dillard 1.65 TMP_DIR = .
|
67 kumpf 1.21 endif
68
|
69 kumpf 1.26 ifdef PEGASUS_DISPLAYCONSUMER_DIR
|
70 david.dillard 1.65 DISPLAYCONSUMER_DIR = $(subst \,/,$(PEGASUS_DISPLAYCONSUMER_DIR))
|
71 kumpf 1.26 else
|
72 david.dillard 1.65 DISPLAYCONSUMER_DIR = $(subst \,/,$(PEGASUS_HOME))
|
73 kumpf 1.26 endif
74
|
75 aruran.ms 1.102 ifdef PEGASUS_DEBUG
76 PEGASUS_USE_DEBUG_BUILD_OPTIONS = 1
77 endif
78
|
79 david.dillard 1.66 PLATFORM_FILES=$(wildcard $(ROOT)/mak/platform*.mak)
|
80 karl 1.78 PLATFORM_TEMP=$(subst $(ROOT)/mak/platform_,, $(PLATFORM_FILES))
|
81 jim.wunderlich 1.104 VALID_PLATFORMS=$(subst .mak, , $(PLATFORM_TEMP))
|
82 mike 1.8
83 ifndef PEGASUS_PLATFORM
|
84 david.dillard 1.66 $(error PEGASUS_PLATFORM environment variable undefined. Please set to\
85 one of the following:$(VALID_PLATFORMS))
|
86 mike 1.8 endif
87
|
88 mike 1.1 ################################################################################
|
89 denise.eckstein 1.116 ifeq ($(findstring _GNU, $(PEGASUS_PLATFORM)), _GNU)
90 GCC_VERSION = $(shell g++ -dumpversion)
91 else
92 GCC_VERSION =
93 endif
|
94 mike 1.1
|
95 kumpf 1.22 OBJ_DIR = $(HOME_DIR)/obj/$(DIR)
96 BIN_DIR = $(HOME_DIR)/bin
97 LIB_DIR = $(HOME_DIR)/lib
|
98 chuck 1.35
99 # l10n
100 # define the location for the compiled messages
101 MSG_ROOT = $(HOME_DIR)/msg
|
102 kumpf 1.22
|
103 jim.wunderlich 1.90 #############################################################################
104 ## The following REPOSITORY_XXX variables are only used within the
105 ## makefiles for building the repository (cimmofl) and running the tests.
106 ## They have no effect on CIMconfig initial startup configuration.
107
108 #
|
109 kumpf 1.22 # define the location for the repository
|
110 jim.wunderlich 1.90 #
111 # NOTE: There is another variable efined in many of the test makefiles
112 # called REPOSITORYDIR. It is a local variable in each of those Makefiles
113 # to localally control where the temporay small repository they
114 # build, use and then delete is located. Most of the time it is set to TMP_DIR.
115 #
|
116 jim.wunderlich 1.91
|
117 kumpf 1.22 REPOSITORY_DIR = $(HOME_DIR)
|
118 jim.wunderlich 1.90
119 #
120 # WARNING: The REPOSITORY_NAME varible is not used by all the test,
121 # many of them are still hardcoded to "repository". What this means
122 # is that you can change the repository name and build it. But you
123 # cannot run the test without many of them failing
124 #
|
125 jim.wunderlich 1.91
|
126 jim.wunderlich 1.81 REPOSITORY_NAME = repository
|
127 jim.wunderlich 1.91
|
128 jim.wunderlich 1.90
|
129 jim.wunderlich 1.81 REPOSITORY_ROOT = $(REPOSITORY_DIR)/$(REPOSITORY_NAME)
130
131 # define the repository mode
|
132 h.sterling 1.89 # XML = XML format
133 # BIN = Binary format
|
134 jim.wunderlich 1.81 #
|
135 jim.wunderlich 1.91 ifndef PEGASUS_REPOSITORY_MODE
136 ## set to default value
137 REPOSITORY_MODE = XML
138 else
139 ## validate assigned value
140 ifeq ($(PEGASUS_REPOSITORY_MODE),XML)
141 REPOSITORY_MODE = XML
142 else
143 ifeq ($(PEGASUS_REPOSITORY_MODE),BIN)
144 REPOSITORY_MODE = BIN
145 else
146 $(error PEGASUS_REPOSITORY_MODE ($(PEGASUS_REPOSITORY_MODE)) \
147 is invalid. It must be set to either XML or BIN)
148 endif
149 endif
|
150 jim.wunderlich 1.90 endif
151
|
152 jim.wunderlich 1.91
|
153 jim.wunderlich 1.90 ###########################################################################
|
154 mike 1.1
|
155 kumpf 1.23 # The two variables, CIM_SCHEMA_DIR and CIM_SCHEMA_VER,
|
156 chip 1.76 # are used to control the version of the CIM Schema
|
157 kumpf 1.23 # loaded into the Pegasus Internal, InterOp,
158 # root/cimv2 and various test namespaces.
159 #
|
160 chip 1.76 # Update the following two environment variables to
|
161 kumpf 1.23 # change the version.
162
|
163 kumpf 1.37 # The environment variable PEGASUS_CIM_SCHEMA can be used
|
164 chip 1.76 # to change the values of CIM_SCHEMA_DIR, CIM_SCHEMA_VER
|
165 kumpf 1.37 # and ALLOW_EXPERIMENTAL.
166 #
167 # To use the PEGASUS_CIM_SCHEMA variable the Schema mof
168 # files must be placed in the directory
|
169 denise.eckstein 1.115 # $(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
|
170 chip 1.76 #
|
171 kumpf 1.37 # The value of PEGASUS_CIM_SCHEMA must conform to the
172 # following syntax:
173 #
174 # CIM[Prelim]<CIM_SCHEMA_VER>
175 #
|
176 chip 1.76 # The string "Prelim" should be included if the
|
177 kumpf 1.37 # Schema contains "Experimental" class definitions.
178 #
179 # The value of <CIM_SCHEMA_VER> must be the value
|
180 chip 1.76 # of the version string included by the DMTF as
181 # part of the mof file names (e.g, CIM_Core27.mof).
|
182 kumpf 1.37 # Therefore, for example, the value of <CIM_SCHEMA_VER>
183 # for CIM27 Schema directories MUST be 27.
184 #
|
185 chip 1.76 # Examples of valid values of PEGASUS_CIM_SCHEMA
|
186 kumpf 1.37 # include CIMPrelim27, CIM27, CIMPrelim28, and CIM28.
187 #
188 # Note the CIMPrelim271 would NOT be a valid value
189 # for PEGASUS_CIM_SCHEMA because the version string
190 # portion of the mof files (e.g., CIM_Core27.mof) in
191 # the CIMPrelimin271 directory is 27 not 271.
|
192 kumpf 1.23
|
193 gerarda 1.29 # ***** CIM_SCHEMA_DIR INFO ****
194 # If CIM_SCHEMA_DIR changes to use a preliminary schema which
195 # has experimentals make sure and change the path below to appopriate
196 # directory path. Example: CIMPrelim271 is preliminary and has
197 # experimental classes. Since experimental classes exist the -aE
198 # option of the mof compiler needs to be set.
199 # *****
|
200 kumpf 1.37
201 ifdef PEGASUS_CIM_SCHEMA
|
202 david.dillard 1.65 CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
|
203 chip 1.76 ifeq ($(findstring $(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA))),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 271 28),)
|
204 david.dillard 1.65 CIM_SCHEMA_VER=
205 else
206 CIM_SCHEMA_VER=$(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA)))
207 endif
|
208 kumpf 1.37 else
|
209 a.dunfey 1.82 CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/CIM29
210 CIM_SCHEMA_VER=
|
211 kumpf 1.37 endif
212
213 ifneq (, $(findstring Prelim, $(CIM_SCHEMA_DIR)))
|
214 david.dillard 1.65 ALLOW_EXPERIMENTAL = -aE
|
215 gerarda 1.29 else
|
216 david.dillard 1.65 ALLOW_EXPERIMENTAL =
|
217 gerarda 1.29 endif
218
|
219 bob 1.5 LEX = flex
220
|
221 jim.wunderlich 1.94 ## ======================================================================
222 ##
223 ## PEGASUS_ENABLE_SORTED_DIFF
224 ## This controls if the DIFFSORT function is used rather than a simple DIFF of
225 ## of the test results files to the static results file.
226 ##
227 ## Set to "true" enables the sorted diffs of results to static results files.
228 ## otherwise results in regular diffs of results to static results files.
229 ## see bug 2283 for background information concerning this config variable.
230 ##
231 ## Defaults to true.
232 ##
233 ##
234 ifndef PEGASUS_ENABLE_SORTED_DIFF
235 PEGASUS_ENABLE_SORTED_DIFF=true
236 endif
237
|
238 jim.wunderlich 1.86 ## ========================================================================
239 ## DIFFSORT function definition
240 ## Here is an example using the DIFFSORT function:
241 ##
242 ## difftest: FORCE
|
243 h.sterling 1.89 ## @ test > result
|
244 jim.wunderlich 1.86 ## @ $(call DIFFSORT,result,standard_result)
|
245 h.sterling 1.89 ## @ $(ECHO) +++++ all test passed
|
246 jim.wunderlich 1.86 ##
247
248 define NL
249
250
251 endef
252
|
253 marek 1.107 ifndef FORCE_NOCASE
254
|
255 jim.wunderlich 1.86 DIFFSORT = $(SORT) $(1) > $(1).tmp $(NL) \
256 $(SORT) $(2) > $(2).tmp $(NL) \
257 $(DIFF) $(1).tmp $(2).tmp $(NL) \
258 $(RM) -f $(1).tmp $(NL) \
259 $(RM) -f $(2).tmp $(NL)
260
|
261 marek 1.107 else
262
263 DIFFSORT = $(SORT) -f $(1) > $(1).tmp $(NL) \
264 $(SORT) -f $(2) > $(2).tmp $(NL) \
265 $(DIFF) -i $(1).tmp $(2).tmp $(NL) \
266 $(RM) -f $(1).tmp $(NL) \
267 $(RM) -f $(2).tmp $(NL)
268
269 endif
270
271 DIFFSORTNOCASE = $(SORT) $(1) > $(1).tmp $(NL) \
272 $(SORT) $(2) > $(2).tmp $(NL) \
273 $(DIFF) -i $(1).tmp $(2).tmp $(NL) \
274 $(RM) -f $(1).tmp $(NL) \
275 $(RM) -f $(2).tmp $(NL)
276
|
277 jim.wunderlich 1.104 #
278 # The following is used to define the usage message for MakeFile
279 #
280 # See the pegasus/Makfile for an exampleof its usage.
281 #
282 USAGE = @$(ECHO) " $(1)"
283
|
284 mike 1.8 ################################################################################
285 ##
286 ## Attempt to include a platform configuration file:
287 ##
288 ################################################################################
289
|
290 david.dillard 1.66 PLATFORM_FILE = $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
291 ifneq ($(wildcard $(PLATFORM_FILE)), )
292 include $(PLATFORM_FILE)
293 else
|
294 david.dillard 1.65 $(error PEGASUS_PLATFORM environment variable must be set to one of\
|
295 david.dillard 1.66 the following:$(VALID_PLATFORMS))
|
296 mike 1.8 endif
|
297 karl 1.17
|
298 karl 1.36 ################################################################################
299 ##
300 ## Set up any platform independent compile conditionals by adding them to
301 ## precreated FLAGS parameter.
|
302 chip 1.76 ## Assumes that the basic flags have been setup in FLAGS.
|
303 karl 1.36 ## Assumes that compile time flags are controlled with -D CLI option.
304 ##
305 ################################################################################
|
306 karl 1.17
|
307 jim.wunderlich 1.97
308 ################################################################################
309 ##
310 ## PEGASUS_MAX_THREADS_PER_SVC_QUEUE
311 ##
312 ## Controls the maximum number of threads allowed per message service queue.
313 ## It is allowed to range between 1 and MAX_THREADS_PER_SVC_QUEUE_LIMIT
|
314 kumpf 1.103 ## as set in pegasus/src/Pegasus/Common/MessageQueueService.cpp. If the
315 ## specified value is out of range, MAX_THREADS_PER_SVC_QUEUE_LIMIT is
316 ## used. The default value is MAX_THREADS_PER_SVC_QUEUE_DEFAULT, as
317 ## defined in pegasus/src/Pegasus/Common/MessageQueueService.cpp.
|
318 jim.wunderlich 1.98 ##
319 ## Label Current value
320 ## -------------------------------------- -------------
321 ## MAX_THREADS_PER_SVC_QUEUE_LIMIT 5000
322 ## MAX_THREADS_PER_SVC_QUEUE_DEFAULT 5
|
323 jim.wunderlich 1.97 ##
324 ##
325
326 ifdef PEGASUS_MAX_THREADS_PER_SVC_QUEUE
327 DEFINES += -DMAX_THREADS_PER_SVC_QUEUE=$(PEGASUS_MAX_THREADS_PER_SVC_QUEUE)
328 endif
329
|
330 jim.wunderlich 1.99 ##############################################################################
331 ##
332 ## PEGASUS_INDICATIONS_Q_THRESHOLD
333 ##
334 ## Controls if indications providers are stalled if the indications
335 ## service queue is too large.
336 ##
|
337 jim.wunderlich 1.100 ## defaults to not set.
|
338 jim.wunderlich 1.99 ##
339 ## It can be set to any positive value.
340 ##
|
341 jim.wunderlich 1.100 ## If not set providers are never stalled. This implies that the
|
342 jim.wunderlich 1.99 ## indications service queue may become as large as neccesary to hold all
343 ## the indicaitons generated.
344 ##
|
345 jim.wunderlich 1.100 ## If set to any value then providers are stalled by forcing them to sleep
|
346 jim.wunderlich 1.99 ## when they try to deliver an indication and the indications service queue
347 ## exceeds this value. They are resumed when the queue count falls 10 percent
348 ## below this value.
349 ##
350 ## Stall and resume log entries are made to inform the administrator
351 ## the condition has occured.
352 ##
353 ## WARNING: This also affects the Out of Process Providers (OOP Providers)
354 ## The OOP Providers use two one way pipes for communication.
355 ## By stalling the Provider this prevents the pipe from being read
356 ## which will cause the pipe to fill up and the remote side will block.
357 ## OOP Prividers mix indications and operations on these two pipes.
358 ## This means the operations will also be blocked as a side effect of
359 ## the indications being stalled.
360 ##
361 ##
362
363 ifdef PEGASUS_INDICATIONS_Q_THRESHOLD
364 DEFINES += -DPEGASUS_INDICATIONS_Q_THRESHOLD=$(PEGASUS_INDICATIONS_Q_THRESHOLD)
365 endif
366
|
367 jim.wunderlich 1.97
|
368 karl 1.36 # Setup the conditional compile for client displays.
|
369 chip 1.76 #
|
370 karl 1.36 ifdef PEGASUS_CLIENT_TRACE_ENABLE
|
371 david.dillard 1.65 DEFINES += -DPEGASUS_CLIENT_TRACE_ENABLE
|
372 karl 1.36 endif
373
|
374 kumpf 1.87 # Allow PEGASUS_ASSERT statements to be disabled.
375 ifdef PEGASUS_NOASSERTS
376 DEFINES += -DNDEBUG
377 endif
378
|
379 mday 1.40 # do not compile trace code. sometimes it causes problems debugging
380 ifdef PEGASUS_REMOVE_TRACE
|
381 david.dillard 1.65 DEFINES += -DPEGASUS_REMOVE_TRACE
|
382 mday 1.40 endif
383
|
384 chuck 1.47 # PEP 161
385 # Control whether utf-8 filenames are supported by the repository
386 ifdef PEGASUS_SUPPORT_UTF8_FILENAME
|
387 david.dillard 1.65 DEFINES += -DPEGASUS_SUPPORT_UTF8_FILENAME
|
388 chuck 1.47
|
389 david.dillard 1.65 # Control whether utf-8 filenames in the repository are escaped
390 ifdef PEGASUS_REPOSITORY_ESCAPE_UTF8
391 DEFINES += -DPEGASUS_REPOSITORY_ESCAPE_UTF8
392 endif
|
393 chuck 1.47 endif
394
|
395 kumpf 1.49 #
396 # PEP 142
397 # The following flag need to be set to enable
398 # user group authorization functionality.
399 #
400 ifdef PEGASUS_ENABLE_USERGROUP_AUTHORIZATION
|
401 david.dillard 1.65 DEFINES += -DPEGASUS_ENABLE_USERGROUP_AUTHORIZATION
|
402 kumpf 1.49 endif
403
|
404 chuck 1.67 #
405 # PEP 193
406 # The following flag need to be set to disable
407 # CQL in indication subscriptions
408 #
409 ifdef PEGASUS_DISABLE_CQL
410 DEFINES += -DPEGASUS_DISABLE_CQL
411 endif
412
|
413 kumpf 1.68 #
414 # PEP 186
415 # Allow override of product name/version/status. A file
416 # pegasus/src/Pegasus/Common/ProductVersion.h must exist when this
417 # flag is defined.
418 #
419 ifdef PEGASUS_OVERRIDE_PRODUCT_ID
420 DEFINES += -DPEGASUS_OVERRIDE_PRODUCT_ID
421 endif
422
|
423 kumpf 1.71 #
|
424 kumpf 1.106 # PEP 72
425 # Allow Out-of-Process Providers to be disabled by default
426 #
|
427 jim.wunderlich 1.113 ifdef PEGASUS_DEFAULT_ENABLE_OOP
428 ifeq ($(PEGASUS_DEFAULT_ENABLE_OOP),true)
429 DEFINES += -DPEGASUS_DEFAULT_ENABLE_OOP
|
430 jim.wunderlich 1.111 else
|
431 jim.wunderlich 1.113 ifneq ($(PEGASUS_DEFAULT_ENABLE_OOP),false)
432 $(error PEGASUS_DEFAULT_ENABLE_OOP ($(PEGASUS_DEFAULT_ENABLE_OOP)) invalid, must be true or false)
|
433 jim.wunderlich 1.111 endif
434 endif
|
435 kumpf 1.106 endif
436
437 #
|
438 kumpf 1.71 # PEP 197
439 # Allow the Provider User Context feature to be disabled.
440 #
|
441 kumpf 1.74 ifdef PEGASUS_DISABLE_PROV_USERCTXT
|
442 kumpf 1.71 DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT
|
443 kumpf 1.74 else
444 ifdef PEGASUS_DISABLE_PROV_USERCTXT_REQUESTOR
445 DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_REQUESTOR
446 endif
447 ifdef PEGASUS_DISABLE_PROV_USERCTXT_DESIGNATED
448 DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_DESIGNATED
449 endif
450 ifdef PEGASUS_DISABLE_PROV_USERCTXT_PRIVILEGED
451 DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_PRIVILEGED
452 endif
453 ifdef PEGASUS_DISABLE_PROV_USERCTXT_CIMSERVER
454 DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_CIMSERVER
455 endif
456 endif
|
457 kumpf 1.71
|
458 h.sterling 1.89 # Bug 2147
459 # Allow local domain socket usage to be disabled.
460 ifdef PEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET
461 DEFINES += -DPEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET
462 endif
463
|
464 chip 1.76 # PEP 211
465 # Controls object normalization support.
466 ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION
467 DEFINES += -DPEGASUS_ENABLE_OBJECT_NORMALIZATION
468 endif
469
|
470 kumpf 1.80 # Allow ExecQuery functionality to be enabled
471 ifndef PEGASUS_ENABLE_EXECQUERY
472 DEFINES += -DPEGASUS_DISABLE_EXECQUERY
473 endif
474
|
475 yi.zhou 1.85 # Allow System Log Handler to be enabled
476 ifdef PEGASUS_ENABLE_SYSTEM_LOG_HANDLER
477 DEFINES += -DPEGASUS_ENABLE_SYSTEM_LOG_HANDLER
478 endif
479
480 # Allow Email Handler to be enabled
481 ifdef PEGASUS_ENABLE_EMAIL_HANDLER
482 DEFINES += -DPEGASUS_ENABLE_EMAIL_HANDLER
483 endif
|
484 kumpf 1.49
|
485 h.sterling 1.109 # Allow qualifiers to be disabled for instance operations
486 ifdef PEGASUS_DISABLE_INSTANCE_QUALIFIERS
487 DEFINES += -DPEGASUS_DISABLE_INSTANCE_QUALIFIERS
488 endif
489
|
490 yi.zhou 1.108 # Controls snmp indication handler to use NET-SNMP to deliver trap
491 ifdef PEGASUS_USE_NET_SNMP
492 DEFINES += -DPEGASUS_USE_NET_SNMP
493 endif
494
|
495 jim.wunderlich 1.101 #
496 # PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP
497 #
|
498 jim.wunderlich 1.112 # PEGASUS_DISABLE_SLP has been depracated. New use model is:
|
499 jim.wunderlich 1.101 #
|
500 jim.wunderlich 1.112 # Use PEGASUS_ENABLE_SLP=true to enable compilation of SLP functions.
501 #
502 # Use PEGASUS_ENABLE_SLP=false to disable compilation of SLP functions.
|
503 jim.wunderlich 1.101 #
504 # Currently (Aug. 12, 2005) Windows is the only platform that enables SLP
505 # by default.
506 #
507 # NOTE. Effective with Bug # 2633 some platforms enable SLP.
|
508 karl 1.75 # To see which platforms look for platform make files that set
|
509 jim.wunderlich 1.101 # the variable PEGASUS_ENABLE_SLP.
510 #
511 #
|
512 jim.wunderlich 1.112
|
513 karl 1.39 ifdef PEGASUS_ENABLE_SLP
|
514 jim.wunderlich 1.101 ifdef PEGASUS_DISABLE_SLP
515 $(error Conflicting defines PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP both set)
516 endif
|
517 jim.wunderlich 1.112 endif
518
519 ifdef PEGASUS_DISABLE_SLP
520 $(error PEGASUS_DISABLE_SLP has been deprecated. Please use PEGASUS_ENABLE_SLP=[true/false] )
521
522 PEGASUS_ENABLE_SLP=false
523
524 endif
525
526 ifdef PEGASUS_ENABLE_SLP
527 ifeq ($(PEGASUS_ENABLE_SLP),true)
|
528 david.dillard 1.65 DEFINES += -DPEGASUS_ENABLE_SLP
|
529 jim.wunderlich 1.112 else
530 ifneq ($(PEGASUS_ENABLE_SLP),false)
531 $(error PEGASUS_ENABLE_SLP ($(PEGASUS_ENABLE_SLP)) invalid, must be true or false)
532 endif
533 endif
|
534 karl 1.39 endif
|
535 karl 1.36
|
536 sushma.fernandes 1.114 #
537 # Enable this flag to allow the handshake to continue regardless of verification result
538 #
539 ifdef PEGASUS_OVERRIDE_SSL_CERT_VERIFICATION_RESULT
540 DEFINES += -DPEGASUS_OVERRIDE_SSL_CERT_VERIFICATION_RESULT
541 endif
542
|
543 karl 1.60 # set PEGASUS_DEBUG into the DEFINES if it exists.
544 # Note that this flag is the general separator between
545 # debug compiles and non-debug compiles and controls both
546 # the use of any debug options on compilers and linkers
547 # and general debug support that we want to be turned on in
|
548 chip 1.76 # debug mode.
|
549 karl 1.60 ifdef PEGASUS_DEBUG
|
550 david.dillard 1.65 DEFINES += -DPEGASUS_DEBUG
|
551 kumpf 1.88
552 # Indications debugging options
553 ifdef PEGASUS_INDICATION_PERFINST
554 DEFINES += -DPEGASUS_INDICATION_PERFINST
555 endif
556
557 ifdef PEGASUS_INDICATION_HASHTRACE
558 DEFINES += -DPEGASUS_INDICATION_HASHTRACE
559 endif
|
560 karl 1.60 endif
561
|
562 chuck 1.42 # compile in the experimental APIs
|
563 david.dillard 1.65 DEFINES += -DPEGASUS_USE_EXPERIMENTAL_INTERFACES
|
564 chuck 1.42
|
565 kumpf 1.93 # Ensure that the deprecated interfaces are defined in the Pegasus libraries.
566 # One may wish to disable these interfaces if binary compatibility with
567 # previous Pegasus releases is not required.
568 ifndef PEGASUS_DISABLE_DEPRECATED_INTERFACES
569 DEFINES += -DPEGASUS_USE_DEPRECATED_INTERFACES
570 endif
571
|
572 w.white 1.57 # Set compile flag to control compilation of CIMOM statistics
|
573 karl 1.73 ifdef PEGASUS_DISABLE_PERFINST
574 FLAGS += -DPEGASUS_DISABLE_PERFINST
|
575 w.white 1.57 endif
|
576 kumpf 1.56
|
577 karl 1.96 # Set compile flag to control compilation of SNIA Extensions
578 ifdef PEGASUS_SNIA_EXTENSIONS
579 FLAGS += -DPEGASUS_SNIA_EXTENSIONS
580 endif
581
|
582 kumpf 1.95 # Allow remote CMPI functionality to be enabled
583 ifdef PEGASUS_ENABLE_REMOTE_CMPI
584 FLAGS += -DPEGASUS_ENABLE_REMOTE_CMPI
585 endif
586
|
587 kumpf 1.56 ############################################################
588 #
589 # Set any vendor-specific compile flags
590 #
591 ############################################################
592
593 ifdef PEGASUS_VENDOR_HP
|
594 david.dillard 1.65 DEFINES+= -DPEGASUS_VENDOR_HP
|
595 kumpf 1.56 endif
596
|
597 chip 1.76
|
598 karl 1.17 ############################################################
599 #
600 # Set up other Make Variables that depend on platform config files
601 #
602 ############################################################
603
604 # This is temporary until we end up with a better place to
605 # put this variable
606 # Makefiles can do directory remove with
607 # $(RMREPOSITORY) repositoryname
608 #
609 RMREPOSITORY = $(RMDIRHIER)
610
|
611 w.otsuka 1.63 ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
|
612 david.dillard 1.65 FLAGS += -DPEGASUS_USE_RELEASE_CONFIG_OPTIONS
|
613 w.otsuka 1.62 endif
614
615 ifdef PEGASUS_USE_RELEASE_DIRS
|
616 david.dillard 1.65 FLAGS += -DPEGASUS_USE_RELEASE_DIRS
|
617 w.otsuka 1.62 endif
|
618 mday 1.27
|
619 denise.eckstein 1.110 ifdef PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS
620 FLAGS += -DPEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS
621 endif
622
|
623 kumpf 1.64 # Unless otherwise specified, Pegasus libraries go in $(PEGASUS_HOME)/lib
624 ifndef PEGASUS_DEST_LIB_DIR
|
625 david.dillard 1.65 PEGASUS_DEST_LIB_DIR = lib
|
626 kumpf 1.64 endif
|
627 mday 1.28
|
628 gs.keenan 1.77 ifeq ($(OS),VMS)
629 DEFINES += -DPEGASUS_DEST_LIB_DIR="""$(PEGASUS_DEST_LIB_DIR)"""
630 else
631 DEFINES += -DPEGASUS_DEST_LIB_DIR=\"$(PEGASUS_DEST_LIB_DIR)\"
632 endif
633
|
634 w.otsuka 1.79 ################################################################################
635 ##
|
636 mike 1.105 ## PEGASUS_CLASS_CACHE_SIZE
637 ##
638 ## This environment variable gives the size of the class cache used by
639 ## the CIM repository. When it is undefined, the size defaults to something
640 ## relatively small (see src/Pegasus/Repository/CIMRepository.cpp). If
641 ## defined, it gives the size of the class cache. If it is 0 , the class
642 ## cache is not defined compiled in at all.
643 ##
644 ################################################################################
645
646 ifdef PEGASUS_CLASS_CACHE_SIZE
647 DEFINES += -DPEGASUS_CLASS_CACHE_SIZE=$(PEGASUS_CLASS_CACHE_SIZE)
648 endif
649
650 ################################################################################
651 ##
|
652 w.otsuka 1.79 ## Additional build flags passed in through environment variables.
653 ## These flags are added to the compile/link commands.
654 ##
655 ################################################################################
656
657 ifdef PEGASUS_EXTRA_CXX_FLAGS
658 EXTRA_CXX_FLAGS = $(PEGASUS_EXTRA_CXX_FLAGS)
659 endif
660
661 ifdef PEGASUS_EXTRA_C_FLAGS
662 EXTRA_C_FLAGS = $(PEGASUS_EXTRA_C_FLAGS)
663 endif
664
665 ifdef PEGASUS_EXTRA_LINK_FLAGS
666 EXTRA_LINK_FLAGS = $(PEGASUS_EXTRA_LINK_FLAGS)
667 endif
668
|