jdk/make/common/Defs-solaris.gmk
changeset 849 be386e469547
parent 715 f16baef3a20e
child 919 909db04edd73
equal deleted inserted replaced
848:8519a48b52bd 849:be386e469547
    38 #   CXXFLAGS      (set $(OTHER_CXXFLAGS) instead)
    38 #   CXXFLAGS      (set $(OTHER_CXXFLAGS) instead)
    39 #   LDFLAGS       (set $(OTHER_LDFAGS) instead)
    39 #   LDFLAGS       (set $(OTHER_LDFAGS) instead)
    40 #   LDLIBS        (set $(EXTRA_LIBS) instead)
    40 #   LDLIBS        (set $(EXTRA_LIBS) instead)
    41 #   LDLIBS_COMMON (set $(EXTRA_LIBS) instead)
    41 #   LDLIBS_COMMON (set $(EXTRA_LIBS) instead)
    42 #   LINTFLAGS     (set $(OTHER_LINTFLAGS) instead)
    42 #   LINTFLAGS     (set $(OTHER_LINTFLAGS) instead)
       
    43 #
       
    44 # Note: CPPFLAGS are used in C and C++ compiles.
       
    45 #
    43 
    46 
    44 # Get shared JDK settings
    47 # Get shared JDK settings
    45 include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
    48 include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
    46 
    49 
    47 ifndef PLATFORM_SRC
    50 ifndef PLATFORM_SRC
   110 #                       e.g. declarations must precede statements
   113 #                       e.g. declarations must precede statements
   111 #       -xCC            Allow the C++ style of comments in C: //
   114 #       -xCC            Allow the C++ style of comments in C: //
   112 #                       Required with many of the source files.
   115 #                       Required with many of the source files.
   113 #       -mt             Assume multi-threaded (important)
   116 #       -mt             Assume multi-threaded (important)
   114 #
   117 #
       
   118 # The more unusual options to the Sun C compiler:
       
   119 #       +w              Print more warnings
       
   120 #       +w2             Maximum warnings
       
   121 #
   115 
   122 
   116 #
   123 #
   117 # Debug flag for C and C++ compiler
   124 # Debug flag for C and C++ compiler
   118 #
   125 #
   119 CFLAGS_DEBUG_OPTION=-g
   126 CFLAGS_DEBUG_OPTION=-g
   138   CC_FASTDEBUG_OPT       = $(CC_LOWER_OPT)
   145   CC_FASTDEBUG_OPT       = $(CC_LOWER_OPT)
   139   CFLAGS_DEBUG_OPTION    = -g   $(CC_FASTDEBUG_OPT)
   146   CFLAGS_DEBUG_OPTION    = -g   $(CC_FASTDEBUG_OPT)
   140   CXXFLAGS_DEBUG_OPTION  = -g0  $(CC_FASTDEBUG_OPT)
   147   CXXFLAGS_DEBUG_OPTION  = -g0  $(CC_FASTDEBUG_OPT)
   141 endif
   148 endif
   142 
   149 
   143 CFLAGS_COMMON   = -v -mt -L$(OBJDIR) -xc99=%none
   150 CFLAGS_COMMON   = -L$(OBJDIR)
       
   151 
       
   152 # Do not allow C99 language features like declarations in code etc.
       
   153 CFLAGS_COMMON  += -xc99=%none
       
   154 
       
   155 # Allow C++ comments in C code
   144 CFLAGS_COMMON  += -xCC
   156 CFLAGS_COMMON  += -xCC
   145 CFLAGS_COMMON  += -errshort=tags
   157 
       
   158 # Show error message tags on errors
       
   159 CFLAGS_COMMON   += -errshort=tags
       
   160 CXXFLAGS_COMMON += -errtags=yes
       
   161 
       
   162 # Optimization flags
   146 CFLAGS_OPT      = $(POPT)
   163 CFLAGS_OPT      = $(POPT)
       
   164 
       
   165 # Debug version flags
   147 CFLAGS_DBG      = $(CFLAGS_DEBUG_OPTION)
   166 CFLAGS_DBG      = $(CFLAGS_DEBUG_OPTION)
   148 CFLAGS_COMMON  +=  -Xa $(CFLAGS_REQUIRED)
   167 
       
   168 # Required C compiler flags
       
   169 CFLAGS_COMMON  += -Xa $(CFLAGS_REQUIRED)
       
   170 
       
   171 # Maximum warnings all the time
       
   172 CXXFLAGS_COMMON += +w
       
   173 CFLAGS_COMMON   += -v
   149 
   174 
   150 # Assume MT behavior all the time (important)
   175 # Assume MT behavior all the time (important)
   151 CXXFLAGS_COMMON  = -mt
   176 CXXFLAGS_COMMON += -mt
       
   177 CFLAGS_COMMON   += -mt
   152 
   178 
   153 # Assume no C++ exceptions are used
   179 # Assume no C++ exceptions are used
   154 CXXFLAGS_COMMON += -features=no%except -DCC_NOEX
   180 CXXFLAGS_COMMON += -features=no%except -DCC_NOEX
   155 
   181 
   156 # For C++, these options tell it to assume nothing about locating libraries
   182 # For C++, these options tell it to assume nothing about locating libraries
   235 # uncomment the following to build with PERTURBALOT set
   261 # uncomment the following to build with PERTURBALOT set
   236 #
   262 #
   237 # OTHER_CFLAGS += -DPERTURBALOT
   263 # OTHER_CFLAGS += -DPERTURBALOT
   238 #
   264 #
   239 
   265 
   240 CPPFLAGS_COMMON = -D$(ARCH_FAMILY) -D__solaris__ -D_REENTRANT 
   266 CPPFLAGS_COMMON = -D__solaris__  -D$(ARCH_FAMILY)
   241 CPPFLAGS_OPT    = 
   267 CPPFLAGS_OPT    = -DNDEBUG
   242 CPPFLAGS_DBG    = -DDEBUG
   268 CPPFLAGS_DBG    = -DDEBUG
   243 
   269 
   244 ifeq ($(ARCH_FAMILY), i586)
   270 ifeq ($(ARCH_FAMILY), i586)
   245   # The macro _LITTLE_ENDIAN needs to be defined the same to avoid the
   271   # The macro _LITTLE_ENDIAN needs to be defined the same to avoid the
   246   #   Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN
   272   #   Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN