[Python-Dev] cross-compiling

Guido van Rossum guido at python.org
Mon Nov 7 22:04:53 CET 2005


I know some folks have successfully used cross-compilation before. But
this was in a distant past. There was some support for it in the
configure script; surely you're using that? I believe it lets you
specify defaults for the TRY_RUN macros. But it's probably very
primitive.

About using distutils to build the extensions, this is because some
extensions require quite a bit of logic to determine the build
commands (e.g. look at BSDDB or Tkinter). There was a pre-distutils
way of building extensions using Modules/Setup* but this required
extensive manual editing if tools weren't in the place where they were
expected, and they never were.

I don't have time to look into this further right now, but I hope I
will in the future. Keep me posted!

--Guido

On 11/7/05, Neal Norwitz <nnorwitz at gmail.com> wrote:
> We've been having some issues and discussions at work about cross
> compiling.  There are various people that have tried (are) cross
> compiling python.  Right now the support kinda sucks due to a couple
> of reasons.
>
> First, distutils is required to build all the modules.  This means
> that python must be built twice.  Once for the target machine and once
> for the host machine.  The host machine is really not desired since
> it's only purpose is to run distutils.  I don't know the history of
> why distutils is used.  I haven't had much of an issue with it since
> I've never needed to cross compile.  What are the issues with not
> requiring python to be built on the host machine (ie, not using
> distutils)?
>
> Second, in configure we try to run little programs (AC_TRY_RUN) to
> determine what to set.  I don't know of any good alternative but to
> force those to be defined manually for cross-compiled environments.
> Any suggestions here?  I'm thinking we can skip the the AC_TRY_RUNs
> if host != target and we pickup the answers to those from a user
> supplied file.
>
> I'm *not* suggesting that normal builds see any change in behaviour.
> Nothing will change for most developers.  ie, ./configure ; make ;
> ./python will continue to work the same.  I only want to make it
> possible to cross compile python by building it only on the target
> platform.
>
> n
>
> PS.  I would be interested to hear from others who are doing cross
> compiling and know more about it than me.
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/guido%40python.org
>


--
--Guido van Rossum (home page: http://www.python.org/~guido/)


More information about the Python-Dev mailing list