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

Diff for /pegasus/mak/config.mak between version 1.138.2.2 and 1.211.10.2

version 1.138.2.2, 2007/05/09 18:48:22 version 1.211.10.2, 2013/08/15 06:25:27
Line 1 
Line 1 
 #//%2006////////////////////////////////////////////////////////////////////////  #//%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.  
 #// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;  
 #// EMC Corporation; Symantec 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 57 
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 98 
Line 91 
     GCC_VERSION =     GCC_VERSION =
 endif 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 204 
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 310 
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 333 
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
  
 ##############################################################################  
 ##  
 ## PEGASUS_INDICATIONS_Q_THRESHOLD  
 ##  
 ## 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  
   DEFINES += -DPEGASUS_INDICATIONS_Q_THRESHOLD=$(PEGASUS_INDICATIONS_Q_THRESHOLD)  
 endif  
   
   
 # Allow PEGASUS_ASSERT statements to be disabled. # Allow PEGASUS_ASSERT statements to be disabled.
 ifdef PEGASUS_NOASSERTS ifdef PEGASUS_NOASSERTS
     DEFINES += -DNDEBUG      DEFINES += -DNDEBUG -DPEGASUS_NOASSERTS
 endif endif
  
 # do not compile trace code. sometimes it causes problems debugging # do not compile trace code. sometimes it causes problems debugging
Line 381 
Line 490 
     DEFINES += -DPEGASUS_REMOVE_TRACE     DEFINES += -DPEGASUS_REMOVE_TRACE
 endif endif
  
   
   ifdef PEGASUS_PLATFORM_FOR_32BIT_PROVIDER_SUPPORT
      PLATFORM_FILE_32 = $(ROOT)/mak/platform_$(PEGASUS_PLATFORM_FOR_32BIT_PROVIDER_SUPPORT).mak
      ifeq ($(wildcard $(PLATFORM_FILE_32)), )
         $(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
   
   # PEP 315
   # Control whether compile with or without method entertexit trace code.
   # 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
   
   # Control whether the class definitions in the repository contain elements
   # propagated from superclass definitions.
   
   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
   
 # 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 401 
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.
   #
   # Use PEGASUS_ENABLE_CQL=false to disable compilation of CQL functions.
 # #
 # PEP 193  # Default is PEGASUS_ENABLE_CQL=true if not defined external to config.mak
 # The following flag need to be set to disable  
 # CQL in indication subscriptions  
 # #
   
 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 470 
Line 661 
     DEFINES += -DPEGASUS_ENABLE_OBJECT_NORMALIZATION     DEFINES += -DPEGASUS_ENABLE_OBJECT_NORMALIZATION
 endif endif
  
 # PEP 233  
 # Controls support for EmbeddedInstance properties  
 # and parameters  
 ifndef PEGASUS_EMBEDDED_INSTANCE_SUPPORT  
     PEGASUS_EMBEDDED_INSTANCE_SUPPORT = true  
 endif  
   
 ifeq ($(PEGASUS_EMBEDDED_INSTANCE_SUPPORT), true)  
     DEFINES += -DPEGASUS_EMBEDDED_INSTANCE_SUPPORT  
 else  
     ifneq ($(PEGASUS_EMBEDDED_INSTANCE_SUPPORT), false)  
         $(error PEGASUS_EMBEDDED_INSTANCE_SUPPORT ($(PEGASUS_EMBEDDED_INSTANCE_SUPPORT)) invalid, must be true or false)  
     endif  
 endif  
   
   
 # Allow ExecQuery functionality to be enabled # Allow ExecQuery functionality to be enabled
 ifndef PEGASUS_ENABLE_EXECQUERY ifndef PEGASUS_ENABLE_EXECQUERY
     DEFINES += -DPEGASUS_DISABLE_EXECQUERY     DEFINES += -DPEGASUS_DISABLE_EXECQUERY
Line 508 
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 endif
  
 ifdef PEGASUS_HAS_SSL ifdef PEGASUS_HAS_SSL
  ifndef OPENSSL_BIN      DEFINES += -DPEGASUS_HAS_SSL
     OPENSSL_BIN = $(OPENSSL_HOME)/bin  
       # 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
       endif
   
  ifndef OPENSSL_COMMAND  ifndef OPENSSL_COMMAND
           ifdef OPENSSL_BIN
     OPENSSL_COMMAND = $(OPENSSL_BIN)/openssl     OPENSSL_COMMAND = $(OPENSSL_BIN)/openssl
           else
               OPENSSL_COMMAND = openssl
           endif
  endif  endif
  ifndef OPENSSL_SET_SERIAL_SUPPORTED  ifndef OPENSSL_SET_SERIAL_SUPPORTED
     ifneq (, $(findstring 0.9.6, $(shell $(OPENSSL_COMMAND) version)))     ifneq (, $(findstring 0.9.6, $(shell $(OPENSSL_COMMAND) version)))
Line 547 
Line 768 
  
 # #
 # PEP 258 # PEP 258
 # Allow Audit Logger to be disabled  # Allow Audit Logger to be disabled.  It is enabled 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 ifdef PEGASUS_DISABLE_AUDIT_LOGGER
   ifeq ($(PEGASUS_DISABLE_AUDIT_LOGGER),true)      $(error The PEGASUS_DISABLE_AUDIT_LOGGER variable is deprecated. \
     DEFINES += -DPEGASUS_DISABLE_AUDIT_LOGGER          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   else
     ifneq ($(PEGASUS_DISABLE_AUDIT_LOGGER),false)      ifneq ($(PEGASUS_ENABLE_IPV6),false)
       $(error PEGASUS_DISABLE_AUDIT_LOGGER ($(PEGASUS_DISABLE_AUDIT_LOGGER)) \        $(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).
   #
   ifdef PEGASUS_TEST_IPV6
     ifneq ($(PEGASUS_TEST_IPV6),true)
       ifneq ($(PEGASUS_TEST_IPV6),false)
         $(error PEGASUS_TEST_IPV6 ($(PEGASUS_TEST_IPV6)) \
        invalid, must be true or false)        invalid, must be true or false)
     endif     endif
   endif   endif
   else
     PEGASUS_TEST_IPV6 = $(PEGASUS_ENABLE_IPV6)
   endif
   
   #
   # PEP 322
   # Allow tracking generated indications data to be disabled.  It is enabled
   # 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 endif
  
   ############################################################################
 # #
 # PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP # PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP
 # #
 # PEGASUS_DISABLE_SLP has been depracated. New use model is:  # 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=true  to enable  compilation of SLP functions.
 # #
 # Use PEGASUS_ENABLE_SLP=false to disable compilation of SLP functions. # Use PEGASUS_ENABLE_SLP=false to disable compilation of SLP functions.
 # #
 # Currently (Aug. 12, 2005) Windows is the only platform that enables SLP  
 # by default.  
 #  
 # 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.
Line 605 
Line 896 
 ############################################################################ ############################################################################
 # #
 # PEGASUS_USE_OPENSLP # 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 # Environment variable to set openslp as SLP environment to use
 # for SLP Directory and User Agents. # for SLP Directory and User Agents.
Line 613 
Line 912 
 # internal pegasus slp agent.  Note that this does not disable the # internal pegasus slp agent.  Note that this does not disable the
 # compilation of the internal agent code, etc.  However, it assumes # compilation of the internal agent code, etc.  However, it assumes
 # openslp is installed on the platform and changes the interfaces # openslp is installed on the platform and changes the interfaces
 # to match this.  At this moment, this is a change specifically for  # to match this.
 # adaptec but we expect to generalize it to provide openslp as a  
 # generalized alternative to ldapslp.  
 # to use this. To set this function up,  
 # #
 # Use this variable in conjunction with PEGASUS_OPENSLP_HOME # Use this variable in conjunction with PEGASUS_OPENSLP_HOME
 # to enable OpenSlp as the slp implementation. # to enable OpenSlp as the slp implementation.
Line 625 
Line 921 
 # #
  
 ifdef PEGASUS_USE_OPENSLP 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)    ifeq ($(PEGASUS_ENABLE_SLP),true)
       DEFINES += -DPEGASUS_USE_OPENSLP        export PEGASUS_USE_EXTERNAL_SLP=openslp
         PEGASUS_USE_OPENSLP=
     else     else
       $(error PEGASUS_USE_OPENSLP defined but PEGASUS_ENABLE_SLP is not true. Please correct this inconsistency)        $(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
 endif endif
  
   #########################################################################
 # PEP 267 # PEP 267
 # SLP reregistration support. # SLP reregistration support.
 # PEGASUS_SLP_REG_TIMEOUT is defined as the SLP registration timeout # PEGASUS_SLP_REG_TIMEOUT is defined as the SLP registration timeout
Line 640 
Line 953 
     ifeq ($(PEGASUS_ENABLE_SLP),true)     ifeq ($(PEGASUS_ENABLE_SLP),true)
        DEFINES += -DPEGASUS_SLP_REG_TIMEOUT=$(PEGASUS_SLP_REG_TIMEOUT)        DEFINES += -DPEGASUS_SLP_REG_TIMEOUT=$(PEGASUS_SLP_REG_TIMEOUT)
      else      else
        $(error PEGASUS_SLP_REG_TIMEOUT defined but PEGASUS_ENABLE_SLP is not true. Please correct this inconsistency)          $(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
  endif  endif
  
Line 648 
Line 1008 
 # #
 # PEGASUS_OPENSLP_HOME # 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 # Environment variable to set home location for OpenSLP include and library
 # files if they are located somewhere other than /usr/include and /usr/lib. # files if they are located somewhere other than /usr/include and /usr/lib.
 # #
Line 661 
Line 1024 
 #     then this environment variable should be set to /opt/OpenSLP. #     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 # Enable this flag to allow the handshake to continue regardless of verification result
 # #
Line 669 
Line 1060 
   DEFINES += -DPEGASUS_OVERRIDE_SSL_CERT_VERIFICATION_RESULT   DEFINES += -DPEGASUS_OVERRIDE_SSL_CERT_VERIFICATION_RESULT
 endif 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 687 
Line 1146 
         DEFINES += -DPEGASUS_INDICATION_HASHTRACE         DEFINES += -DPEGASUS_INDICATION_HASHTRACE
     endif     endif
  
     # Setup the conditional compile for client displays.  
     ifdef PEGASUS_CLIENT_TRACE_ENABLE  
         DEFINES += -DPEGASUS_CLIENT_TRACE_ENABLE  
     endif  
 endif endif
  
 # compile in the experimental APIs # compile in the experimental APIs
Line 728 
Line 1183 
 ifdef PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER ifdef PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER
     ifeq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), true)     ifeq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), true)
         DEFINES += -DPEGASUS_ENABLE_JMPI_PROVIDER_MANAGER         DEFINES += -DPEGASUS_ENABLE_JMPI_PROVIDER_MANAGER
           ifndef PEGASUS_JAVA_CLASSPATH_DELIMITER
               PEGASUS_JAVA_CLASSPATH_DELIMITER = :
           endif
   
           ifndef PEGASUS_JVM
               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     else
         ifneq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), false)         ifneq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), false)
             $(error PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER \             $(error PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER \
Line 742 
Line 1214 
     DEFINES += -DPEGASUS_ENABLE_REMOTE_CMPI     DEFINES += -DPEGASUS_ENABLE_REMOTE_CMPI
 endif endif
  
 ############################################################  
 #  
 # Set any vendor-specific compile flags  
 #  
 ############################################################  
   
 ifdef PEGASUS_VENDOR_HP  
     DEFINES+= -DPEGASUS_VENDOR_HP  
 endif  
   
  
 ############################################################ ############################################################
 # #
Line 766 
Line 1228 
 # #
 RMREPOSITORY = $(RMDIRHIER) RMREPOSITORY = $(RMDIRHIER)
  
 ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS  ifndef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
      PEGASUS_USE_RELEASE_CONFIG_OPTIONS=false
   endif
   
   ifeq ($(PEGASUS_USE_RELEASE_CONFIG_OPTIONS),true)
     DEFINES += -DPEGASUS_USE_RELEASE_CONFIG_OPTIONS     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
Line 833 
Line 1304 
 ##============================================================================== ##==============================================================================
  
 ifdef PEGASUS_USE_STATIC_LIBRARIES ifdef PEGASUS_USE_STATIC_LIBRARIES
   ifeq ($(PEGASUS_USE_STATIC_LIBRARIES),true)      ifeq ($(OS_TYPE),windows)
           $(error PEGASUS_USE_STATIC_LIBRARIES is not support on windows.)
   else   else
     ifneq ($(PEGASUS_USE_STATIC_LIBRARIES),false)          ifneq ($(PEGASUS_USE_STATIC_LIBRARIES),true)
       $(error PEGASUS_USE_STATIC_LIBRARIES ($(PEGASUS_USE_STATIC_LIBRARIES)) invalid, must be true or false)              $(error PEGASUS_USE_STATIC_LIBRARIES \
                   ($(PEGASUS_USE_STATIC_LIBRARIES)) invalid, must be true.)
     endif     endif
   endif   endif
 endif endif
Line 860 
Line 1333 
     endif     endif
   endif   endif
  
   ## Specifies the user context of the cimservermain process when privilege    ## Defines the user context of the cimservermain process when privilege
   ## separation is enabled.   ## separation is enabled.
   ifdef PEGASUS_CIMSERVERMAIN_USER    PEGASUS_CIMSERVERMAIN_USER = cimsrvr
     DEFINES += -DPEGASUS_CIMSERVERMAIN_USER=\"$(PEGASUS_CIMSERVERMAIN_USER)\"     DEFINES += -DPEGASUS_CIMSERVERMAIN_USER=\"$(PEGASUS_CIMSERVERMAIN_USER)\"
   endif   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 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 ## 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 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   DEFINES += -DPEGASUS_USE_PAM_STANDALONE_PROC
 endif endif
  
 ##============================================================================== ##==============================================================================
  
 ifndef PEGASUS_JAVA_CLASSPATH_DELIMITER  # Disable client timeouts when we're doing a valgrind build
     PEGASUS_JAVA_CLASSPATH_DELIMITER = :  ifdef PEGASUS_TEST_VALGRIND_LOG_DIR
       DEFINES += -DPEGASUS_DISABLE_CLIENT_TIMEOUT -DPEGASUS_TEST_VALGRIND
 endif endif
  
 ifndef PEGASUS_JVM  ## ======================================================================
         PEGASUS_JVM = sun  ##
   ## 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 endif
 ifeq ($(PEGASUS_JVM),gcj)  
         PEGASUS_JAVA_COMPILER           = gcj -C  ifdef PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE
         PEGASUS_JAVA_JAR                = fastjar    ifeq ($(PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE),true)
         PEGASUS_JAVA_INTERPRETER        = gij      DEFINES += -DPEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE
 else else
         PEGASUS_JAVA_COMPILER           = javac -target 1.4 -source 1.4      ifneq ($(PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE),false)
         PEGASUS_JAVA_JAR                = jar        $(error PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE \
         PEGASUS_JAVA_INTERPRETER        = java              ($(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 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
   
   
   ##==============================================================================
   ##
   ## PEGASUS_ENABLE_PROTOCOL_WEB
   ##
   ##     Enables the GET-Method for files in order to act as a web-server
   ##
   ##
   ##
   ##
   ##==============================================================================
   ifndef PEGASUS_ENABLE_PROTOCOL_WEB
     PEGASUS_ENABLE_PROTOCOL_WEB = false
   endif
   
   ifeq ($(PEGASUS_ENABLE_PROTOCOL_WEB),true)
     DEFINES += -DPEGASUS_ENABLE_PROTOCOL_WEB
   else
     ifneq ($(PEGASUS_ENABLE_PROTOCOL_WEB),false)
       $(error "PEGASUS_ENABLE_PROTOCOL_WEB 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.138.2.2  
changed lines
  Added in v.1.211.10.2

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2