Kaydet (Commit) 6ed42ea0 authored tarafından Zachary Ware's avatar Zachary Ware

Issue #25827: Add support for ICC to configure

üst a3c22424
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
*.gc?? *.gc??
*.profclang? *.profclang?
*.profraw *.profraw
*.dyn
Doc/build/ Doc/build/
Doc/tools/docutils/ Doc/tools/docutils/
Doc/tools/jinja2/ Doc/tools/jinja2/
......
...@@ -48,6 +48,7 @@ libpython*.so* ...@@ -48,6 +48,7 @@ libpython*.so*
*.gc?? *.gc??
*.profclang? *.profclang?
*.profraw *.profraw
*.dyn
Lib/distutils/command/*.pdb Lib/distutils/command/*.pdb
Lib/lib2to3/*.pickle Lib/lib2to3/*.pickle
Lib/test/data/* Lib/test/data/*
......
...@@ -1354,6 +1354,7 @@ clean: pycremoval ...@@ -1354,6 +1354,7 @@ clean: pycremoval
profile-removal: profile-removal:
find . -name '*.gc??' -exec rm -f {} ';' find . -name '*.gc??' -exec rm -f {} ';'
find . -name '*.profclang?' -exec rm -f {} ';' find . -name '*.profclang?' -exec rm -f {} ';'
find . -name '*.dyn' -exec rm -f {} ';'
clobber: clean profile-removal clobber: clean profile-removal
-rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \ -rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \
......
...@@ -64,6 +64,9 @@ Tests ...@@ -64,6 +64,9 @@ Tests
Build 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 #25696: Fix installation of Python on UNIX with make -j9.
- Issue #25798: Update OS X 10.5+ 32-bit-only installer to build - Issue #25798: Update OS X 10.5+ 32-bit-only installer to build
......
...@@ -789,6 +789,7 @@ with_universal_archs ...@@ -789,6 +789,7 @@ with_universal_archs
with_framework_name with_framework_name
enable_framework enable_framework
with_gcc with_gcc
with_icc
with_cxx_main with_cxx_main
with_suffix with_suffix
enable_shared enable_shared
...@@ -1469,6 +1470,7 @@ Optional Packages: ...@@ -1469,6 +1470,7 @@ Optional Packages:
specify an alternate name of the framework built specify an alternate name of the framework built
with --enable-framework with --enable-framework
--without-gcc never use gcc --without-gcc never use gcc
--with-icc build with icc
--with-cxx-main=<compiler> --with-cxx-main=<compiler>
compile main() and link python executable with C++ compile main() and link python executable with C++
compiler compiler
...@@ -3480,6 +3482,29 @@ fi ...@@ -3480,6 +3482,29 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $without_gcc" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $without_gcc" >&5
$as_echo "$without_gcc" >&6; } $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 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" if test ! -z "$ac_cv_prog_CC" -a ! -z "$CC" -a "$CC" != "$ac_cv_prog_CC"
then then
...@@ -6188,6 +6213,13 @@ $as_echo "$CC" >&6; } ...@@ -6188,6 +6213,13 @@ $as_echo "$CC" >&6; }
;; ;;
esac 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 if test "$Py_DEBUG" = 'true'; then
: :
else else
...@@ -6334,6 +6366,12 @@ fi ...@@ -6334,6 +6366,12 @@ fi
# Enable PGO flags. # Enable PGO flags.
# Extract the first word of "llvm-profdata", so it can be a program name with args. # Extract the first word of "llvm-profdata", so it can be a program name with args.
set dummy llvm-profdata; ac_word=$2 set dummy llvm-profdata; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
...@@ -6405,6 +6443,12 @@ case $CC in ...@@ -6405,6 +6443,12 @@ case $CC in
;; ;;
esac esac
;; ;;
*icc*)
PGO_PROF_GEN_FLAG="-prof-gen"
PGO_PROF_USE_FLAG="-prof-use"
LLVM_PROF_MERGER="true"
LLVM_PROF_FILE=""
;;
esac esac
......
...@@ -573,6 +573,22 @@ AC_ARG_WITH(gcc, ...@@ -573,6 +573,22 @@ AC_ARG_WITH(gcc,
esac]) esac])
AC_MSG_RESULT($without_gcc) 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 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" if test ! -z "$ac_cv_prog_CC" -a ! -z "$CC" -a "$CC" != "$ac_cv_prog_CC"
then then
...@@ -1266,6 +1282,13 @@ yes) ...@@ -1266,6 +1282,13 @@ yes)
;; ;;
esac 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 if test "$Py_DEBUG" = 'true'; then
: :
else else
...@@ -1394,6 +1417,12 @@ case $CC in ...@@ -1394,6 +1417,12 @@ case $CC in
;; ;;
esac esac
;; ;;
*icc*)
PGO_PROF_GEN_FLAG="-prof-gen"
PGO_PROF_USE_FLAG="-prof-use"
LLVM_PROF_MERGER="true"
LLVM_PROF_FILE=""
;;
esac esac
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment