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

Diff for /pegasus/mak/config-linux.mak between version 1.26 and 1.62

version 1.26, 2005/01/10 19:14:12 version 1.62, 2012/07/26 11:14:52
Line 1 
Line 1 
   #//%LICENSE////////////////////////////////////////////////////////////////
   #//
   #// Licensed to The Open Group (TOG) under one or more contributor license
   #// agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
   #// this work for additional information regarding copyright ownership.
   #// Each contributor licenses this file to you under the OpenPegasus Open
   #// Source License; you may not use this file except in compliance with the
   #// License.
   #//
   #// Permission is hereby granted, free of charge, to any person obtaining a
   #// copy of this software and associated documentation files (the "Software"),
   #// to deal in the Software without restriction, including without limitation
   #// the rights to use, copy, modify, merge, publish, distribute, sublicense,
   #// and/or sell copies of the Software, and to permit persons to whom the
   #// Software is furnished to do so, subject to the following conditions:
   #//
   #// The above copyright notice and this permission notice shall be included
   #// in all copies or substantial portions of 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.
   #//
   #//////////////////////////////////////////////////////////////////////////
 # Configuration options for Pegasus on all architectures running Linux # Configuration options for Pegasus on all architectures running Linux
   # These options are also used by clang( which was designed as dropin
   # replacement for gcc). So some of the names are misleading like
   # PEGASUS_PLATFORM_LINUX_GENERIC_GNU due to GNU appended, Better will
   # be PEGASUS_PLATFORM_LINUX_GENERIC and GNU and CLANG can add it.
   # Changing this now(for 9236) will involve lot of work, Will take up
   # this work later.
   
  
 include $(ROOT)/mak/config-unix.mak include $(ROOT)/mak/config-unix.mak
  
Line 6 
Line 41 
 DEFINES += -DPEGASUS_PLATFORM_LINUX_GENERIC_GNU DEFINES += -DPEGASUS_PLATFORM_LINUX_GENERIC_GNU
 DEFINES += -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM) DEFINES += -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM)
  
 OS = linux  #########################################################################
   ##
   ## Platform specific compile options controlled by environment variables
   ## are set here.
   ##
   #########################################################################
  
 COMPILER = gnu  
  
 PLATFORM_VERSION_SUPPORTED = yes  # Enable OOP by default if preference not already set in the environment
   #
   ifndef PEGASUS_DEFAULT_ENABLE_OOP
   PEGASUS_DEFAULT_ENABLE_OOP = true
   endif
   
  
   # Enable CMPI by default.
   #
   ifndef PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER
   PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER=true
   endif
   
   #########################################################################
   
   OS = linux
   
   
   ifeq ($(findstring _CLANG, $(PEGASUS_PLATFORM)), _CLANG)
       COMPILER = clang
       CXX = clang++
       CC = clang
   else
       COMPILER = gnu
 ifndef CXX ifndef CXX
 CXX = g++ CXX = g++
 endif endif
   endif
  
 SH = sh  PLATFORM_VERSION_SUPPORTED = yes
   
 YACC = yacc  
  
 COPY = cp  
  
 MOVE = mv  SH = sh
  
 MKDIRHIER = mkdir -p  YACC = bison
  
 PEGASUS_SUPPORTS_DYNLIB = yes PEGASUS_SUPPORTS_DYNLIB = yes
  
Line 34 
Line 93 
  
 DEFINES += -DPEGASUS_USE_SYSLOGS DEFINES += -DPEGASUS_USE_SYSLOGS
  
 DEFINES += -DPEGASUS_HAS_SIGNALS  SYS_LIBS = -ldl -lpthread -lcrypt
   
 SYS_LIBS = -ldl -lpthread  
  
 # Build using fixed release settings  ifeq ($(COMPILER), clang)
 #      FLAGS += -W -Wall -Wno-unused-parameter  -Wno-unused-value -D_GNU_SOURCE \
 ifdef PEGASUS_USE_RELEASE_DIRS          -DTHREAD_SAFE -D_REENTRANT -Wno-unused-variable  -Wno-unused-function
   PEGASUS_DEST_LIB_DIR=/opt/tog-pegasus/lib  else
       FLAGS += -W -Wall -Wno-unused  -D_GNU_SOURCE -DTHREAD_SAFE -D_REENTRANT
 endif endif
   ##==============================================================================
   ##
   ## The DYNAMIC_FLAGS variable defines linker flags that only apply to shared
   ## libraries.
   ##
   ##==============================================================================
   DYNAMIC_FLAGS += -fPIC
  
 # PAM support  ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS
 ifdef PEGASUS_PAM_AUTHENTICATION    FLAGS += -g
    ifeq ($(HPUX_IA64_VERSION), yes)  
       SYS_LIBS += -L$(PAMLIB_HOME) -lpam  
    else    else
       SYS_LIBS += -lpam    FLAGS += -s
     #
     # The -fno-enforce-eh-specs is not available in 2.9.5 and it probably
     # appeared in the 3.0 series of compilers.
     #
     ifeq ($(COMPILER), gnu)
     ifeq ($(shell expr $(GCC_VERSION) '>=' 3.0), 1)
       EXTRA_CXX_FLAGS += -fno-enforce-eh-specs
    endif    endif
     else
 ## The following flags need to be set or unset            EXTRA_CXX_FLAGS += -fno-enforce-eh-specs
 ## to 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  
   
 endif endif
  
   
 ifdef PEGASUS_DEBUG  
 FLAGS += -g -fPIC -W -Wall -Wno-unused  -D_GNU_SOURCE -DTHREAD_SAFE -D_REENTRANT  
 else  
 FLAGS += -fPIC -W -Wall -Wno-unused -D_GNU_SOURCE -DTHREAD_SAFE -D_REENTRANT -s -fno-enforce-eh-specs  
   ifdef PEGASUS_OPTIMIZE_FOR_SIZE   ifdef PEGASUS_OPTIMIZE_FOR_SIZE
     FLAGS += -Os     FLAGS += -Os
   else   else
Line 72 
Line 132 
   endif   endif
 endif endif
  
   FLAGS += $(CXX_MACHINE_OPTIONS)
  
 ifndef PEGASUS_USE_MU_DEPEND  ifdef PEGASUS_ENABLE_GCOV
 PEGASUS_HAS_MAKEDEPEND = yes    FLAGS += -ftest-coverage -fprofile-arcs
     SYS_LIBS += -lgcc -lgcov
     EXTRA_LIBRARIES += -lgcc -lgcov
 endif endif
  
 ifdef PEGASUS_LOCAL_DOMAIN_SOCKET  ifndef PEGASUS_USE_MU_DEPEND
  FLAGS += -DPEGASUS_LOCAL_DOMAIN_SOCKET  PEGASUS_HAS_MAKEDEPEND = yes
 endif  
   
 ifdef USE_CONNECTLOCAL  
  FLAGS += -DUSE_CONNECTLOCAL  
 endif  
   
 # l10n  
 ifdef PEGASUS_HAS_MESSAGES  
   DEFINES += -DPEGASUS_HAS_MESSAGES  
   ifdef ICU_ROOT  
         MSG_COMPILE = genrb  
         MSG_FLAGS =  
         MSG_SOURCE_EXT = .txt  
         MSG_COMPILE_EXT = .res  
         CNV_ROOT_CMD = cnv2rootbundle  
   
 ##################################  
 ##  
 ## 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 endif
  
 ####################################  ##==============================================================================
 ## ##
 ##   ICU_ROOT_BUNDLE_LANG if set, specifies the language that the root resource bundle will be generated from  ## Set the default visibility symbol to hidden for shared libraries. This
 ##   defaults to _en if not set.  if set, for any directory containing resource bundles,  ## feature is only available in GCC 4.0 and later.
 ##   there must exist a file name: package(the value of ICU_ROOT_BUNDLE_LANG).txt or the make messages target will fail  
 ## ##
 ####################################  ##==============================================================================
  
 ifdef ICU_ROOT_BUNDLE_LANG  ifeq ($(COMPILER), gnu)
   MSG_ROOT_SOURCE = $(ICU_ROOT_BUNDLE_LANG)  ifeq ($(shell expr $(GCC_VERSION) '>=' 4.0), 1)
       FLAGS += -fvisibility=hidden
   endif
 else else
   MSG_ROOT_SOURCE = _en      FLAGS +=-fvisibility=hidden
 endif endif
  
     SYS_INCLUDES += -I${ICU_ROOT}/source/common -I${ICU_ROOT}/source/i18n  ifndef PEGASUS_ARCH_LIB
     DEFINES += -DPEGASUS_HAS_ICU      ifeq ($(PEGASUS_PLATFORM),LINUX_X86_64_GNU)
     SYS_LIBS += -licuuc          PEGASUS_ARCH_LIB = lib64
     SYS_LIBS += -licui18n  
   endif   endif
       ifeq ($(PEGASUS_PLATFORM),LINUX_X86_64_CLANG)
           PEGASUS_ARCH_LIB = lib64
 endif endif
       PEGASUS_ARCH_LIB = lib
 ####################################  
 ##  
 ##   If PEGASUS_LSB is set, set the rest of the variables.  
 ##  
 ####################################  
   
 ifdef PEGASUS_LSB  
     SYS_INCLUDES += -I/usr/include -I/usr/include/c++ -I/opt/lsbdev-base/include/c++ -I/opt/lsbdev-base/include/  
     FLAGS += -DPEGASUS_OS_LSB  
 endif endif
   DEFINES += -DPEGASUS_ARCH_LIB=\"$(PEGASUS_ARCH_LIB)\"


Legend:
Removed from v.1.26  
changed lines
  Added in v.1.62

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2