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 karl 1.167.4.1.4.1 -include $(ROOT)/options.mak
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 kumpf 1.21 ifdef PEGASUS_TMP
|
63 david.dillard 1.65 TMP_DIR = $(subst \,/,$(PEGASUS_TMP))
|
64 kumpf 1.21 else
|
65 david.dillard 1.65 TMP_DIR = .
|
66 kumpf 1.21 endif
67
|
68 kumpf 1.26 ifdef PEGASUS_DISPLAYCONSUMER_DIR
|
69 david.dillard 1.65 DISPLAYCONSUMER_DIR = $(subst \,/,$(PEGASUS_DISPLAYCONSUMER_DIR))
|
70 kumpf 1.26 else
|
71 david.dillard 1.65 DISPLAYCONSUMER_DIR = $(subst \,/,$(PEGASUS_HOME))
|
72 kumpf 1.26 endif
73
|
74 aruran.ms 1.102 ifdef PEGASUS_DEBUG
75 PEGASUS_USE_DEBUG_BUILD_OPTIONS = 1
76 endif
77
|
78 david.dillard 1.66 PLATFORM_FILES=$(wildcard $(ROOT)/mak/platform*.mak)
|
79 karl 1.78 PLATFORM_TEMP=$(subst $(ROOT)/mak/platform_,, $(PLATFORM_FILES))
|
80 jim.wunderlich 1.104 VALID_PLATFORMS=$(subst .mak, , $(PLATFORM_TEMP))
|
81 mike 1.8
82 ifndef PEGASUS_PLATFORM
|
83 david.dillard 1.66 $(error PEGASUS_PLATFORM environment variable undefined. Please set to\
84 one of the following:$(VALID_PLATFORMS))
|
85 mike 1.8 endif
86
|
87 mike 1.1 ################################################################################
|
88 denise.eckstein 1.116 ifeq ($(findstring _GNU, $(PEGASUS_PLATFORM)), _GNU)
|
89 mike 1.118 ifdef CXX
90 GCC_VERSION = $(shell $(CXX) -dumpversion)
91 else
92 GCC_VERSION = $(shell g++ -dumpversion)
93 endif
|
94 denise.eckstein 1.116 else
95 GCC_VERSION =
96 endif
|
97 mike 1.1
|
98 denise.eckstein 1.143 #############################################################################
99 ## As a general rule, the directory structure for the object files mirrors
100 ## the directory structure of the source files. E.g.,
101 ## $PEGASUS_HOME/obj/Pegasus/Common contains the object files for the
102 ## source files in $PEGASUS_ROOT/src/Pegasus/Common. Each source-level
103 ## Makefile includes a DIR value that defines this common path (e.g.,
104 ## Pegasus/Common). In a small number of cases, source files are built
105 ## multiple times with difference compile options.
106 ## To handle this situation, the ALT_OBJ_DIR variable can be used to
107 ## specify an alternative object directory for use in building the
108 ## objects defined in the Makefile.
109 ##
110
111 ifndef ALT_OBJ_DIR
112 OBJ_DIR = $(HOME_DIR)/obj/$(DIR)
113 else
114 OBJ_DIR = $(HOME_DIR)/obj/$(ALT_OBJ_DIR)
115 endif
116
117 #############################################################################
118
|
119 kumpf 1.157 ifdef PEGASUS_TEST_VALGRIND_LOG_DIR
|
120 dmitry.mikulin 1.155 BIN_DIR = $(HOME_DIR)/bin_exe
121 VALGRIND_SCRIPT_BIN_DIR = $(HOME_DIR)/bin
122 else
123 BIN_DIR = $(HOME_DIR)/bin
124 endif
|
125 kumpf 1.22 LIB_DIR = $(HOME_DIR)/lib
|
126 chuck 1.35
127 # l10n
128 # define the location for the compiled messages
129 MSG_ROOT = $(HOME_DIR)/msg
|
130 kumpf 1.22
|
131 jim.wunderlich 1.90 #############################################################################
|
132 kumpf 1.140 ## The following REPOSITORY_XXX variables are only used within the
133 ## makefiles for building the repository (cimmofl) and running the tests.
|
134 jim.wunderlich 1.90 ## They have no effect on CIMconfig initial startup configuration.
135
136 #
|
137 kumpf 1.22 # define the location for the repository
|
138 jim.wunderlich 1.90 #
139 # NOTE: There is another variable efined in many of the test makefiles
140 # called REPOSITORYDIR. It is a local variable in each of those Makefiles
|
141 kumpf 1.140 # to localally control where the temporay small repository they
|
142 jim.wunderlich 1.90 # build, use and then delete is located. Most of the time it is set to TMP_DIR.
143 #
|
144 jim.wunderlich 1.91
|
145 kumpf 1.22 REPOSITORY_DIR = $(HOME_DIR)
|
146 jim.wunderlich 1.90
147 #
|
148 kumpf 1.140 # WARNING: The REPOSITORY_NAME varible is not used by all the test,
|
149 jim.wunderlich 1.90 # many of them are still hardcoded to "repository". What this means
|
150 kumpf 1.140 # is that you can change the repository name and build it. But you
|
151 jim.wunderlich 1.90 # cannot run the test without many of them failing
152 #
|
153 jim.wunderlich 1.91
|
154 jim.wunderlich 1.81 REPOSITORY_NAME = repository
|
155 jim.wunderlich 1.91
|
156 jim.wunderlich 1.90
|
157 jim.wunderlich 1.81 REPOSITORY_ROOT = $(REPOSITORY_DIR)/$(REPOSITORY_NAME)
158
|
159 kumpf 1.140 # define the repository mode
|
160 h.sterling 1.89 # XML = XML format
161 # BIN = Binary format
|
162 jim.wunderlich 1.81 #
|
163 jim.wunderlich 1.91 ifndef PEGASUS_REPOSITORY_MODE
164 ## set to default value
165 REPOSITORY_MODE = XML
|
166 kumpf 1.140 else
|
167 jim.wunderlich 1.91 ## validate assigned value
168 ifeq ($(PEGASUS_REPOSITORY_MODE),XML)
169 REPOSITORY_MODE = XML
170 else
171 ifeq ($(PEGASUS_REPOSITORY_MODE),BIN)
172 REPOSITORY_MODE = BIN
173 else
174 $(error PEGASUS_REPOSITORY_MODE ($(PEGASUS_REPOSITORY_MODE)) \
175 is invalid. It must be set to either XML or BIN)
176 endif
177 endif
|
178 jim.wunderlich 1.90 endif
179
|
180 jim.wunderlich 1.91
|
181 jim.wunderlich 1.90 ###########################################################################
|
182 mike 1.1
|
183 kumpf 1.23 # The two variables, CIM_SCHEMA_DIR and CIM_SCHEMA_VER,
|
184 chip 1.76 # are used to control the version of the CIM Schema
|
185 kumpf 1.23 # loaded into the Pegasus Internal, InterOp,
186 # root/cimv2 and various test namespaces.
187 #
|
188 chip 1.76 # Update the following two environment variables to
|
189 kumpf 1.23 # change the version.
190
|
191 kumpf 1.37 # The environment variable PEGASUS_CIM_SCHEMA can be used
|
192 chip 1.76 # to change the values of CIM_SCHEMA_DIR, CIM_SCHEMA_VER
|
193 kumpf 1.37 # and ALLOW_EXPERIMENTAL.
194 #
195 # To use the PEGASUS_CIM_SCHEMA variable the Schema mof
196 # files must be placed in the directory
|
197 denise.eckstein 1.115 # $(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
|
198 chip 1.76 #
|
199 kumpf 1.37 # The value of PEGASUS_CIM_SCHEMA must conform to the
200 # following syntax:
201 #
202 # CIM[Prelim]<CIM_SCHEMA_VER>
203 #
|
204 chip 1.76 # The string "Prelim" should be included if the
|
205 kumpf 1.37 # Schema contains "Experimental" class definitions.
206 #
207 # The value of <CIM_SCHEMA_VER> must be the value
|
208 chip 1.76 # of the version string included by the DMTF as
209 # part of the mof file names (e.g, CIM_Core27.mof).
|
210 kumpf 1.37 # Therefore, for example, the value of <CIM_SCHEMA_VER>
211 # for CIM27 Schema directories MUST be 27.
212 #
|
213 chip 1.76 # Examples of valid values of PEGASUS_CIM_SCHEMA
|
214 kumpf 1.37 # include CIMPrelim27, CIM27, CIMPrelim28, and CIM28.
215 #
216 # Note the CIMPrelim271 would NOT be a valid value
217 # for PEGASUS_CIM_SCHEMA because the version string
218 # portion of the mof files (e.g., CIM_Core27.mof) in
219 # the CIMPrelimin271 directory is 27 not 271.
|
220 kumpf 1.23
|
221 gerarda 1.29 # ***** CIM_SCHEMA_DIR INFO ****
222 # If CIM_SCHEMA_DIR changes to use a preliminary schema which
223 # has experimentals make sure and change the path below to appopriate
224 # directory path. Example: CIMPrelim271 is preliminary and has
225 # experimental classes. Since experimental classes exist the -aE
226 # option of the mof compiler needs to be set.
227 # *****
|
228 kumpf 1.37
|
229 denise.eckstein 1.154 ifndef PEGASUS_CIM_SCHEMA
|
230 kumpf 1.164 PEGASUS_CIM_SCHEMA=CIM217
|
231 denise.eckstein 1.154 endif
232
233 CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
234 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),)
235 CIM_SCHEMA_VER=
|
236 kumpf 1.37 else
|
237 denise.eckstein 1.154 CIM_SCHEMA_VER=$(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA)))
|
238 kumpf 1.37 endif
239
240 ifneq (, $(findstring Prelim, $(CIM_SCHEMA_DIR)))
|
241 david.dillard 1.65 ALLOW_EXPERIMENTAL = -aE
|
242 gerarda 1.29 else
|
243 david.dillard 1.65 ALLOW_EXPERIMENTAL =
|
244 gerarda 1.29 endif
245
|
246 bob 1.5 LEX = flex
247
|
248 jim.wunderlich 1.94 ## ======================================================================
249 ##
|
250 kumpf 1.140 ## PEGASUS_ENABLE_SORTED_DIFF
|
251 jim.wunderlich 1.94 ## This controls if the DIFFSORT function is used rather than a simple DIFF of
252 ## of the test results files to the static results file.
253 ##
254 ## Set to "true" enables the sorted diffs of results to static results files.
255 ## otherwise results in regular diffs of results to static results files.
|
256 kumpf 1.140 ## see bug 2283 for background information concerning this config variable.
|
257 jim.wunderlich 1.94 ##
258 ## Defaults to true.
259 ##
260 ##
261 ifndef PEGASUS_ENABLE_SORTED_DIFF
262 PEGASUS_ENABLE_SORTED_DIFF=true
263 endif
264
|
265 jim.wunderlich 1.86 ## ========================================================================
|
266 kumpf 1.140 ## DIFFSORT function definition
|
267 jim.wunderlich 1.86 ## Here is an example using the DIFFSORT function:
|
268 kumpf 1.140 ##
|
269 jim.wunderlich 1.86 ## difftest: FORCE
|
270 h.sterling 1.89 ## @ test > result
|
271 jim.wunderlich 1.86 ## @ $(call DIFFSORT,result,standard_result)
|
272 h.sterling 1.89 ## @ $(ECHO) +++++ all test passed
|
273 jim.wunderlich 1.86 ##
274
275 define NL
276
277
278 endef
279
|
280 kumpf 1.140 ifndef FORCE_NOCASE
281
|
282 jim.wunderlich 1.86 DIFFSORT = $(SORT) $(1) > $(1).tmp $(NL) \
283 $(SORT) $(2) > $(2).tmp $(NL) \
284 $(DIFF) $(1).tmp $(2).tmp $(NL) \
285 $(RM) -f $(1).tmp $(NL) \
286 $(RM) -f $(2).tmp $(NL)
287
|
288 marek 1.107 else
289
290 DIFFSORT = $(SORT) -f $(1) > $(1).tmp $(NL) \
291 $(SORT) -f $(2) > $(2).tmp $(NL) \
292 $(DIFF) -i $(1).tmp $(2).tmp $(NL) \
293 $(RM) -f $(1).tmp $(NL) \
294 $(RM) -f $(2).tmp $(NL)
295
296 endif
297
298 DIFFSORTNOCASE = $(SORT) $(1) > $(1).tmp $(NL) \
299 $(SORT) $(2) > $(2).tmp $(NL) \
300 $(DIFF) -i $(1).tmp $(2).tmp $(NL) \
301 $(RM) -f $(1).tmp $(NL) \
302 $(RM) -f $(2).tmp $(NL)
303
|
304 jim.wunderlich 1.104 #
305 # The following is used to define the usage message for MakeFile
306 #
307 # See the pegasus/Makfile for an exampleof its usage.
308 #
309 USAGE = @$(ECHO) " $(1)"
310
|
311 mike 1.8 ################################################################################
312 ##
313 ## Attempt to include a platform configuration file:
314 ##
315 ################################################################################
316
|
317 david.dillard 1.66 PLATFORM_FILE = $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
318 ifneq ($(wildcard $(PLATFORM_FILE)), )
319 include $(PLATFORM_FILE)
320 else
|
321 david.dillard 1.65 $(error PEGASUS_PLATFORM environment variable must be set to one of\
|
322 david.dillard 1.66 the following:$(VALID_PLATFORMS))
|
323 mike 1.8 endif
|
324 karl 1.17
|
325 karl 1.36 ################################################################################
326 ##
327 ## Set up any platform independent compile conditionals by adding them to
328 ## precreated FLAGS parameter.
|
329 chip 1.76 ## Assumes that the basic flags have been setup in FLAGS.
|
330 karl 1.36 ## Assumes that compile time flags are controlled with -D CLI option.
331 ##
332 ################################################################################
|
333 karl 1.17
|
334 kumpf 1.166 ############################################################################
335 # OpenPegasus relies on the existence of an external set of libraries to
336 # support localized messages. Today, the only supported package is
337 # the International Components for Unicode (ICU) OSS project,
338 # http://oss.software.ibm.com/icu. If PEGASUS_HAS_ICU is true,
339 # OpenPegasus will use the ICU library.
340 #
341 # ICU_INSTALL points to the directory containing the ICU installation.
342 # If set, the OpenPegasus will use this variable to locate the ICU
343 # include files and libraries. If not set, the ICU libraries are expected
344 # to be installed in a directory that is searched by default.
345 #
346 # If PEGASUS_HAS_ICU is not set and ICU_INSTALL is set, the value of
347 # PEGASUS_HAS_ICU will be set to true.
348 ############################################################################
349
350 ifdef PEGASUS_HAS_ICU
351 ifneq ($(PEGASUS_HAS_ICU),true)
352 ifneq ($(PEGASUS_HAS_ICU),false)
353 $(error PEGASUS_HAS_ICU ($(PEGASUS_HAS_ICU)) \
354 invalid, must be true or false)
355 kumpf 1.166 endif
356 endif
357 else
358 ifdef ICU_INSTALL
359 PEGASUS_HAS_ICU = true
360 endif
361 endif
362
363 ifdef PEGASUS_HAS_MESSAGES
364 DEFINES += -DPEGASUS_HAS_MESSAGES
365
366 ifneq ($(PEGASUS_HAS_ICU),true)
367 $(error Support for localized messages in OpenPegasus \
368 requires PEGASUS_HAS_ICU to be true)
369 endif
370 endif
371
372 ifeq ($(PEGASUS_HAS_ICU),true)
373 DEFINES += -DPEGASUS_HAS_ICU
374
375 ##################################
376 kumpf 1.166 ##
377 ## ICU_NO_UPPERCASE_ROOT if set, specifies NOT to uppercase the root
378 ## resource bundle, default is to uppercase the root resource bundle
379 ##
380 ##################################
381
382 ifdef ICU_NO_UPPERCASE_ROOT
383 CNV_ROOT_FLAGS =
384 else
385 CNV_ROOT_FLAGS = -u
386 endif
387
388 ####################################
389 ##
390 ## ICU_ROOT_BUNDLE_LANG if set, specifies the language that the root
391 ## resource bundle will be generated from. Defaults to _en if not set.
392 ## If set, for any directory containing resource bundles, there must
393 ## exist a file name: package($ICU_ROOT_BUNDLE_LANG).txt or the make
394 ## messages target will fail.
395 ##
396 ####################################
397 kumpf 1.166
398 ifdef ICU_ROOT_BUNDLE_LANG
399 MSG_ROOT_SOURCE = $(ICU_ROOT_BUNDLE_LANG)
400 else
401 MSG_ROOT_SOURCE = _en
402 endif
|
403 mike 1.167.4.1
404 ifdef ICU_INSTALL
405 MSG_COMPILE = $(ICU_INSTALL)/bin/genrb
406 else
407 MSG_COMPILE = genrb
408 endif
409
410 MSG_FLAGS =
411 MSG_SOURCE_EXT = .txt
412 MSG_COMPILE_EXT = .res
413
414 ifeq ($(OS),linux)
415 CNV_ROOT_CMD = $(BIN_DIR)/cnv2rootbundle
416 else
417 CNV_ROOT_CMD = cnv2rootbundle
418 endif
419
420 # The library path option is needed on all link commands with some ICU
421 # builds, because internal ICU library dependencies are resolved
422 # dynamically.
423 ifdef ICU_INSTALL
424 mike 1.167.4.1 ifeq ($(OS),zos)
425 # On z/OS, the -L option must appear before the -o option and
426 # the object (.o) and sidedeck (.x) files in the link command.
427 FLAGS += -L$(ICU_INSTALL)/lib
428 PR_FLAGS += -L$(ICU_INSTALL)/lib
429 else
430 EXTRA_LIBRARIES += -L$(ICU_INSTALL)/lib
431 endif
432 endif
433
434 # The ICU include path and library dependencies are restricted to
435 # where they are specifically needed.
436 ifeq ($(HAS_ICU_DEPENDENCY),true)
437 ifdef ICU_INSTALL
438 SYS_INCLUDES += -I$(ICU_INSTALL)/include
439 endif
440
441 ifeq ($(OS),windows)
442 EXTRA_LIBRARIES += \
443 $(ICU_INSTALL)/lib/icuuc.lib \
444 $(ICU_INSTALL)/lib/icuin.lib \
445 mike 1.167.4.1 $(ICU_INSTALL)/lib/icudt.lib
446 else
447 ifeq ($(OS),zos)
448 EXTRA_LIBRARIES += \
449 $(ICU_INSTALL)/lib/libicui18n.x \
450 $(ICU_INSTALL)/lib/libicuuc.x
451 else
452 EXTRA_LIBRARIES += -licuuc -licui18n
453 ifeq ($(OS),linux)
454 EXTRA_LIBRARIES += -licudata
455 endif
456 endif
457 endif
458 endif
|
459 kumpf 1.166 endif
|
460 jim.wunderlich 1.97
461 ################################################################################
462 ##
463 ## PEGASUS_MAX_THREADS_PER_SVC_QUEUE
464 ##
465 ## Controls the maximum number of threads allowed per message service queue.
466 ## It is allowed to range between 1 and MAX_THREADS_PER_SVC_QUEUE_LIMIT
|
467 kumpf 1.103 ## as set in pegasus/src/Pegasus/Common/MessageQueueService.cpp. If the
468 ## specified value is out of range, MAX_THREADS_PER_SVC_QUEUE_LIMIT is
469 ## used. The default value is MAX_THREADS_PER_SVC_QUEUE_DEFAULT, as
470 ## defined in pegasus/src/Pegasus/Common/MessageQueueService.cpp.
|
471 jim.wunderlich 1.98 ##
472 ## Label Current value
473 ## -------------------------------------- -------------
474 ## MAX_THREADS_PER_SVC_QUEUE_LIMIT 5000
475 ## MAX_THREADS_PER_SVC_QUEUE_DEFAULT 5
|
476 jim.wunderlich 1.97 ##
477 ##
478
479 ifdef PEGASUS_MAX_THREADS_PER_SVC_QUEUE
480 DEFINES += -DMAX_THREADS_PER_SVC_QUEUE=$(PEGASUS_MAX_THREADS_PER_SVC_QUEUE)
481 endif
482
|
483 jim.wunderlich 1.99 ##############################################################################
|
484 kumpf 1.140 ##
|
485 jim.wunderlich 1.99 ## PEGASUS_INDICATIONS_Q_THRESHOLD
486 ##
487 ## Controls if indications providers are stalled if the indications
488 ## service queue is too large.
489 ##
|
490 jim.wunderlich 1.100 ## defaults to not set.
|
491 jim.wunderlich 1.99 ##
492 ## It can be set to any positive value.
493 ##
|
494 jim.wunderlich 1.100 ## If not set providers are never stalled. This implies that the
|
495 jim.wunderlich 1.99 ## indications service queue may become as large as neccesary to hold all
496 ## the indicaitons generated.
497 ##
|
498 jim.wunderlich 1.100 ## If set to any value then providers are stalled by forcing them to sleep
|
499 jim.wunderlich 1.99 ## when they try to deliver an indication and the indications service queue
500 ## exceeds this value. They are resumed when the queue count falls 10 percent
|
501 kumpf 1.140 ## below this value.
|
502 jim.wunderlich 1.99 ##
503 ## Stall and resume log entries are made to inform the administrator
504 ## the condition has occured.
505 ##
506 ## WARNING: This also affects the Out of Process Providers (OOP Providers)
507 ## The OOP Providers use two one way pipes for communication.
508 ## By stalling the Provider this prevents the pipe from being read
509 ## which will cause the pipe to fill up and the remote side will block.
510 ## OOP Prividers mix indications and operations on these two pipes.
511 ## This means the operations will also be blocked as a side effect of
512 ## the indications being stalled.
|
513 kumpf 1.140 ##
|
514 jim.wunderlich 1.99 ##
515
516 ifdef PEGASUS_INDICATIONS_Q_THRESHOLD
517 DEFINES += -DPEGASUS_INDICATIONS_Q_THRESHOLD=$(PEGASUS_INDICATIONS_Q_THRESHOLD)
518 endif
519
|
520 jim.wunderlich 1.97
|
521 kumpf 1.87 # Allow PEGASUS_ASSERT statements to be disabled.
522 ifdef PEGASUS_NOASSERTS
523 DEFINES += -DNDEBUG
524 endif
525
|
526 mday 1.40 # do not compile trace code. sometimes it causes problems debugging
527 ifdef PEGASUS_REMOVE_TRACE
|
528 david.dillard 1.65 DEFINES += -DPEGASUS_REMOVE_TRACE
|
529 mday 1.40 endif
530
|
531 marek 1.167 # PEP 315
532 # Control whether compile with or without method entertexit trace code.
533 # A value other than 'true' or 'false' will cause a make error.
534 ifdef PEGASUS_REMOVE_METHODTRACE
535 ifeq ($(PEGASUS_REMOVE_METHODTRACE),true)
536 DEFINES += -DPEGASUS_REMOVE_METHODTRACE
537 else
538 ifneq ($(PEGASUS_REMOVE_METHODTRACE),false)
539 $(error PEGASUS_REMOVE_METHODTRACE ($(PEGASUS_REMOVE_METHODTRACE)) invalid, must be true or false)
540 endif
541 endif
542 endif
543
|
544 chuck 1.47 # PEP 161
545 # Control whether utf-8 filenames are supported by the repository
546 ifdef PEGASUS_SUPPORT_UTF8_FILENAME
|
547 david.dillard 1.65 DEFINES += -DPEGASUS_SUPPORT_UTF8_FILENAME
|
548 chuck 1.47
|
549 david.dillard 1.65 # Control whether utf-8 filenames in the repository are escaped
550 ifdef PEGASUS_REPOSITORY_ESCAPE_UTF8
551 DEFINES += -DPEGASUS_REPOSITORY_ESCAPE_UTF8
552 endif
|
553 chuck 1.47 endif
554
|
555 kumpf 1.49 #
556 # PEP 142
557 # The following flag need to be set to enable
558 # user group authorization functionality.
559 #
560 ifdef PEGASUS_ENABLE_USERGROUP_AUTHORIZATION
|
561 david.dillard 1.65 DEFINES += -DPEGASUS_ENABLE_USERGROUP_AUTHORIZATION
|
562 kumpf 1.49 endif
563
|
564 karl 1.159 ############################################################################
565 #
566 # PEGASUS_ENABLE_CQL and PEGASUS_DISABLE_CQL
567 # Set to enable CQL processor in indication subscriptions and query execution
568 # PEGASUS_DISABLE_CQL (PEP 193) has been depracated. New use model is:
569 #
570 # Use PEGASUS_ENABLE_CQL=true to enable compilation of CQL functions.
|
571 chuck 1.67 #
|
572 karl 1.159 # Use PEGASUS_ENABLE_CQL=false to disable compilation of CQL functions.
|
573 chuck 1.67 #
|
574 karl 1.159 # Default is PEGASUS_ENABLE_CQL=true if not defined external to config.mak
575 #
576
|
577 chuck 1.67 ifdef PEGASUS_DISABLE_CQL
|
578 carson.hovey 1.160 $(error PEGASUS_DISABLE_CQL has been deprecated. Please use PEGASUS_ENABLE_CQL=[true/false])
|
579 karl 1.159 endif
580
581 ifndef PEGASUS_ENABLE_CQL
582 # Default is true. CQL is enabled normally on all platforms unless specifically defined
583 PEGASUS_ENABLE_CQL=true
584 endif
585
586 ifeq ($(PEGASUS_ENABLE_CQL),true)
587 DEFINES += -DPEGASUS_ENABLE_CQL
588 else
589 ifneq ($(PEGASUS_ENABLE_CQL),false)
590 $(error PEGASUS_ENABLE_CQL ($(PEGASUS_ENABLE_CQL)) invalid, must be true or false)
591 endif
|
592 chuck 1.67 endif
593
|
594 karl 1.159 ############################################################################
|
595 kumpf 1.68 #
|
596 karl 1.159 # PEGASUS_OVERRIDE_PRODUCT_ID
|
597 kumpf 1.68 # PEP 186
598 # Allow override of product name/version/status. A file
599 # pegasus/src/Pegasus/Common/ProductVersion.h must exist when this
600 # flag is defined.
601 #
602 ifdef PEGASUS_OVERRIDE_PRODUCT_ID
603 DEFINES += -DPEGASUS_OVERRIDE_PRODUCT_ID
604 endif
605
|
606 kumpf 1.71 #
|
607 kumpf 1.106 # PEP 72
608 # Allow Out-of-Process Providers to be disabled by default
609 #
|
610 jim.wunderlich 1.113 ifdef PEGASUS_DEFAULT_ENABLE_OOP
611 ifeq ($(PEGASUS_DEFAULT_ENABLE_OOP),true)
612 DEFINES += -DPEGASUS_DEFAULT_ENABLE_OOP
|
613 jim.wunderlich 1.111 else
|
614 jim.wunderlich 1.113 ifneq ($(PEGASUS_DEFAULT_ENABLE_OOP),false)
615 $(error PEGASUS_DEFAULT_ENABLE_OOP ($(PEGASUS_DEFAULT_ENABLE_OOP)) invalid, must be true or false)
|
616 kumpf 1.140 endif
|
617 jim.wunderlich 1.111 endif
|
618 kumpf 1.106 endif
619
620 #
|
621 mateus.baur 1.130 # Allow to define the default value for the Provider User Context
622 # property as REQUESTOR.
623 # If is set and true use REQUESTOR
624 # If is not set or false use PRIVILEGED
625 #
626 ifdef PEGASUS_DEFAULT_USERCTXT_REQUESTOR
627 ifeq ($(PEGASUS_DEFAULT_USERCTXT_REQUESTOR),true)
628 DEFINES += -DPEGASUS_DEFAULT_USERCTXT_REQUESTOR
629 else
630 ifneq ($(PEGASUS_DEFAULT_USERCTXT_REQUESTOR),false)
631 $(error PEGASUS_DEFAULT_USERCTXT_REQUESTOR ($(PEGASUS_DEFAULT_USERCTXT_REQUESTOR)) invalid, must be true or false)
|
632 kumpf 1.140 endif
|
633 mateus.baur 1.130 endif
634 endif
635
636 #
|
637 kumpf 1.71 # PEP 197
638 # Allow the Provider User Context feature to be disabled.
639 #
|
640 kumpf 1.74 ifdef PEGASUS_DISABLE_PROV_USERCTXT
|
641 kumpf 1.71 DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT
|
642 kumpf 1.74 endif
|
643 kumpf 1.71
|
644 h.sterling 1.89 # Bug 2147
645 # Allow local domain socket usage to be disabled.
646 ifdef PEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET
647 DEFINES += -DPEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET
648 endif
649
|
650 chip 1.76 # PEP 211
651 # Controls object normalization support.
652 ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION
653 DEFINES += -DPEGASUS_ENABLE_OBJECT_NORMALIZATION
654 endif
655
|
656 a.dunfey 1.125 # PEP 233
657 # Controls support for EmbeddedInstance properties
658 # and parameters
|
659 a.dunfey 1.129 ifndef PEGASUS_EMBEDDED_INSTANCE_SUPPORT
660 PEGASUS_EMBEDDED_INSTANCE_SUPPORT = true
661 endif
662
663 ifeq ($(PEGASUS_EMBEDDED_INSTANCE_SUPPORT), true)
664 DEFINES += -DPEGASUS_EMBEDDED_INSTANCE_SUPPORT
665 else
666 ifneq ($(PEGASUS_EMBEDDED_INSTANCE_SUPPORT), false)
667 $(error PEGASUS_EMBEDDED_INSTANCE_SUPPORT ($(PEGASUS_EMBEDDED_INSTANCE_SUPPORT)) invalid, must be true or false)
|
668 a.dunfey 1.125 endif
669 endif
670
|
671 a.dunfey 1.129
|
672 kumpf 1.80 # Allow ExecQuery functionality to be enabled
673 ifndef PEGASUS_ENABLE_EXECQUERY
674 DEFINES += -DPEGASUS_DISABLE_EXECQUERY
675 endif
676
|
677 yi.zhou 1.85 # Allow System Log Handler to be enabled
678 ifdef PEGASUS_ENABLE_SYSTEM_LOG_HANDLER
679 DEFINES += -DPEGASUS_ENABLE_SYSTEM_LOG_HANDLER
680 endif
681
682 # Allow Email Handler to be enabled
683 ifdef PEGASUS_ENABLE_EMAIL_HANDLER
684 DEFINES += -DPEGASUS_ENABLE_EMAIL_HANDLER
685 endif
|
686 kumpf 1.49
|
687 h.sterling 1.109 # Allow qualifiers to be disabled for instance operations
688 ifdef PEGASUS_DISABLE_INSTANCE_QUALIFIERS
689 DEFINES += -DPEGASUS_DISABLE_INSTANCE_QUALIFIERS
690 endif
691
|
692 yi.zhou 1.108 # Controls snmp indication handler to use NET-SNMP to deliver trap
693 ifdef PEGASUS_USE_NET_SNMP
694 DEFINES += -DPEGASUS_USE_NET_SNMP
695 endif
696
|
697 denise.eckstein 1.120 ifdef PEGASUS_HAS_SSL
|
698 sushma.fernandes 1.152 DEFINES += -DPEGASUS_HAS_SSL
699
700 # Enable SSL Random file by default.
701 ifndef PEGASUS_USE_SSL_RANDOMFILE
702 PEGASUS_USE_SSL_RANDOMFILE = true
703 endif
704
705 # Allow SSL Random file functionality to be optionally disabled.
706 ifdef PEGASUS_USE_SSL_RANDOMFILE
707 ifeq ($(PEGASUS_USE_SSL_RANDOMFILE), true)
708 DEFINES += -DPEGASUS_SSL_RANDOMFILE
709 else
710 ifneq ($(PEGASUS_USE_SSL_RANDOMFILE), false)
711 $(error PEGASUS_USE_SSL_RANDOMFILE\
712 ($(PEGASUS_USE_SSL_RANDOMFILE)) invalid, \
713 must be true or false)
714 endif
715 endif
716 endif
|
717 kumpf 1.145
718 ifndef OPENSSL_COMMAND
|
719 denise.eckstein 1.147 ifdef OPENSSL_BIN
720 OPENSSL_COMMAND = $(OPENSSL_BIN)/openssl
721 else
722 OPENSSL_COMMAND = openssl
723 endif
|
724 kumpf 1.145 endif
725 ifndef OPENSSL_SET_SERIAL_SUPPORTED
726 ifneq (, $(findstring 0.9.6, $(shell $(OPENSSL_COMMAND) version)))
727 OPENSSL_SET_SERIAL_SUPPORTED = false
728 else
729 OPENSSL_SET_SERIAL_SUPPORTED = true
730 endif
|
731 denise.eckstein 1.120 endif
|
732 sushma.fernandes 1.123
|
733 kumpf 1.145 # Enable CRL verification
734 ifndef PEGASUS_ENABLE_SSL_CRL_VERIFICATION
735 PEGASUS_ENABLE_SSL_CRL_VERIFICATION = true
736 endif
|
737 sushma.fernandes 1.123
|
738 kumpf 1.145 # Check for Enable SSL CRL verification
739 ifdef PEGASUS_ENABLE_SSL_CRL_VERIFICATION
740 ifeq ($(PEGASUS_ENABLE_SSL_CRL_VERIFICATION), true)
741 DEFINES += -DPEGASUS_ENABLE_SSL_CRL_VERIFICATION
742 else
743 ifneq ($(PEGASUS_ENABLE_SSL_CRL_VERIFICATION), false)
744 $(error PEGASUS_ENABLE_SSL_CRL_VERIFICATION\
745 ($(PEGASUS_ENABLE_SSL_CRL_VERIFICATION)) invalid, \
746 must be true or false)
747 endif
|
748 sushma.fernandes 1.123 endif
749 endif
750 endif
|
751 denise.eckstein 1.120
|
752 jim.wunderlich 1.101 #
|
753 yi.zhou 1.134 # PEP 258
|
754 kumpf 1.153 # Allow Audit Logger to be disabled. It is enabled by default.
|
755 yi.zhou 1.134 #
|
756 kumpf 1.153
757 ifndef PEGASUS_ENABLE_AUDIT_LOGGER
758 PEGASUS_ENABLE_AUDIT_LOGGER = true
759 endif
760
761 ifdef PEGASUS_ENABLE_AUDIT_LOGGER
762 ifeq ($(PEGASUS_ENABLE_AUDIT_LOGGER),true)
763 DEFINES += -DPEGASUS_ENABLE_AUDIT_LOGGER
764 else
765 ifneq ($(PEGASUS_ENABLE_AUDIT_LOGGER),false)
766 $(error PEGASUS_ENABLE_AUDIT_LOGGER \
767 ($(PEGASUS_ENABLE_AUDIT_LOGGER)) invalid, must be true or false)
768 endif
769 endif
770 endif
771
772 # Check for use of deprecated variable
|
773 yi.zhou 1.134 ifdef PEGASUS_DISABLE_AUDIT_LOGGER
|
774 kumpf 1.153 $(error The PEGASUS_DISABLE_AUDIT_LOGGER variable is deprecated. \
775 Use PEGASUS_ENABLE_AUDIT_LOGGER=false instead)
|
776 yi.zhou 1.134 endif
777
|
778 dave.sudlik 1.142
779 #
780 # PEP 291
781 # Enable IPv6 support
782 #
|
783 venkat.puvvada 1.149
|
784 dave.sudlik 1.142 ifndef PEGASUS_ENABLE_IPV6
785 PEGASUS_ENABLE_IPV6 = true
786 endif
787
788 # Check for Enable IPv6 support
789 ifdef PEGASUS_ENABLE_IPV6
790 ifeq ($(PEGASUS_ENABLE_IPV6),true)
791 DEFINES += -DPEGASUS_ENABLE_IPV6
792 else
793 ifneq ($(PEGASUS_ENABLE_IPV6),false)
794 $(error PEGASUS_ENABLE_IPV6 ($(PEGASUS_ENABLE_IPV6)) \
795 invalid, must be true or false)
796 endif
797 endif
798 endif
799
|
800 venkat.puvvada 1.149 # Verify Test IPv6 support
801 # If PEGASUS_ENABLE_IPV6 is defined and PEGASUS_TEST_IPV6 is not defined, we set
802 # PEGASUS_TEST_IPV6 to the same value as PEGASUS_ENABLE_IPV6.
803 # You can explicitly set PEGASUS_TEST_IPV6 to false if you don't want to run the
804 # IPv6 tests (for example, on an IPv4 system that is running an IPv6-enabled
805 # version of Pegasus).
806 #
807 ifdef PEGASUS_TEST_IPV6
808 ifneq ($(PEGASUS_TEST_IPV6),true)
809 ifneq ($(PEGASUS_TEST_IPV6),false)
810 $(error PEGASUS_TEST_IPV6 ($(PEGASUS_TEST_IPV6)) \
811 invalid, must be true or false)
812 endif
813 endif
814 else
|
815 venkat.puvvada 1.150 PEGASUS_TEST_IPV6 = $(PEGASUS_ENABLE_IPV6)
|
816 venkat.puvvada 1.149 endif
817
|
818 yi.zhou 1.163 #
819 # PEP 322
820 # Allow tracking generated indications data to be disabled. It is enabled
821 # by default.
822 #
823
824 ifndef PEGASUS_ENABLE_INDICATION_COUNT
825 PEGASUS_ENABLE_INDICATION_COUNT = true
826 endif
827
828 ifdef PEGASUS_ENABLE_INDICATION_COUNT
829 ifeq ($(PEGASUS_ENABLE_INDICATION_COUNT),true)
830 DEFINES += -DPEGASUS_ENABLE_INDICATION_COUNT
831 else
832 ifneq ($(PEGASUS_ENABLE_INDICATION_COUNT),false)
833 $(error PEGASUS_ENABLE_INDICATION_COUNT \
834 ($(PEGASUS_ENABLE_INDICATION_COUNT)) invalid, must be true or false)
835 endif
836 endif
837 endif
838
|
839 karl 1.151 ############################################################################
|
840 yi.zhou 1.134 #
|
841 jim.wunderlich 1.101 # PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP
842 #
|
843 jim.wunderlich 1.112 # PEGASUS_DISABLE_SLP has been depracated. New use model is:
|
844 jim.wunderlich 1.101 #
|
845 jim.wunderlich 1.112 # Use PEGASUS_ENABLE_SLP=true to enable compilation of SLP functions.
846 #
|
847 kumpf 1.140 # Use PEGASUS_ENABLE_SLP=false to disable compilation of SLP functions.
|
848 jim.wunderlich 1.101 #
|
849 kumpf 1.140 # Currently (Aug. 12, 2005) Windows is the only platform that enables SLP
|
850 jim.wunderlich 1.101 # by default.
851 #
852 # NOTE. Effective with Bug # 2633 some platforms enable SLP.
|
853 karl 1.75 # To see which platforms look for platform make files that set
|
854 kumpf 1.140 # the variable PEGASUS_ENABLE_SLP.
|
855 jim.wunderlich 1.101 #
856 #
|
857 jim.wunderlich 1.112
|
858 karl 1.39 ifdef PEGASUS_ENABLE_SLP
|
859 jim.wunderlich 1.101 ifdef PEGASUS_DISABLE_SLP
860 $(error Conflicting defines PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP both set)
861 endif
|
862 jim.wunderlich 1.112 endif
863
864 ifdef PEGASUS_DISABLE_SLP
865 $(error PEGASUS_DISABLE_SLP has been deprecated. Please use PEGASUS_ENABLE_SLP=[true/false] )
866
867 PEGASUS_ENABLE_SLP=false
868
869 endif
870
871 ifdef PEGASUS_ENABLE_SLP
872 ifeq ($(PEGASUS_ENABLE_SLP),true)
|
873 david.dillard 1.65 DEFINES += -DPEGASUS_ENABLE_SLP
|
874 jim.wunderlich 1.112 else
875 ifneq ($(PEGASUS_ENABLE_SLP),false)
876 $(error PEGASUS_ENABLE_SLP ($(PEGASUS_ENABLE_SLP)) invalid, must be true or false)
|
877 kumpf 1.140 endif
|
878 jim.wunderlich 1.112 endif
|
879 karl 1.39 endif
|
880 karl 1.36
|
881 jim.wunderlich 1.121
882 ############################################################################
883 #
884 # PEGASUS_USE_OPENSLP
885 #
886 # Environment variable to set openslp as SLP environment to use
887 # for SLP Directory and User Agents.
888 #
889 # Allows enabling use of openslp interfaces for slp instead of the
890 # internal pegasus slp agent. Note that this does not disable the
891 # compilation of the internal agent code, etc. However, it assumes
892 # openslp is installed on the platform and changes the interfaces
893 # to match this. At this moment, this is a change specifically for
894 # adaptec but we expect to generalize it to provide openslp as a
895 # generalized alternative to ldapslp.
|
896 kumpf 1.140 # to use this. To set this function up,
|
897 jim.wunderlich 1.121 #
898 # Use this variable in conjunction with PEGASUS_OPENSLP_HOME
|
899 kumpf 1.140 # to enable OpenSlp as the slp implementation.
|
900 jim.wunderlich 1.121 #
901 # NOTE that it has no affect if the PEGASUS_ENABLE_SLP etc. flags are not set.
902 #
903
904 ifdef PEGASUS_USE_OPENSLP
|
905 mike 1.167.4.1 ifeq ($(PEGASUS_USE_OPENSLP),true)
906 ifeq ($(PEGASUS_ENABLE_SLP),true)
|
907 jim.wunderlich 1.121 DEFINES += -DPEGASUS_USE_OPENSLP
908 else
909 $(error PEGASUS_USE_OPENSLP defined but PEGASUS_ENABLE_SLP is not true. Please correct this inconsistency)
910 endif
|
911 mike 1.167.4.1 else
912 ifneq ($(PEGASUS_USE_OPENSLP), false)
913 $(error PEGASUS_USE_OPENSLP \
914 ($(PEGASUS_USE_OPENSLP)) \
915 invalid, must be true or false)
916 endif
917 endif
|
918 jim.wunderlich 1.121 endif
919
|
920 dave.sudlik 1.135 # PEP 267
921 # SLP reregistration support.
922 # PEGASUS_SLP_REG_TIMEOUT is defined as the SLP registration timeout
923 # interval, in minutes.
924 ifdef PEGASUS_SLP_REG_TIMEOUT
925 ifeq ($(PEGASUS_ENABLE_SLP),true)
926 DEFINES += -DPEGASUS_SLP_REG_TIMEOUT=$(PEGASUS_SLP_REG_TIMEOUT)
927 else
928 $(error PEGASUS_SLP_REG_TIMEOUT defined but PEGASUS_ENABLE_SLP is not true. Please correct this inconsistency)
929 endif
930 endif
|
931 jim.wunderlich 1.121
932 ############################################################################
933 #
934 # PEGASUS_OPENSLP_HOME
935 #
936 # Environment variable to set home location for OpenSLP include and library
|
937 kumpf 1.140 # files if they are located somewhere other than /usr/include and /usr/lib.
|
938 jim.wunderlich 1.121 #
939 # PEGASUS_USE_OPENSLP must also be defined for this environment variable
940 # to have any effect.
941 #
|
942 kumpf 1.140 # This is the directory level within which both the include and lib
943 # directories holding the OpenSLP files will be found.
|
944 jim.wunderlich 1.121 #
|
945 kumpf 1.140 # EG: If the are located in /opt/OpenSLP/include and /opt/OpenSLP/lib
|
946 jim.wunderlich 1.121 # then this environment variable should be set to /opt/OpenSLP.
947 #
948
949
|
950 sushma.fernandes 1.114 #
|
951 kumpf 1.140 # Enable this flag to allow the handshake to continue regardless of verification result
|
952 sushma.fernandes 1.114 #
953 ifdef PEGASUS_OVERRIDE_SSL_CERT_VERIFICATION_RESULT
954 DEFINES += -DPEGASUS_OVERRIDE_SSL_CERT_VERIFICATION_RESULT
955 endif
956
|
957 karl 1.151 ############################################################################
958 #
959 # PEGASUS_ENABLE_INTEROP_PROVIDER
960 # Enables the interop provider AND the server profile.
961 # initially this was activated by setting either the perfinst or slp enable
962 # flags. This allows activating this function without any either perfinst or
963 # slp enabled. Note that if either of these are enabled, this funtion is also
964 # enabled
965
966 ## if either slp or perfinst are enabled and this is false, flag error
967 ## This gets messy because should account for both postive and negative on
968 ## interop so we don't get multiples.
969
970 ifdef PEGASUS_ENABLE_SLP
971 ifeq ($(PEGASUS_ENABLE_SLP),true)
972 ifndef PEGASUS_ENABLE_INTEROP_PROVIDER
973 PEGASUS_ENABLE_INTEROP_PROVIDER = true
974 else
975 ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),false)
976 $(error PEGASUS_ENABLE_INTEROP_PROVIDER ($(PEGASUS_ENABLE_INTEROP_PROVIDER)) invalid, must be true if SLP enabled)
977 endif
978 karl 1.151 endif
979 endif
980 endif
981
982 ## if PERFINST enabled, set to force interop.
983 ifndef PEGASUS_DISABLE_PERFINST
984 ifndef PEGASUS_ENABLE_INTEROP_PROVIDER
985 PEGASUS_ENABLE_INTEROP_PROVIDER = true
986 else
987 ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),false)
988 $(error PEGASUS_ENABLE_INTEROP_PROVIDER ($(PEGASUS_ENABLE_INTEROP_PROVIDER)) invalid, must be true if PERFINST enabled)
989 endif
990 endif
991 endif
992
993 ifdef PEGASUS_ENABLE_INTEROP_PROVIDER
994 ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),true)
995 DEFINES += -DPEGASUS_ENABLE_INTEROP_PROVIDER
996 else
997 ifneq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),false)
998 $(error PEGASUS_ENABLE_INTEROP_PROVIDER ($(PEGASUS_ENABLE_INTEROP_PROVIDER)) invalid, must be true or false)
999 karl 1.151 endif
1000 endif
1001 endif
1002
|
1003 venkat.puvvada 1.165 #
1004 ## PEP 323, DMTF Indications Profile support, stage 1
1005 #
1006 ifdef PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT
1007 ifeq ($(PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT), true)
1008 ifndef PEGASUS_ENABLE_INTEROP_PROVIDER
1009 PEGASUS_ENABLE_INTEROP_PROVIDER = true
1010 else
1011 ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),false)
1012 $(error PEGASUS_ENABLE_INTEROP_PROVIDER ($(PEGASUS_ENABLE_INTEROP_PROVIDER)) invalid, must be true if DMTF Indications profile support is enabled)
1013 endif
1014 endif
1015 DEFINES += -DPEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT
1016 else
1017 ifneq ($(PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT),false)
1018 $(error PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT ($(PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT)) invalid, must be true or false)
1019 endif
1020 endif
1021 endif
|
1022 karl 1.151
1023 ############################################################################
|
1024 karl 1.60 # set PEGASUS_DEBUG into the DEFINES if it exists.
1025 # Note that this flag is the general separator between
1026 # debug compiles and non-debug compiles and controls both
1027 # the use of any debug options on compilers and linkers
1028 # and general debug support that we want to be turned on in
|
1029 chip 1.76 # debug mode.
|
1030 karl 1.60 ifdef PEGASUS_DEBUG
|
1031 david.dillard 1.65 DEFINES += -DPEGASUS_DEBUG
|
1032 kumpf 1.88
1033 # Indications debugging options
1034 ifdef PEGASUS_INDICATION_PERFINST
1035 DEFINES += -DPEGASUS_INDICATION_PERFINST
1036 endif
1037
1038 ifdef PEGASUS_INDICATION_HASHTRACE
1039 DEFINES += -DPEGASUS_INDICATION_HASHTRACE
1040 endif
|
1041 kumpf 1.131
1042 # Setup the conditional compile for client displays.
1043 ifdef PEGASUS_CLIENT_TRACE_ENABLE
1044 DEFINES += -DPEGASUS_CLIENT_TRACE_ENABLE
1045 endif
|
1046 karl 1.60 endif
1047
|
1048 chuck 1.42 # compile in the experimental APIs
|
1049 david.dillard 1.65 DEFINES += -DPEGASUS_USE_EXPERIMENTAL_INTERFACES
|
1050 chuck 1.42
|
1051 kumpf 1.93 # Ensure that the deprecated interfaces are defined in the Pegasus libraries.
1052 # One may wish to disable these interfaces if binary compatibility with
1053 # previous Pegasus releases is not required.
1054 ifndef PEGASUS_DISABLE_DEPRECATED_INTERFACES
1055 DEFINES += -DPEGASUS_USE_DEPRECATED_INTERFACES
1056 endif
1057
|
1058 w.white 1.57 # Set compile flag to control compilation of CIMOM statistics
|
1059 karl 1.73 ifdef PEGASUS_DISABLE_PERFINST
|
1060 marek 1.136 DEFINES += -DPEGASUS_DISABLE_PERFINST
|
1061 w.white 1.57 endif
|
1062 kumpf 1.56
|
1063 karl 1.96 # Set compile flag to control compilation of SNIA Extensions
1064 ifdef PEGASUS_SNIA_EXTENSIONS
|
1065 marek 1.136 DEFINES += -DPEGASUS_SNIA_EXTENSIONS
|
1066 karl 1.96 endif
1067
|
1068 denise.eckstein 1.119 ifdef PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER
1069 ifeq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER), true)
|
1070 marek 1.136 DEFINES += -DPEGASUS_ENABLE_CMPI_PROVIDER_MANAGER
|
1071 denise.eckstein 1.119 else
1072 ifneq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER), false)
1073 $(error PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER \
1074 ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER)) invalid, \
1075 must be true or false)
1076 endif
1077 endif
1078 endif
1079
|
1080 mark.hamzy 1.124 ifdef PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER
1081 ifeq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), true)
|
1082 marek 1.136 DEFINES += -DPEGASUS_ENABLE_JMPI_PROVIDER_MANAGER
|
1083 mark.hamzy 1.124 else
1084 ifneq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), false)
1085 $(error PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER \
1086 ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER)) invalid, \
1087 must be true or false)
1088 endif
1089 endif
1090 endif
1091
|
1092 kumpf 1.95 # Allow remote CMPI functionality to be enabled
1093 ifdef PEGASUS_ENABLE_REMOTE_CMPI
|
1094 marek 1.136 DEFINES += -DPEGASUS_ENABLE_REMOTE_CMPI
|
1095 kumpf 1.95 endif
1096
|
1097 kumpf 1.56 ############################################################
1098 #
1099 # Set any vendor-specific compile flags
1100 #
1101 ############################################################
1102
1103 ifdef PEGASUS_VENDOR_HP
|
1104 david.dillard 1.65 DEFINES+= -DPEGASUS_VENDOR_HP
|
1105 kumpf 1.56 endif
1106
|
1107 chip 1.76
|
1108 karl 1.17 ############################################################
1109 #
1110 # Set up other Make Variables that depend on platform config files
1111 #
1112 ############################################################
1113
1114 # This is temporary until we end up with a better place to
1115 # put this variable
1116 # Makefiles can do directory remove with
1117 # $(RMREPOSITORY) repositoryname
1118 #
1119 RMREPOSITORY = $(RMDIRHIER)
1120
|
1121 w.otsuka 1.63 ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
|
1122 marek 1.136 DEFINES += -DPEGASUS_USE_RELEASE_CONFIG_OPTIONS
|
1123 w.otsuka 1.62 endif
1124
1125 ifdef PEGASUS_USE_RELEASE_DIRS
|
1126 marek 1.136 DEFINES += -DPEGASUS_USE_RELEASE_DIRS
|
1127 w.otsuka 1.62 endif
|
1128 mday 1.27
|
1129 denise.eckstein 1.110 ifdef PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS
|
1130 marek 1.136 DEFINES += -DPEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS
|
1131 denise.eckstein 1.110 endif
1132
|
1133 kumpf 1.64 # Unless otherwise specified, Pegasus libraries go in $(PEGASUS_HOME)/lib
1134 ifndef PEGASUS_DEST_LIB_DIR
|
1135 david.dillard 1.65 PEGASUS_DEST_LIB_DIR = lib
|
1136 kumpf 1.64 endif
|
1137 mday 1.28
|
1138 gs.keenan 1.77 ifeq ($(OS),VMS)
1139 DEFINES += -DPEGASUS_DEST_LIB_DIR="""$(PEGASUS_DEST_LIB_DIR)"""
1140 else
1141 DEFINES += -DPEGASUS_DEST_LIB_DIR=\"$(PEGASUS_DEST_LIB_DIR)\"
1142 endif
1143
|
1144 w.otsuka 1.79 ################################################################################
1145 ##
|
1146 mike 1.105 ## PEGASUS_CLASS_CACHE_SIZE
1147 ##
1148 ## This environment variable gives the size of the class cache used by
1149 ## the CIM repository. When it is undefined, the size defaults to something
1150 ## relatively small (see src/Pegasus/Repository/CIMRepository.cpp). If
1151 ## defined, it gives the size of the class cache. If it is 0 , the class
1152 ## cache is not defined compiled in at all.
1153 ##
1154 ################################################################################
1155
1156 ifdef PEGASUS_CLASS_CACHE_SIZE
1157 DEFINES += -DPEGASUS_CLASS_CACHE_SIZE=$(PEGASUS_CLASS_CACHE_SIZE)
1158 endif
1159
1160 ################################################################################
1161 ##
|
1162 w.otsuka 1.79 ## Additional build flags passed in through environment variables.
1163 ## These flags are added to the compile/link commands.
1164 ##
1165 ################################################################################
1166
1167 ifdef PEGASUS_EXTRA_CXX_FLAGS
1168 EXTRA_CXX_FLAGS = $(PEGASUS_EXTRA_CXX_FLAGS)
1169 endif
1170
1171 ifdef PEGASUS_EXTRA_C_FLAGS
1172 EXTRA_C_FLAGS = $(PEGASUS_EXTRA_C_FLAGS)
1173 endif
1174
1175 ifdef PEGASUS_EXTRA_LINK_FLAGS
1176 EXTRA_LINK_FLAGS = $(PEGASUS_EXTRA_LINK_FLAGS)
1177 endif
1178
|
1179 mike 1.126 ##==============================================================================
1180 ##
1181 ## By definining PEGASUS_USE_STATIC_LIBRARIES in the environment and STATIC
1182 ## in the Makefile, a static library is produced rather than a shared one.
1183 ## PEGASUS_USE_STATIC_LIBRARIES should be "true" or "false".
1184 ##
1185 ##==============================================================================
1186
1187 ifdef PEGASUS_USE_STATIC_LIBRARIES
1188 ifeq ($(PEGASUS_USE_STATIC_LIBRARIES),true)
1189 else
1190 ifneq ($(PEGASUS_USE_STATIC_LIBRARIES),false)
1191 $(error PEGASUS_USE_STATIC_LIBRARIES ($(PEGASUS_USE_STATIC_LIBRARIES)) invalid, must be true or false)
|
1192 kumpf 1.140 endif
1193 endif
1194 endif
1195
1196 ##==============================================================================
1197 ##
1198 ## PEGASUS_ENABLE_PRIVILEGE_SEPARATION
1199 ##
1200 ## Enables privilege separation support (uses the executor process to
1201 ## perform privileged operations).
1202 ##
1203 ##==============================================================================
1204
1205 ifdef PEGASUS_ENABLE_PRIVILEGE_SEPARATION
1206 ifeq ($(PEGASUS_ENABLE_PRIVILEGE_SEPARATION),true)
1207 DEFINES += -DPEGASUS_ENABLE_PRIVILEGE_SEPARATION
1208 else
1209 ifneq ($(PEGASUS_ENABLE_PRIVILEGE_SEPARATION),false)
1210 $(error PEGASUS_ENABLE_PRIVILEGE_SEPARATION \
1211 ($(PEGASUS_ENABLE_PRIVILEGE_SEPARATION)) invalid, must be true or false)
1212 endif
1213 kumpf 1.140 endif
1214
|
1215 kumpf 1.148 ## Defines the user context of the cimservermain process when privilege
|
1216 kumpf 1.140 ## separation is enabled.
|
1217 kumpf 1.148 PEGASUS_CIMSERVERMAIN_USER = cimsrvr
|
1218 kumpf 1.141 DEFINES += -DPEGASUS_CIMSERVERMAIN_USER=\"$(PEGASUS_CIMSERVERMAIN_USER)\"
|
1219 mike 1.126 endif
|
1220 mark.hamzy 1.127
|
1221 kumpf 1.162
1222 ##==============================================================================
1223 ##
1224 ## PEGASUS_ENABLE_PROTOCOL_WSMAN
1225 ##
1226 ## Enables the WS-Management protocol in the CIM Server.
1227 ##
1228 ##==============================================================================
1229
1230 ifndef PEGASUS_ENABLE_PROTOCOL_WSMAN
1231 PEGASUS_ENABLE_PROTOCOL_WSMAN = false
1232 endif
1233
1234 ifeq ($(PEGASUS_ENABLE_PROTOCOL_WSMAN),true)
1235 DEFINES += -DPEGASUS_ENABLE_PROTOCOL_WSMAN
1236 else
1237 ifneq ($(PEGASUS_ENABLE_PROTOCOL_WSMAN),false)
1238 $(error PEGASUS_ENABLE_PROTOCOL_WSMAN ($(PEGASUS_ENABLE_PROTOCOL_WSMAN)) invalid, must be true or false)
1239 endif
1240 endif
1241
|
1242 mike 1.167.4.1 ##==============================================================================
1243 ##
1244 ## PEGASUS_PAM_AUTHENTICATION
1245 ##
1246 ##==============================================================================
1247
1248 ifdef PEGASUS_PAM_AUTHENTICATION
1249 # Compile in the code required for PAM authentication
1250 # and compile out the code that uses the password file.
1251 DEFINES += -DPEGASUS_PAM_AUTHENTICATION -DPEGASUS_NO_PASSWORDFILE
1252
1253 # Link with libpam only where it is needed.
1254 ifeq ($(HAS_PAM_DEPENDENCY),true)
1255 SYS_LIBS += -lpam
1256 endif
1257 endif
|
1258 kumpf 1.162
|
1259 kumpf 1.140 ##==============================================================================
1260 ##
1261 ## PEGASUS_USE_PAM_STANDALONE_PROC
1262 ##
1263 ##==============================================================================
1264
1265 ifdef PEGASUS_USE_PAM_STANDALONE_PROC
1266 DEFINES += -DPEGASUS_USE_PAM_STANDALONE_PROC
1267 endif
1268
1269 ##==============================================================================
|
1270 mark.hamzy 1.127
1271 ifndef PEGASUS_JAVA_CLASSPATH_DELIMITER
1272 PEGASUS_JAVA_CLASSPATH_DELIMITER = :
1273 endif
|
1274 mark.hamzy 1.132
1275 ifndef PEGASUS_JVM
1276 PEGASUS_JVM = sun
1277 endif
1278 ifeq ($(PEGASUS_JVM),gcj)
1279 PEGASUS_JAVA_COMPILER = gcj -C
1280 PEGASUS_JAVA_JAR = fastjar
1281 PEGASUS_JAVA_INTERPRETER = gij
1282 else
1283 PEGASUS_JAVA_COMPILER = javac -target 1.4 -source 1.4
1284 PEGASUS_JAVA_JAR = jar
1285 PEGASUS_JAVA_INTERPRETER = java
1286 endif
|
1287 dmitry.mikulin 1.155
1288 # Disable client timeouts when we're doing a valgrind build
|
1289 kumpf 1.157 ifdef PEGASUS_TEST_VALGRIND_LOG_DIR
|
1290 dmitry.mikulin 1.156 DEFINES += -DPEGASUS_DISABLE_CLIENT_TIMEOUT -DPEGASUS_TEST_VALGRIND
|
1291 dmitry.mikulin 1.155 endif
1292
|
1293 s.kodali 1.161 ## ======================================================================
1294 ##
1295 ## PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE
1296 ## This controls allowing the path specified in the Location property of
1297 ## PG_ProviderModule class.
1298 ##
1299 ## Set to "true", It allows the absolute path specified in the Location property
1300 ## of PG_ProviderModule class. Otherwise it does not allow the absolute path.
1301 ## see bug 7289 for background information concerning this config variable.
1302 ##
1303
1304 ifndef PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE
1305 PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE=false
1306 endif
1307
1308 ifdef PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE
1309 ifeq ($(PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE),true)
1310 DEFINES += -DPEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE
1311 else
1312 ifneq ($(PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE),false)
1313 $(error PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE \
1314 s.kodali 1.161 ($(PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE)) \
1315 invalid, must be true or false)
1316 endif
1317 endif
1318 endif
1319
|