]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-93744: Remove configure --with-cxx-main option (#95651)
authorVictor Stinner <vstinner@python.org>
Fri, 5 Aug 2022 11:26:58 +0000 (13:26 +0200)
committerGitHub <noreply@github.com>
Fri, 5 Aug 2022 11:26:58 +0000 (13:26 +0200)
Remove the "configure --with-cxx-main" build option: it didn't work
for many years. Remove the MAINCC variable from configure and
Makefile.

The MAINCC variable was added by the issue gh-42471: commit
0f48d98b740110a672b62d467af192ec160e56ba. Previously, --with-cxx-main
was named --with-cxx.

Keep CXX and LDCXXSHARED variables, even if they are no longer used
by Python build system.

Doc/using/configure.rst
Makefile.pre.in
Misc/NEWS.d/next/Build/2022-08-04-15-29-35.gh-issue-93744.svRuqm.rst [new file with mode: 0644]
configure
configure.ac

index 580cbd814f786e6da24e46e497acf108a65d08cf..4e50e73a11b817e893c2bcc56d626621bcb367af 100644 (file)
@@ -41,12 +41,6 @@ General Options
 
    See :data:`sys.int_info.bits_per_digit <sys.int_info>`.
 
-.. cmdoption:: --with-cxx-main
-.. cmdoption:: --with-cxx-main=COMPILER
-
-   Compile the Python ``main()`` function and link Python executable with C++
-   compiler: ``$CXX``, or *COMPILER* if specified.
-
 .. cmdoption:: --with-suffix=SUFFIX
 
    Set the Python executable suffix to *SUFFIX*.
@@ -721,22 +715,10 @@ Compiler flags
 
    Example: ``gcc -pthread``.
 
-.. envvar:: MAINCC
-
-   C compiler command used to build the ``main()`` function of programs like
-   ``python``.
-
-   Variable set by the :option:`--with-cxx-main` option of the configure
-   script.
-
-   Default: ``$(CC)``.
-
 .. envvar:: CXX
 
    C++ compiler command.
 
-   Used if the :option:`--with-cxx-main` option is used.
-
    Example: ``g++ -pthread``.
 
 .. envvar:: CFLAGS
@@ -854,7 +836,7 @@ Linker flags
 
    Linker command used to build programs like ``python`` and ``_testembed``.
 
-   Default: ``$(PURIFY) $(MAINCC)``.
+   Default: ``$(PURIFY) $(CC)``.
 
 .. envvar:: CONFIGURE_LDFLAGS
 
index 746ff4226e6c43bc25bde73d99b3fb52381b449f..79616160e495e3089ba629f8d3bfa8ff0edbef28 100644 (file)
@@ -36,7 +36,6 @@ abs_builddir= @abs_builddir@
 
 CC=            @CC@
 CXX=           @CXX@
-MAINCC=                @MAINCC@
 LINKCC=                @LINKCC@
 AR=            @AR@
 READELF=       @READELF@
@@ -1222,10 +1221,10 @@ Modules/getpath.o: $(srcdir)/Modules/getpath.c Python/frozen_modules/getpath.h M
                -o $@ $(srcdir)/Modules/getpath.c
 
 Programs/python.o: $(srcdir)/Programs/python.c
-       $(MAINCC) -c $(PY_CORE_CFLAGS) -o $@ $(srcdir)/Programs/python.c
+       $(CC) -c $(PY_CORE_CFLAGS) -o $@ $(srcdir)/Programs/python.c
 
 Programs/_testembed.o: $(srcdir)/Programs/_testembed.c Programs/test_frozenmain.h
-       $(MAINCC) -c $(PY_CORE_CFLAGS) -o $@ $(srcdir)/Programs/_testembed.c
+       $(CC) -c $(PY_CORE_CFLAGS) -o $@ $(srcdir)/Programs/_testembed.c
 
 Modules/_sre/sre.o: $(srcdir)/Modules/_sre/sre.c $(srcdir)/Modules/_sre/sre.h $(srcdir)/Modules/_sre/sre_constants.h $(srcdir)/Modules/_sre/sre_lib.h
 
diff --git a/Misc/NEWS.d/next/Build/2022-08-04-15-29-35.gh-issue-93744.svRuqm.rst b/Misc/NEWS.d/next/Build/2022-08-04-15-29-35.gh-issue-93744.svRuqm.rst
new file mode 100644 (file)
index 0000000..fa9ade2
--- /dev/null
@@ -0,0 +1,3 @@
+Remove the ``configure --with-cxx-main`` build option: it didn't work for
+many years. Remove the ``MAINCC`` variable from ``configure`` and
+``Makefile``. Patch by Victor Stinner.
index 5df9f83290da06337989c3a104be9674b27518a5..3f25d43dde6f0cd172b0b2e85c8d239d987e83bf 100755 (executable)
--- a/configure
+++ b/configure
@@ -927,7 +927,6 @@ MULTIARCH_CPPFLAGS
 PLATFORM_TRIPLET
 MULTIARCH
 ac_ct_CXX
-MAINCC
 CXX
 EGREP
 SED
@@ -1036,7 +1035,6 @@ enable_universalsdk
 with_universal_archs
 with_framework_name
 enable_framework
-with_cxx_main
 with_emscripten_target
 enable_wasm_dynamic_linking
 enable_wasm_pthreads
@@ -1805,9 +1803,6 @@ Optional Packages:
                           specify the name for the python framework on macOS
                           only valid when --enable-framework is set. see
                           Mac/README.rst (default is 'Python')
-  --with-cxx-main[=COMPILER]
-                          compile main() and link Python executable with C++
-                          compiler specified in COMPILER (default is $CXX)
   --with-emscripten-target=[browser|node]
                           Emscripten platform
   --with-suffix=SUFFIX    set executable suffix to SUFFIX (default is empty,
@@ -5550,35 +5545,6 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-cxx-main=<compiler>" >&5
-$as_echo_n "checking for --with-cxx-main=<compiler>... " >&6; }
-
-# Check whether --with-cxx_main was given.
-if test "${with_cxx_main+set}" = set; then :
-  withval=$with_cxx_main;
-
-       case $withval in
-       no)     with_cxx_main=no
-               MAINCC='$(CC)';;
-       yes)    with_cxx_main=yes
-               MAINCC='$(CXX)';;
-       *)      with_cxx_main=yes
-               MAINCC=$withval
-               if test -z "$CXX"
-               then
-                       CXX=$withval
-               fi;;
-       esac
-else
-
-       with_cxx_main=no
-       MAINCC='$(CC)'
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_cxx_main" >&5
-$as_echo "$with_cxx_main" >&6; }
-
 preset_cxx="$CXX"
 if test -z "$CXX"
 then
@@ -6661,7 +6627,7 @@ LDVERSION="$VERSION"
 $as_echo_n "checking LINKCC... " >&6; }
 if test -z "$LINKCC"
 then
-       LINKCC='$(PURIFY) $(MAINCC)'
+       LINKCC='$(PURIFY) $(CC)'
        case $ac_sys_system in
        QNX*)
           # qcc must be used because the other compilers do not
index 38880fcc8cc15b7527775d577f363feef8a46061..8decd9ebae84cf33a59fd2f3bd8496b160ff05c2 100644 (file)
@@ -865,29 +865,6 @@ rm -f conftest.c conftest.out
 AC_USE_SYSTEM_EXTENSIONS
 
 AC_SUBST(CXX)
-AC_SUBST(MAINCC)
-AC_MSG_CHECKING(for --with-cxx-main=<compiler>)
-AC_ARG_WITH(cxx_main,
-            AS_HELP_STRING([--with-cxx-main@<:@=COMPILER@:>@],
-                           [compile main() and link Python executable with C++ compiler specified in COMPILER (default is $CXX)]),
-[
-
-       case $withval in
-       no)     with_cxx_main=no
-               MAINCC='$(CC)';;
-       yes)    with_cxx_main=yes
-               MAINCC='$(CXX)';;
-       *)      with_cxx_main=yes
-               MAINCC=$withval
-               if test -z "$CXX"
-               then
-                       CXX=$withval
-               fi;;
-       esac], [
-       with_cxx_main=no
-       MAINCC='$(CC)'
-])
-AC_MSG_RESULT($with_cxx_main)
 
 preset_cxx="$CXX"
 if test -z "$CXX"
@@ -1358,7 +1335,7 @@ AC_SUBST(LINKCC)
 AC_MSG_CHECKING(LINKCC)
 if test -z "$LINKCC"
 then
-       LINKCC='$(PURIFY) $(MAINCC)'
+       LINKCC='$(PURIFY) $(CC)'
        case $ac_sys_system in
        QNX*)
           # qcc must be used because the other compilers do not