Staging
v0.8.1
https://github.com/python/cpython
Revision f725bdb5c704e07578c7bbdd4c853f1e07fd3d16 authored by Thomas Heller on 25 January 2005, 20:46:48 UTC, committed by Thomas Heller on 25 January 2005, 20:46:48 UTC
for Python 2.4 caused a segfault when post_install_script was used.

The reason was that the file handle passed to PyRun_SimpleFile() was
created with MSVCRT.DLL, but Python 2.4 uses MSVCR71.DLL.

So, I replaced PyRun_SimpleFile() with PyRun_SimpleString().  The
segfault is gone, but the output of the postinstall script doesn't
show up, because still freopen() from MSVCRT is used.

(I would be very gratefull if someone proofreads the patch, at least).
1 parent cf5d664
Raw File
Tip revision: f725bdb5c704e07578c7bbdd4c853f1e07fd3d16 authored by Thomas Heller on 25 January 2005, 20:46:48 UTC
Running a bdist_wininst installer, built with Python 2.3, installing
Tip revision: f725bdb
aclocal.m4
# Code swiped wholesale from the GCC project, see
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12100

# This file can go away once autoconf 2.58 is out and being used -
# it's reported that this is fixed in the autoconf cvs already.

# AC_LANG_FUNC_LINK_TRY(C)(FUNCTION)
# ----------------------------------
# Don't include <ctype.h> because on OSF/1 3.0 it includes
# <sys/types.h> which includes <sys/select.h> which contains a
# prototype for select.  Similarly for bzero.
#
# A similar problem afflicts HP/UX, but it also hits <sys/time.h>
#
# This test used to merely assign f=$1 in main(), but that was
# optimized away by HP unbundled cc A.05.36 for ia64 under +O3,
# presumably on the basis that there's no need to do that store if the
# program is about to exit.  Conversely, the AIX linker optimizes an
# unused external declaration that initializes f=$1.  So this test
# program has both an external initialization of f, and a use of f in
# main that affects the exit status.
#
m4_define([AC_LANG_FUNC_LINK_TRY(C)],
[AC_LANG_PROGRAM(
[/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char $1 (); below.
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    <limits.h> exists even on freestanding compilers.  Under hpux,
    including <limits.h> includes <sys/time.h> and causes problems
    checking for functions defined therein.  */
#if defined (__STDC__) && !defined (_HPUX_SOURCE)
# include <limits.h>
#else
# include <assert.h>
#endif
/* Override any gcc2 internal prototype to avoid an error.  */
#ifdef __cplusplus
extern "C"
{
#endif
/* We use char because int might match the return type of a gcc2
   builtin and then its argument prototype would still apply.  */
char $1 ();
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_$1) || defined (__stub___$1)
choke me
#else
char (*f) () = $1;
#endif
#ifdef __cplusplus
}
#endif
], [return f != $1;])])


back to top