version 1.175, 2008/10/16 10:49:40
|
version 1.216, 2014/09/05 14:19:06
|
|
|
#//%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 |
|
|
## | ## |
################################################################################ | ################################################################################ |
| |
ifndef ROOT |
#PEGASUS_ROOT is mandatory currently |
|
ifdef PEGASUS_ROOT |
|
ifeq ($(wildcard $(PEGASUS_ROOT)),) |
|
$(error PEGASUS_ROOT = $(PEGASUS_ROOT) is incorrect, \ |
|
Did you meant to set it to $(CURDIR)?) |
|
endif |
ROOT = $(subst \,/,$(PEGASUS_ROOT)) | ROOT = $(subst \,/,$(PEGASUS_ROOT)) |
|
else |
|
$(error PEGASUS_ROOT environment variable undefined) |
endif | endif |
| |
|
|
ifdef PEGASUS_ENVVAR_FILE | ifdef PEGASUS_ENVVAR_FILE |
include $(PEGASUS_ENVVAR_FILE) | include $(PEGASUS_ENVVAR_FILE) |
else | else |
|
|
$(error PEGASUS_HOME environment variable undefined) | $(error PEGASUS_HOME environment variable undefined) |
endif | endif |
| |
ifdef PEGASUS_ROOT |
|
ROOT = $(subst \,/,$(PEGASUS_ROOT)) |
|
else |
|
$(error PEGASUS_ROOT environment variable undefined) |
|
endif |
|
| |
ifdef PEGASUS_TMP | ifdef PEGASUS_TMP |
TMP_DIR = $(subst \,/,$(PEGASUS_TMP)) | TMP_DIR = $(subst \,/,$(PEGASUS_TMP)) |
|
|
## | ## |
| |
ifndef ALT_OBJ_DIR | 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 | else |
OBJ_DIR = $(HOME_DIR)/obj/$(ALT_OBJ_DIR) | OBJ_DIR = $(HOME_DIR)/obj/$(ALT_OBJ_DIR) |
endif | endif |
|
endif |
| |
############################################################################# | ############################################################################# |
| |
|
|
else | else |
BIN_DIR = $(HOME_DIR)/bin | BIN_DIR = $(HOME_DIR)/bin |
endif | 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 |
|
|
# option of the mof compiler needs to be set. | # option of the mof compiler needs to be set. |
# ***** | # ***** |
| |
|
## 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 | ifndef PEGASUS_CIM_SCHEMA |
PEGASUS_CIM_SCHEMA=CIM217 |
PEGASUS_CIM_SCHEMA=CIM241 |
endif | endif |
| |
CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA) | CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA) |
|
|
endif | endif |
endif | endif |
| |
|
|
ifeq ($(PEGASUS_HAS_ICU),true) | ifeq ($(PEGASUS_HAS_ICU),true) |
DEFINES += -DPEGASUS_HAS_ICU | DEFINES += -DPEGASUS_HAS_ICU |
| |
################################## |
|
## |
|
## ICU_NO_UPPERCASE_ROOT if set, specifies NOT to uppercase the root |
|
## resource bundle, default is to uppercase the root resource bundle |
|
## |
|
################################## |
|
|
|
ifdef ICU_NO_UPPERCASE_ROOT |
|
CNV_ROOT_FLAGS = |
|
else |
|
CNV_ROOT_FLAGS = -u |
|
endif |
|
|
|
#################################### | #################################### |
## | ## |
## ICU_ROOT_BUNDLE_LANG if set, specifies the language that the root | ## ICU_ROOT_BUNDLE_LANG if set, specifies the language that the root |
|
|
else | else |
ifeq ($(OS),zos) | ifeq ($(OS),zos) |
EXTRA_LIBRARIES += \ | EXTRA_LIBRARIES += \ |
$(ICU_INSTALL)/lib/libicui18n.x \ |
$(ICU_INSTALL)/lib/libicui18n$(DYNLIB_SUFFIX) \ |
$(ICU_INSTALL)/lib/libicuuc.x |
$(ICU_INSTALL)/lib/libicuuc$(DYNLIB_SUFFIX) |
else | else |
EXTRA_LIBRARIES += -licuuc -licui18n | EXTRA_LIBRARIES += -licuuc -licui18n |
ifeq ($(OS),linux) | ifeq ($(OS),linux) |
|
|
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 |
|
|
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 | # PEP 315 |
# Control whether compile with or without method entertexit trace code. | # Control whether compile with or without method entertexit trace code. |
# A value other than 'true' or 'false' will cause a make error. | # A value other than 'true' or 'false' will cause a make error. |
|
|
endif | endif |
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 |
| |
|
|
| |
# 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 |
|
|
## as defined for openslp | ## as defined for openslp |
ifeq ($(PEGASUS_USE_OPENSLP),true) | ifeq ($(PEGASUS_USE_OPENSLP),true) |
ifeq ($(PEGASUS_ENABLE_SLP),true) | ifeq ($(PEGASUS_ENABLE_SLP),true) |
PEGASUS_USE_EXTERNAL_SLP=openslp |
export PEGASUS_USE_EXTERNAL_SLP=openslp |
PEGASUS_USE_OPENSLP= | PEGASUS_USE_OPENSLP= |
else | else |
$(error PEGASUS_USE_OPENSLP defined but PEGASUS_ENABLE_SLP is not true. \ | $(error PEGASUS_USE_OPENSLP defined but PEGASUS_ENABLE_SLP is not true. \ |
|
|
$(error Both PEGASUS_OPENSLP_HOME and PEGASUS_OPEN_EXTERNAL_SLP_HOME defined. \ | $(error Both PEGASUS_OPENSLP_HOME and PEGASUS_OPEN_EXTERNAL_SLP_HOME defined. \ |
Please use PEGASUS_OPEN_EXTERNAL_SLP_HOME) | Please use PEGASUS_OPEN_EXTERNAL_SLP_HOME) |
else | else |
PEGASUS_EXTERNAL_SLP_HOME=$(PEGASUS_OPENSLP_HOME) |
export PEGASUS_EXTERNAL_SLP_HOME=$(PEGASUS_OPENSLP_HOME) |
endif | endif |
endif | endif |
############################################################################ | ############################################################################ |
|
|
$(error PEGASUS_ENABLE_INTEROP_PROVIDER ($(PEGASUS_ENABLE_INTEROP_PROVIDER)) invalid, must be true if DMTF Indications profile support is enabled) | $(error PEGASUS_ENABLE_INTEROP_PROVIDER ($(PEGASUS_ENABLE_INTEROP_PROVIDER)) invalid, must be true if DMTF Indications profile support is enabled) |
endif | endif |
endif | endif |
DEFINES += -DPEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT |
DEFINES += -DPEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT -DPEGASUS_ENABLE_INDICATION_ORDERING |
else | else |
ifneq ($(PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT),false) | 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) | $(error PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT ($(PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT)) invalid, must be true or false) |
|
|
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 |
|
|
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 \ |
|
|
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 |
|
|
|
| |
############################################################ | ############################################################ |
# | # |
|
|
# | # |
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 |
|
|
##============================================================================== | ##============================================================================== |
| |
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 |
|
|
| |
##============================================================================== | ##============================================================================== |
## | ## |
|
## 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 | ## PEGASUS_PAM_AUTHENTICATION |
## | ## |
##============================================================================== | ##============================================================================== |
|
|
##============================================================================== | ##============================================================================== |
| |
ifdef 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 |
|
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 |
|
|
|
# Disable client timeouts when we're doing a valgrind build | # Disable client timeouts when we're doing a valgrind build |
ifdef PEGASUS_TEST_VALGRIND_LOG_DIR | ifdef PEGASUS_TEST_VALGRIND_LOG_DIR |
DEFINES += -DPEGASUS_DISABLE_CLIENT_TIMEOUT -DPEGASUS_TEST_VALGRIND | DEFINES += -DPEGASUS_DISABLE_CLIENT_TIMEOUT -DPEGASUS_TEST_VALGRIND |
|
|
endif | 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 |
|
|
|
|
|
##============================================================================== |
|
## |
|
## 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 = true |
|
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 |