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

Diff for /pegasus/mak/config.mak between version 1.111 and 1.195.2.4

version 1.111, 2005/12/14 22:15:31 version 1.195.2.4, 2013/07/20 18:32:35
Line 1 
Line 1 
 #//%2005////////////////////////////////////////////////////////////////////////  #//%LICENSE////////////////////////////////////////////////////////////////
 #// #//
 #// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development  #// Licensed to The Open Group (TOG) under one or more contributor license
 #// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.  #// agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
 #// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;  #// this work for additional information regarding copyright ownership.
 #// IBM Corp.; EMC Corporation, The Open Group.  #// Each contributor licenses this file to you under the OpenPegasus Open
 #// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;  #// Source License; you may not use this file except in compliance with the
 #// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.  #// License.
 #// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;  
 #// EMC Corporation; VERITAS Software Corporation; The Open Group.  
 #// #//
 #// Permission is hereby granted, free of charge, to any person obtaining a copy  #// Permission is hereby granted, free of charge, to any person obtaining a
 #// of this software and associated documentation files (the "Software"), to  #// copy of this software and associated documentation files (the "Software"),
 #// deal in the Software without restriction, including without limitation the  #// to deal in the Software without restriction, including without limitation
 #// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or  #// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 #// sell copies of the Software, and to permit persons to whom the Software is  #// and/or sell copies of the Software, and to permit persons to whom the
 #// furnished to do so, subject to the following conditions:  #// Software is furnished to do so, subject to the following conditions:
 #// #//
 #// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN  #// The above copyright notice and this permission notice shall be included
 #// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED  #// in all copies or substantial portions of the Software.
 #// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT  
 #// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR  
 #// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT  
 #// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN  
 #// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION  
 #// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  
 #// #//
 #//==============================================================================  #// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
   #// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   #// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
   #// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
   #// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
   #// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
   #// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   #//
   #//////////////////////////////////////////////////////////////////////////
 ################################################################################ ################################################################################
 ## ##
 ## Get external environment variables. Note that all external environment ## Get external environment variables. Note that all external environment
Line 55 
Line 55 
     $(error PEGASUS_ROOT environment variable undefined)     $(error PEGASUS_ROOT environment variable undefined)
 endif endif
  
 # l10n  
 ifdef ICU_ROOT  
     ICUROOT =  $(subst \,/,$(ICU_ROOT))  
 endif  
   
 ifdef PEGASUS_TMP ifdef PEGASUS_TMP
     TMP_DIR = $(subst \,/,$(PEGASUS_TMP))     TMP_DIR = $(subst \,/,$(PEGASUS_TMP))
 else else
Line 86 
Line 81 
 endif endif
  
 ################################################################################ ################################################################################
   ifeq ($(findstring _GNU, $(PEGASUS_PLATFORM)), _GNU)
       ifdef CXX
         GCC_VERSION = $(shell $(CXX) -dumpversion)
       else
         GCC_VERSION = $(shell g++ -dumpversion)
       endif
   else
       GCC_VERSION =
   endif
   
   #############################################################################
   ## As a general rule, the directory structure for the object files mirrors
   ## the directory structure of the source files.  E.g.,
   ## $PEGASUS_HOME/obj/Pegasus/Common contains the object files for the
   ## source files in $PEGASUS_ROOT/src/Pegasus/Common.  Each source-level
   ## Makefile includes a DIR value that defines this common path (e.g.,
   ## Pegasus/Common). In a small number of cases, source files are built
   ## multiple times with difference compile options.
   ## To handle this situation, the ALT_OBJ_DIR variable can be used to
   ## specify an alternative object directory for use in building the
   ## objects defined in the Makefile.
   ##
  
   ifndef ALT_OBJ_DIR
     ifeq ($(PEGASUS_INTERNAL_ENABLE_32BIT_PROVIDER_SUPPORT),true)
       OBJ_DIR = $(HOME_DIR)/obj32/$(DIR)
     else
 OBJ_DIR = $(HOME_DIR)/obj/$(DIR) OBJ_DIR = $(HOME_DIR)/obj/$(DIR)
     endif
   else
     ifeq ($(PEGASUS_INTERNAL_ENABLE_32BIT_PROVIDER_SUPPORT),true)
       OBJ_DIR = $(HOME_DIR)/obj/$(ALT_OBJ_DIR)32
     else
       OBJ_DIR = $(HOME_DIR)/obj/$(ALT_OBJ_DIR)
     endif
   endif
   
   #############################################################################
   
   ifdef PEGASUS_TEST_VALGRIND_LOG_DIR
       BIN_DIR = $(HOME_DIR)/bin_exe
       VALGRIND_SCRIPT_BIN_DIR = $(HOME_DIR)/bin
   else
 BIN_DIR = $(HOME_DIR)/bin BIN_DIR = $(HOME_DIR)/bin
   endif
   
   ifeq ($(PEGASUS_INTERNAL_ENABLE_32BIT_PROVIDER_SUPPORT),true)
     LIB_DIR = $(HOME_DIR)/lib32
   else
 LIB_DIR = $(HOME_DIR)/lib LIB_DIR = $(HOME_DIR)/lib
   endif
  
 # l10n # l10n
 # define the location for the compiled messages # define the location for the compiled messages
Line 161 
Line 203 
 # #
 # To use the PEGASUS_CIM_SCHEMA variable the Schema mof # To use the PEGASUS_CIM_SCHEMA variable the Schema mof
 # files must be placed in the directory # files must be placed in the directory
 # $(PEGAUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)  # $(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
 # #
 # The value of PEGASUS_CIM_SCHEMA must conform to the # The value of PEGASUS_CIM_SCHEMA must conform to the
 # following syntax: # following syntax:
Line 193 
Line 235 
 # option of the mof compiler needs to be set. # option of the mof compiler needs to be set.
 # ***** # *****
  
 ifdef PEGASUS_CIM_SCHEMA  ## Sets default CIM Schema if PEGASUS_CIM_SCHEMA not defined.
   ## NOTE: If the default below is changed, please update the definition
   ## of default for this variable in pegasus/doc/BuildAndReleaseOptions.html
   ifndef PEGASUS_CIM_SCHEMA
       PEGASUS_CIM_SCHEMA=CIM236
   endif
   
     CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)     CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
     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),)     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),)
        CIM_SCHEMA_VER=        CIM_SCHEMA_VER=
     else     else
        CIM_SCHEMA_VER=$(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA)))        CIM_SCHEMA_VER=$(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA)))
     endif     endif
 else  
     CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/CIM29  
     CIM_SCHEMA_VER=  
 endif  
  
 ifneq (, $(findstring Prelim, $(CIM_SCHEMA_DIR))) ifneq (, $(findstring Prelim, $(CIM_SCHEMA_DIR)))
     ALLOW_EXPERIMENTAL = -aE     ALLOW_EXPERIMENTAL = -aE
Line 299 
Line 343 
 ## ##
 ################################################################################ ################################################################################
  
   ############################################################################
   # OpenPegasus relies on the existence of an external set of libraries to
   # support localized messages.  Today, the only supported package is
   # the International Components for Unicode (ICU) OSS project,
   # http://oss.software.ibm.com/icu.  If PEGASUS_HAS_ICU is true,
   # OpenPegasus will use the ICU library.
   #
   # ICU_INSTALL points to the directory containing the ICU installation.
   # If set, the OpenPegasus will use this variable to locate the ICU
   # include files and libraries.  If not set, the ICU libraries are expected
   # to be installed in a directory that is searched by default.
   #
   # If PEGASUS_HAS_ICU is not set and ICU_INSTALL is set, the value of
   # PEGASUS_HAS_ICU will be set to true.
   ############################################################################
   
   ifdef PEGASUS_HAS_ICU
       ifneq ($(PEGASUS_HAS_ICU),true)
           ifneq ($(PEGASUS_HAS_ICU),false)
               $(error PEGASUS_HAS_ICU ($(PEGASUS_HAS_ICU)) \
                   invalid, must be true or false)
           endif
       endif
   else
       ifdef ICU_INSTALL
           PEGASUS_HAS_ICU = true
       endif
   endif
   
   ifdef PEGASUS_HAS_MESSAGES
       DEFINES += -DPEGASUS_HAS_MESSAGES
   
       ifneq ($(PEGASUS_HAS_ICU),true)
           $(error Support for localized messages in OpenPegasus \
               requires PEGASUS_HAS_ICU to be true)
       endif
   endif
   
   
   ifeq ($(PEGASUS_HAS_ICU),true)
       DEFINES += -DPEGASUS_HAS_ICU
   
       ####################################
       ##
       ## ICU_ROOT_BUNDLE_LANG if set, specifies the language that the root
       ## resource bundle will be generated from.  Defaults to _en if not set.
       ## If set, for any directory containing resource bundles, there must
       ## exist a file name:  package($ICU_ROOT_BUNDLE_LANG).txt or the make
       ## messages target will fail.
       ##
       ####################################
   
       ifdef ICU_ROOT_BUNDLE_LANG
           MSG_ROOT_SOURCE = $(ICU_ROOT_BUNDLE_LANG)
       else
           MSG_ROOT_SOURCE = _en
       endif
   
       ifdef ICU_INSTALL
           MSG_COMPILE = $(ICU_INSTALL)/bin/genrb
       else
           MSG_COMPILE = genrb
       endif
   
       MSG_FLAGS =
       MSG_SOURCE_EXT = .txt
       MSG_COMPILE_EXT = .res
   
       ifeq ($(OS),linux)
           CNV_ROOT_CMD = $(BIN_DIR)/cnv2rootbundle
       else
           CNV_ROOT_CMD = cnv2rootbundle
       endif
   
       # The library path option is needed on all link commands with some ICU
       # builds, because internal ICU library dependencies are resolved
       # dynamically.
       ifdef ICU_INSTALL
           ifeq ($(OS),zos)
               # On z/OS, the -L option must appear before the -o option and
               # the object (.o) and sidedeck (.x) files in the link command.
               FLAGS += -L$(ICU_INSTALL)/lib
               PR_FLAGS += -L$(ICU_INSTALL)/lib
           else
               EXTRA_LIBRARIES += -L$(ICU_INSTALL)/lib
           endif
       endif
   
       # The ICU include path and library dependencies are restricted to
       # where they are specifically needed.
       ifeq ($(HAS_ICU_DEPENDENCY),true)
           ifdef ICU_INSTALL
               SYS_INCLUDES += -I$(ICU_INSTALL)/include
           endif
   
           ifeq ($(OS),windows)
               EXTRA_LIBRARIES += \
                   $(ICU_INSTALL)/lib/icuuc.lib \
                   $(ICU_INSTALL)/lib/icuin.lib \
                   $(ICU_INSTALL)/lib/icudt.lib
           else
               ifeq ($(OS),zos)
                   EXTRA_LIBRARIES += \
                       $(ICU_INSTALL)/lib/libicui18n$(DYNLIB_SUFFIX) \
                       $(ICU_INSTALL)/lib/libicuuc$(DYNLIB_SUFFIX)
               else
                   EXTRA_LIBRARIES += -licuuc -licui18n
                   ifeq ($(OS),linux)
                       EXTRA_LIBRARIES += -licudata
                   endif
               endif
           endif
       endif
   endif
  
 ################################################################################ ################################################################################
 ## ##
Line 322 
Line 480 
   DEFINES += -DMAX_THREADS_PER_SVC_QUEUE=$(PEGASUS_MAX_THREADS_PER_SVC_QUEUE)   DEFINES += -DMAX_THREADS_PER_SVC_QUEUE=$(PEGASUS_MAX_THREADS_PER_SVC_QUEUE)
 endif endif
  
 ##############################################################################  # Allow PEGASUS_ASSERT statements to be disabled.
 ##  ifdef PEGASUS_NOASSERTS
 ## PEGASUS_INDICATIONS_Q_THRESHOLD      DEFINES += -DNDEBUG -DPEGASUS_NOASSERTS
 ##  endif
 ## Controls if indications providers are stalled if the indications  
 ## service queue is too large.  
 ##  
 ##      defaults to not set.  
 ##  
 ##      It can be set to any positive value.  
 ##  
 ## If not set providers are never stalled. This implies that the  
 ## indications service queue may become as large as neccesary to hold all  
 ## the indicaitons generated.  
 ##  
 ## If set to any value then providers are stalled by forcing them to sleep  
 ## when they try to deliver an indication and the indications service queue  
 ## exceeds this value. They are resumed when the queue count falls 10 percent  
 ## below this value.  
 ##  
 ## Stall and resume log entries are made to inform the administrator  
 ## the condition has occured.  
 ##  
 ## WARNING: This also affects the Out of Process Providers (OOP Providers)  
 ##    The OOP Providers use two one way pipes for communication.  
 ##    By stalling the Provider this prevents the pipe from being read  
 ##    which will cause the pipe to fill up and the remote side will block.  
 ##    OOP Prividers mix indications and operations on these two pipes.  
 ##    This means the operations will also be blocked as a side effect of  
 ##    the indications being stalled.  
 ##  
 ##  
  
 ifdef PEGASUS_INDICATIONS_Q_THRESHOLD  # do not compile trace code. sometimes it causes problems debugging
   DEFINES += -DPEGASUS_INDICATIONS_Q_THRESHOLD=$(PEGASUS_INDICATIONS_Q_THRESHOLD)  ifdef PEGASUS_REMOVE_TRACE
       DEFINES += -DPEGASUS_REMOVE_TRACE
 endif endif
  
  
 # Setup the conditional compile for client displays.  ifdef PEGASUS_PLATFORM_FOR_32BIT_PROVIDER_SUPPORT
 #     PLATFORM_FILE_32 = $(ROOT)/mak/platform_$(PEGASUS_PLATFORM_FOR_32BIT_PROVIDER_SUPPORT).mak
 ifdef PEGASUS_CLIENT_TRACE_ENABLE     ifeq ($(wildcard $(PLATFORM_FILE_32)), )
     DEFINES += -DPEGASUS_CLIENT_TRACE_ENABLE        $(error  PEGASUS_PLATFORM_FOR_32BIT_PROVIDER_SUPPORT  environment variable must be set to one of\
           the following:$(VALID_PLATFORMS))
      endif
        DEFINES += -DPEGASUS_PLATFORM_FOR_32BIT_PROVIDER_SUPPORT
      ifdef PEGASUS_PROVIDER_MANAGER_32BIT_LIB_DIR
          DEFINES += -DPEGASUS_PROVIDER_MANAGER_32BIT_LIB_DIR=\"$(PEGASUS_PROVIDER_MANAGER_32BIT_LIB_DIR)\"
      endif
 endif endif
  
 # Allow PEGASUS_ASSERT statements to be disabled.  # PEP 315
 ifdef PEGASUS_NOASSERTS  # Control whether compile with or without method entertexit trace code.
     DEFINES += -DNDEBUG  # A value other than 'true' or 'false' will cause a make error.
   ifdef PEGASUS_REMOVE_METHODTRACE
     ifeq ($(PEGASUS_REMOVE_METHODTRACE),true)
       DEFINES += -DPEGASUS_REMOVE_METHODTRACE
     else
       ifneq ($(PEGASUS_REMOVE_METHODTRACE),false)
         $(error PEGASUS_REMOVE_METHODTRACE ($(PEGASUS_REMOVE_METHODTRACE)) invalid, must be true or false)
       endif
     endif
 endif endif
  
 # do not compile trace code. sometimes it causes problems debugging  # Control whether the class definitions in the repository contain elements
 ifdef PEGASUS_REMOVE_TRACE  # propagated from superclass definitions.
     DEFINES += -DPEGASUS_REMOVE_TRACE  
   ifndef PEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES
       PEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES = false
   endif
   
   ifeq ($(PEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES),true)
       DEFINES += -DPEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES
   else
       ifneq ($(PEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES),false)
           $(error PEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES ($(PEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES)) invalid, must be true or false)
       endif
   endif
   
   # SQLite repository support
   
   ifndef PEGASUS_USE_SQLITE_REPOSITORY
       PEGASUS_USE_SQLITE_REPOSITORY = false
   endif
   
   ifeq ($(PEGASUS_USE_SQLITE_REPOSITORY),true)
       ifeq ($(PEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES),true)
           $(error PEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES may not be set to true when PEGASUS_USE_SQLITE_REPOSITORY is true)
       endif
       DEFINES += -DPEGASUS_USE_SQLITE_REPOSITORY
   else
       ifneq ($(PEGASUS_USE_SQLITE_REPOSITORY),false)
           $(error PEGASUS_USE_SQLITE_REPOSITORY ($(PEGASUS_USE_SQLITE_REPOSITORY)) invalid, must be true or false)
       endif
 endif endif
  
 # PEP 161 # PEP 161
 # Control whether utf-8 filenames are supported by the repository  # Control whether utf-8 filenames are supported by the repository.
   # Note: These options only apply to the file-based repository, not SQLite.
 ifdef PEGASUS_SUPPORT_UTF8_FILENAME ifdef PEGASUS_SUPPORT_UTF8_FILENAME
     DEFINES += -DPEGASUS_SUPPORT_UTF8_FILENAME     DEFINES += -DPEGASUS_SUPPORT_UTF8_FILENAME
  
Line 396 
Line 569 
     DEFINES += -DPEGASUS_ENABLE_USERGROUP_AUTHORIZATION     DEFINES += -DPEGASUS_ENABLE_USERGROUP_AUTHORIZATION
 endif endif
  
   ############################################################################
   #
   # PEGASUS_ENABLE_CQL and PEGASUS_DISABLE_CQL
   # Set to enable CQL processor in indication subscriptions and query execution
   # PEGASUS_DISABLE_CQL (PEP 193) has been depracated. New use model is:
   #
   # Use PEGASUS_ENABLE_CQL=true  to enable  compilation of CQL functions.
 # #
 # PEP 193  # Use PEGASUS_ENABLE_CQL=false to disable compilation of CQL functions.
 # The following flag need to be set to disable  
 # CQL in indication subscriptions  
 # #
   # Default is PEGASUS_ENABLE_CQL=true if not defined external to config.mak
   #
   
 ifdef PEGASUS_DISABLE_CQL ifdef PEGASUS_DISABLE_CQL
     DEFINES += -DPEGASUS_DISABLE_CQL      $(error PEGASUS_DISABLE_CQL has been deprecated. Please use PEGASUS_ENABLE_CQL=[true/false])
   endif
   
   ifndef PEGASUS_ENABLE_CQL
       # Default is true. CQL is enabled normally on all platforms unless specifically defined
       PEGASUS_ENABLE_CQL=true
   endif
   
   ifeq ($(PEGASUS_ENABLE_CQL),true)
       DEFINES += -DPEGASUS_ENABLE_CQL
   else
       ifneq ($(PEGASUS_ENABLE_CQL),false)
           $(error PEGASUS_ENABLE_CQL ($(PEGASUS_ENABLE_CQL)) invalid, must be true or false)
       endif
 endif endif
  
   ############################################################################
 # #
   # PEGASUS_OVERRIDE_PRODUCT_ID
 # PEP 186 # PEP 186
 # Allow override of product name/version/status.  A file # Allow override of product name/version/status.  A file
 # pegasus/src/Pegasus/Common/ProductVersion.h must exist when this # pegasus/src/Pegasus/Common/ProductVersion.h must exist when this
Line 419 
Line 615 
 # PEP 72 # PEP 72
 # Allow Out-of-Process Providers to be disabled by default # Allow Out-of-Process Providers to be disabled by default
 # #
 ifdef PEGASUS_DEFAULT_OOP_ON  ifdef PEGASUS_DEFAULT_ENABLE_OOP
   ifeq ($(PEGASUS_DEFAULT_OOP_ON),true)    ifeq ($(PEGASUS_DEFAULT_ENABLE_OOP),true)
     DEFINES += -DPEGASUS_DEFAULT_OOP_ON      DEFINES += -DPEGASUS_DEFAULT_ENABLE_OOP
   else   else
     ifneq ($(PEGASUS_DEFAULT_OOP_ON),false)      ifneq ($(PEGASUS_DEFAULT_ENABLE_OOP),false)
       $(error PEGASUS_DEFAULT_OOP_ON ($(PEGASUS_DEFAULT_OOP_ON)) invalid, must be true or false)        $(error PEGASUS_DEFAULT_ENABLE_OOP ($(PEGASUS_DEFAULT_ENABLE_OOP)) invalid, must be true or false)
     endif     endif
   endif   endif
 endif endif
  
 # #
 # PEP 197  # Allow to define the default value for the Provider User Context
 # Allow the Provider User Context feature to be disabled.  # property as REQUESTOR.
   # If is set and true use REQUESTOR
   # If is not set or false use PRIVILEGED
 # #
 ifdef PEGASUS_DISABLE_PROV_USERCTXT  ifdef PEGASUS_DEFAULT_USERCTXT_REQUESTOR
     DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT    ifeq ($(PEGASUS_DEFAULT_USERCTXT_REQUESTOR),true)
       DEFINES += -DPEGASUS_DEFAULT_USERCTXT_REQUESTOR
 else else
     ifdef PEGASUS_DISABLE_PROV_USERCTXT_REQUESTOR      ifneq ($(PEGASUS_DEFAULT_USERCTXT_REQUESTOR),false)
         DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_REQUESTOR        $(error PEGASUS_DEFAULT_USERCTXT_REQUESTOR ($(PEGASUS_DEFAULT_USERCTXT_REQUESTOR)) invalid, must be true or false)
     endif  
     ifdef PEGASUS_DISABLE_PROV_USERCTXT_DESIGNATED  
         DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_DESIGNATED  
     endif     endif
     ifdef PEGASUS_DISABLE_PROV_USERCTXT_PRIVILEGED  
         DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_PRIVILEGED  
     endif     endif
     ifdef PEGASUS_DISABLE_PROV_USERCTXT_CIMSERVER  
         DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_CIMSERVER  
     endif     endif
   
   #
   # PEP 197
   # Allow the Provider User Context feature to be disabled.
   #
   ifdef PEGASUS_DISABLE_PROV_USERCTXT
       DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT
 endif endif
  
 # Bug 2147 # Bug 2147
Line 484 
Line 683 
  
 # Controls snmp indication handler to use NET-SNMP to deliver trap # Controls snmp indication handler to use NET-SNMP to deliver trap
 ifdef PEGASUS_USE_NET_SNMP ifdef PEGASUS_USE_NET_SNMP
      ifeq ($(PEGASUS_USE_NET_SNMP),true)
   DEFINES += -DPEGASUS_USE_NET_SNMP   DEFINES += -DPEGASUS_USE_NET_SNMP
      else
         ifneq ($(PEGASUS_USE_NET_SNMP),false)
            $(error PEGASUS_USE_NET_SNMP ($(PEGASUS_USE_NET_SNMP)) invalid, must be true or false)
         endif
      endif
   endif
   # Controls snmp indication handler to use NET-SNMP V3 features.
   ifndef PEGASUS_ENABLE_NET_SNMPV3
       ifeq ($(PEGASUS_USE_NET_SNMP),true)
          PEGASUS_ENABLE_NET_SNMPV3=true
       else
           PEGASUS_ENABLE_NET_SNMPV3=false
       endif
   endif
   
   ifeq ($(PEGASUS_ENABLE_NET_SNMPV3),true)
       ifneq ($(PEGASUS_USE_NET_SNMP),true)
           $(error PEGASUS_USE_NET_SNMP should be set to true when PEGASUS_ENABLE_NET_SNMPV3 is true)
       endif
       DEFINES += -DPEGASUS_ENABLE_NET_SNMPV3
   else
       ifneq ($(PEGASUS_ENABLE_NET_SNMPV3),false)
           $(error PEGASUS_ENABLE_NET_SNMPV3 ($(PEGASUS_ENABLE_NET_SNMPV3)) invalid, must be true or false)
       endif
   endif
   
   ifdef PEGASUS_HAS_SSL
       DEFINES += -DPEGASUS_HAS_SSL
   
       # Enable SSL Random file by default.
       ifndef PEGASUS_USE_SSL_RANDOMFILE
           PEGASUS_USE_SSL_RANDOMFILE = true
       endif
   
       # Allow SSL Random file functionality to be optionally disabled.
       ifdef PEGASUS_USE_SSL_RANDOMFILE
           ifeq ($(PEGASUS_USE_SSL_RANDOMFILE), true)
               DEFINES += -DPEGASUS_SSL_RANDOMFILE
           else
               ifneq ($(PEGASUS_USE_SSL_RANDOMFILE), false)
                   $(error PEGASUS_USE_SSL_RANDOMFILE\
                        ($(PEGASUS_USE_SSL_RANDOMFILE)) invalid, \
                         must be true or false)
               endif
           endif
       endif
   
       ifndef OPENSSL_COMMAND
           ifdef OPENSSL_BIN
               OPENSSL_COMMAND = $(OPENSSL_BIN)/openssl
           else
               OPENSSL_COMMAND = openssl
           endif
       endif
       ifndef OPENSSL_SET_SERIAL_SUPPORTED
           ifneq (, $(findstring 0.9.6, $(shell $(OPENSSL_COMMAND) version)))
               OPENSSL_SET_SERIAL_SUPPORTED = false
           else
               OPENSSL_SET_SERIAL_SUPPORTED = true
           endif
       endif
   
       # Enable CRL verification
       ifndef PEGASUS_ENABLE_SSL_CRL_VERIFICATION
           PEGASUS_ENABLE_SSL_CRL_VERIFICATION = true
       endif
   
       # Check for Enable SSL CRL verification
       ifdef PEGASUS_ENABLE_SSL_CRL_VERIFICATION
           ifeq ($(PEGASUS_ENABLE_SSL_CRL_VERIFICATION), true)
               DEFINES += -DPEGASUS_ENABLE_SSL_CRL_VERIFICATION
           else
               ifneq ($(PEGASUS_ENABLE_SSL_CRL_VERIFICATION), false)
                   $(error PEGASUS_ENABLE_SSL_CRL_VERIFICATION\
                        ($(PEGASUS_ENABLE_SSL_CRL_VERIFICATION)) invalid, \
                         must be true or false)
               endif
           endif
       endif
 endif endif
  
 # #
 # PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP  # PEP 258
   # Allow Audit Logger to be disabled.  It is enabled by default.
 # #
 # Use PEGASUS_ENABLE_SLP to enable SLP functions in the Pegasus standard  
 # compile on those platforms that do not enable it by default.  ifndef PEGASUS_ENABLE_AUDIT_LOGGER
       PEGASUS_ENABLE_AUDIT_LOGGER = true
   endif
   
   ifdef PEGASUS_ENABLE_AUDIT_LOGGER
       ifeq ($(PEGASUS_ENABLE_AUDIT_LOGGER),true)
           DEFINES += -DPEGASUS_ENABLE_AUDIT_LOGGER
       else
           ifneq ($(PEGASUS_ENABLE_AUDIT_LOGGER),false)
               $(error PEGASUS_ENABLE_AUDIT_LOGGER \
                 ($(PEGASUS_ENABLE_AUDIT_LOGGER)) invalid, must be true or false)
           endif
       endif
   endif
   
   # Check for use of deprecated variable
   ifdef PEGASUS_DISABLE_AUDIT_LOGGER
       $(error The PEGASUS_DISABLE_AUDIT_LOGGER variable is deprecated. \
           Use PEGASUS_ENABLE_AUDIT_LOGGER=false instead)
   endif
   
   
   #
   # PEP 291
   # Enable IPv6 support
   #
   
   ifndef PEGASUS_ENABLE_IPV6
       PEGASUS_ENABLE_IPV6 = true
   endif
   
   # Check for Enable IPv6 support
   ifdef PEGASUS_ENABLE_IPV6
     ifeq ($(PEGASUS_ENABLE_IPV6),true)
       DEFINES += -DPEGASUS_ENABLE_IPV6
     else
       ifneq ($(PEGASUS_ENABLE_IPV6),false)
         $(error PEGASUS_ENABLE_IPV6 ($(PEGASUS_ENABLE_IPV6)) \
          invalid, must be true or false)
       endif
     endif
   endif
   
   # Verify Test IPv6 support
   # If PEGASUS_ENABLE_IPV6 is defined and PEGASUS_TEST_IPV6 is not defined, we set
   # PEGASUS_TEST_IPV6 to the same value as PEGASUS_ENABLE_IPV6.
   # You can explicitly set PEGASUS_TEST_IPV6 to false if you don't want to run the
   # IPv6 tests (for example, on an IPv4 system that is running an IPv6-enabled
   # version of Pegasus).
 # #
 # Use PEGASUS_DISABLE_SLP to disable SLP on those platforms that enable  ifdef PEGASUS_TEST_IPV6
 # it by default.    ifneq ($(PEGASUS_TEST_IPV6),true)
       ifneq ($(PEGASUS_TEST_IPV6),false)
         $(error PEGASUS_TEST_IPV6 ($(PEGASUS_TEST_IPV6)) \
          invalid, must be true or false)
       endif
     endif
   else
     PEGASUS_TEST_IPV6 = $(PEGASUS_ENABLE_IPV6)
   endif
   
 # #
 # Currently (Aug. 12, 2005) Windows is the only platform that enables SLP  # PEP 322
   # Allow tracking generated indications data to be disabled.  It is enabled
 # by default. # by default.
 # #
   
   ifndef PEGASUS_ENABLE_INDICATION_COUNT
       PEGASUS_ENABLE_INDICATION_COUNT = true
   endif
   
   ifdef PEGASUS_ENABLE_INDICATION_COUNT
       ifeq ($(PEGASUS_ENABLE_INDICATION_COUNT),true)
           DEFINES += -DPEGASUS_ENABLE_INDICATION_COUNT
       else
           ifneq ($(PEGASUS_ENABLE_INDICATION_COUNT),false)
               $(error PEGASUS_ENABLE_INDICATION_COUNT \
                 ($(PEGASUS_ENABLE_INDICATION_COUNT)) invalid, must be true or false)
           endif
       endif
   endif
   
   ############################################################################
   #
   # PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP
   #
   # PEGASUS_DISABLE_SLP has been deprecated. New use model is:
   #
   # Use PEGASUS_ENABLE_SLP=true  to enable  compilation of SLP functions.
   #
   # Use PEGASUS_ENABLE_SLP=false to disable compilation of SLP functions.
   #
 # NOTE. Effective with Bug # 2633 some platforms enable SLP. # NOTE. Effective with Bug # 2633 some platforms enable SLP.
 # To see which platforms look for platform make files that set # To see which platforms look for platform make files that set
 # the variable PEGASUS_ENABLE_SLP. # the variable PEGASUS_ENABLE_SLP.
 # #
 # #
   
 ifdef PEGASUS_ENABLE_SLP ifdef PEGASUS_ENABLE_SLP
   ifdef PEGASUS_DISABLE_SLP   ifdef PEGASUS_DISABLE_SLP
     $(error Conflicting defines PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP both set)     $(error Conflicting defines PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP both set)
   endif   endif
   endif
   
   ifdef PEGASUS_DISABLE_SLP
       $(error PEGASUS_DISABLE_SLP has been deprecated. Please use PEGASUS_ENABLE_SLP=[true/false] )
   
   PEGASUS_ENABLE_SLP=false
   
   endif
   
   ifdef PEGASUS_ENABLE_SLP
     ifeq ($(PEGASUS_ENABLE_SLP),true)
     DEFINES += -DPEGASUS_ENABLE_SLP     DEFINES += -DPEGASUS_ENABLE_SLP
     else
       ifneq ($(PEGASUS_ENABLE_SLP),false)
         $(error PEGASUS_ENABLE_SLP ($(PEGASUS_ENABLE_SLP)) invalid, must be true or false)
 endif endif
     endif
   endif
   
  
   ############################################################################
   #
   # PEGASUS_USE_OPENSLP
   
   ## NOTE: This variable has been deprecated and superceeded by the use of
   ## PEGASUS_USE_EXTERNAL_SLP. The use of this variable may be
   ## removed from Pegasus in future releases. It is converted to the
   ## PEGASUS_USE_EXTERNAL_SLP variable in the following function.
   ## Do not allow PEGASUS_USE_EXTERNAL_SLP if PEGASUS_ENABLE_SLP not set and
   ## insure that PEGASUS_USE_OPENSLP and PEGASUS_USE_EXTERNAL_SLP are not used
   ## simultaneously
   #
   # Environment variable to set openslp as SLP environment to use
   # for SLP Directory and User Agents.
   #
   # Allows enabling use of openslp interfaces for slp instead of the
   # internal pegasus slp agent.  Note that this does not disable the
   # compilation of the internal agent code, etc.  However, it assumes
   # openslp is installed on the platform and changes the interfaces
   # to match this.
   #
   # Use this variable in conjunction with PEGASUS_OPENSLP_HOME
   # to enable OpenSlp as the slp implementation.
   #
   # NOTE that it has no affect if the PEGASUS_ENABLE_SLP etc. flags are not set.
   #
   
   ifdef PEGASUS_USE_OPENSLP
     ifdef PEGASUS_USE_EXTERNAL_SLP
         $(error Both PEGASUS_USE_OPENSLP and PEGASUS_USE_EXTERNAL_SLP defined. \
             Please use PEGASUS_USE_EXTERNAL_SLP)
     endif
     ## if PEGASUS_USE_OPENSLP used, convert to EXTERNAL_SLP variables
     ## as defined for openslp
     ifeq ($(PEGASUS_USE_OPENSLP),true)
       ifeq ($(PEGASUS_ENABLE_SLP),true)
         export PEGASUS_USE_EXTERNAL_SLP=openslp
         PEGASUS_USE_OPENSLP=
       else
         $(error PEGASUS_USE_OPENSLP defined but PEGASUS_ENABLE_SLP is not true. \
           Please correct this inconsistency)
       endif
     else
       ifneq ($(PEGASUS_USE_OPENSLP), false)
         $(error PEGASUS_USE_OPENSLP \
               ($(PEGASUS_USE_OPENSLP)) \
               invalid, must be true or false)
       endif
     endif
   endif
   
   #########################################################################
   # PEP 267
   # SLP reregistration support.
   # PEGASUS_SLP_REG_TIMEOUT is defined as the SLP registration timeout
   # interval, in minutes.
   ifdef PEGASUS_SLP_REG_TIMEOUT
       ifeq ($(PEGASUS_ENABLE_SLP),true)
           DEFINES += -DPEGASUS_SLP_REG_TIMEOUT=$(PEGASUS_SLP_REG_TIMEOUT)
        else
           $(error PEGASUS_SLP_REG_TIMEOUT defined but PEGASUS_ENABLE_SLP is not true. \
               Please correct this inconsistency)
        endif
    endif
   
   ############################################################################
   #
   # PEGASUS_USE_EXTERNAL_SLP
   
   # Environment variable to set an external slp implementation as the SLP
   # environment to use for SLP Directory Agents.
   
   # This allows setting any one of several possible external SLP SAs as the
   # interface for the SLP provider to communicate with in managing SLP templates
   # in place of the internal SLP agent provided with Pegasus.
   # Note: This does not disable the compilation of the internal agent code since
   # this is used for the SLP UA defined with the pegasus client.
   # Pegasus assumes that the external SLP defined is installed on the platform
   # and running when pegasus is started. It changes the interfaces from the SLP
   # provider to match the defined SLP implementation.
   
   # This environment variable superceedes the use of PEGASUS_USE_OPENSLP since
   # openslp is considered one of the valid external SLP environments usable by
   # pegasus.
   
   # The variable uses the value component to define a name for the external SLP
   # environment that must match one of the names defined below.
   
   # This variable is not allowed if the PEGASUS_ENABLE_SLP flag is not set.
   
   # Allow only predefined string values for the variable corresponding
   # to external slp types that pegasus knows.
   # Valid types are openslp (1) and solarisslp (2)
   EXTERNAL_SLP_TYPES = openslp solarisslp
   
   ifdef PEGASUS_USE_EXTERNAL_SLP
     ifeq ($(PEGASUS_ENABLE_SLP),true)
       ifeq ($(PEGASUS_USE_EXTERNAL_SLP),openslp)
         DEFINES += -DPEGASUS_USE_EXTERNAL_SLP_TYPE=1
       else
         ifeq ($(PEGASUS_USE_EXTERNAL_SLP),solarisslp)
            DEFINES += -DPEGASUS_USE_EXTERNAL_SLP_TYPE=2
         else
           $(error PEGASUS_USE_EXTERNAL_SLP value ($(PEGASUS_USE_EXTERNAL_SLP)) \
             invalid. It must be one of valid SLP external types \
             ($(EXTERNAL_SLP_TYPES)) )
         endif
       endif
     endif
   endif
   
   ############################################################################
   #
   # PEGASUS_OPENSLP_HOME
   #
   # PEGASUS_OPENSLP_HOME superceeded by PEGASUS_OPEN_EXTERNAL_SLP_HOME. If
   # PEGASUS_OPENSLP_HOME is encountered it will create PEGASUS_OPEN_EXTERNAL_SLP_HOME
   #
   # Environment variable to set home location for OpenSLP include and library
   # files if they are located somewhere other than /usr/include and /usr/lib.
   #
   # PEGASUS_USE_OPENSLP must also be defined for this environment variable
   # to have any effect.
   #
   # This is the directory level within which both the include and lib
   # directories holding the OpenSLP files will be found.
   #
   # EG: If the are located in /opt/OpenSLP/include and /opt/OpenSLP/lib
   #     then this environment variable should be set to /opt/OpenSLP.
   #
   
   ifdef PEGASUS_OPENSLP_HOME
     ifdef PEGASUS_OPEN_EXTERNAL_SLP_HOME
       $(error Both PEGASUS_OPENSLP_HOME and PEGASUS_OPEN_EXTERNAL_SLP_HOME defined. \
         Please use PEGASUS_OPEN_EXTERNAL_SLP_HOME)
     else
         export PEGASUS_EXTERNAL_SLP_HOME=$(PEGASUS_OPENSLP_HOME)
      endif
   endif
   ############################################################################
   #
   # PEGASUS_EXTERNAL_SLP_HOME
   #
   # Environment variable to set home location for External SLP include and library
   # files if they are located somewhere other than /usr/include and /usr/lib.
   #
   # This variable superceeds PEGASUS_OPENSLP_HOME to match the use of
   # PEGASUS_USE_EXTERNAL_SLP variable.
   #
   # PEGASUS_USE_EXTERNAL_SLP must also be defined for this environment variable
   # to have any effect.
   #
   # This is the directory level within which both the include and lib
   # directories holding the OpenSLP files will be found.
   #
   # EG: If the are located in /opt/OpenSLP/include and /opt/OpenSLP/lib
   #     then this environment variable should be set to /opt/OpenSLP.
   #
   
   ############################################################################
   #
   # Enable this flag to allow the handshake to continue regardless of verification result
   #
   ifdef PEGASUS_OVERRIDE_SSL_CERT_VERIFICATION_RESULT
     DEFINES += -DPEGASUS_OVERRIDE_SSL_CERT_VERIFICATION_RESULT
   endif
   
   ############################################################################
   #
   # PEGASUS_ENABLE_INTEROP_PROVIDER
   # Enables the interop provider AND the server profile.
   # initially this was activated by setting either the perfinst or slp enable
   # flags.  This allows activating this function without any either perfinst or
   # slp enabled.  Note that if either of these are enabled, this funtion is also
   # enabled
   
   ## if either slp or perfinst are enabled and this is false, flag error
   ## This gets messy because should account for both postive and negative on
   ## interop so we don't get multiples.
   
   ifdef PEGASUS_ENABLE_SLP
       ifeq ($(PEGASUS_ENABLE_SLP),true)
           ifndef PEGASUS_ENABLE_INTEROP_PROVIDER
               PEGASUS_ENABLE_INTEROP_PROVIDER = true
           else
               ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),false)
                   $(error PEGASUS_ENABLE_INTEROP_PROVIDER ($(PEGASUS_ENABLE_INTEROP_PROVIDER)) invalid, must be true if SLP enabled)
               endif
           endif
       endif
   endif
   
   ## if PERFINST enabled, set to force interop.
   ifndef PEGASUS_DISABLE_PERFINST
       ifndef PEGASUS_ENABLE_INTEROP_PROVIDER
           PEGASUS_ENABLE_INTEROP_PROVIDER = true
       else
           ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),false)
               $(error PEGASUS_ENABLE_INTEROP_PROVIDER ($(PEGASUS_ENABLE_INTEROP_PROVIDER)) invalid, must be true if PERFINST enabled)
           endif
       endif
   endif
   
   #
   ## PEP 323, DMTF Indications Profile support, stage 1
   #
   ifdef PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT
       ifeq ($(PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT), true)
           ifndef PEGASUS_ENABLE_INTEROP_PROVIDER
               PEGASUS_ENABLE_INTEROP_PROVIDER = true
           else
               ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),false)
                   $(error PEGASUS_ENABLE_INTEROP_PROVIDER ($(PEGASUS_ENABLE_INTEROP_PROVIDER)) invalid, must be true if DMTF Indications profile support is enabled)
               endif
           endif
           DEFINES += -DPEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT -DPEGASUS_ENABLE_INDICATION_ORDERING
       else
           ifneq ($(PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT),false)
               $(error PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT ($(PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT)) invalid, must be true or false)
           endif
       endif
   endif
   
   ifdef PEGASUS_ENABLE_INTEROP_PROVIDER
       ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),true)
           DEFINES += -DPEGASUS_ENABLE_INTEROP_PROVIDER
       else
           ifneq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),false)
               $(error PEGASUS_ENABLE_INTEROP_PROVIDER ($(PEGASUS_ENABLE_INTEROP_PROVIDER)) invalid, must be true or false)
           endif
       endif
   endif
   
   
   ############################################################################
 # set PEGASUS_DEBUG into the DEFINES if it exists. # set PEGASUS_DEBUG into the DEFINES if it exists.
 # Note that this flag is the general separator between # Note that this flag is the general separator between
 # debug compiles and non-debug compiles and controls both # debug compiles and non-debug compiles and controls both
Line 528 
Line 1145 
     ifdef PEGASUS_INDICATION_HASHTRACE     ifdef PEGASUS_INDICATION_HASHTRACE
         DEFINES += -DPEGASUS_INDICATION_HASHTRACE         DEFINES += -DPEGASUS_INDICATION_HASHTRACE
     endif     endif
   
 endif endif
  
 # compile in the experimental APIs # compile in the experimental APIs
Line 542 
Line 1160 
  
 # Set compile flag to control compilation of CIMOM statistics # Set compile flag to control compilation of CIMOM statistics
 ifdef PEGASUS_DISABLE_PERFINST ifdef PEGASUS_DISABLE_PERFINST
     FLAGS += -DPEGASUS_DISABLE_PERFINST      DEFINES += -DPEGASUS_DISABLE_PERFINST
 endif endif
  
 # Set compile flag to control compilation of SNIA Extensions # Set compile flag to control compilation of SNIA Extensions
 ifdef PEGASUS_SNIA_EXTENSIONS ifdef PEGASUS_SNIA_EXTENSIONS
     FLAGS += -DPEGASUS_SNIA_EXTENSIONS      DEFINES += -DPEGASUS_SNIA_EXTENSIONS
 endif endif
  
 # Allow remote CMPI functionality to be enabled  ifdef PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER
 ifdef PEGASUS_ENABLE_REMOTE_CMPI      ifeq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER), true)
     FLAGS += -DPEGASUS_ENABLE_REMOTE_CMPI          DEFINES += -DPEGASUS_ENABLE_CMPI_PROVIDER_MANAGER
       else
           ifneq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER), false)
               $(error PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER \
                    ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER)) invalid, \
                     must be true or false)
           endif
       endif
 endif endif
  
 ############################################################  ifdef PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER
 #      ifeq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), true)
 # Set any vendor-specific compile flags          DEFINES += -DPEGASUS_ENABLE_JMPI_PROVIDER_MANAGER
 #          ifndef PEGASUS_JAVA_CLASSPATH_DELIMITER
 ############################################################              PEGASUS_JAVA_CLASSPATH_DELIMITER = :
           endif
  
 ifdef PEGASUS_VENDOR_HP          ifndef PEGASUS_JVM
     DEFINES+= -DPEGASUS_VENDOR_HP              PEGASUS_JVM = sun
           endif
           ifeq ($(PEGASUS_JVM),gcj)
               PEGASUS_JAVA_COMPILER           = gcj -C
               PEGASUS_JAVA_JAR                = fastjar
               PEGASUS_JAVA_INTERPRETER        = gij
           else
               PEGASUS_JAVA_COMPILER           = javac -target 1.4 -source 1.4
               PEGASUS_JAVA_JAR                = jar
               PEGASUS_JAVA_INTERPRETER        = java
           endif
   
       else
           ifneq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), false)
               $(error PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER \
                    ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER)) invalid, \
                     must be true or false)
           endif
       endif
   endif
   
   # Allow remote CMPI functionality to be enabled
   ifdef PEGASUS_ENABLE_REMOTE_CMPI
       DEFINES += -DPEGASUS_ENABLE_REMOTE_CMPI
 endif endif
  
  
Line 579 
Line 1228 
 # #
 RMREPOSITORY = $(RMDIRHIER) RMREPOSITORY = $(RMDIRHIER)
  
 ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS  ifndef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
     FLAGS += -DPEGASUS_USE_RELEASE_CONFIG_OPTIONS     PEGASUS_USE_RELEASE_CONFIG_OPTIONS=false
   endif
   
   ifeq ($(PEGASUS_USE_RELEASE_CONFIG_OPTIONS),true)
      DEFINES += -DPEGASUS_USE_RELEASE_CONFIG_OPTIONS
   else
      ifneq ($(PEGASUS_USE_RELEASE_CONFIG_OPTIONS),false)
         $(error PEGASUS_USE_RELEASE_CONFIG_OPTIONS \
             ($(PEGASUS_USE_RELEASE_CONFIG_OPTIONS)) invalid, must be true or false)
      endif
 endif endif
  
 ifdef PEGASUS_USE_RELEASE_DIRS ifdef PEGASUS_USE_RELEASE_DIRS
     FLAGS += -DPEGASUS_USE_RELEASE_DIRS      DEFINES += -DPEGASUS_USE_RELEASE_DIRS
 endif endif
  
 ifdef PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS ifdef PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS
     FLAGS += -DPEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS      DEFINES += -DPEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS
 endif endif
  
 # Unless otherwise specified, Pegasus libraries go in $(PEGASUS_HOME)/lib # Unless otherwise specified, Pegasus libraries go in $(PEGASUS_HOME)/lib
Line 637 
Line 1295 
     EXTRA_LINK_FLAGS = $(PEGASUS_EXTRA_LINK_FLAGS)     EXTRA_LINK_FLAGS = $(PEGASUS_EXTRA_LINK_FLAGS)
 endif endif
  
   ##==============================================================================
   ##
   ## By definining PEGASUS_USE_STATIC_LIBRARIES in the environment and STATIC
   ## in the Makefile, a static library is produced rather than a shared one.
   ## PEGASUS_USE_STATIC_LIBRARIES should be "true" or "false".
   ##
   ##==============================================================================
   
   ifdef PEGASUS_USE_STATIC_LIBRARIES
       ifeq ($(OS_TYPE),windows)
           $(error PEGASUS_USE_STATIC_LIBRARIES is not support on windows.)
       else
           ifneq ($(PEGASUS_USE_STATIC_LIBRARIES),true)
               $(error PEGASUS_USE_STATIC_LIBRARIES \
                   ($(PEGASUS_USE_STATIC_LIBRARIES)) invalid, must be true.)
           endif
       endif
   endif
   
   ##==============================================================================
   ##
   ## PEGASUS_ENABLE_PRIVILEGE_SEPARATION
   ##
   ##     Enables privilege separation support (uses the executor process to
   ##     perform privileged operations).
   ##
   ##==============================================================================
   
   ifdef PEGASUS_ENABLE_PRIVILEGE_SEPARATION
     ifeq ($(PEGASUS_ENABLE_PRIVILEGE_SEPARATION),true)
       DEFINES += -DPEGASUS_ENABLE_PRIVILEGE_SEPARATION
     else
       ifneq ($(PEGASUS_ENABLE_PRIVILEGE_SEPARATION),false)
         $(error PEGASUS_ENABLE_PRIVILEGE_SEPARATION \
           ($(PEGASUS_ENABLE_PRIVILEGE_SEPARATION)) invalid, must be true or false)
       endif
     endif
   
     ## Defines the user context of the cimservermain process when privilege
     ## separation is enabled.
     PEGASUS_CIMSERVERMAIN_USER = cimsrvr
     DEFINES += -DPEGASUS_CIMSERVERMAIN_USER=\"$(PEGASUS_CIMSERVERMAIN_USER)\"
   endif
   
   
   ##==============================================================================
   ##
   ## PEGASUS_ENABLE_PROTOCOL_WSMAN
   ##
   ##     Enables the WS-Management protocol in the CIM Server.
   ##
   ##==============================================================================
   
   ifndef PEGASUS_ENABLE_PROTOCOL_WSMAN
       PEGASUS_ENABLE_PROTOCOL_WSMAN = false
   endif
   
   ifeq ($(PEGASUS_ENABLE_PROTOCOL_WSMAN),true)
       DEFINES += -DPEGASUS_ENABLE_PROTOCOL_WSMAN
   else
       ifneq ($(PEGASUS_ENABLE_PROTOCOL_WSMAN),false)
           $(error PEGASUS_ENABLE_PROTOCOL_WSMAN ($(PEGASUS_ENABLE_PROTOCOL_WSMAN)) invalid, must be true or false)
       endif
   endif
   
   ##==============================================================================
   ##
   ## PEGASUS_PAM_SESSION_SECURITY
   ##
   ## This is a new method to handle authentication with PAM in case it is required
   ## to keep the PAM session established by pam_start() open across an
   ## entire CIM request.
   ##
   ## This feature contradicts PEGASUS_PAM_AUTHENTICATION and
   ## PEGASUS_USE_PAM_STANDALONE_PROC
   ## Because of the additional process this feature is not compatible with
   ## Privilege Separation.
   ##
   ##==============================================================================
   
   ifeq ($(PEGASUS_PAM_SESSION_SECURITY),true)
       ifdef PEGASUS_PAM_AUTHENTICATION
           $(error "PEGASUS_PAM_AUTHENTICATION must NOT be defined when PEGASUS_PAM_SESSION_SECURITY is defined")
       endif
       ifdef PEGASUS_USE_PAM_STANDALONE_PROC
           $(error "PEGASUS_USE_PAM_STANDALONE_PROC must NOT be defined when PEGASUS_PAM_SESSION_SECURITY is defined")
       endif
       ifdef PEGASUS_ENABLE_PRIVILEGE_SEPARATION
           $(error "PEGASUS_ENABLE_PRIVILEGE_SEPARATION must NOT be defined when PEGASUS_PAM_SESSION_SECURITY is defined")
       endif
       # Compile in the code required for PAM
       # and compile out the code that uses the password file.
       DEFINES += -DPEGASUS_PAM_SESSION_SECURITY -DPEGASUS_NO_PASSWORDFILE
       # Link with libpam only where it is needed.
       ifeq ($(HAS_PAM_DEPENDENCY),true)
           SYS_LIBS += -lpam
       endif
   endif
   
   
   ##==============================================================================
   ##
   ## PEGASUS_PAM_AUTHENTICATION
   ##
   ##==============================================================================
   
   ifdef PEGASUS_PAM_AUTHENTICATION
       # Compile in the code required for PAM authentication
       # and compile out the code that uses the password file.
       DEFINES += -DPEGASUS_PAM_AUTHENTICATION -DPEGASUS_NO_PASSWORDFILE
   
       # Link with libpam only where it is needed.
       ifeq ($(HAS_PAM_DEPENDENCY),true)
           SYS_LIBS += -lpam
       endif
   endif
   
   ##==============================================================================
   ##
   ## PEGASUS_USE_PAM_STANDALONE_PROC
   ##
   ##==============================================================================
   
   ifdef PEGASUS_USE_PAM_STANDALONE_PROC
      ifndef PEGASUS_PAM_AUTHENTICATION
          $(error "PEGASUS_PAM_AUTHENTICATION must be defined when PEGASUS_USE_PAM_STANDALONE_PROC is defined")
      endif
      DEFINES += -DPEGASUS_USE_PAM_STANDALONE_PROC
   endif
   
   ##==============================================================================
   
   # Disable client timeouts when we're doing a valgrind build
   ifdef PEGASUS_TEST_VALGRIND_LOG_DIR
       DEFINES += -DPEGASUS_DISABLE_CLIENT_TIMEOUT -DPEGASUS_TEST_VALGRIND
   endif
   
   ## ======================================================================
   ##
   ## PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE
   ## This controls allowing the path specified in the Location property of
   ## PG_ProviderModule class.
   ##
   ##   Set to "true", It allows the absolute path specified in the Location property
   ##   of PG_ProviderModule class. Otherwise it does not allow the absolute path.
   ##   see bug 7289 for background information concerning this config variable.
   ##
   
   ifndef PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE
       PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE=false
   endif
   
   ifdef PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE
     ifeq ($(PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE),true)
       DEFINES += -DPEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE
     else
       ifneq ($(PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE),false)
         $(error PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE \
               ($(PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE)) \
               invalid, must be true or false)
       endif
     endif
   endif
   
   ##==============================================================================
   ##
   ## PEGASUS_ENABLE_PROTOCOL_BINARY
   ##
   ##     Enables the binary protocol between clients and cimserver. With provider
   ##     agent, both requests and responses are binary. For "ordinary" clients,
   ##     requests are XML and responses are binary. By default, this only affects
   ##     the protocol used over local domain sockets.
   ##
   ##==============================================================================
   
   ifndef PEGASUS_ENABLE_PROTOCOL_BINARY
     PEGASUS_ENABLE_PROTOCOL_BINARY=false
   endif
   
   ifeq ($(PEGASUS_ENABLE_PROTOCOL_BINARY),true)
     DEFINES += -DPEGASUS_ENABLE_PROTOCOL_BINARY
   else
     ifneq ($(PEGASUS_ENABLE_PROTOCOL_BINARY),false)
       $(error "PEGASUS_ENABLE_PROTOCOL_BINARY must be true or false")
     endif
   endif
   
   ## ======================================================================
   ##
   ## PLATFORM_CORE_PATTERN
   ## This variable describes the pattern used to search for core files.
   ## If not defined, this variable will be set to core*.
   ## Only wildcard characters supported by the make wildcard function
   ## may be used.
   
   ifndef PLATFORM_CORE_PATTERN
       PLATFORM_CORE_PATTERN = core*
   endif
   
   ifdef PEGASUS_FLAVOR
     ifdef PEGASUS_USE_RELEASE_DIRS
       ifndef PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS
         $(error "PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS must be defined when both PEGASUS_FLAVOR and PEGASUS_USE_RELEASE_DIRS options are used")
       endif
     endif
     ifneq ($(PEGASUS_FLAVOR), tog)
         DEFINES += -DPEGASUS_FLAVOR=\"$(PEGASUS_FLAVOR)\"
     endif
   endif
   
   ifdef PEGASUS_EXTRA_PROVIDER_LIB_DIR
      ifndef PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS
         $(error "PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS must be defined when PEGASUS_EXTRA_PROVIDER_LIB_DIR defined.")
      endif
      DEFINES += -DPEGASUS_EXTRA_PROVIDER_LIB_DIR=\"$(PEGASUS_EXTRA_PROVIDER_LIB_DIR):\"
   else
      DEFINES += -DPEGASUS_EXTRA_PROVIDER_LIB_DIR=\"\"
   endif
   
   ################################################################################
   ##
   ## PEGASUS_INITIAL_THREADSTACK_SIZE
   ##
   ##     This environment variable sets the initial size of the stack on new threads.
   ##     When it is undefined, the size defaults to something relatively small
   ##     (see src/Pegasus/Common/Config.h or if overridden by platform see
   ##      src/Pegasus/Common/Platform_$(PEGASUS_PLATFORM).h).
   ##     Value is specified in number of bytes.
   ##
   ################################################################################
   
   ifdef PEGASUS_INITIAL_THREADSTACK_SIZE
   DEFINES += -DPEGASUS_INITIAL_THREADSTACK_SIZE=$(PEGASUS_INITIAL_THREADSTACK_SIZE)
   endif
   
   ifndef PEGASUS_INTEROP_NAMESPACE
       PEGASUS_INTEROP_NAMESPACE=root/PG_InterOp
   else
   ifeq ($(PEGASUS_INTEROP_NAMESPACE),root/interop)
   DEFINES += -DNS_ROOT_INTEROP
       endif
   ifeq ($(PEGASUS_INTEROP_NAMESPACE),interop)
   DEFINES += -DNS_INTEROP
   endif
   endif
   
   ##These namespaces will be used in Makefiles.
   
   NAMESPACE_INTEROP = interop
   
   NAMESPACE_ROOT_INTEROP = root/interop


Legend:
Removed from v.1.111  
changed lines
  Added in v.1.195.2.4

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2