changeset: 99657:d7b5c2f99a99 branch: 2.7 parent: 99642:b87fe3e4a3d8 user: Zachary Ware date: Mon Dec 21 11:43:03 2015 -0600 files: .gitignore .hgignore Makefile.pre.in Misc/NEWS configure configure.ac description: Issue #25827: Add support for ICC to configure diff -r b87fe3e4a3d8 -r d7b5c2f99a99 .gitignore --- a/.gitignore Sun Dec 20 11:40:00 2015 +0200 +++ b/.gitignore Mon Dec 21 11:43:03 2015 -0600 @@ -9,6 +9,7 @@ *.gc?? *.profclang? *.profraw +*.dyn Doc/build/ Doc/tools/docutils/ Doc/tools/jinja2/ diff -r b87fe3e4a3d8 -r d7b5c2f99a99 .hgignore --- a/.hgignore Sun Dec 20 11:40:00 2015 +0200 +++ b/.hgignore Mon Dec 21 11:43:03 2015 -0600 @@ -48,6 +48,7 @@ *.gc?? *.profclang? *.profraw +*.dyn Lib/distutils/command/*.pdb Lib/lib2to3/*.pickle Lib/test/data/* diff -r b87fe3e4a3d8 -r d7b5c2f99a99 Makefile.pre.in --- a/Makefile.pre.in Sun Dec 20 11:40:00 2015 +0200 +++ b/Makefile.pre.in Mon Dec 21 11:43:03 2015 -0600 @@ -1354,6 +1354,7 @@ profile-removal: find . -name '*.gc??' -exec rm -f {} ';' find . -name '*.profclang?' -exec rm -f {} ';' + find . -name '*.dyn' -exec rm -f {} ';' clobber: clean profile-removal -rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \ diff -r b87fe3e4a3d8 -r d7b5c2f99a99 Misc/NEWS --- a/Misc/NEWS Sun Dec 20 11:40:00 2015 +0200 +++ b/Misc/NEWS Mon Dec 21 11:43:03 2015 -0600 @@ -64,6 +64,9 @@ Build ----- +- Issue #25827: Add support for building with ICC to ``configure``, including + a new ``--with-icc`` flag. + - Issue #25696: Fix installation of Python on UNIX with make -j9. - Issue #25798: Update OS X 10.5+ 32-bit-only installer to build diff -r b87fe3e4a3d8 -r d7b5c2f99a99 configure --- a/configure Sun Dec 20 11:40:00 2015 +0200 +++ b/configure Mon Dec 21 11:43:03 2015 -0600 @@ -789,6 +789,7 @@ with_framework_name enable_framework with_gcc +with_icc with_cxx_main with_suffix enable_shared @@ -1469,6 +1470,7 @@ specify an alternate name of the framework built with --enable-framework --without-gcc never use gcc + --with-icc build with icc --with-cxx-main= compile main() and link python executable with C++ compiler @@ -3480,6 +3482,29 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $without_gcc" >&5 $as_echo "$without_gcc" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-icc" >&5 +$as_echo_n "checking for --with-icc... " >&6; } + +# Check whether --with-icc was given. +if test "${with_icc+set}" = set; then : + withval=$with_icc; + case $withval in + no) CC=${CC:-cc} + with_icc=no;; + yes) CC=icc + CXX=icpc + with_icc=yes;; + *) CC=$withval + with_icc=$withval;; + esac +else + + with_icc=no +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_icc" >&5 +$as_echo "$with_icc" >&6; } + # If the user switches compilers, we can't believe the cache if test ! -z "$ac_cv_prog_CC" -a ! -z "$CC" -a "$CC" != "$ac_cv_prog_CC" then @@ -6188,6 +6213,13 @@ ;; esac +# ICC needs -fp-model strict or floats behave badly +case "$CC" in +*icc*) + BASECFLAGS="$BASECFLAGS -fp-model strict" + ;; +esac + if test "$Py_DEBUG" = 'true'; then : else @@ -6334,6 +6366,12 @@ # Enable PGO flags. + + + + + + # Extract the first word of "llvm-profdata", so it can be a program name with args. set dummy llvm-profdata; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 @@ -6405,6 +6443,12 @@ ;; esac ;; + *icc*) + PGO_PROF_GEN_FLAG="-prof-gen" + PGO_PROF_USE_FLAG="-prof-use" + LLVM_PROF_MERGER="true" + LLVM_PROF_FILE="" + ;; esac diff -r b87fe3e4a3d8 -r d7b5c2f99a99 configure.ac --- a/configure.ac Sun Dec 20 11:40:00 2015 +0200 +++ b/configure.ac Mon Dec 21 11:43:03 2015 -0600 @@ -573,6 +573,22 @@ esac]) AC_MSG_RESULT($without_gcc) +AC_MSG_CHECKING(for --with-icc) +AC_ARG_WITH(icc, + AS_HELP_STRING([--with-icc], [build with icc]), +[ + case $withval in + no) CC=${CC:-cc} + with_icc=no;; + yes) CC=icc + CXX=icpc + with_icc=yes;; + *) CC=$withval + with_icc=$withval;; + esac], [ + with_icc=no]) +AC_MSG_RESULT($with_icc) + # If the user switches compilers, we can't believe the cache if test ! -z "$ac_cv_prog_CC" -a ! -z "$CC" -a "$CC" != "$ac_cv_prog_CC" then @@ -1266,6 +1282,13 @@ ;; esac +# ICC needs -fp-model strict or floats behave badly +case "$CC" in +*icc*) + BASECFLAGS="$BASECFLAGS -fp-model strict" + ;; +esac + if test "$Py_DEBUG" = 'true'; then : else @@ -1394,6 +1417,12 @@ ;; esac ;; + *icc*) + PGO_PROF_GEN_FLAG="-prof-gen" + PGO_PROF_USE_FLAG="-prof-use" + LLVM_PROF_MERGER="true" + LLVM_PROF_FILE="" + ;; esac