Fixes for Python cross-compilation, Linux to Linux at least
When not using a system Python, set PYTHON_FOR_BUILD to point to the python script in the instdir_for_build/program folder. Make sure that script gets installed by adding it to gb_BUILD_TOOLS_executables and by adding pyuno to the cross_toolset modules. Make also the SYSTEM_PYTHON boolean flag visible to the cross-build (in the normal way, as SYSTEM_PYTHON_FOR_BUILD). When cross-compiling Python to Linux, pass some ac_cv_* settings that can't be determined at compile time. Change-Id: I5224966698dca03df9545f5552671f0dce00b4ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197540 Reviewed-by: Tor Lillqvist <tml@iki.fi> Tested-by: Jenkins
This commit is contained in:
@@ -37,6 +37,7 @@ $(eval $(call gb_Module_add_moduledirs,cross_toolset,\
|
||||
officecfg \
|
||||
oovbaapi \
|
||||
pch \
|
||||
$(if $(filter PYTHON,$(BUILD_TYPE_FOR_HOST)),pyuno) \
|
||||
registry \
|
||||
remotebridges \
|
||||
ridljar \
|
||||
|
||||
@@ -728,6 +728,7 @@ SYSTEM_PAGEMAKER=@SYSTEM_PAGEMAKER@
|
||||
SYSTEM_POPPLER=@SYSTEM_POPPLER@
|
||||
SYSTEM_POSTGRESQL=@SYSTEM_POSTGRESQL@
|
||||
SYSTEM_PYTHON=@SYSTEM_PYTHON@
|
||||
SYSTEM_PYTHON_FOR_BUILD=@SYSTEM_PYTHON_FOR_BUILD@
|
||||
SYSTEM_ZXCVBN=@SYSTEM_ZXCVBN@
|
||||
SYSTEM_ZXING=@SYSTEM_ZXING@
|
||||
SYSTEM_QXP=@SYSTEM_QXP@
|
||||
|
||||
+8
-1
@@ -6410,6 +6410,7 @@ if test "$cross_compiling" = "yes"; then
|
||||
LIBO_URE_MISC_FOLDER
|
||||
OS
|
||||
SDKDIRNAME
|
||||
SYSTEM_PYTHON
|
||||
SYSTEM_LIBXML
|
||||
SYSTEM_LIBXSLT
|
||||
"
|
||||
@@ -6496,6 +6497,7 @@ else
|
||||
LIBO_URE_MISC_FOLDER_FOR_BUILD="$LIBO_URE_MISC_FOLDER"
|
||||
SDKDIRNAME_FOR_BUILD="$SDKDIRNAME"
|
||||
WORKDIR_FOR_BUILD="$WORKDIR"
|
||||
SYSTEM_PYTHON_FOR_BUILD="$SYSTEM_PYTHON"
|
||||
fi
|
||||
AC_SUBST(OS_FOR_BUILD)
|
||||
AC_SUBST(INSTDIR_FOR_BUILD)
|
||||
@@ -6509,6 +6511,7 @@ AC_SUBST(WORKDIR_FOR_BUILD)
|
||||
AC_SUBST(CC_FOR_BUILD)
|
||||
AC_SUBST(CXX_FOR_BUILD)
|
||||
AC_SUBST(CPPU_ENV_FOR_BUILD)
|
||||
AC_SUBST(SYSTEM_PYTHON_FOR_BUILD)
|
||||
|
||||
dnl ===================================================================
|
||||
dnl Check for lockfile deps
|
||||
@@ -10526,7 +10529,11 @@ if test "$build_os" != "cygwin" -a "$enable_python" != fully-internal; then
|
||||
# Clean PYTHON_VERSION checked below if cross-compiling
|
||||
PYTHON_VERSION=""
|
||||
if test "$PYTHON" != ":"; then
|
||||
PYTHON_FOR_BUILD=$PYTHON
|
||||
if test -n "$CROSS_COMPILING" -a -z "$SYSTEM_PYTHON_FOR_BUILD"; then
|
||||
PYTHON_FOR_BUILD="$INSTDIR_FOR_BUILD/$LIBO_BIN_FOLDER_FOR_BUILD/python"
|
||||
else
|
||||
PYTHON_FOR_BUILD=$PYTHON
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
+8
@@ -94,8 +94,16 @@ $(call gb_ExternalProject_get_state_target,python3,build) :
|
||||
ac_cv_func_clock_gettime=no \
|
||||
) \
|
||||
) \
|
||||
$(if $(CROSS_COMPILING), \
|
||||
$(if $(filter LINUX,$(OS)), \
|
||||
ac_cv_buggy_getaddrinfo=no \
|
||||
ac_cv_file__dev_ptmx=yes \
|
||||
ac_cv_file__dev_ptc=yes \
|
||||
) \
|
||||
) \
|
||||
$(gb_RUN_CONFIGURE) ./configure \
|
||||
$(gb_CONFIGURE_PLATFORMS) \
|
||||
$(if $(CROSS_COMPILING),--with-build-python="$(PYTHON_FOR_BUILD)") \
|
||||
$(if $(ENABLE_VALGRIND),--with-valgrind) \
|
||||
$(if $(ENABLE_DBGUTIL),--with-pydebug) \
|
||||
--prefix=/python-inst \
|
||||
|
||||
@@ -27,6 +27,7 @@ gb_BUILD_TOOLS_executables = \
|
||||
$(call gb_CondExeLockfile,lockfile) \
|
||||
makedepend \
|
||||
propex \
|
||||
$(if $(filter PYTHON,$(BUILD_TYPE_FOR_HOST)),python) \
|
||||
saxparser \
|
||||
svidl \
|
||||
treex \
|
||||
|
||||
Reference in New Issue
Block a user