(file) Return to config.mak CVS log (file) (dir) Up to [Pegasus] / pegasus / mak

  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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2