Skip to content

update to autoconf2.65 #52756

Closed
Closed

Description

@doko42
BPO 8510
Nosy @loewis, @doko42, @mdickinson, @vstinner
Files
  • autoconf2.65.diff
  • configure.in.diff
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = <Date 2010-05-11.10:34:12.856>
    created_at = <Date 2010-04-23.15:26:17.423>
    labels = ['build']
    title = 'update to autoconf2.65'
    updated_at = <Date 2010-05-11.10:34:12.843>
    user = 'https://github.com/doko42'

    bugs.python.org fields:

    activity = <Date 2010-05-11.10:34:12.843>
    actor = 'mark.dickinson'
    assignee = 'none'
    closed = True
    closed_date = <Date 2010-05-11.10:34:12.856>
    closer = 'mark.dickinson'
    components = ['Build']
    creation = <Date 2010-04-23.15:26:17.423>
    creator = 'doko'
    dependencies = []
    files = ['17055', '17070']
    hgrepos = []
    issue_num = 8510
    keywords = ['patch', 'needs review']
    message_count = 20.0
    messages = ['104018', '104021', '104047', '104109', '104152', '104157', '104163', '104167', '104168', '104467', '104501', '105271', '105277', '105375', '105427', '105488', '105491', '105493', '105495', '105496']
    nosy_count = 6.0
    nosy_names = ['loewis', 'doko', 'mark.dickinson', 'vstinner', 'rpetrov', 'Arfrever']
    pr_nums = []
    priority = 'normal'
    resolution = 'accepted'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = None
    url = 'https://bugs.python.org/issue8510'
    versions = ['Python 2.7', 'Python 3.2']

    Activity

    1. doko42 commented on Apr 23, 2010

      @doko42
      MemberAuthor

      update to autoconf2.65

    2. added
      buildThe build process and cross-build
      on Apr 23, 2010
    3. doko42 commented on Apr 23, 2010

      @doko42
      MemberAuthor
    4. loewis commented on Apr 23, 2010

      loewismannequin
      Mannequin

      I don't think Python 2.7 should upgrade to a newer autoconf version at this point. For 3.2, we could try it out.

    5. doko42 commented on Apr 24, 2010

      @doko42
      MemberAuthor

      here is the diff for configure.in. The __EXTENSIONS__ macro is defined by 2.65 for Solaris, removed this explicit definition. running a test build

    6. doko42 commented on Apr 25, 2010

      @doko42
      MemberAuthor

      r80474: Replace AC_HELP_STRING with AS_HELP_STRING

    7. doko42 commented on Apr 25, 2010

      @doko42
      MemberAuthor

      r80475: s/AC_AIX/AC_USE_SYSTEM_EXTENSIONS/

    8. doko42 commented on Apr 25, 2010

      @doko42
      MemberAuthor

      r80478 converts all obsolete AC_TRY_* macros to AC_*_IFELSE, the outcome is ... nothing (but whitespace changes):

      $ svn diff --diff-cmd diff -x -uEwB configure
      Index: configure

      ===================================================================

      --- configure	(Revision 80475)
      +++ configure	(Arbeitskopie)
      @@ -1,5 +1,5 @@
       #! /bin/sh
      -# From configure.in Revision: 80474 .
      +# From configure.in Revision: 80475 .
       # Guess values for system-dependent variables and create Makefiles.
       # Generated by GNU Autoconf 2.65 for python 3.2.
       #

      running configure with the old and the new version shows no diffs (besides config.log).

    9. doko42 commented on Apr 25, 2010

      @doko42
      MemberAuthor

      r80481: configure.in: Avoid autoconf warning: Assume C89 semantics that
      RETSIGTYPE is always void (issue bpo-8510).

      Keep the definition, although the python code itself doesn't use it anymore.

    10. doko42 commented on Apr 25, 2010

      @doko42
      MemberAuthor

      r80483: Makefile.pre.in (autoconf): Call autoconf/autoheader with -Wall to help the configure script to stay warning free.

    11. rpetrov commented on Apr 28, 2010

      rpetrovmannequin
      Mannequin

      You don't need to add source in case of
      AC_COMPILE_IFELSE([AC_LANG_SOURCE([[]])] ..
      when the the test is ..main() { return 0 ;} ...
      , posted long time ago as part of bpo-3754 ( minimal cross-compilation support for configure ).
      Also thanks for fixing extra comma in after replacement of AC_TRY_COMPILE .

      This part is save to be added to 2.7 build.

    12. doko42 commented on Apr 29, 2010

      @doko42
      MemberAuthor

      You don't need to add source in case of
      AC_COMPILE_IFELSE([AC_LANG_SOURCE([[]])] ..
      when the the test is ..main() { return 0 ;} ...

      is there a version of the cross configure patch for 3.x?

    13. doko42 commented on May 8, 2010

      @doko42
      MemberAuthor

      the update to 2.65 on the py3k branch only did show whitespace changes, applying these changes to the trunk.

      r80964: require autoconf-2.65

    14. doko42 commented on May 8, 2010

      @doko42
      MemberAuthor

      r80965: Replace AC_HELP_STRING with AS_HELP_STRING
      r80966: s/AC_AIX/AC_USE_SYSTEM_EXTENSIONS/
      r80969: convert all obsolete AC_TRY_* macros to AC_*_IFELSE
      r80970: Avoid autoconf warning: Assume C89 semantics that RETSIGTYPE is always void

    15. mdickinson commented on May 9, 2010

      @mdickinson
      Member

      r81004: Remove extra closing bracket and comma introduced in r80969. (This was causing misdetection of the OS X 10.5 SDK on Linux and OS X, and a test_platform failure on OS X.)

    16. rpetrov commented on May 10, 2010

      rpetrovmannequin
      Mannequin

      I don't have access to source so my comment will be based only on diffs from above mentioned revisions.
      r80969:

      • AC_LANG_PROGRAM ... with main function in body . It is legal as I don't know C compiler that fail to compile code like ...int main() { int main() {...} ...} but is better to left body empty. Counted three times. All those cases tests for compiler flags and I think that AC_LANG_SOURCE is enough.

      • body include #include "confdefs.h" - may be buggy (before) and now AC_LANG_PROGRAM will add all defines. Counted any times. I think that is save to remove #include "confdefs.h" from all those test cases.

    17. mdickinson commented on May 11, 2010

      @mdickinson
      Member

      Roumen: good catch! Indeed, nested functions aren't legal in standard C, and the test for -fno-strict-aliasing now fails on my OS X 10.6.3 machine, where it used to pass:

      checking whether gcc accepts -fno-strict-aliasing... no

      config.log contains:

      configure:5400: checking whether gcc accepts -fno-strict-aliasing
      configure:5418: gcc -fno-strict-aliasing -c -g -O2 conftest.c >&5
      conftest.c: In function 'main':
      conftest.c:27: error: nested functions are disabled, use -fnested-functions to re-enable
      configure:5418: $? = 1
      configure: failed program was:
      ...

      Fixed these cases above and removed the extra '#include "confdefs.h"' lines (which seem harmless, but unnecessary) in r81077 (trunk).

    18. mdickinson commented on May 11, 2010

      @mdickinson
      Member

      Merged to py3k, and fixed up an additional nested 'int main()', in r81078.

    19. mdickinson commented on May 11, 2010

      @mdickinson
      Member

      BTW, it looks as though the nested functions were introduced in r76030; nothing to do with Matthias's autoconf 2.65 update.

    20. mdickinson commented on May 11, 2010

      @mdickinson
      Member

      Just double checked that r80969 didn't introduce any other non-whitespace changes: apart from the now-fixed OS X 10.5 SDK issue), the only other non-whitespace change was:

      @@ -7018,7 +7023,7 @@
       int
       main ()
       {
      -long double x; x = (long double)0.;
      +long double x; x = (long double)0;
         ;
         return 0;
       }

      which looks harmless to me.

    21. mdickinson commented on May 11, 2010

      @mdickinson
      Member

      Closing. Roumen, please open a new issue for any other configure issues that aren't related to this autoconf update.

    22. transferred this issue fromon Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      buildThe build process and cross-build

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions