From 8a6c5b2fcbf2b6d87529e91f58aa41c02d0fc990 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Sat, 17 Nov 2012 00:39:31 +0100 Subject: python3: add module for internal Python 3 build (not active yet) The module builds here on Fedora 17 and with MSVC2008. MacOS X is unfinished and probably breaks, which is why the module is disabled now. These patches from module python were dropped: Integrated upstream: - Python.mipsel-py4305.patch - Python-2.6.1-py4768.patch - Python-2.6.1-py2422.patch (modified, use --with-valgrind) - Python-2.6.1-urllib.patch - Python-2.6.1-py8067.patch Obsolete: - Python-2.6.1-svn-1.7.patch (migrated to non-toy HG now) - Python-parallel-make.patch - Python-2.6.1-nohardlink.patch (no idea why that would be needed, NFS should support hard links) - Python-2.6.1-sysbase.patch (Solaris 11 setsolar specific patch) - Python-2.6.1-cross.berkeleydb.patch (berekeleydb removal) - Python-2.6.2-bdb48.patch - Python-2.6.1-vc10.patch (upstream supports vc10) An attempt to cross compile with mingw that proved unsucessful according to dtardon; there is upstream work on this topic that is possibly already in 3.3: http://bugs.python.org/issue8067 - Python-2.6.2-cross.patch - Python-2.6.2-cross.fix-configure.patch Change-Id: Iba9a3cab955983e173e12110f93a6f381d86f9ce --- python3/python-3.3.0-aix.patch.1 | 159 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 python3/python-3.3.0-aix.patch.1 (limited to 'python3/python-3.3.0-aix.patch.1') diff --git a/python3/python-3.3.0-aix.patch.1 b/python3/python-3.3.0-aix.patch.1 new file mode 100644 index 000000000000..151e20ed35d5 --- /dev/null +++ b/python3/python-3.3.0-aix.patch.1 @@ -0,0 +1,159 @@ +build with GCC on AIX + +diff -ru python3.old_/configure python3/configure +--- python3.old_/configure 2012-09-29 10:00:50.000000000 +0200 ++++ python3/configure 2012-11-13 19:28:25.869753237 +0100 +@@ -3426,8 +3426,6 @@ + else + + case $ac_sys_system in +- AIX*) CC=${CC:-xlc_r} +- without_gcc=;; + *) without_gcc=no;; + esac + fi +@@ -5541,10 +5539,18 @@ + PY3LIBRARY=libpython3.so + fi + ;; +- Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*) ++ Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|AIX*) + LDLIBRARY='libpython$(LDVERSION).so' +- BLDLIBRARY='-L. -lpython$(LDVERSION)' +- RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH} ++ case $ac_sys_system in ++ AIX*) ++ BLDLIBRARY='-Wl,-brtl -L. -lpython$(LDVERSION)' ++ RUNSHARED=LIBPATH=`pwd`:${LIBPATH} ++ ;; ++ *) ++ BLDLIBRARY='-L. -lpython$(LDVERSION)' ++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH} ++ ;; ++ esac + INSTSONAME="$LDLIBRARY".$SOVERSION + if test "$with_pydebug" != yes + then +@@ -6174,7 +6180,7 @@ + # debug builds. + OPT="-g -O0 -Wall $STRICT_PROTO" + else +- OPT="-g $WRAP -O3 -Wall $STRICT_PROTO" ++ OPT="$WRAP -O0 -Wall $STRICT_PROTO" + fi + ;; + *) +@@ -8306,8 +8312,13 @@ + then + case $ac_sys_system/$ac_sys_release in + AIX*) +- BLDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC) -bI:\$(srcdir)/Modules/python.exp" +- LDSHARED="\$(BINLIBDEST)/config/ld_so_aix \$(CC) -bI:\$(BINLIBDEST)/config/python.exp" ++ if test "$GCC" = "yes"; then ++ LDSHARED='$(CC) -shared' ++ BLDSHARED='$(CC) -Wl,-brtl -shared' ++ else ++ BLDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC) -bI:\$(srcdir)/Modules/python.exp" ++ LDSHARED="\$(BINLIBDEST)/config/ld_so_aix \$(CC) -bI:\$(BINLIBDEST)/config/python.exp" ++ fi + ;; + IRIX/5*) LDSHARED="ld -shared";; + IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";; +diff -ru python3.old_/configure.ac python3/configure.ac +--- python3.old_/configure.ac 2012-09-29 10:00:50.000000000 +0200 ++++ python3/configure.ac 2012-11-13 19:28:36.273753536 +0100 +@@ -545,8 +545,6 @@ + without_gcc=$withval;; + esac], [ + case $ac_sys_system in +- AIX*) CC=${CC:-xlc_r} +- without_gcc=;; + *) without_gcc=no;; + esac]) + AC_MSG_RESULT($without_gcc) +@@ -910,10 +908,18 @@ + PY3LIBRARY=libpython3.so + fi + ;; +- Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*) ++ Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|AIX*) + LDLIBRARY='libpython$(LDVERSION).so' +- BLDLIBRARY='-L. -lpython$(LDVERSION)' +- RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH} ++ case $ac_sys_system in ++ AIX*) ++ BLDLIBRARY='-Wl,-brtl -L. -lpython$(LDVERSION)' ++ RUNSHARED=LIBPATH=`pwd`:${LIBPATH} ++ ;; ++ *) ++ BLDLIBRARY='-L. -lpython$(LDVERSION)' ++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH} ++ ;; ++ esac + case $ac_sys_system in + FreeBSD*) + SOVERSION=`echo $SOVERSION|cut -d "." -f 1` +@@ -1866,8 +1872,13 @@ + then + case $ac_sys_system/$ac_sys_release in + AIX*) +- BLDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC) -bI:\$(srcdir)/Modules/python.exp" +- LDSHARED="\$(BINLIBDEST)/config/ld_so_aix \$(CC) -bI:\$(BINLIBDEST)/config/python.exp" ++ if test "$GCC" = "yes"; then ++ LDSHARED='$(CC) -shared' ++ BLDSHARED='$(CC) -Wl,-brtl -shared' ++ else ++ BLDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC) -bI:\$(srcdir)/Modules/python.exp" ++ LDSHARED="\$(BINLIBDEST)/config/ld_so_aix \$(CC) -bI:\$(BINLIBDEST)/config/python.exp" ++ fi + ;; + IRIX/5*) LDSHARED="ld -shared";; + IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";; +diff -ru python3.old_/Makefile.pre.in python3/Makefile.pre.in +--- python3.old_/Makefile.pre.in 2012-09-29 10:00:41.000000000 +0200 ++++ python3/Makefile.pre.in 2012-11-13 19:10:10.733742599 +0100 +@@ -493,7 +493,10 @@ + + libpython$(LDVERSION).so: $(LIBRARY_OBJS) + if test $(INSTSONAME) != $(LDLIBRARY); then \ +- $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ ++ if [ "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" != "aix" ]; then \ ++ SONAME="-Wl,-h$(INSTSONAME)"; \ ++ fi; \ ++ $(BLDSHARED) $(SONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ + $(LN) -f $(INSTSONAME) $@; \ + else \ + $(BLDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ +@@ -1106,6 +1109,8 @@ + export PATH; PATH="`pwd`:$$PATH"; \ + export PYTHONPATH; PYTHONPATH="`pwd`/Lib"; \ + export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \ ++ export LD_LIBRARY_PATH; LD_LIBRARY_PATH="`pwd`${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"; \ ++ export LIBPATH; LIBPATH="`pwd`${LIBPATH:+:$LIBPATH}"; \ + export EXE; EXE="$(BUILDEXE)"; \ + cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen + +diff -ru python3.old_/Modules/_ctypes/libffi/fficonfig.py.in python3/Modules/_ctypes/libffi/fficonfig.py.in +--- python3.old_/Modules/_ctypes/libffi/fficonfig.py.in 2012-09-29 10:00:42.000000000 +0200 ++++ python3/Modules/_ctypes/libffi/fficonfig.py.in 2012-11-13 19:09:25.252740861 +0100 +@@ -16,7 +16,7 @@ + 'M32R': ['src/m32r/sysv.S', 'src/m32r/ffi.c'], + 'M68K': ['src/m68k/ffi.c', 'src/m68k/sysv.S'], + 'POWERPC': ['src/powerpc/ffi.c', 'src/powerpc/sysv.S', 'src/powerpc/ppc_closure.S', 'src/powerpc/linux64.S', 'src/powerpc/linux64_closure.S'], +- 'POWERPC_AIX': ['src/powerpc/ffi.c', 'src/powerpc/aix.S', 'src/powerpc/aix_closure.S'], ++ 'POWERPC_AIX': ['src/powerpc/ffi_darwin.c', 'src/powerpc/aix.S', 'src/powerpc/aix_closure.S'], + 'POWERPC_FREEBSD': ['src/powerpc/ffi.c', 'src/powerpc/sysv.S', 'src/powerpc/ppc_closure.S'], + 'ARM': ['src/arm/sysv.S', 'src/arm/ffi.c'], + 'LIBFFI_CRIS': ['src/cris/sysv.S', 'src/cris/ffi.c'], +diff -ru python3.old_/Modules/Setup.dist python3/Modules/Setup.dist +--- python3.old_/Modules/Setup.dist 2012-09-29 10:00:42.000000000 +0200 ++++ python3/Modules/Setup.dist 2012-11-13 19:09:25.251740860 +0100 +@@ -177,7 +177,7 @@ + #_bisect _bisectmodule.c # Bisection algorithms + #_heapq _heapqmodule.c # Heap queue algorithm + +-#unicodedata unicodedata.c # static Unicode character database ++unicodedata unicodedata.c # static Unicode character database + + + # Modules with some UNIX dependencies -- on by default: -- cgit v1.2.3