make/autoconf/flags-cflags.m4
changeset 49155 7cd937277d5e
parent 49120 c04d813140dc
child 49156 6aaf3aef2d67
equal deleted inserted replaced
49154:28729cf7e4bc 49155:7cd937277d5e
   114       CFLAGS_DEBUG_SYMBOLS="-g"
   114       CFLAGS_DEBUG_SYMBOLS="-g"
   115     fi
   115     fi
   116   elif test "x$TOOLCHAIN_TYPE" = xclang; then
   116   elif test "x$TOOLCHAIN_TYPE" = xclang; then
   117     CFLAGS_DEBUG_SYMBOLS="-g"
   117     CFLAGS_DEBUG_SYMBOLS="-g"
   118   elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
   118   elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
   119     CFLAGS_DEBUG_SYMBOLS="-g -xs"
       
   120     # -g0 enables debug symbols without disabling inlining.
   119     # -g0 enables debug symbols without disabling inlining.
   121     CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs"
   120     CFLAGS_DEBUG_SYMBOLS="-g0 -xs"
   122   elif test "x$TOOLCHAIN_TYPE" = xxlc; then
   121   elif test "x$TOOLCHAIN_TYPE" = xxlc; then
   123     CFLAGS_DEBUG_SYMBOLS="-g"
   122     CFLAGS_DEBUG_SYMBOLS="-g"
   124   elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
   123   elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
   125     CFLAGS_DEBUG_SYMBOLS="-Zi"
   124     CFLAGS_DEBUG_SYMBOLS="-Zi"
   126   fi
   125   fi
   127 
   126 
   128   if test "x$CXXFLAGS_DEBUG_SYMBOLS" = x; then
       
   129     # If we did not specify special flags for C++, use C version
       
   130     CXXFLAGS_DEBUG_SYMBOLS="$CFLAGS_DEBUG_SYMBOLS"
       
   131   fi
       
   132   AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
   127   AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
   133   AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS)
       
   134 
   128 
   135   # FIXME: This was never used in the old build. What to do with it?
   129   # FIXME: This was never used in the old build. What to do with it?
   136   if test "x$TOOLCHAIN_TYPE" = xgcc; then
   130   if test "x$TOOLCHAIN_TYPE" = xgcc; then
   137     # "-Og" suppported for GCC 4.8 and later
   131     # "-Og" suppported for GCC 4.8 and later
   138     CFLAG_OPTIMIZE_DEBUG_FLAG="-Og"
   132     CFLAG_OPTIMIZE_DEBUG_FLAG="-Og"
   141       IF_FALSE: [HAS_CFLAG_OPTIMIZE_DEBUG=false])
   135       IF_FALSE: [HAS_CFLAG_OPTIMIZE_DEBUG=false])
   142   fi
   136   fi
   143 
   137 
   144   # Debug symbols for JVM_CFLAGS
   138   # Debug symbols for JVM_CFLAGS
   145   if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
   139   if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
   146     JVM_CFLAGS_SYMBOLS="$JVM_CFLAGS_SYMBOLS -xs"
   140     JVM_CFLAGS_SYMBOLS="$JVM_CFLAGS_SYMBOLS -g0 -xs"
   147     if test "x$DEBUG_LEVEL" = xslowdebug; then
       
   148       JVM_CFLAGS_SYMBOLS="$JVM_CFLAGS_SYMBOLS -g"
       
   149     else
       
   150       # -g0 does not disable inlining, which -g does.
       
   151       JVM_CFLAGS_SYMBOLS="$JVM_CFLAGS_SYMBOLS -g0"
       
   152     fi
       
   153   elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
   141   elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
   154     JVM_CFLAGS_SYMBOLS="$JVM_CFLAGS_SYMBOLS -Z7 -d2Zi+"
   142     JVM_CFLAGS_SYMBOLS="$JVM_CFLAGS_SYMBOLS -Z7 -d2Zi+"
   155   else
   143   else
   156     JVM_CFLAGS_SYMBOLS="$JVM_CFLAGS_SYMBOLS -g"
   144     JVM_CFLAGS_SYMBOLS="$JVM_CFLAGS_SYMBOLS -g"
   157   fi
   145   fi
   494   fi
   482   fi
   495 
   483 
   496   if test "x$DEBUG_LEVEL" != xrelease; then
   484   if test "x$DEBUG_LEVEL" != xrelease; then
   497     DEBUG_OPTIONS_FLAGS_JDK="$CFLAGS_DEBUG_OPTIONS"
   485     DEBUG_OPTIONS_FLAGS_JDK="$CFLAGS_DEBUG_OPTIONS"
   498     DEBUG_SYMBOLS_CFLAGS_JDK="$CFLAGS_DEBUG_SYMBOLS"
   486     DEBUG_SYMBOLS_CFLAGS_JDK="$CFLAGS_DEBUG_SYMBOLS"
   499     DEBUG_SYMBOLS_CXXFLAGS_JDK="$CXXFLAGS_DEBUG_SYMBOLS"
       
   500   fi
   487   fi
   501 
   488 
   502   #### TOOLCHAIN DEFINES
   489   #### TOOLCHAIN DEFINES
   503 
   490 
   504   if test "x$TOOLCHAIN_TYPE" = xgcc; then
   491   if test "x$TOOLCHAIN_TYPE" = xgcc; then
   554     TOOLCHAIN_CFLAGS_JDK="-mt"
   541     TOOLCHAIN_CFLAGS_JDK="-mt"
   555     TOOLCHAIN_CFLAGS_JDK_CONLY="-xc99=%none -xCC -Xa -v -W0,-noglobal" # C only
   542     TOOLCHAIN_CFLAGS_JDK_CONLY="-xc99=%none -xCC -Xa -v -W0,-noglobal" # C only
   556     TOOLCHAIN_CFLAGS_JDK_CXXONLY="-features=no%except -norunpath -xnolib" # CXX only
   543     TOOLCHAIN_CFLAGS_JDK_CXXONLY="-features=no%except -norunpath -xnolib" # CXX only
   557     TOOLCHAIN_CFLAGS_JVM="-template=no%extdef -features=no%split_init \
   544     TOOLCHAIN_CFLAGS_JVM="-template=no%extdef -features=no%split_init \
   558         -library=stlport4 -mt -features=no%except"
   545         -library=stlport4 -mt -features=no%except"
       
   546     if test "x$DEBUG_LEVEL" = xslowdebug; then
       
   547       # Previously -g was used instead of -g0 for slowdebug; this is equivalent
       
   548       # to setting +d.
       
   549       TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM +d"
       
   550     fi
       
   551 
   559   elif test "x$TOOLCHAIN_TYPE" = xxlc; then
   552   elif test "x$TOOLCHAIN_TYPE" = xxlc; then
   560     TOOLCHAIN_CFLAGS_JDK="-qchars=signed -qfullpath -qsaveopt"  # add on both CFLAGS
   553     TOOLCHAIN_CFLAGS_JDK="-qchars=signed -qfullpath -qsaveopt"  # add on both CFLAGS
   561     TOOLCHAIN_CFLAGS_JVM="-qtune=balanced \
   554     TOOLCHAIN_CFLAGS_JVM="-qtune=balanced \
   562         -qalias=noansi -qstrict -qtls=default -qlanglvl=c99vla \
   555         -qalias=noansi -qstrict -qtls=default -qlanglvl=c99vla \
   563         -qlanglvl=noredefmac -qnortti -qnoeh -qignerrno"
   556         -qlanglvl=noredefmac -qnortti -qnoeh -qignerrno"
   823       $OS_CFLAGS $OS_CFLAGS_JVM $CFLAGS_OS_DEF_JVM $DEBUG_CFLAGS_JVM \
   816       $OS_CFLAGS $OS_CFLAGS_JVM $CFLAGS_OS_DEF_JVM $DEBUG_CFLAGS_JVM \
   824       $WARNING_CFLAGS $WARNING_CFLAGS_JVM $JVM_PICFLAG"
   817       $WARNING_CFLAGS $WARNING_CFLAGS_JVM $JVM_PICFLAG"
   825 
   818 
   826   CFLAGS_JDK_COMMON="$ALWAYS_CFLAGS_JDK $ALWAYS_DEFINES_JDK $TOOLCHAIN_CFLAGS_JDK \
   819   CFLAGS_JDK_COMMON="$ALWAYS_CFLAGS_JDK $ALWAYS_DEFINES_JDK $TOOLCHAIN_CFLAGS_JDK \
   827       $OS_CFLAGS $CFLAGS_OS_DEF_JDK $DEBUG_CFLAGS_JDK $DEBUG_OPTIONS_FLAGS_JDK \
   820       $OS_CFLAGS $CFLAGS_OS_DEF_JDK $DEBUG_CFLAGS_JDK $DEBUG_OPTIONS_FLAGS_JDK \
   828       $WARNING_CFLAGS $WARNING_CFLAGS_JDK"
   821       $WARNING_CFLAGS $WARNING_CFLAGS_JDK $DEBUG_SYMBOLS_CFLAGS_JDK"
   829 
   822 
   830   # Use ${$2EXTRA_CFLAGS} to block EXTRA_CFLAGS to be added to build flags.
   823   # Use ${$2EXTRA_CFLAGS} to block EXTRA_CFLAGS to be added to build flags.
   831   # (Currently we don't have any OPENJDK_BUILD_EXTRA_CFLAGS, but that might
   824   # (Currently we don't have any OPENJDK_BUILD_EXTRA_CFLAGS, but that might
   832   # change in the future.)
   825   # change in the future.)
   833 
   826 
   834   CFLAGS_JDK_COMMON_CONLY="$TOOLCHAIN_CFLAGS_JDK_CONLY $DEBUG_SYMBOLS_CFLAGS_JDK \
   827   CFLAGS_JDK_COMMON_CONLY="$TOOLCHAIN_CFLAGS_JDK_CONLY  \
   835       $WARNING_CFLAGS_JDK_CONLY ${$2EXTRA_CFLAGS}"
   828       $WARNING_CFLAGS_JDK_CONLY ${$2EXTRA_CFLAGS}"
   836   CFLAGS_JDK_COMMON_CXXONLY="$ALWAYS_DEFINES_JDK_CXXONLY $TOOLCHAIN_CFLAGS_JDK_CXXONLY \
   829   CFLAGS_JDK_COMMON_CXXONLY="$ALWAYS_DEFINES_JDK_CXXONLY $TOOLCHAIN_CFLAGS_JDK_CXXONLY \
   837       $DEBUG_SYMBOLS_CXXFLAGS_JDK $WARNING_CFLAGS_JDK_CXXONLY ${$2EXTRA_CXXFLAGS}"
   830       $WARNING_CFLAGS_JDK_CXXONLY ${$2EXTRA_CXXFLAGS}"
   838 
   831 
   839   $1_CFLAGS_JVM="${$1_DEFINES_CPU_JVM} ${$1_CFLAGS_CPU} ${$1_CFLAGS_CPU_JVM} ${$1_TOOLCHAIN_CFLAGS} ${$1_WARNING_CFLAGS_JVM}"
   832   $1_CFLAGS_JVM="${$1_DEFINES_CPU_JVM} ${$1_CFLAGS_CPU} ${$1_CFLAGS_CPU_JVM} ${$1_TOOLCHAIN_CFLAGS} ${$1_WARNING_CFLAGS_JVM}"
   840   $1_CFLAGS_JDK="${$1_DEFINES_CPU_JDK} ${$1_CFLAGS_CPU} ${$1_CFLAGS_CPU_JDK} ${$1_TOOLCHAIN_CFLAGS}"
   833   $1_CFLAGS_JDK="${$1_DEFINES_CPU_JDK} ${$1_CFLAGS_CPU} ${$1_CFLAGS_CPU_JDK} ${$1_TOOLCHAIN_CFLAGS}"
   841 
   834 
   842   $2JVM_CFLAGS="$CFLAGS_JVM_COMMON ${$1_CFLAGS_JVM} ${$2EXTRA_CXXFLAGS}"
   835   $2JVM_CFLAGS="$CFLAGS_JVM_COMMON ${$1_CFLAGS_JVM} ${$2EXTRA_CXXFLAGS}"