(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.1 and 1.62

version 1.1, 2003/06/14 19:25:38 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)
  
   #########################################################################
   ##
   ## Platform specific compile options controlled by environment variables
   ## are set here.
   ##
   #########################################################################
   
   
   # 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 OS = linux
  
   
   ifeq ($(findstring _CLANG, $(PEGASUS_PLATFORM)), _CLANG)
       COMPILER = clang
       CXX = clang++
       CC = clang
   else
 COMPILER = gnu COMPILER = gnu
       ifndef CXX
           CXX = g++
       endif
   endif
  
 PLATFORM_VERSION_SUPPORTED = yes PLATFORM_VERSION_SUPPORTED = yes
  
 CXX = g++  
  
 SH = sh SH = sh
  
 YACC = yacc  YACC = bison
   
 COPY = cp  
   
 MOVE = mv  
  
 PEGASUS_SUPPORTS_DYNLIB = yes PEGASUS_SUPPORTS_DYNLIB = yes
  
Line 28 
Line 91 
  
 LIB_SUFFIX = .so.$(MAJOR_VERSION_NUMBER) LIB_SUFFIX = .so.$(MAJOR_VERSION_NUMBER)
  
 DEFINES += -DPEGASUS_HAS_SIGNALS  DEFINES += -DPEGASUS_USE_SYSLOGS
   
 ifdef PEGASUS_USES_GCCV3  
   SYS_INCLUDES = -I/usr/include/g++-3  
 else  
   SYS_INCLUDES = -I/usr/include/g++  
 endif  
  
 SYS_LIBS = -ldl -lpthread -lcrypt SYS_LIBS = -ldl -lpthread -lcrypt
  
 ifdef PEGASUS_HAS_SSL  ifeq ($(COMPILER), clang)
   SYS_LIBS += -lssl      FLAGS += -W -Wall -Wno-unused-parameter  -Wno-unused-value -D_GNU_SOURCE \
 endif          -DTHREAD_SAFE -D_REENTRANT -Wno-unused-variable  -Wno-unused-function
   
 # Build using fixed release settings  
 #  
 ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS  
 FLAGS += -DPEGASUS_USE_RELEASE_CONFIG_OPTIONS  
 endif  
 ifdef PEGASUS_USE_RELEASE_DIRS  
 FLAGS += -DPEGASUS_USE_RELEASE_DIRS  
 endif  
   
 # PAM support  
 ifdef PEGASUS_PAM_AUTHENTICATION  
    ifeq ($(HPUX_IA64_VERSION), yes)  
       SYS_LIBS += -L$(PAMLIB_HOME) -lpam  
    else    else
       SYS_LIBS += -lpam      FLAGS += -W -Wall -Wno-unused  -D_GNU_SOURCE -DTHREAD_SAFE -D_REENTRANT
    endif    endif
   ##==============================================================================
 ## The following flags need to be set or unset  
 ## 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  
   
 ## ##
 ## The following flag sets the Authentication to be PAM based authentication.  ## The DYNAMIC_FLAGS variable defines linker flags that only apply to shared
   ## libraries.
 ## ##
   ifdef PEGASUS_ALWAYS_USE_PAM  ##==============================================================================
    DEFINES += -DPEGASUS_ALWAYS_USE_PAM  DYNAMIC_FLAGS += -fPIC
   
   ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS
     FLAGS += -g
   else
     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
             EXTRA_CXX_FLAGS += -fno-enforce-eh-specs
 endif endif
  
     ifdef PEGASUS_OPTIMIZE_FOR_SIZE
 ifdef PEGASUS_DEBUG      FLAGS += -Os
 FLAGS = -g -fpic -W -Wall -Wno-unused  -D_GNU_SOURCE -DTHREAD_SAFE -D_REENTRANT -DPEGASUS_DEBUG  
 else else
 FLAGS = -O2 -fpic -W -Wall -Wno-unused -D_GNU_SOURCE -DTHREAD_SAFE -D_REENTRANT      FLAGS += -O2
 endif endif
   
 ifdef PEGASUS_NO_SLP  
   FLAGS += -DPEGASUS_NO_SLP  
   NO_SLP = true  
 endif endif
  
 ifdef PEGASUS_HAS_PERFINST  FLAGS += $(CXX_MACHINE_OPTIONS)
   FLAGS += -DPEGASUS_HAS_PERFINST  
   ifdef PEGASUS_ENABLE_GCOV
     FLAGS += -ftest-coverage -fprofile-arcs
     SYS_LIBS += -lgcc -lgcov
     EXTRA_LIBRARIES += -lgcc -lgcov
 endif endif
  
 ifndef PEGASUS_USE_MU_DEPEND ifndef PEGASUS_USE_MU_DEPEND
 PEGASUS_HAS_MAKEDEPEND = yes PEGASUS_HAS_MAKEDEPEND = yes
 endif endif
  
 ifdef PEGASUS_LOCAL_DOMAIN_SOCKET  ##==============================================================================
  FLAGS += -DPEGASUS_LOCAL_DOMAIN_SOCKET  ##
   ## Set the default visibility symbol to hidden for shared libraries. This
   ## feature is only available in GCC 4.0 and later.
   ##
   ##==============================================================================
   
   ifeq ($(COMPILER), gnu)
   ifeq ($(shell expr $(GCC_VERSION) '>=' 4.0), 1)
       FLAGS += -fvisibility=hidden
   endif
   else
       FLAGS +=-fvisibility=hidden
 endif endif
  
 ifdef USE_CONNECTLOCAL  ifndef PEGASUS_ARCH_LIB
  FLAGS += -DUSE_CONNECTLOCAL      ifeq ($(PEGASUS_PLATFORM),LINUX_X86_64_GNU)
           PEGASUS_ARCH_LIB = lib64
       endif
       ifeq ($(PEGASUS_PLATFORM),LINUX_X86_64_CLANG)
           PEGASUS_ARCH_LIB = lib64
       endif
       PEGASUS_ARCH_LIB = lib
 endif endif
   DEFINES += -DPEGASUS_ARCH_LIB=\"$(PEGASUS_ARCH_LIB)\"


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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2