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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2