[PATCH] pyuno is broken on mingw on current master

David Ostrovsky david.ostrovsky at gmx.de
Sun Jun 17 16:15:05 PDT 2012


On 12.06.2012 09:23, Stephan Bergmann wrote:
> On 06/12/2012 09:17 AM, David Ostrovsky wrote:
>> What do you mean here?
>
> Personally, for an experimental platform like mingw, and as you have 
> demonstrated that it does not work right now, I would not bother to 
> make it work prior to gbuild'ification.
>
> Has pyuno on mingw ever been known to work?
yes ... with attached patch ;-)
(actually only python.exe with import pyuno was working, open macro 
dialog from swriter is still crashing, but I suspect some other problems 
here, need to look into it)

Actually we have two routes to go here:
1/ Taking system-python into installation set (this combination is 
unique: no other platform using it, but normal on mingw, see 
external/mingw-dlls/makefile.mk)
2/ Having internal python compiles on mingw and packaging it like on 
other platforms. I've seen that David Tardon is working on it.

I'm taking the first route with this patch (but i tried to take into 
consideration that internal python may be working some day on mingw,
that why more if else endif as needed in pyuno module)

** new MINGW_PYTHON specific vars are exported in configure.in:
grep -i -e mingw_py -e mingw_readline -e mingw_termcap config_host.mk
export MINGW_PYTHON_DLL=libpython2.6.dll
export MINGW_PYTHON_MAJOR_VERSION=2.6
export MINGW_PYVERSION=2.6.2
export MINGW_PYTHON_SYSROOT=/usr/i686-w64-mingw32/sys-root/mingw
export MINGW_READLINE_DLL=libreadline6.dll
export MINGW_TERMCAP_DLL=libtermcap-0.dll

** python_wrapper.exe has to be built (with pyversion.hxx and 
delivering). Changed from python.bin to python.exe in python.cxx.

** external/mingw-dlls: libpython2.6.dll and two other depended libs are 
copied(readline & termcap)

** scp2 is aware now of this specific case: MINGW_SYSTEM_PYTHON:
o python-core-2.6.2.zip is created from 
/usr/i686-w64-mingw32/sys-root/mingw/lib/python2.6 and extracted to 
program/python-core-2.6.2/lib
o python.exe is copied from 
/usr/i686-w64-mingw32/sys-root/mingw/bin/python.exe to 
program/python-core-2.6.2/bin/python.exe

Can this part be optimized? copying for now 
/usr/i686-w64-mingw32/sys-root/mingw/bin/python.exe to 
(OUTDIR)/bin/python.exe
with new makefile CustomTarget_python_mingw_bin.mk and wonder if it can 
be done directly in scp2 (without using CustomTarget_python_mingw_bin.mk):
define something like that:
     -DMINGW_SYSTEM_PYTHON_BIN_DIR=$(MINGW_PYTHON_SYSROOT)/bin \
and try to use it in Dir/File rule?

May be i did too much copy/paste here? Is it really needed to 
differentiate between SYSTEM_PYTHON=NO and MINGW_SYSTEM_PYTHON = YES?
Can it be done with simple OR-operator (i.e. combine these cases somehow=?

o python.exe (wrapper) is copied from (OUTDIR)/bin/pyuno/python.exe to 
program/python.exe

Thanks
David

PS: packaging part is still need to be tested.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-fixing-pyuno-bridge-on-mingw-packaging-system-python.patch
Type: text/x-patch
Size: 14227 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20120618/b7c73c49/attachment-0001.bin>


More information about the LibreOffice mailing list