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