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 mike 1.135.2.2 SHELL=/root/bin/maketrace
39
|
40 konrad.r 1.55 ifndef ROOT
41 ROOT = $(subst \,/,$(PEGASUS_ROOT))
42 endif
43
|
44 denise.eckstein 1.61 ifdef PEGASUS_ENVVAR_FILE
|
45 david.dillard 1.65 include $(PEGASUS_ENVVAR_FILE)
|
46 denise.eckstein 1.61 else
|
47 david.dillard 1.65 include $(ROOT)/env_var.status
|
48 denise.eckstein 1.61 endif
|
49 konrad.r 1.55
|
50 mike 1.2 ifdef PEGASUS_HOME
|
51 david.dillard 1.65 HOME_DIR = $(subst \,/,$(PEGASUS_HOME))
|
52 mike 1.1 else
|
53 david.dillard 1.65 $(error PEGASUS_HOME environment variable undefined)
|
54 mike 1.1 endif
55
|
56 karl 1.18 ifdef PEGASUS_ROOT
57 ROOT = $(subst \,/,$(PEGASUS_ROOT))
58 else
|
59 david.dillard 1.65 $(error PEGASUS_ROOT environment variable undefined)
|
60 karl 1.18 endif
61
|
62 chuck 1.35 # l10n
63 ifdef ICU_ROOT
64 ICUROOT = $(subst \,/,$(ICU_ROOT))
65 endif
66
|
67 kumpf 1.21 ifdef PEGASUS_TMP
|
68 david.dillard 1.65 TMP_DIR = $(subst \,/,$(PEGASUS_TMP))
|
69 kumpf 1.21 else
|
70 david.dillard 1.65 TMP_DIR = .
|
71 kumpf 1.21 endif
72
|
73 kumpf 1.26 ifdef PEGASUS_DISPLAYCONSUMER_DIR
|
74 david.dillard 1.65 DISPLAYCONSUMER_DIR = $(subst \,/,$(PEGASUS_DISPLAYCONSUMER_DIR))
|
75 kumpf 1.26 else
|
76 david.dillard 1.65 DISPLAYCONSUMER_DIR = $(subst \,/,$(PEGASUS_HOME))
|
77 kumpf 1.26 endif
78
|
79 aruran.ms 1.102 ifdef PEGASUS_DEBUG
80 PEGASUS_USE_DEBUG_BUILD_OPTIONS = 1
81 endif
82
|
83 david.dillard 1.66 PLATFORM_FILES=$(wildcard $(ROOT)/mak/platform*.mak)
|
84 karl 1.78 PLATFORM_TEMP=$(subst $(ROOT)/mak/platform_,, $(PLATFORM_FILES))
|
85 jim.wunderlich 1.104 VALID_PLATFORMS=$(subst .mak, , $(PLATFORM_TEMP))
|
86 mike 1.8
87 ifndef PEGASUS_PLATFORM
|
88 david.dillard 1.66 $(error PEGASUS_PLATFORM environment variable undefined. Please set to\
89 one of the following:$(VALID_PLATFORMS))
|
90 mike 1.8 endif
91
|
92 mike 1.1 ################################################################################
|
93 denise.eckstein 1.116 ifeq ($(findstring _GNU, $(PEGASUS_PLATFORM)), _GNU)
|
94 mike 1.118 ifdef CXX
95 GCC_VERSION = $(shell $(CXX) -dumpversion)
96 else
97 GCC_VERSION = $(shell g++ -dumpversion)
98 endif
|
99 denise.eckstein 1.116 else
100 GCC_VERSION =
101 endif
|
102 mike 1.1
|
103 kumpf 1.22 OBJ_DIR = $(HOME_DIR)/obj/$(DIR)
104 BIN_DIR = $(HOME_DIR)/bin
105 LIB_DIR = $(HOME_DIR)/lib
|
106 chuck 1.35
107 # l10n
108 # define the location for the compiled messages
109 MSG_ROOT = $(HOME_DIR)/msg
|
110 kumpf 1.22
|
111 jim.wunderlich 1.90 #############################################################################
112 ## The following REPOSITORY_XXX variables are only used within the
113 ## makefiles for building the repository (cimmofl) and running the tests.
114 ## They have no effect on CIMconfig initial startup configuration.
115
116 #
|
117 kumpf 1.22 # define the location for the repository
|
118 jim.wunderlich 1.90 #
119 # NOTE: There is another variable efined in many of the test makefiles
120 # called REPOSITORYDIR. It is a local variable in each of those Makefiles
121 # to localally control where the temporay small repository they
122 # build, use and then delete is located. Most of the time it is set to TMP_DIR.
123 #
|
124 jim.wunderlich 1.91
|
125 kumpf 1.22 REPOSITORY_DIR = $(HOME_DIR)
|
126 jim.wunderlich 1.90
127 #
128 # WARNING: The REPOSITORY_NAME varible is not used by all the test,
129 # many of them are still hardcoded to "repository". What this means
130 # is that you can change the repository name and build it. But you
131 # cannot run the test without many of them failing
132 #
|
133 jim.wunderlich 1.91
|
134 jim.wunderlich 1.81 REPOSITORY_NAME = repository
|
135 jim.wunderlich 1.91
|
136 jim.wunderlich 1.90
|
137 jim.wunderlich 1.81 REPOSITORY_ROOT = $(REPOSITORY_DIR)/$(REPOSITORY_NAME)
138
139 # define the repository mode
|
140 h.sterling 1.89 # XML = XML format
141 # BIN = Binary format
|
142 jim.wunderlich 1.81 #
|
143 jim.wunderlich 1.91 ifndef PEGASUS_REPOSITORY_MODE
144 ## set to default value
145 REPOSITORY_MODE = XML
146 else
147 ## validate assigned value
148 ifeq ($(PEGASUS_REPOSITORY_MODE),XML)
149 REPOSITORY_MODE = XML
150 else
151 ifeq ($(PEGASUS_REPOSITORY_MODE),BIN)
152 REPOSITORY_MODE = BIN
153 else
154 $(error PEGASUS_REPOSITORY_MODE ($(PEGASUS_REPOSITORY_MODE)) \
155 is invalid. It must be set to either XML or BIN)
156 endif
157 endif
|
158 jim.wunderlich 1.90 endif
159
|
160 jim.wunderlich 1.91
|
161 jim.wunderlich 1.90 ###########################################################################
|
162 mike 1.1
|
163 kumpf 1.23 # The two variables, CIM_SCHEMA_DIR and CIM_SCHEMA_VER,
|
164 chip 1.76 # are used to control the version of the CIM Schema
|
165 kumpf 1.23 # loaded into the Pegasus Internal, InterOp,
166 # root/cimv2 and various test namespaces.
167 #
|
168 chip 1.76 # Update the following two environment variables to
|
169 kumpf 1.23 # change the version.
170
|
171 kumpf 1.37 # The environment variable PEGASUS_CIM_SCHEMA can be used
|
172 chip 1.76 # to change the values of CIM_SCHEMA_DIR, CIM_SCHEMA_VER
|
173 kumpf 1.37 # and ALLOW_EXPERIMENTAL.
174 #
175 # To use the PEGASUS_CIM_SCHEMA variable the Schema mof
176 # files must be placed in the directory
|
177 denise.eckstein 1.115 # $(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
|
178 chip 1.76 #
|
179 kumpf 1.37 # The value of PEGASUS_CIM_SCHEMA must conform to the
180 # following syntax:
181 #
182 # CIM[Prelim]<CIM_SCHEMA_VER>
183 #
|
184 chip 1.76 # The string "Prelim" should be included if the
|
185 kumpf 1.37 # Schema contains "Experimental" class definitions.
186 #
187 # The value of <CIM_SCHEMA_VER> must be the value
|
188 chip 1.76 # of the version string included by the DMTF as
189 # part of the mof file names (e.g, CIM_Core27.mof).
|
190 kumpf 1.37 # Therefore, for example, the value of <CIM_SCHEMA_VER>
191 # for CIM27 Schema directories MUST be 27.
192 #
|
193 chip 1.76 # Examples of valid values of PEGASUS_CIM_SCHEMA
|
194 kumpf 1.37 # include CIMPrelim27, CIM27, CIMPrelim28, and CIM28.
195 #
196 # Note the CIMPrelim271 would NOT be a valid value
197 # for PEGASUS_CIM_SCHEMA because the version string
198 # portion of the mof files (e.g., CIM_Core27.mof) in
199 # the CIMPrelimin271 directory is 27 not 271.
|
200 kumpf 1.23
|
201 gerarda 1.29 # ***** CIM_SCHEMA_DIR INFO ****
202 # If CIM_SCHEMA_DIR changes to use a preliminary schema which
203 # has experimentals make sure and change the path below to appopriate
204 # directory path. Example: CIMPrelim271 is preliminary and has
205 # experimental classes. Since experimental classes exist the -aE
206 # option of the mof compiler needs to be set.
207 # *****
|
208 kumpf 1.37
209 ifdef PEGASUS_CIM_SCHEMA
|
210 david.dillard 1.65 CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
|
211 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),)
|
212 david.dillard 1.65 CIM_SCHEMA_VER=
213 else
214 CIM_SCHEMA_VER=$(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA)))
215 endif
|
216 kumpf 1.37 else
|
217 a.dunfey 1.82 CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/CIM29
218 CIM_SCHEMA_VER=
|
219 kumpf 1.37 endif
220
221 ifneq (, $(findstring Prelim, $(CIM_SCHEMA_DIR)))
|
222 david.dillard 1.65 ALLOW_EXPERIMENTAL = -aE
|
223 gerarda 1.29 else
|
224 david.dillard 1.65 ALLOW_EXPERIMENTAL =
|
225 gerarda 1.29 endif
226
|
227 bob 1.5 LEX = flex
228
|
229 jim.wunderlich 1.94 ## ======================================================================
230 ##
231 ## PEGASUS_ENABLE_SORTED_DIFF
232 ## This controls if the DIFFSORT function is used rather than a simple DIFF of
233 ## of the test results files to the static results file.
234 ##
235 ## Set to "true" enables the sorted diffs of results to static results files.
236 ## otherwise results in regular diffs of results to static results files.
237 ## see bug 2283 for background information concerning this config variable.
238 ##
239 ## Defaults to true.
240 ##
241 ##
242 ifndef PEGASUS_ENABLE_SORTED_DIFF
243 PEGASUS_ENABLE_SORTED_DIFF=true
244 endif
245
|
246 jim.wunderlich 1.86 ## ========================================================================
247 ## DIFFSORT function definition
248 ## Here is an example using the DIFFSORT function:
249 ##
250 ## difftest: FORCE
|
251 h.sterling 1.89 ## @ test > result
|
252 jim.wunderlich 1.86 ## @ $(call DIFFSORT,result,standard_result)
|
253 h.sterling 1.89 ## @ $(ECHO) +++++ all test passed
|
254 jim.wunderlich 1.86 ##
255
256 define NL
257
258
259 endef
260
|
261 marek 1.107 ifndef FORCE_NOCASE
262
|
263 jim.wunderlich 1.86 DIFFSORT = $(SORT) $(1) > $(1).tmp $(NL) \
264 $(SORT) $(2) > $(2).tmp $(NL) \
265 $(DIFF) $(1).tmp $(2).tmp $(NL) \
266 $(RM) -f $(1).tmp $(NL) \
267 $(RM) -f $(2).tmp $(NL)
268
|
269 marek 1.107 else
270
271 DIFFSORT = $(SORT) -f $(1) > $(1).tmp $(NL) \
272 $(SORT) -f $(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 endif
278
279 DIFFSORTNOCASE = $(SORT) $(1) > $(1).tmp $(NL) \
280 $(SORT) $(2) > $(2).tmp $(NL) \
281 $(DIFF) -i $(1).tmp $(2).tmp $(NL) \
282 $(RM) -f $(1).tmp $(NL) \
283 $(RM) -f $(2).tmp $(NL)
284
|
285 jim.wunderlich 1.104 #
286 # The following is used to define the usage message for MakeFile
287 #
288 # See the pegasus/Makfile for an exampleof its usage.
289 #
290 USAGE = @$(ECHO) " $(1)"
291
|
292 mike 1.8 ################################################################################
293 ##
294 ## Attempt to include a platform configuration file:
295 ##
296 ################################################################################
297
|
298 david.dillard 1.66 PLATFORM_FILE = $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
299 ifneq ($(wildcard $(PLATFORM_FILE)), )
300 include $(PLATFORM_FILE)
301 else
|
302 david.dillard 1.65 $(error PEGASUS_PLATFORM environment variable must be set to one of\
|
303 david.dillard 1.66 the following:$(VALID_PLATFORMS))
|
304 mike 1.8 endif
|
305 karl 1.17
|
306 karl 1.36 ################################################################################
307 ##
308 ## Set up any platform independent compile conditionals by adding them to
309 ## precreated FLAGS parameter.
|
310 chip 1.76 ## Assumes that the basic flags have been setup in FLAGS.
|
311 karl 1.36 ## Assumes that compile time flags are controlled with -D CLI option.
312 ##
313 ################################################################################
|
314 karl 1.17
|
315 jim.wunderlich 1.97
316 ################################################################################
317 ##
318 ## PEGASUS_MAX_THREADS_PER_SVC_QUEUE
319 ##
320 ## Controls the maximum number of threads allowed per message service queue.
321 ## It is allowed to range between 1 and MAX_THREADS_PER_SVC_QUEUE_LIMIT
|
322 kumpf 1.103 ## as set in pegasus/src/Pegasus/Common/MessageQueueService.cpp. If the
323 ## specified value is out of range, MAX_THREADS_PER_SVC_QUEUE_LIMIT is
324 ## used. The default value is MAX_THREADS_PER_SVC_QUEUE_DEFAULT, as
325 ## defined in pegasus/src/Pegasus/Common/MessageQueueService.cpp.
|
326 jim.wunderlich 1.98 ##
327 ## Label Current value
328 ## -------------------------------------- -------------
329 ## MAX_THREADS_PER_SVC_QUEUE_LIMIT 5000
330 ## MAX_THREADS_PER_SVC_QUEUE_DEFAULT 5
|
331 jim.wunderlich 1.97 ##
332 ##
333
334 ifdef PEGASUS_MAX_THREADS_PER_SVC_QUEUE
335 DEFINES += -DMAX_THREADS_PER_SVC_QUEUE=$(PEGASUS_MAX_THREADS_PER_SVC_QUEUE)
336 endif
337
|
338 jim.wunderlich 1.99 ##############################################################################
339 ##
340 ## PEGASUS_INDICATIONS_Q_THRESHOLD
341 ##
342 ## Controls if indications providers are stalled if the indications
343 ## service queue is too large.
344 ##
|
345 jim.wunderlich 1.100 ## defaults to not set.
|
346 jim.wunderlich 1.99 ##
347 ## It can be set to any positive value.
348 ##
|
349 jim.wunderlich 1.100 ## If not set providers are never stalled. This implies that the
|
350 jim.wunderlich 1.99 ## indications service queue may become as large as neccesary to hold all
351 ## the indicaitons generated.
352 ##
|
353 jim.wunderlich 1.100 ## If set to any value then providers are stalled by forcing them to sleep
|
354 jim.wunderlich 1.99 ## when they try to deliver an indication and the indications service queue
355 ## exceeds this value. They are resumed when the queue count falls 10 percent
356 ## below this value.
357 ##
358 ## Stall and resume log entries are made to inform the administrator
359 ## the condition has occured.
360 ##
361 ## WARNING: This also affects the Out of Process Providers (OOP Providers)
362 ## The OOP Providers use two one way pipes for communication.
363 ## By stalling the Provider this prevents the pipe from being read
364 ## which will cause the pipe to fill up and the remote side will block.
365 ## OOP Prividers mix indications and operations on these two pipes.
366 ## This means the operations will also be blocked as a side effect of
367 ## the indications being stalled.
368 ##
369 ##
370
371 ifdef PEGASUS_INDICATIONS_Q_THRESHOLD
372 DEFINES += -DPEGASUS_INDICATIONS_Q_THRESHOLD=$(PEGASUS_INDICATIONS_Q_THRESHOLD)
373 endif
374
|
375 jim.wunderlich 1.97
|
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 mateus.baur 1.130 # Allow to define the default value for the Provider User Context
441 # property as REQUESTOR.
442 # If is set and true use REQUESTOR
443 # If is not set or false use PRIVILEGED
444 #
445 ifdef PEGASUS_DEFAULT_USERCTXT_REQUESTOR
446 ifeq ($(PEGASUS_DEFAULT_USERCTXT_REQUESTOR),true)
447 DEFINES += -DPEGASUS_DEFAULT_USERCTXT_REQUESTOR
448 else
449 ifneq ($(PEGASUS_DEFAULT_USERCTXT_REQUESTOR),false)
450 $(error PEGASUS_DEFAULT_USERCTXT_REQUESTOR ($(PEGASUS_DEFAULT_USERCTXT_REQUESTOR)) invalid, must be true or false)
451 endif
452 endif
453 endif
454
455 #
|
456 kumpf 1.71 # PEP 197
457 # Allow the Provider User Context feature to be disabled.
458 #
|
459 kumpf 1.74 ifdef PEGASUS_DISABLE_PROV_USERCTXT
|
460 kumpf 1.71 DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT
|
461 kumpf 1.74 else
462 ifdef PEGASUS_DISABLE_PROV_USERCTXT_REQUESTOR
463 DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_REQUESTOR
464 endif
465 ifdef PEGASUS_DISABLE_PROV_USERCTXT_DESIGNATED
466 DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_DESIGNATED
467 endif
468 ifdef PEGASUS_DISABLE_PROV_USERCTXT_PRIVILEGED
469 DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_PRIVILEGED
470 endif
471 ifdef PEGASUS_DISABLE_PROV_USERCTXT_CIMSERVER
472 DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_CIMSERVER
473 endif
474 endif
|
475 kumpf 1.71
|
476 h.sterling 1.89 # Bug 2147
477 # Allow local domain socket usage to be disabled.
478 ifdef PEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET
479 DEFINES += -DPEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET
480 endif
481
|
482 chip 1.76 # PEP 211
483 # Controls object normalization support.
484 ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION
485 DEFINES += -DPEGASUS_ENABLE_OBJECT_NORMALIZATION
486 endif
487
|
488 a.dunfey 1.125 # PEP 233
489 # Controls support for EmbeddedInstance properties
490 # and parameters
|
491 a.dunfey 1.129 ifndef PEGASUS_EMBEDDED_INSTANCE_SUPPORT
492 PEGASUS_EMBEDDED_INSTANCE_SUPPORT = true
493 endif
494
495 ifeq ($(PEGASUS_EMBEDDED_INSTANCE_SUPPORT), true)
496 DEFINES += -DPEGASUS_EMBEDDED_INSTANCE_SUPPORT
497 else
498 ifneq ($(PEGASUS_EMBEDDED_INSTANCE_SUPPORT), false)
499 $(error PEGASUS_EMBEDDED_INSTANCE_SUPPORT ($(PEGASUS_EMBEDDED_INSTANCE_SUPPORT)) invalid, must be true or false)
|
500 a.dunfey 1.125 endif
501 endif
502
|
503 a.dunfey 1.129
|
504 kumpf 1.80 # Allow ExecQuery functionality to be enabled
505 ifndef PEGASUS_ENABLE_EXECQUERY
506 DEFINES += -DPEGASUS_DISABLE_EXECQUERY
507 endif
508
|
509 yi.zhou 1.85 # Allow System Log Handler to be enabled
510 ifdef PEGASUS_ENABLE_SYSTEM_LOG_HANDLER
511 DEFINES += -DPEGASUS_ENABLE_SYSTEM_LOG_HANDLER
512 endif
513
514 # Allow Email Handler to be enabled
515 ifdef PEGASUS_ENABLE_EMAIL_HANDLER
516 DEFINES += -DPEGASUS_ENABLE_EMAIL_HANDLER
517 endif
|
518 kumpf 1.49
|
519 h.sterling 1.109 # Allow qualifiers to be disabled for instance operations
520 ifdef PEGASUS_DISABLE_INSTANCE_QUALIFIERS
521 DEFINES += -DPEGASUS_DISABLE_INSTANCE_QUALIFIERS
522 endif
523
|
524 kumpf 1.133 # Allow repository instance filtering to be disabled
525 ifdef PEGASUS_ENABLE_REPOSITORY_INSTANCE_FILTER
526 ifeq ($(PEGASUS_ENABLE_REPOSITORY_INSTANCE_FILTER), false)
527 DEFINES += -DPEGASUS_DISABLE_REPOSITORY_INSTANCE_FILTER
528 else
529 ifneq ($(PEGASUS_ENABLE_REPOSITORY_INSTANCE_FILTER), true)
530 $(error PEGASUS_ENABLE_REPOSITORY_INSTANCE_FILTER ($(PEGASUS_ENABLE_REPOSITORY_INSTANCE_FILTER)) invalid, must be true or false)
531 endif
532 endif
533 endif
534
|
535 yi.zhou 1.108 # Controls snmp indication handler to use NET-SNMP to deliver trap
536 ifdef PEGASUS_USE_NET_SNMP
537 DEFINES += -DPEGASUS_USE_NET_SNMP
538 endif
539
|
540 denise.eckstein 1.120 ifdef PEGASUS_HAS_SSL
541 ifndef OPENSSL_BIN
542 OPENSSL_BIN = $(OPENSSL_HOME)/bin
543 endif
|
544 denise.eckstein 1.122 ifndef OPENSSL_COMMAND
545 OPENSSL_COMMAND = $(OPENSSL_BIN)/openssl
546 endif
|
547 denise.eckstein 1.120 ifndef OPENSSL_SET_SERIAL_SUPPORTED
548 ifneq (, $(findstring 0.9.6, $(shell $(OPENSSL_COMMAND) version)))
549 OPENSSL_SET_SERIAL_SUPPORTED = false
550 else
551 OPENSSL_SET_SERIAL_SUPPORTED = true
552 endif
|
553 denise.eckstein 1.122 endif
|
554 sushma.fernandes 1.123
555 # Enable CRL verification
556 ifndef PEGASUS_ENABLE_SSL_CRL_VERIFICATION
557 PEGASUS_ENABLE_SSL_CRL_VERIFICATION = true
558 endif
559
560 # Check for Enable SSL CRL verification
561 ifdef PEGASUS_ENABLE_SSL_CRL_VERIFICATION
562 ifeq ($(PEGASUS_ENABLE_SSL_CRL_VERIFICATION), true)
563 FLAGS += -DPEGASUS_ENABLE_SSL_CRL_VERIFICATION
564 else
565 ifneq ($(PEGASUS_ENABLE_SSL_CRL_VERIFICATION), false)
566 $(error PEGASUS_ENABLE_SSL_CRL_VERIFICATION\
567 ($(PEGASUS_ENABLE_SSL_CRL_VERIFICATION)) invalid, \
568 must be true or false)
569 endif
570 endif
571 endif
|
572 denise.eckstein 1.120 endif
573
|
574 jim.wunderlich 1.101 #
|
575 yi.zhou 1.134 # PEP 258
576 # Allow Audit Logger to be disabled
577 #
578 ifdef PEGASUS_DISABLE_AUDIT_LOGGER
579 ifeq ($(PEGASUS_DISABLE_AUDIT_LOGGER),true)
580 DEFINES += -DPEGASUS_DISABLE_AUDIT_LOGGER
581 else
582 ifneq ($(PEGASUS_DISABLE_AUDIT_LOGGER),false)
583 $(error PEGASUS_DISABLE_AUDIT_LOGGER ($(PEGASUS_DISABLE_AUDIT_LOGGER)) \
584 invalid, must be true or false)
585 endif
586 endif
587 endif
588
589 #
|
590 jim.wunderlich 1.101 # PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP
591 #
|
592 jim.wunderlich 1.112 # PEGASUS_DISABLE_SLP has been depracated. New use model is:
|
593 jim.wunderlich 1.101 #
|
594 jim.wunderlich 1.112 # Use PEGASUS_ENABLE_SLP=true to enable compilation of SLP functions.
595 #
596 # Use PEGASUS_ENABLE_SLP=false to disable compilation of SLP functions.
|
597 jim.wunderlich 1.101 #
598 # Currently (Aug. 12, 2005) Windows is the only platform that enables SLP
599 # by default.
600 #
601 # NOTE. Effective with Bug # 2633 some platforms enable SLP.
|
602 karl 1.75 # To see which platforms look for platform make files that set
|
603 jim.wunderlich 1.101 # the variable PEGASUS_ENABLE_SLP.
604 #
605 #
|
606 jim.wunderlich 1.112
|
607 karl 1.39 ifdef PEGASUS_ENABLE_SLP
|
608 jim.wunderlich 1.101 ifdef PEGASUS_DISABLE_SLP
609 $(error Conflicting defines PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP both set)
610 endif
|
611 jim.wunderlich 1.112 endif
612
613 ifdef PEGASUS_DISABLE_SLP
614 $(error PEGASUS_DISABLE_SLP has been deprecated. Please use PEGASUS_ENABLE_SLP=[true/false] )
615
616 PEGASUS_ENABLE_SLP=false
617
618 endif
619
620 ifdef PEGASUS_ENABLE_SLP
621 ifeq ($(PEGASUS_ENABLE_SLP),true)
|
622 david.dillard 1.65 DEFINES += -DPEGASUS_ENABLE_SLP
|
623 jim.wunderlich 1.112 else
624 ifneq ($(PEGASUS_ENABLE_SLP),false)
625 $(error PEGASUS_ENABLE_SLP ($(PEGASUS_ENABLE_SLP)) invalid, must be true or false)
626 endif
627 endif
|
628 karl 1.39 endif
|
629 karl 1.36
|
630 jim.wunderlich 1.121
631 ############################################################################
632 #
633 # PEGASUS_USE_OPENSLP
634 #
635 # Environment variable to set openslp as SLP environment to use
636 # for SLP Directory and User Agents.
637 #
638 # Allows enabling use of openslp interfaces for slp instead of the
639 # internal pegasus slp agent. Note that this does not disable the
640 # compilation of the internal agent code, etc. However, it assumes
641 # openslp is installed on the platform and changes the interfaces
642 # to match this. At this moment, this is a change specifically for
643 # adaptec but we expect to generalize it to provide openslp as a
644 # generalized alternative to ldapslp.
645 # to use this. To set this function up,
646 #
647 # Use this variable in conjunction with PEGASUS_OPENSLP_HOME
648 # to enable OpenSlp as the slp implementation.
649 #
650 # NOTE that it has no affect if the PEGASUS_ENABLE_SLP etc. flags are not set.
651 jim.wunderlich 1.121 #
652
653 ifdef PEGASUS_USE_OPENSLP
654 ifeq ($(PEGASUS_ENABLE_SLP),true)
655 DEFINES += -DPEGASUS_USE_OPENSLP
656 else
657 $(error PEGASUS_USE_OPENSLP defined but PEGASUS_ENABLE_SLP is not true. Please correct this inconsistency)
658 endif
659 endif
660
|
661 dave.sudlik 1.135 # PEP 267
662 # SLP reregistration support.
663 # PEGASUS_SLP_REG_TIMEOUT is defined as the SLP registration timeout
664 # interval, in minutes.
665 ifdef PEGASUS_SLP_REG_TIMEOUT
666 ifeq ($(PEGASUS_ENABLE_SLP),true)
667 DEFINES += -DPEGASUS_SLP_REG_TIMEOUT=$(PEGASUS_SLP_REG_TIMEOUT)
668 else
669 $(error PEGASUS_SLP_REG_TIMEOUT defined but PEGASUS_ENABLE_SLP is not true. Please correct this inconsistency)
670 endif
671 endif
|
672 jim.wunderlich 1.121
673 ############################################################################
674 #
675 # PEGASUS_OPENSLP_HOME
676 #
677 # Environment variable to set home location for OpenSLP include and library
678 # files if they are located somewhere other than /usr/include and /usr/lib.
679 #
680 # PEGASUS_USE_OPENSLP must also be defined for this environment variable
681 # to have any effect.
682 #
683 # This is the directory level within which both the include and lib
684 # directories holding the OpenSLP files will be found.
685 #
686 # EG: If the are located in /opt/OpenSLP/include and /opt/OpenSLP/lib
687 # then this environment variable should be set to /opt/OpenSLP.
688 #
689
690
|
691 sushma.fernandes 1.114 #
692 # Enable this flag to allow the handshake to continue regardless of verification result
693 #
694 ifdef PEGASUS_OVERRIDE_SSL_CERT_VERIFICATION_RESULT
695 DEFINES += -DPEGASUS_OVERRIDE_SSL_CERT_VERIFICATION_RESULT
696 endif
697
|
698 karl 1.60 # set PEGASUS_DEBUG into the DEFINES if it exists.
699 # Note that this flag is the general separator between
700 # debug compiles and non-debug compiles and controls both
701 # the use of any debug options on compilers and linkers
702 # and general debug support that we want to be turned on in
|
703 chip 1.76 # debug mode.
|
704 karl 1.60 ifdef PEGASUS_DEBUG
|
705 david.dillard 1.65 DEFINES += -DPEGASUS_DEBUG
|
706 kumpf 1.88
707 # Indications debugging options
708 ifdef PEGASUS_INDICATION_PERFINST
709 DEFINES += -DPEGASUS_INDICATION_PERFINST
710 endif
711
712 ifdef PEGASUS_INDICATION_HASHTRACE
713 DEFINES += -DPEGASUS_INDICATION_HASHTRACE
714 endif
|
715 kumpf 1.131
716 # Setup the conditional compile for client displays.
717 ifdef PEGASUS_CLIENT_TRACE_ENABLE
718 DEFINES += -DPEGASUS_CLIENT_TRACE_ENABLE
719 endif
|
720 karl 1.60 endif
721
|
722 chuck 1.42 # compile in the experimental APIs
|
723 david.dillard 1.65 DEFINES += -DPEGASUS_USE_EXPERIMENTAL_INTERFACES
|
724 chuck 1.42
|
725 kumpf 1.93 # Ensure that the deprecated interfaces are defined in the Pegasus libraries.
726 # One may wish to disable these interfaces if binary compatibility with
727 # previous Pegasus releases is not required.
728 ifndef PEGASUS_DISABLE_DEPRECATED_INTERFACES
729 DEFINES += -DPEGASUS_USE_DEPRECATED_INTERFACES
730 endif
731
|
732 w.white 1.57 # Set compile flag to control compilation of CIMOM statistics
|
733 karl 1.73 ifdef PEGASUS_DISABLE_PERFINST
734 FLAGS += -DPEGASUS_DISABLE_PERFINST
|
735 w.white 1.57 endif
|
736 kumpf 1.56
|
737 karl 1.96 # Set compile flag to control compilation of SNIA Extensions
738 ifdef PEGASUS_SNIA_EXTENSIONS
739 FLAGS += -DPEGASUS_SNIA_EXTENSIONS
740 endif
741
|
742 denise.eckstein 1.119 ifdef PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER
743 ifeq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER), true)
744 FLAGS += -DPEGASUS_ENABLE_CMPI_PROVIDER_MANAGER
745 else
746 ifneq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER), false)
747 $(error PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER \
748 ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER)) invalid, \
749 must be true or false)
750 endif
751 endif
752 endif
753
|
754 mark.hamzy 1.124 ifdef PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER
755 ifeq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), true)
756 FLAGS += -DPEGASUS_ENABLE_JMPI_PROVIDER_MANAGER
757 else
758 ifneq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), false)
759 $(error PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER \
760 ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER)) invalid, \
761 must be true or false)
762 endif
763 endif
764 endif
765
|
766 kumpf 1.95 # Allow remote CMPI functionality to be enabled
767 ifdef PEGASUS_ENABLE_REMOTE_CMPI
768 FLAGS += -DPEGASUS_ENABLE_REMOTE_CMPI
769 endif
770
|
771 kumpf 1.56 ############################################################
772 #
773 # Set any vendor-specific compile flags
774 #
775 ############################################################
776
777 ifdef PEGASUS_VENDOR_HP
|
778 david.dillard 1.65 DEFINES+= -DPEGASUS_VENDOR_HP
|
779 kumpf 1.56 endif
780
|
781 chip 1.76
|
782 karl 1.17 ############################################################
783 #
784 # Set up other Make Variables that depend on platform config files
785 #
786 ############################################################
787
788 # This is temporary until we end up with a better place to
789 # put this variable
790 # Makefiles can do directory remove with
791 # $(RMREPOSITORY) repositoryname
792 #
793 RMREPOSITORY = $(RMDIRHIER)
794
|
795 w.otsuka 1.63 ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
|
796 david.dillard 1.65 FLAGS += -DPEGASUS_USE_RELEASE_CONFIG_OPTIONS
|
797 w.otsuka 1.62 endif
798
799 ifdef PEGASUS_USE_RELEASE_DIRS
|
800 david.dillard 1.65 FLAGS += -DPEGASUS_USE_RELEASE_DIRS
|
801 w.otsuka 1.62 endif
|
802 mday 1.27
|
803 denise.eckstein 1.110 ifdef PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS
804 FLAGS += -DPEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS
805 endif
806
|
807 kumpf 1.64 # Unless otherwise specified, Pegasus libraries go in $(PEGASUS_HOME)/lib
808 ifndef PEGASUS_DEST_LIB_DIR
|
809 david.dillard 1.65 PEGASUS_DEST_LIB_DIR = lib
|
810 kumpf 1.64 endif
|
811 mday 1.28
|
812 gs.keenan 1.77 ifeq ($(OS),VMS)
813 DEFINES += -DPEGASUS_DEST_LIB_DIR="""$(PEGASUS_DEST_LIB_DIR)"""
814 else
815 DEFINES += -DPEGASUS_DEST_LIB_DIR=\"$(PEGASUS_DEST_LIB_DIR)\"
816 endif
817
|
818 w.otsuka 1.79 ################################################################################
819 ##
|
820 mike 1.105 ## PEGASUS_CLASS_CACHE_SIZE
821 ##
822 ## This environment variable gives the size of the class cache used by
823 ## the CIM repository. When it is undefined, the size defaults to something
824 ## relatively small (see src/Pegasus/Repository/CIMRepository.cpp). If
825 ## defined, it gives the size of the class cache. If it is 0 , the class
826 ## cache is not defined compiled in at all.
827 ##
828 ################################################################################
829
830 ifdef PEGASUS_CLASS_CACHE_SIZE
831 DEFINES += -DPEGASUS_CLASS_CACHE_SIZE=$(PEGASUS_CLASS_CACHE_SIZE)
832 endif
833
834 ################################################################################
835 ##
|
836 w.otsuka 1.79 ## Additional build flags passed in through environment variables.
837 ## These flags are added to the compile/link commands.
838 ##
839 ################################################################################
840
841 ifdef PEGASUS_EXTRA_CXX_FLAGS
842 EXTRA_CXX_FLAGS = $(PEGASUS_EXTRA_CXX_FLAGS)
843 endif
844
845 ifdef PEGASUS_EXTRA_C_FLAGS
846 EXTRA_C_FLAGS = $(PEGASUS_EXTRA_C_FLAGS)
847 endif
848
849 ifdef PEGASUS_EXTRA_LINK_FLAGS
850 EXTRA_LINK_FLAGS = $(PEGASUS_EXTRA_LINK_FLAGS)
851 endif
852
|
853 mike 1.126 ##==============================================================================
854 ##
855 ## By definining PEGASUS_USE_STATIC_LIBRARIES in the environment and STATIC
856 ## in the Makefile, a static library is produced rather than a shared one.
857 ## PEGASUS_USE_STATIC_LIBRARIES should be "true" or "false".
858 ##
859 ##==============================================================================
860
861 ifdef PEGASUS_USE_STATIC_LIBRARIES
862 ifeq ($(PEGASUS_USE_STATIC_LIBRARIES),true)
863 else
864 ifneq ($(PEGASUS_USE_STATIC_LIBRARIES),false)
865 $(error PEGASUS_USE_STATIC_LIBRARIES ($(PEGASUS_USE_STATIC_LIBRARIES)) invalid, must be true or false)
866 endif
867 endif
868 endif
|
869 mark.hamzy 1.127
|
870 mike 1.135.2.1 ##==============================================================================
871 ##
872 ## PEGASUS_ENABLE_PRIVILEGE_SEPARATION
873 ##
874 ## Enables privilege separation support (uses the executor process to
875 ## perform privileged operations).
876 ##
877 ##==============================================================================
878
879 ifdef PEGASUS_ENABLE_PRIVILEGE_SEPARATION
880 ifeq ($(PEGASUS_ENABLE_PRIVILEGE_SEPARATION),true)
881 DEFINES += -DPEGASUS_ENABLE_PRIVILEGE_SEPARATION
882 else
883 ifneq ($(PEGASUS_ENABLE_PRIVILEGE_SEPARATION),false)
884 $(error PEGASUS_ENABLE_PRIVILEGE_SEPARATION \
885 ($(PEGASUS_ENABLE_PRIVILEGE_SEPARATION)) invalid, must be true or false)
886 endif
887 endif
888 endif
|
889 mark.hamzy 1.127
890 ifndef PEGASUS_JAVA_CLASSPATH_DELIMITER
891 PEGASUS_JAVA_CLASSPATH_DELIMITER = :
892 endif
|
893 mark.hamzy 1.132
894 ifndef PEGASUS_JVM
895 PEGASUS_JVM = sun
896 endif
897 ifeq ($(PEGASUS_JVM),gcj)
898 PEGASUS_JAVA_COMPILER = gcj -C
899 PEGASUS_JAVA_JAR = fastjar
900 PEGASUS_JAVA_INTERPRETER = gij
901 else
902 PEGASUS_JAVA_COMPILER = javac -target 1.4 -source 1.4
903 PEGASUS_JAVA_JAR = jar
904 PEGASUS_JAVA_INTERPRETER = java
905 endif
|