patches/Python25-05-isalibs.diff
author yippi
Mon, 27 Sep 2010 21:07:51 +0000
changeset 20108 51df67ca9307
parent 14416 e51f88f356e0
permissions -rw-r--r--
I had these modules listed as being owned by me, but they are really owned by wangke, correcting.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13290
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
     1
--- Python-2.5.2/Lib/distutils/command/build_ext.py.isalibs	2007-04-25 03:27:25.000000000 +1200
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
     2
+++ Python-2.5.2/Lib/distutils/command/build_ext.py	2008-03-04 18:16:12.420109858 +1300
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
     3
@@ -626,7 +626,13 @@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
     4
         so_ext = get_config_var('SO')
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
     5
         if os.name == 'nt' and self.debug:
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
     6
             return apply(os.path.join, ext_path) + '_d' + so_ext
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
     7
-        return apply(os.path.join, ext_path) + so_ext
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
     8
+        # .so extensions are word-size specific
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
     9
+        path = apply(os.path.join, ext_path)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    10
+        if sys.maxint == 2147483647L:
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    11
+            return path + so_ext
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    12
+        dirname = os.path.dirname(path);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    13
+        basename = os.path.basename(path);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    14
+        return os.path.join(dirname, "64", basename + so_ext)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    15
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    16
     def get_export_symbols (self, ext):
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    17
         """Return the list of symbols that a shared extension has to
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    18
--- Python-2.5.2/configure.in.isalibs	2008-02-14 08:17:17.000000000 +1300
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    19
+++ Python-2.5.2/configure.in	2008-03-04 18:16:12.612245011 +1300
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    20
@@ -14,8 +14,38 @@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    21
 AH_TOP([
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    22
 #ifndef Py_PYCONFIG_H
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    23
 #define Py_PYCONFIG_H
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    24
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    25
 ])
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    26
 AH_BOTTOM([
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    27
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    28
+#include <sys/isa_defs.h>
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    29
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    30
+/*
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    31
+ * Python originally defined these statically, which prevents a 32-64 python
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    32
+ * from working at all.
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    33
+ */
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    34
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    35
+#define SIZEOF_SHORT 2
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    36
+#define SIZEOF_INT 4
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    37
+#define SIZEOF_LONG_LONG 8
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    38
+#define SIZEOF_FPOS_T 8
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    39
+#define SIZEOF_OFF_T 8
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    40
+#define SIZEOF_PTHREAD_T 4
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    41
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    42
+#ifdef _LP64
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    43
+#define SIZEOF_LONG 8
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    44
+#define SIZEOF_UINTPTR_T 8
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    45
+#define SIZEOF_VOID_P 8
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    46
+#define SIZEOF_TIME_T 8
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    47
+#define SIZEOF_SIZE_T 8
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    48
+#else
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    49
+#define SIZEOF_LONG 4
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    50
+#define SIZEOF_UINTPTR_T 4
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    51
+#define SIZEOF_VOID_P 4
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    52
+#define SIZEOF_TIME_T 4
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    53
+#define SIZEOF_SIZE_T 4
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    54
+#endif
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    55
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    56
 /* Define the macros needed if on a UnixWare 7.x system. */
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    57
 #if defined(__USLC__) && defined(__SCO_VERSION__)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    58
 #define STRICT_SYSV_CURSES /* Don't use ncurses extensions */
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    59
@@ -56,6 +86,26 @@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    60
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    61
 define_xopen_source=yes
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    62
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    63
+# AC_CHECK_SIZEOF without the AC_DEFINE_UNQUOTED
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    64
+AC_DEFUN([PY_CHECK_SIZEOF],
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    65
+[AS_LITERAL_IF([$1], [],
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    66
+               [AC_FATAL([$0: requires literal arguments])])dnl
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    67
+AC_CHECK_TYPE([$1], [], [], [$3])
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    68
+AC_CACHE_CHECK([size of $1], AS_TR_SH([ac_cv_sizeof_$1]),
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    69
+[if test "$AS_TR_SH([ac_cv_type_$1])" = yes; then
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    70
+  # The cast to unsigned long works around a bug in the HP C Compiler
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    71
+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    72
+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    73
+  # This bug is HP SR number 8606223364.
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    74
+  _AC_COMPUTE_INT([(long) (sizeof ($1))],
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    75
+                  [AS_TR_SH([ac_cv_sizeof_$1])],
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    76
+                  [AC_INCLUDES_DEFAULT([$3])],
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    77
+                  [AC_MSG_FAILURE([cannot compute sizeof ($1), 77])])
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    78
+else
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    79
+  AS_TR_SH([ac_cv_sizeof_$1])=0
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    80
+fi])dnl
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    81
+])# PY_CHECK_SIZEOF
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    82
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    83
 # Arguments passed to configure.
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    84
 AC_SUBST(CONFIG_ARGS)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    85
 CONFIG_ARGS="$ac_configure_args"
14416
e51f88f356e0 2008-10-06 Laszlo (Laca) Peter <[email protected]>
laca
parents: 13290
diff changeset
    86
@@ -1191,14 +1241,7 @@
13290
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    87
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    88
 # Sizes of various common basic types
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    89
 # ANSI C requires sizeof(char) == 1, so no need to check it
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    90
-AC_CHECK_SIZEOF(int, 4)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    91
-AC_CHECK_SIZEOF(long, 4)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    92
-AC_CHECK_SIZEOF(void *, 4)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    93
-AC_CHECK_SIZEOF(short, 2)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    94
-AC_CHECK_SIZEOF(float, 4)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    95
-AC_CHECK_SIZEOF(double, 8)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    96
-AC_CHECK_SIZEOF(fpos_t, 4)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    97
-AC_CHECK_SIZEOF(size_t, 4)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    98
+AC_CHECK_SIZEOF(short)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
    99
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   100
 AC_MSG_CHECKING(for long long support)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   101
 have_long_long=no
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   102
@@ -1207,107 +1251,28 @@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   103
   have_long_long=yes
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   104
 ])
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   105
 AC_MSG_RESULT($have_long_long)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   106
-if test "$have_long_long" = yes ; then
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   107
-AC_CHECK_SIZEOF(long long, 8)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   108
-fi
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   109
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   110
 AC_CHECK_TYPES(uintptr_t, 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   111
-   [AC_CHECK_SIZEOF(uintptr_t, 4)], 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   112
+   [], 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   113
    [], [#ifdef HAVE_STDINT_H
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   114
         #include <stdint.h>
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   115
         #endif])
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   116
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   117
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   118
-# Hmph. AC_CHECK_SIZEOF() doesn't include <sys/types.h>.
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   119
-AC_MSG_CHECKING(size of off_t)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   120
-AC_CACHE_VAL(ac_cv_sizeof_off_t,
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   121
-[AC_TRY_RUN([#include <stdio.h>
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   122
+PY_CHECK_SIZEOF(off_t,4,[
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   123
+#include <stdio.h>
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   124
+#include <stdlib.h>
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   125
 #include <sys/types.h>
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   126
-main()
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   127
-{
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   128
-  FILE *f=fopen("conftestval", "w");
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   129
-  if (!f) exit(1);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   130
-  fprintf(f, "%d\n", sizeof(off_t));
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   131
-  exit(0);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   132
-}],
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   133
-ac_cv_sizeof_off_t=`cat conftestval`,
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   134
-ac_cv_sizeof_off_t=0,
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   135
-ac_cv_sizeof_off_t=4)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   136
-])
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   137
-AC_MSG_RESULT($ac_cv_sizeof_off_t)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   138
-AC_DEFINE_UNQUOTED(SIZEOF_OFF_T, $ac_cv_sizeof_off_t,
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   139
-[The number of bytes in an off_t.])
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   140
-
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   141
-AC_MSG_CHECKING(whether to enable large file support)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   142
-if test "$have_long_long" = yes -a \
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   143
-	"$ac_cv_sizeof_off_t" -gt "$ac_cv_sizeof_long" -a \
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   144
-	"$ac_cv_sizeof_long_long" -ge "$ac_cv_sizeof_off_t"; then
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   145
-  AC_DEFINE(HAVE_LARGEFILE_SUPPORT, 1, 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   146
-  [Defined to enable large file support when an off_t is bigger than a long
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   147
-   and long long is available and at least as big as an off_t. You may need
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   148
-   to add some flags for configuration and compilation to enable this mode.
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   149
-   (For Solaris and Linux, the necessary defines are already defined.)])
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   150
-  AC_MSG_RESULT(yes)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   151
-else
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   152
-  AC_MSG_RESULT(no)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   153
-fi
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   154
-
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   155
-# AC_CHECK_SIZEOF() doesn't include <time.h>.
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   156
-AC_MSG_CHECKING(size of time_t)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   157
-AC_CACHE_VAL(ac_cv_sizeof_time_t,
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   158
-[AC_TRY_RUN([#include <stdio.h>
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   159
-#include <time.h>
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   160
-main()
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   161
-{
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   162
-  FILE *f=fopen("conftestval", "w");
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   163
-  if (!f) exit(1);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   164
-  fprintf(f, "%d\n", sizeof(time_t));
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   165
-  exit(0);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   166
-}],
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   167
-ac_cv_sizeof_time_t=`cat conftestval`,
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   168
-ac_cv_sizeof_time_t=0,
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   169
-ac_cv_sizeof_time_t=4)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   170
 ])
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   171
-AC_MSG_RESULT($ac_cv_sizeof_time_t)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   172
-AC_DEFINE_UNQUOTED(SIZEOF_TIME_T, $ac_cv_sizeof_time_t, 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   173
-[The number of bytes in a time_t.])
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   174
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   175
+AC_MSG_CHECKING(whether to enable large file support)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   176
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   177
-# if have pthread_t then define SIZEOF_PTHREAD_T
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   178
-ac_save_cc="$CC"
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   179
-if test "$ac_cv_kpthread" = "yes"
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   180
-then CC="$CC -Kpthread"
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   181
-elif test "$ac_cv_kthread" = "yes"
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   182
-then CC="$CC -Kthread"
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   183
-elif test "$ac_cv_pthread" = "yes"
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   184
-then CC="$CC -pthread"
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   185
-fi
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   186
-AC_MSG_CHECKING(for pthread_t)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   187
-have_pthread_t=no
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   188
-AC_TRY_COMPILE([#include <pthread.h>], [pthread_t x; x = *(pthread_t*)0;], have_pthread_t=yes)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   189
-AC_MSG_RESULT($have_pthread_t)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   190
-if test "$have_pthread_t" = yes ; then
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   191
-  # AC_CHECK_SIZEOF() doesn't include <pthread.h>.
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   192
-  AC_MSG_CHECKING(size of pthread_t)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   193
-  AC_CACHE_VAL(ac_cv_sizeof_pthread_t,
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   194
-  [AC_TRY_RUN([#include <stdio.h>
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   195
-#include <pthread.h>
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   196
-  main()
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   197
-  {
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   198
-    FILE *f=fopen("conftestval", "w");
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   199
-    if (!f) exit(1);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   200
-    fprintf(f, "%d\n", sizeof(pthread_t));
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   201
-    exit(0);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   202
-  }],
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   203
-  ac_cv_sizeof_pthread_t=`cat conftestval`,
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   204
-  ac_cv_sizeof_pthread_t=0,
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   205
-  ac_cv_sizeof_pthread_t=4)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   206
-  ])
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   207
-  AC_MSG_RESULT($ac_cv_sizeof_pthread_t)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   208
-  AC_DEFINE_UNQUOTED(SIZEOF_PTHREAD_T, $ac_cv_sizeof_pthread_t,
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   209
-   [The number of bytes in a pthread_t.])
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   210
-fi
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   211
-CC="$ac_save_cc"
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   212
+AC_DEFINE(HAVE_LARGEFILE_SUPPORT, 1, 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   213
+[Defined to enable large file support when an off_t is bigger than a long
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   214
+ and long long is available and at least as big as an off_t. You may need
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   215
+ to add some flags for configuration and compilation to enable this mode.
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   216
+ (For Solaris and Linux, the necessary defines are already defined.)])
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   217
+AC_MSG_RESULT(yes)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   218
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   219
 AC_MSG_CHECKING(for --enable-toolbox-glue)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   220
 AC_ARG_ENABLE(toolbox-glue,
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   221
@@ -1560,12 +1525,6 @@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   222
 if test -z "$CCSHARED"
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   223
 then
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   224
 	case $ac_sys_system/$ac_sys_release in
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   225
-	SunOS*) if test "$GCC" = yes;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   226
-		then CCSHARED="-fPIC";
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   227
-		elif test `uname -p` = sparc;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   228
-		then CCSHARED="-xcode=pic32";
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   229
-		else CCSHARED="-Kpic";
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   230
-		fi;;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   231
 	hp*|HP*) if test "$GCC" = yes;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   232
 		 then CCSHARED="-fPIC";
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   233
 		 else CCSHARED="+z";
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   234
@@ -2931,12 +2890,6 @@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   235
 wchar_h="no"
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   236
 )
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   237
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   238
-# determine wchar_t size
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   239
-if test "$wchar_h" = yes
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   240
-then
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   241
-  AC_CHECK_SIZEOF(wchar_t, 4, [#include <wchar.h>])
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   242
-fi
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   243
-
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   244
 AC_MSG_CHECKING(for UCS-4 tcl)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   245
 have_ucs4_tcl=no
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   246
 AC_TRY_COMPILE([
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   247
@@ -2967,6 +2920,11 @@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   248
   ac_cv_wchar_t_signed=no,
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   249
   ac_cv_wchar_t_signed=yes)])
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   250
   AC_MSG_RESULT($ac_cv_wchar_t_signed)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   251
+ 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   252
+  PY_CHECK_SIZEOF(wchar_t, 4, [
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   253
+  #include <wchar.h>
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   254
+  #include <stdlib.h
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   255
+  ])
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   256
 fi
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   257
   
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   258
 AC_MSG_CHECKING(what type to use for unicode)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   259
--- Python-2.5.2/Python/import.c.isalibs	2007-08-24 06:08:33.000000000 +1200
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   260
+++ Python-2.5.2/Python/import.c	2008-03-04 18:22:54.964187356 +1300
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   261
@@ -1121,6 +1121,57 @@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   262
 static int find_init_module(char *); /* Forward */
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   263
 static struct filedescr importhookdescr = {"", "", IMP_HOOK};
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   264
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   265
+#ifdef HAVE_STAT
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   266
+static char *
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   267
+insert_64dir(char *buf, size_t buflen)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   268
+{
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   269
+	char *base;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   270
+	char *cp;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   271
+	size_t blen;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   272
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   273
+	if ((blen = strlen(buf)) == 0)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   274
+		return (NULL);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   275
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   276
+	cp = &buf[blen - 1];
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   277
+	while (cp != buf && *cp != SEP)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   278
+		cp--;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   279
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   280
+	if (cp != buf)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   281
+		cp++;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   282
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   283
+	if (blen + strlen("64/") + 1 >= buflen)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   284
+		return NULL;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   285
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   286
+	base = strdup(cp);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   287
+	sprintf(cp, "64%c%s", SEP, base);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   288
+	free(base);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   289
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   290
+	return buf;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   291
+}
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   292
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   293
+/*
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   294
+ * If we're on a 64-bit platform, modify lookups for shared object files.
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   295
+ */
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   296
+static size_t modify_path(struct filedescr *fdp, char *buf, size_t buflen)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   297
+{
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   298
+	struct stat statbuf;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   299
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   300
+	if (sizeof(void *) != 8)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   301
+		return 0;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   302
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   303
+	if (stat(buf, &statbuf) == 0 && S_ISDIR(statbuf.st_mode))
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   304
+		return 0;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   305
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   306
+	if (fdp->type != C_EXTENSION)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   307
+		return 0;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   308
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   309
+	if (insert_64dir(buf, buflen) == NULL)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   310
+		return 0;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   311
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   312
+	return strlen("64/");
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   313
+}
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   314
+#endif
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   315
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   316
 static struct filedescr *
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   317
 find_module(char *fullname, char *subname, PyObject *path, char *buf,
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   318
 	    size_t buflen, FILE **p_fp, PyObject **p_loader)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   319
@@ -1138,11 +1189,10 @@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   320
 	static struct filedescr fd_builtin = {"", "", C_BUILTIN};
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   321
 	static struct filedescr fd_package = {"", "", PKG_DIRECTORY};
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   322
 	char name[MAXPATHLEN+1];
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   323
-#if defined(PYOS_OS2)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   324
 	size_t saved_len;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   325
 	size_t saved_namelen;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   326
 	char *saved_buf = NULL;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   327
-#endif
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   328
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   329
 	if (p_loader != NULL)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   330
 		*p_loader = NULL;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   331
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   332
@@ -1361,15 +1411,19 @@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   333
 		}
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   334
 #endif
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   335
 #endif
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   336
-#if defined(PYOS_OS2)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   337
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   338
 		/* take a snapshot of the module spec for restoration
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   339
 		 * after the 8 character DLL hackery
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   340
 		 */
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   341
 		saved_buf = strdup(buf);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   342
 		saved_len = len;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   343
 		saved_namelen = namelen;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   344
-#endif /* PYOS_OS2 */
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   345
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   346
 		for (fdp = _PyImport_Filetab; fdp->suffix != NULL; fdp++) {
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   347
+#ifdef HAVE_STAT
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   348
+                        len += modify_path(fdp, buf, buflen);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   349
+#endif
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   350
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   351
 #if defined(PYOS_OS2) && defined(HAVE_DYNAMIC_LOADING)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   352
 			/* OS/2 limits DLLs to 8 character names (w/o
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   353
 			   extension)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   354
@@ -1410,21 +1464,18 @@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   355
 					fp = NULL;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   356
 				}
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   357
 			}
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   358
-#if defined(PYOS_OS2)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   359
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   360
 			/* restore the saved snapshot */
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   361
 			strcpy(buf, saved_buf);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   362
 			len = saved_len;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   363
 			namelen = saved_namelen;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   364
-#endif
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   365
 		}
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   366
-#if defined(PYOS_OS2)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   367
 		/* don't need/want the module name snapshot anymore */
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   368
 		if (saved_buf)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   369
 		{
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   370
 			free(saved_buf);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   371
 			saved_buf = NULL;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   372
 		}
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   373
-#endif
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   374
 		Py_XDECREF(copy);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   375
 		if (fp != NULL)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   376
 			break;
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   377
--- Python-2.5.2/Python/importdl.h.isalibs	2002-12-31 11:08:05.000000000 +1300
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   378
+++ Python-2.5.2/Python/importdl.h	2008-03-04 18:16:12.419417599 +1300
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   379
@@ -31,8 +31,9 @@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   380
 extern PyObject *_PyImport_LoadDynamicModule(char *name, char *pathname,
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   381
 					     FILE *);
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   382
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   383
-/* Max length of module suffix searched for -- accommodates "module.slb" */
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   384
-#define MAXSUFFIXSIZE 12
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   385
+/* Max length of module suffix searched for -- accommodates "module.slb"
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   386
+   and "64/" */
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   387
+#define MAXSUFFIXSIZE 15
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   388
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   389
 #ifdef MS_WINDOWS
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   390
 #include <windows.h>
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   391
--- Python-2.5.2/Makefile.pre.in.isalibs	2007-12-06 09:43:57.000000000 +1300
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   392
+++ Python-2.5.2/Makefile.pre.in	2008-03-04 18:16:12.613496370 +1300
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   393
@@ -87,18 +87,18 @@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   394
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   395
 # Expanded directories
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   396
 BINDIR=		$(exec_prefix)/bin
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   397
-LIBDIR=		$(exec_prefix)/lib
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   398
+LIBDIR=		@libdir@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   399
 MANDIR=		@mandir@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   400
 INCLUDEDIR=	@includedir@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   401
 CONFINCLUDEDIR=	$(exec_prefix)/include
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   402
 SCRIPTDIR=	$(prefix)/lib
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   403
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   404
 # Detailed destination directories
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   405
-BINLIBDEST=	$(LIBDIR)/python$(VERSION)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   406
-LIBDEST=	$(SCRIPTDIR)/python$(VERSION)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   407
-INCLUDEPY=	$(INCLUDEDIR)/python$(VERSION)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   408
-CONFINCLUDEPY=	$(CONFINCLUDEDIR)/python$(VERSION)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   409
-LIBP=		$(LIBDIR)/python$(VERSION)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   410
+BINLIBDEST=		$(exec_prefix)/lib/python$(VERSION)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   411
+LIBDEST=		$(SCRIPTDIR)/python$(VERSION)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   412
+INCLUDEPY=		$(INCLUDEDIR)/python$(VERSION)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   413
+CONFINCLUDEPY=		$(CONFINCLUDEDIR)/python$(VERSION)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   414
+LIBP=			$(exec_prefix)/lib/python$(VERSION)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   415
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   416
 # Symbols used for using shared libraries
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   417
 SO=		@SO@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   418
@@ -810,6 +810,7 @@
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   419
 
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   420
 # Install the include files
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   421
 INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY)
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   422
+
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   423
 inclinstall:
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   424
 	@for i in $(INCLDIRSTOMAKE); \
93b9e959e744 2008-08-27 Laszlo (Laca) Peter <[email protected]>
laca
parents:
diff changeset
   425
 	do \