It builds now! (on trusty..., working on cosmic next) 1st draft of using df Changed disk monitoring mode to enum draft install & download accounting Draft backup added DBG small fixes fixing backup accounting New debugging Better debugging MyDebug is not an Object Hotfix for backing up OS with sapces in name 3.2.3 Testing ESC key Added idle/cont fixing uncompressed size Remove focus setting from wifi dialog Fix zip files for ichigojam Fix debug MSG Different ESC implementation from menu Amend write image size Shortcut for edit configs Prevent firmware downgrade p3.2.4 Add option shortcuts p3.2.4a Added gpiochannel and gpiochannelValue to init
228 lines
7.1 KiB
Diff
228 lines
7.1 KiB
Diff
From e5b0d225f4343e82791cb80e4e0c01a9b49eeff4 Mon Sep 17 00:00:00 2001
|
|
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
Date: Tue, 7 Mar 2017 22:23:14 +0100
|
|
Subject: [PATCH] Fix python-config for cross-builds
|
|
|
|
Add a backport of http://bugs.python.org/issue16235 so we can use
|
|
python-config for cross builds.
|
|
|
|
This basically replaces the python version of python-config with a
|
|
pure-shell version that's already preprocessed when installed and
|
|
doesn't depend on the sysconfig import that usually leads to bad
|
|
data/results.
|
|
|
|
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
[Bernd: rebased for Python 2.7.15]
|
|
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
|
---
|
|
Makefile.pre.in | 13 +++---
|
|
Misc/python-config.sh.in | 102 +++++++++++++++++++++++++++++++++++++++++++++++
|
|
configure.ac | 7 +++-
|
|
3 files changed, 116 insertions(+), 6 deletions(-)
|
|
create mode 100644 Misc/python-config.sh.in
|
|
|
|
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
|
index 33b994d..beb0837 100644
|
|
--- a/Makefile.pre.in
|
|
+++ b/Makefile.pre.in
|
|
@@ -171,7 +171,7 @@ SRCDIRS= @SRCDIRS@
|
|
SUBDIRSTOO= Include Lib Misc Demo
|
|
|
|
# Files and directories to be distributed
|
|
-CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in
|
|
+CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Misc/python-config.sh
|
|
DISTFILES= README ChangeLog $(CONFIGFILES)
|
|
DISTDIRS= $(SUBDIRS) $(SUBDIRSTOO) Ext-dummy
|
|
DIST= $(DISTFILES) $(DISTDIRS)
|
|
@@ -431,7 +431,7 @@ LIBRARY_OBJS= \
|
|
|
|
# Default target
|
|
all: @DEF_MAKE_ALL_RULE@
|
|
-build_all: check-clean-src $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks
|
|
+build_all: check-clean-src $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks python-config
|
|
|
|
# Compile a binary with profile guided optimization.
|
|
profile-opt:
|
|
@@ -1179,10 +1179,12 @@ $(srcdir)/Lib/$(PLATDIR):
|
|
fi; \
|
|
cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen
|
|
|
|
-python-config: $(srcdir)/Misc/python-config.in
|
|
+python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
|
|
# Substitution happens here, as the completely-expanded BINDIR
|
|
# is not available in configure
|
|
- sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config
|
|
+ sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py
|
|
+ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR}
|
|
+ sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' Misc/python-config.sh >python-config
|
|
|
|
# Install the include files
|
|
INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY)
|
|
@@ -1241,7 +1243,7 @@ libainstall: all python-config
|
|
$(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
|
|
$(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
|
|
$(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config
|
|
- rm python-config
|
|
+ $(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py
|
|
@if [ -s Modules/python.exp -a \
|
|
"`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
|
|
echo; echo "Installing support files for building shared extension modules on AIX:"; \
|
|
@@ -1426,6 +1428,7 @@ clobber: clean profile-removal
|
|
config.cache config.log pyconfig.h Modules/config.c
|
|
-rm -rf build platform
|
|
-rm -rf $(PYTHONFRAMEWORKDIR)
|
|
+ -rm -f python-config.py python-config
|
|
|
|
# Make things extra clean, before making a distribution:
|
|
# remove all generated files, even Makefile[.pre]
|
|
diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in
|
|
new file mode 100644
|
|
index 0000000..10db4c1
|
|
--- /dev/null
|
|
+++ b/Misc/python-config.sh.in
|
|
@@ -0,0 +1,102 @@
|
|
+#!/bin/sh
|
|
+
|
|
+exit_with_usage ()
|
|
+{
|
|
+ echo "Usage: $0 --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--configdir"
|
|
+ exit $1
|
|
+}
|
|
+
|
|
+if [ "$1" = "" ] ; then
|
|
+ exit_with_usage 1
|
|
+fi
|
|
+
|
|
+# Returns the actual prefix where this script was installed to.
|
|
+installed_prefix ()
|
|
+{
|
|
+ RESULT=$(dirname $(cd $(dirname "$1") && pwd -P))
|
|
+ if which readlink >/dev/null 2>&1 ; then
|
|
+ RESULT=$(readlink -f "$RESULT")
|
|
+ fi
|
|
+ echo $RESULT
|
|
+}
|
|
+
|
|
+prefix_build="@prefix@"
|
|
+prefix_real=$(installed_prefix "$0")
|
|
+
|
|
+# Use sed to fix paths from their built to locations to their installed to locations.
|
|
+prefix=$(echo "$prefix_build" | sed "s#$prefix_build#$prefix_real#")
|
|
+exec_prefix_build="@exec_prefix@"
|
|
+exec_prefix=$(echo "$exec_prefix_build" | sed "s#$exec_prefix_build#$prefix_real#")
|
|
+includedir=$(echo "@includedir@")
|
|
+libdir=$(echo "@libdir@" | sed "s#$prefix_build#$prefix_real#")
|
|
+CFLAGS=$(echo "@CFLAGS@" | sed "s#$prefix_build#$prefix_real#")
|
|
+VERSION="@VERSION@"
|
|
+LIBM="@LIBM@"
|
|
+LIBC="@LIBC@"
|
|
+SYSLIBS="$LIBM $LIBC"
|
|
+LIBS="@LIBS@ $SYSLIBS -lpython${VERSION}"
|
|
+BASECFLAGS="@BASECFLAGS@"
|
|
+LDLIBRARY="@LDLIBRARY@"
|
|
+LINKFORSHARED="@LINKFORSHARED@"
|
|
+OPT="@OPT@"
|
|
+PY_ENABLE_SHARED="@PY_ENABLE_SHARED@"
|
|
+LDVERSION="@LDVERSION@"
|
|
+LIBDEST=${prefix}/lib/python${VERSION}
|
|
+LIBPL=$(echo "@LIBPL@" | sed "s#$prefix_build#$prefix_real#")
|
|
+SO="@SO@"
|
|
+PYTHONFRAMEWORK="@PYTHONFRAMEWORK@"
|
|
+INCDIR="-I$includedir/python${VERSION}"
|
|
+PLATINCDIR="-I$includedir/python${VERSION}"
|
|
+
|
|
+# Scan for --help or unknown argument.
|
|
+for ARG in $*
|
|
+do
|
|
+ case $ARG in
|
|
+ --help)
|
|
+ exit_with_usage 0
|
|
+ ;;
|
|
+ --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--abiflags|--configdir)
|
|
+ ;;
|
|
+ *)
|
|
+ exit_with_usage 1
|
|
+ ;;
|
|
+esac
|
|
+done
|
|
+
|
|
+for ARG in "$@"
|
|
+do
|
|
+ case "$ARG" in
|
|
+ --prefix)
|
|
+ echo "$prefix"
|
|
+ ;;
|
|
+ --exec-prefix)
|
|
+ echo "$exec_prefix"
|
|
+ ;;
|
|
+ --includes)
|
|
+ echo "$INCDIR $PLATINCDIR"
|
|
+ ;;
|
|
+ --cflags)
|
|
+ echo "$INCDIR $PLATINCDIR $BASECFLAGS $CFLAGS $OPT"
|
|
+ ;;
|
|
+ --libs)
|
|
+ echo "$LIBS"
|
|
+ ;;
|
|
+ --ldflags)
|
|
+ LINKFORSHAREDUSED=
|
|
+ if [ -z "$PYTHONFRAMEWORK" ] ; then
|
|
+ LINKFORSHAREDUSED=$LINKFORSHARED
|
|
+ fi
|
|
+ LIBPLUSED=
|
|
+ if [ "$PY_ENABLE_SHARED" = "0" ] ; then
|
|
+ LIBPLUSED="-L$LIBPL"
|
|
+ fi
|
|
+ echo "$LIBPLUSED -L$libdir $LIBS $LINKFORSHAREDUSED"
|
|
+ ;;
|
|
+ --extension-suffix)
|
|
+ echo "$SO"
|
|
+ ;;
|
|
+ --configdir)
|
|
+ echo "$LIBPL"
|
|
+ ;;
|
|
+esac
|
|
+done
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 5d4232f..183a903 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -905,6 +905,7 @@ fi
|
|
|
|
# Other platforms follow
|
|
if test $enable_shared = "yes"; then
|
|
+ PY_ENABLE_SHARED=1
|
|
AC_DEFINE(Py_ENABLE_SHARED, 1, [Defined if Python is built as a shared library.])
|
|
case $ac_sys_system in
|
|
BeOS*)
|
|
@@ -965,6 +966,7 @@ if test $enable_shared = "yes"; then
|
|
|
|
esac
|
|
else # shared is disabled
|
|
+ PY_ENABLE_SHARED=0
|
|
case $ac_sys_system in
|
|
CYGWIN*)
|
|
BLDLIBRARY='$(LIBRARY)'
|
|
@@ -2096,6 +2098,9 @@ AC_SUBST(LDCXXSHARED)
|
|
AC_SUBST(BLDSHARED)
|
|
AC_SUBST(CCSHARED)
|
|
AC_SUBST(LINKFORSHARED)
|
|
+AC_SUBST(PY_ENABLE_SHARED)
|
|
+LIBPL="${prefix}/lib/python${VERSION}/config"
|
|
+AC_SUBST(LIBPL)
|
|
# SO is the extension of shared libraries `(including the dot!)
|
|
# -- usually .so, .sl on HP-UX, .dll on Cygwin
|
|
AC_MSG_CHECKING(SO)
|
|
@@ -4818,7 +4823,7 @@ AC_MSG_RESULT($ENSUREPIP)
|
|
AC_SUBST(ENSUREPIP)
|
|
|
|
# generate output files
|
|
-AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc)
|
|
+AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc Misc/python-config.sh)
|
|
AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix])
|
|
AC_OUTPUT
|
|
|
|
--
|
|
2.7.4
|
|
|