[Libreoffice-commits] .: pyuno/source pyuno/zipcore

Christian Lohmaier cloph at kemper.freedesktop.org
Mon Jun 6 11:03:15 PDT 2011


 pyuno/source/loader/makefile.mk      |    6 +
 pyuno/source/loader/makefile.mk.orig |   94 +++++++++++++++++++++
 pyuno/source/loader/makefile.mk.rej  |   20 ++++
 pyuno/source/module/makefile.mk      |    8 +
 pyuno/source/module/makefile.mk.orig |  154 +++++++++++++++++++++++++++++++++++
 pyuno/source/module/makefile.mk.rej  |   23 +++++
 pyuno/zipcore/makefile.mk            |   20 ++--
 pyuno/zipcore/makefile.mk.orig       |  132 ++++++++++++++++++++++++++++++
 pyuno/zipcore/python.sh              |   13 ++
 9 files changed, 458 insertions(+), 12 deletions(-)

New commits:
commit 6bb6f7caa43e99a76869632dcec62584af66c0eb
Author: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
Date:   Mon Jun 6 20:09:06 2011 +0200

    allow to use internal Python on Mac (Python built as framework)

diff --git a/pyuno/source/loader/makefile.mk b/pyuno/source/loader/makefile.mk
index 76c3dc2..d8791e9 100644
--- a/pyuno/source/loader/makefile.mk
+++ b/pyuno/source/loader/makefile.mk
@@ -85,10 +85,14 @@ $(DLLDEST)$/%.py: %.py
     cp $? $@
 .ENDIF # L10N_framework
 
-ALLTAR : $(MISC)/pythonloader.component
+ALLTAR : $(MISC)/pythonloader.component $(eq,$(OS),MACOSX $(MISC)/installname_loader $(NULL))
 
 $(MISC)/pythonloader.component .ERRREMOVE : \
         $(SOLARENV)/bin/createcomponent.xslt pythonloader.component
     $(XSLTPROC) --nonet --stringparam uri \
         'vnd.sun.star.expand:$$OOO_BASE_DIR/program/$(SHL1TARGETN:f)' -o $@ \
         $(SOLARENV)/bin/createcomponent.xslt pythonloader.component
+
+$(MISC)/installname_loader : $(LB)/$(TARGET)$(DLLPOST)
+	install_name_tool -change $(PYTHON_MAKEINSTALLDIR)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/OOoPython @loader_path/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/OOoPython $<
+	touch $@
diff --git a/pyuno/source/loader/makefile.mk.orig b/pyuno/source/loader/makefile.mk.orig
new file mode 100644
index 0000000..76c3dc2
--- /dev/null
+++ b/pyuno/source/loader/makefile.mk.orig
@@ -0,0 +1,94 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+PRJ=..$/..
+
+PRJNAME=pyuno
+TARGET=pythonloader.uno
+ENABLE_EXCEPTIONS=TRUE
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+.IF "$(L10N_framework)"==""
+DLLPRE =
+
+#-------------------------------------------------------------------
+
+.IF "$(OS)$(COMEX)" == "SOLARIS4"
+# no -Bdirect for SunWS CC
+DIRECT= $(LINKFLAGSDEFS)
+.ENDIF
+
+.IF "$(SYSTEM_PYTHON)" == "YES"
+PYTHONLIB=$(PYTHON_LIBS)
+CFLAGS+=$(PYTHON_CFLAGS)
+.IF "$(EXTRA_CFLAGS)"!=""
+PYTHONLIB+= -framework Python
+.ENDIF # "$(EXTRA_CFLAGS)"!=""
+.ELSE
+.INCLUDE : pyversion.mk
+
+CFLAGS+= -I$(SOLARINCDIR)$/python
+.ENDIF
+
+SHL1TARGET= $(TARGET)
+
+SHL1STDLIBS= \
+        $(CPPULIB) \
+        $(CPPUHELPERLIB) \
+        $(SALLIB) \
+        $(PYUNOLIB) \
+        $(PYTHONLIB)
+
+SHL1VERSIONMAP= $(SOLARENV)$/src$/component.map
+SHL1DEPN=
+SHL1IMPLIB= i$(TARGET)
+SHL1LIBS= $(SLB)$/$(TARGET).lib
+SHL1DEF= $(MISC)$/$(SHL1TARGET).def
+
+DEF1NAME= $(SHL1TARGET)
+SLOFILES= $(SLO)$/pyuno_loader.obj
+
+# --- Targets ------------------------------------------------------
+
+ALL : ALLTAR \
+    $(DLLDEST)$/pythonloader.py
+.ENDIF # L10N_framework
+
+.INCLUDE :  target.mk
+.IF "$(L10N_framework)"==""
+$(DLLDEST)$/%.py: %.py
+    cp $? $@
+.ENDIF # L10N_framework
+
+ALLTAR : $(MISC)/pythonloader.component
+
+$(MISC)/pythonloader.component .ERRREMOVE : \
+        $(SOLARENV)/bin/createcomponent.xslt pythonloader.component
+    $(XSLTPROC) --nonet --stringparam uri \
+        'vnd.sun.star.expand:$$OOO_BASE_DIR/program/$(SHL1TARGETN:f)' -o $@ \
+        $(SOLARENV)/bin/createcomponent.xslt pythonloader.component
diff --git a/pyuno/source/loader/makefile.mk.rej b/pyuno/source/loader/makefile.mk.rej
new file mode 100644
index 0000000..f8a8e48
--- /dev/null
+++ b/pyuno/source/loader/makefile.mk.rej
@@ -0,0 +1,20 @@
+--- pyuno/source/loader/makefile.mk
++++ pyuno/source/loader/makefile.mk
+@@ -89,11 +89,17 @@
+     $(DLLDEST)$/pyuno_services.rdb
+ .ENDIF # L10N_framework
+ 
++ALLTAR: $(eq,$(OS),MACOSX $(MISC)/installname_loader $(NULL))
++
+ .INCLUDE :  target.mk
+ .IF "$(L10N_framework)"==""
+ $(DLLDEST)$/%.py: %.py
+     cp $? $@
+ 
++$(MISC)/installname_loader : $(LB)/$(TARGET)$(DLLPOST)
++	install_name_tool -change $(PYTHON_MAKEINSTALLDIR)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/OOoPython @loader_path/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/OOoPython $<
++	touch $@
++
+ $(DLLDEST)$/pyuno_services.rdb : makefile.mk $(DLLDEST)$/$(DLLPRE)$(TARGET)$(DLLPOST)
+     -rm -f $@ $(DLLDEST)$/pyuno_services.tmp $(DLLDEST)$/pyuno_services.rdb
+     cd $(DLLDEST) && $(REGCOMP) -register -r pyuno_services.tmp -wop $(foreach,i,$(COMPONENTS) -c $(i))
diff --git a/pyuno/source/module/makefile.mk b/pyuno/source/module/makefile.mk
index 1ea1a30..81050c1 100644
--- a/pyuno/source/module/makefile.mk
+++ b/pyuno/source/module/makefile.mk
@@ -121,7 +121,7 @@ $(LB)$/lib$(TARGET).a: $(MISC)$/$(TARGET).def
 targetdll=$(LB)$/$(TARGET)$(DLLPOST)
 .ENDIF
 
-ALLTAR : \
+ALLTAR : $(eq,$(OS),MACOSX $(MISC)/installname_module $(NULL)) \
     $(DLLDEST)$/uno.py \
     $(DLLDEST)$/unohelper.py \
     $(targetdll) \
@@ -134,6 +134,12 @@ ALLTAR : \
 $(DLLDEST)$/%.py: %.py
     cp $? $@
 
+$(MISC)/installname_module : $(LB)/$(DLLPRE)$(TARGET)$(DLLPOST)
+	install_name_tool -change $(PYTHON_MAKEINSTALLDIR)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/OOoPython @loader_path/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/OOoPython $<
+	# hack to make checkdll happy
+	ln -sf $(SOLARLIBDIR)/OOoPython.framework $(LB)/OOoPython.framework
+	touch $@
+
 $(MISC)$/$(PYUNORC) : pyuno
     -rm -f $@
     cat pyuno > $@
diff --git a/pyuno/source/module/makefile.mk.orig b/pyuno/source/module/makefile.mk.orig
new file mode 100644
index 0000000..1ea1a30
--- /dev/null
+++ b/pyuno/source/module/makefile.mk.orig
@@ -0,0 +1,154 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+PRJ=..$/..
+
+PRJNAME=pyuno
+TARGET=pyuno
+ENABLE_EXCEPTIONS=TRUE
+
+LINKFLAGSDEFS = # do not fail with missing symbols
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE :  settings.mk
+.IF "$(L10N_framework)"==""
+
+#-------------------------------------------------------------------
+
+.IF "$(OS)$(COMEX)" == "SOLARIS4"
+# no -Bdirect for SunWS CC
+DIRECT = $(LINKFLAGSDEFS)
+.ENDIF
+
+# special setting from environment
+.IF "$(EXTRA_CFLAGS)"!=""
+EXTRA_FRAMEWORK_FLAG=-framework Python
+.ENDIF # .IF "$(EXTRA_CFLAGS)"!=""
+
+.IF "$(GUI)" == "UNX"
+PYUNORC=pyunorc
+.ELSE
+.INCLUDE :  pyversion.mk
+PYUNORC=pyuno.ini
+DLLPOST=.pyd
+.ENDIF
+
+.IF "$(SYSTEM_PYTHON)" == "YES"
+PYTHONLIB=$(PYTHON_LIBS)
+CFLAGS+=$(PYTHON_CFLAGS)
+.ELSE # "$(SYSTEM_PYTHON)" == "YES"
+.INCLUDE :  pyversion.mk
+CFLAGS+=-I$(SOLARINCDIR)$/python
+.ENDIF # "$(SYSTEM_PYTHON)" == "YES"
+
+SHL1TARGET=$(TARGET)
+SLOFILES= \
+        $(SLO)$/pyuno_runtime.obj \
+        $(SLO)$/pyuno.obj \
+        $(SLO)$/pyuno_callable.obj \
+        $(SLO)$/pyuno_module.obj \
+        $(SLO)$/pyuno_type.obj \
+        $(SLO)$/pyuno_util.obj \
+        $(SLO)$/pyuno_except.obj \
+        $(SLO)$/pyuno_adapter.obj \
+        $(SLO)$/pyuno_gc.obj
+
+# remove this, when issue i35064 is integrated
+.IF "$(COM)"=="GCC"
+NOOPTFILES= \
+    $(SLO)$/pyuno_module.obj
+.ENDIF # "$(COM)"=="GCC"
+
+SHL1STDLIBS= \
+        $(CPPULIB) \
+        $(CPPUHELPERLIB) \
+        $(SALLIB) \
+        $(PYTHONLIB) \
+        $(EXTRA_FRAMEWORK_FLAG)
+
+SHL1DEPN=
+SHL1LIBS= $(SLB)$/$(TARGET).lib
+SHL1IMPLIB= i$(TARGET)
+
+SHL1DEF= $(MISC)$/$(SHL1TARGET).def
+
+DEF1NAME= $(SHL1TARGET)
+DEF1DEPN= $(MISC)$/pyuno.flt
+
+DEFLIB1NAME=$(TARGET)
+
+# --- Targets ------------------------------------------------------
+
+.IF "$(GUI)$(COM)"=="WNTGCC"
+ALLTAR : \
+    $(DLLDEST)$/uno.py \
+    $(DLLDEST)$/unohelper.py \
+    $(MISC)$/$(PYUNORC) \
+    $(LB)$/lib$(TARGET).a
+
+$(LB)$/lib$(TARGET).a: $(MISC)$/$(TARGET).def
+    dlltool --dllname $(TARGET)$(DLLPOST) --input-def=$(MISC)$/$(TARGET).def --kill-at --output-lib=$(LB)$/lib$(TARGET).a
+.ELSE
+
+.IF "$(GUI)"!="WNT"
+# For some reason the build breaks on Windows if this is listed in the
+# prerequisite list of ALLTAR, but pyuno.pyd still gets produced. Go
+# figure. But we need it on non-Windows.
+targetdll=$(LB)$/$(TARGET)$(DLLPOST)
+.ENDIF
+
+ALLTAR : \
+    $(DLLDEST)$/uno.py \
+    $(DLLDEST)$/unohelper.py \
+    $(targetdll) \
+    $(MISC)$/$(PYUNORC)
+.ENDIF
+.ENDIF
+
+.INCLUDE :  target.mk
+.IF "$(L10N_framework)"==""
+$(DLLDEST)$/%.py: %.py
+    cp $? $@
+
+$(MISC)$/$(PYUNORC) : pyuno
+    -rm -f $@
+    cat pyuno > $@
+
+$(MISC)$/pyuno.flt : pyuno.flt
+    -rm -f $@
+    cat $? > $@
+
+.IF "$(DLLPRE)"!=""
+# python does not accept the "lib" prefix in the module library
+$(LB)$/$(TARGET)$(DLLPOST) : $(LB)$/$(DLLPRE)$(TARGET)$(DLLPOST)
+    -rm -f $@
+    ln -s $? $@
+.ENDIF
+
+.ENDIF # L10N_framework
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/pyuno/source/module/makefile.mk.rej b/pyuno/source/module/makefile.mk.rej
new file mode 100644
index 0000000..1d8ab73
--- /dev/null
+++ b/pyuno/source/module/makefile.mk.rej
@@ -0,0 +1,23 @@
+--- pyuno/source/module/makefile.mk
++++ pyuno/source/module/makefile.mk
+@@ -120,7 +120,7 @@
+ $(LB)$/lib$(TARGET).a: $(MISC)$/$(TARGET).def
+     dlltool --dllname $(TARGET)$(DLLPOST) --input-def=$(MISC)$/$(TARGET).def --kill-at --output-lib=$(LB)$/lib$(TARGET).a
+ .ELSE
+-ALLTAR : \
++ALLTAR : $(eq,$(OS),MACOSX $(MISC)/installname_module $(NULL)) \
+     $(DLLDEST)$/uno.py 		\
+     $(DLLDEST)$/unohelper.py	\
+     $(PYUNO_MODULE)			\
+@@ -157,6 +157,11 @@
+     @+source $(MISC)$/$(@:b).cmd
+ .ENDIF
+ 
++$(MISC)/installname_module : $(LB)/$(DLLPRE)$(TARGET)$(DLLPOST)
++	install_name_tool -change $(PYTHON_MAKEINSTALLDIR)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/OOoPython @loader_path/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/OOoPython $<
++	# hack to make checkdll happy
++	ln -sf $(SOLARLIBDIR)/OOoPython.framework $(LB)/OOoPython.framework
++	touch $@
+ 
+ $(MISC)$/$(PYUNORC) : pyuno
+     -rm -f $@
diff --git a/pyuno/zipcore/makefile.mk b/pyuno/zipcore/makefile.mk
index 51cc6eb..cd9439b 100755
--- a/pyuno/zipcore/makefile.mk
+++ b/pyuno/zipcore/makefile.mk
@@ -37,7 +37,7 @@ UWINAPILIB =
 
 .IF "$(SYSTEM_PYTHON)" == "YES"
 systempython:
-        @echo "Not building python-core because system python is being used"
+	@echo "Not building python-core because system python is being used"
 .ELSE
 
 .INCLUDE : pyversion.mk
@@ -54,6 +54,7 @@ PYTHONBINARY=$(DESTROOT)$/bin$/python$(EXECPOST)
 .ENDIF
 .ENDIF
 
+.IF "$(OS)" != "MACOSX"
 FINDLIBFILES_TMP:=$(subst,/,$/ \
     $(shell @$(FIND) $(SOLARLIBDIR)$/python -type f| $(GREP) -v "\.pyc" |$(GREP) -v "\.py~" |$(GREP) -v .orig | $(GREP) -v _failed))
 FINDLIBFILES=$(subst,$(SOLARLIBDIR)$/python, $(FINDLIBFILES_TMP))
@@ -75,15 +76,18 @@ OBJFILES = $(OBJ)$/python.obj
 
 ALLTAR: \
     $(BIN)$/$(PYDIRNAME).zip
+.ENDIF
 
 .IF "$(GUI)" == "UNX"
 ALLTAR : $(BIN)$/python.sh
+
+STRIPMAC=-e '/^NONMACSECTION/d' -e '/^MACSECTION/,$$d'
+STRIPNONMAC=-e '/^NONMACSECTION/,/^MACSECTION/d'
+
 $(BIN)$/python.sh : python.sh
-    -rm -f $@
-    cat $? > $@
-    sed 's/%%PYVERSION%%/$(PYVERSION)/g' < $@ | sed 's/%%OOO_LIBRARY_PATH_VAR%%/$(OOO_LIBRARY_PATH_VAR)/g'  > $@.new
-    mv $@.new $@
-    chmod +x $@
+	$(COMMAND_ECHO)sed -e 's/%%PYVERSION%%/$(eq,$(OS),MACOSX $(PYMAJOR).$(PYMINOR) $(PYVERSION))/g' -e 's/%%OOO_LIBRARY_PATH_VAR%%/$(OOO_LIBRARY_PATH_VAR)/g' \
+		$(!eq,$(OS),MACOSX $(STRIPNONMAC) $(STRIPMAC)) < $? > $@
+	@chmod +x $@
 .ENDIF
 
 $(OBJ)$/python.obj: $(OUT)$/inc$/pyversion.hxx
@@ -93,7 +97,7 @@ $(OUT)$/inc$/pyversion.hxx: pyversion.inc
 
 $(BIN)$/$(PYDIRNAME).zip : $(FILES)
 .IF "$(GUI)" == "UNX"
-.IF "$(OS)" != "MACOSX" && "$(OS)" != "AIX"
+.IF "$(OS)" != "AIX"
     cd $(DESTROOT) && find . -name '*$(DLLPOST)' | xargs strip
 .ENDIF
 .ENDIF
@@ -127,6 +131,4 @@ $(DESTROOT)$/bin$/python$(EXECPOST) : $(SOLARBINDIR)$/python$(EXECPOST)
 
 .ENDIF
 .ELSE
-ivo:
-    $(ECHO)
 .ENDIF # L10N_framework
diff --git a/pyuno/zipcore/makefile.mk.orig b/pyuno/zipcore/makefile.mk.orig
new file mode 100755
index 0000000..51cc6eb
--- /dev/null
+++ b/pyuno/zipcore/makefile.mk.orig
@@ -0,0 +1,132 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJNAME=pyuno
+PRJ=..
+
+TARGET=zipcore
+LIBTARGET=NO
+
+.INCLUDE : settings.mk
+.IF "$(L10N_framework)"==""
+UWINAPILIB =
+
+.IF "$(SYSTEM_PYTHON)" == "YES"
+systempython:
+        @echo "Not building python-core because system python is being used"
+.ELSE
+
+.INCLUDE : pyversion.mk
+
+PYDIRNAME=python-core-$(PYVERSION)
+DESTROOT=$(BIN)$/$(PYDIRNAME)
+.IF "$(GUI)" == "UNX"
+PYTHONBINARY=$(BIN)$/python$(EXECPOST).bin
+.ELSE
+.IF "$(COM)" == "GCC"
+PYTHONBINARY=$(DESTROOT)$/bin$/python.bin
+.ELSE
+PYTHONBINARY=$(DESTROOT)$/bin$/python$(EXECPOST)
+.ENDIF
+.ENDIF
+
+FINDLIBFILES_TMP:=$(subst,/,$/ \
+    $(shell @$(FIND) $(SOLARLIBDIR)$/python -type f| $(GREP) -v "\.pyc" |$(GREP) -v "\.py~" |$(GREP) -v .orig | $(GREP) -v _failed))
+FINDLIBFILES=$(subst,$(SOLARLIBDIR)$/python, $(FINDLIBFILES_TMP))
+
+FILES=\
+    $(PYTHONBINARY) \
+    $(foreach,i,$(FINDLIBFILES) $(DESTROOT)$/lib$(i)) 
+
+.IF "$(OS)" == "WNT"
+APP1TARGET = python
+APP1OBJS = $(OBJFILES) $(SOLARLIBDIR)$/pathutils-obj.obj
+APP1STDLIBS =
+APP1RPATH = BRAND
+OBJFILES = $(OBJ)$/python.obj
+.ENDIF
+
+
+.INCLUDE: target.mk
+
+ALLTAR: \
+    $(BIN)$/$(PYDIRNAME).zip
+
+.IF "$(GUI)" == "UNX"
+ALLTAR : $(BIN)$/python.sh
+$(BIN)$/python.sh : python.sh
+    -rm -f $@
+    cat $? > $@
+    sed 's/%%PYVERSION%%/$(PYVERSION)/g' < $@ | sed 's/%%OOO_LIBRARY_PATH_VAR%%/$(OOO_LIBRARY_PATH_VAR)/g'  > $@.new
+    mv $@.new $@
+    chmod +x $@
+.ENDIF
+
+$(OBJ)$/python.obj: $(OUT)$/inc$/pyversion.hxx
+
+$(OUT)$/inc$/pyversion.hxx: pyversion.inc
+    $(SED) $(USQ)s/@/$(PYVERSION)/g$(USQ) < $< > $@
+
+$(BIN)$/$(PYDIRNAME).zip : $(FILES)
+.IF "$(GUI)" == "UNX"
+.IF "$(OS)" != "MACOSX" && "$(OS)" != "AIX"
+    cd $(DESTROOT) && find . -name '*$(DLLPOST)' | xargs strip
+.ENDIF
+.ENDIF
+    -rm -f $@
+    cd $(BIN) && zip -r $(PYDIRNAME).zip $(PYDIRNAME)
+
+$(DESTROOT)$/lib$/% : $(SOLARLIBDIR)$/python$/%
+    -$(MKDIRHIER) $(@:d) 
+    -rm -f $@
+    cat $< > $@
+
+.IF "$(GUI)"== "UNX"
+$(BIN)$/python$(EXECPOST).bin : $(SOLARBINDIR)$/python$(EXECPOST)
+    -$(MKDIRHIER) $(@:d)
+    -rm -f $@
+    cat $< > $@
+.IF "$(OS)" != "MACOSX" && "$(OS)" != "AIX"
+    strip $@
+.ENDIF
+    chmod +x $@
+.ELSE
+.IF "$(COM)" == "GCC"
+$(DESTROOT)$/bin$/python.bin : $(SOLARBINDIR)$/python$(EXECPOST)
+.ELSE
+$(DESTROOT)$/bin$/python$(EXECPOST) : $(SOLARBINDIR)$/python$(EXECPOST)
+.ENDIF
+    -$(MKDIRHIER) $(@:d)
+    -rm -f $@
+    cat $< > $@
+.ENDIF
+
+.ENDIF
+.ELSE
+ivo:
+    $(ECHO)
+.ENDIF # L10N_framework
diff --git a/pyuno/zipcore/python.sh b/pyuno/zipcore/python.sh
index 219e737..4d2e37c 100644
--- a/pyuno/zipcore/python.sh
+++ b/pyuno/zipcore/python.sh
@@ -30,7 +30,7 @@
 sd_cwd="`pwd`"
 if [ -h "$0" ] ; then
     sd_basename=`basename "$0"`
-     sd_script=`ls -l "$0" | sed "s/.*${sd_basename} -> //g"` 
+    sd_script=`ls -l "$0" | sed "s/.*${sd_basename} -> //g"`
     cd "`dirname "$0"`"
     cd "`dirname "$sd_script"`"
 else
@@ -56,6 +56,7 @@ export UNO_PATH
 : ${URE_BOOTSTRAP=vnd.sun.star.pathname:$sd_prog/fundamentalrc}
 export URE_BOOTSTRAP
 
+NONMACSECTION
 PYTHONPATH=$sd_prog/../basis-link/program:$sd_prog/../basis-link/program/python-core-%%PYVERSION%%/lib:$sd_prog/../basis-link/program/python-core-%%PYVERSION%%/lib/lib-dynload:$sd_prog/../basis-link/program/python-core-%%PYVERSION%%/lib/lib-tk:$sd_prog/../basis-link/program/python-core-%%PYVERSION%%/lib/site-packages${PYTHONPATH+:$PYTHONPATH}
 export PYTHONPATH
 PYTHONHOME=$sd_prog/../basis-link/program/python-core-%%PYVERSION%%
@@ -63,3 +64,13 @@ export PYTHONHOME
 
 # execute binary
 exec "$sd_prog/../basis-link/program/python.bin" "$@"
+MACSECTION
+PYTHONHOME=$sd_prog/../basis-link/program/OOoPython.framework
+export PYTHONHOME
+
+pybasislibdir=$PYTHONHOME/Versions/%%PYVERSION%%/lib/python%%PYVERSION%%
+PYTHONPATH=$sd_prog/../basis-link/program:$pybasislibdir:$pybasislibdir/lib-dynload:$pybasislibdir/lib-tk:$pybasislibdir/site-packages${PYTHONPATH+:$PYTHONPATH}
+export PYTHONPATH
+
+# execute binary
+exec "$PYTHONHOME/Versions/%%PYVERSION%%/Resources/Python.app/Contents/MacOS/OOoPython" "$@"


More information about the Libreoffice-commits mailing list