[Tutor] Compile

Max M. Stalnaker stalnaker@acm.org
Tue, 01 Jun 1999 23:24:52 -0700


>

David said it well.  But maybe some more details on the state of the art are acceptable.  As David said, the purpose of freezing is to have a single executable.  This works on Unix, but not quite on Win.  Here are problems as I see them, and I am definitely subject to correction:

1) shared libaries do not freeze.  These are sort-of-dll's and sit in pyd files.  But they could be compiled statically.  Then there are dlls.
2) winall is probably dependent on some MFC stuff and would need to be rewritten in places to port to an alternative compiler.  Borland is an exception, since they licensed MFC at one point, but no one in the community is providing support for that compiler.
3) tkinter does not freeze on win platforms

If you were to solve any one of the three items then it would be a significant contribution to the community.  But I think you need msvc++ 6.0 around to solve these problems, even if only as a reference compiler.

The cgipython project does not have win ports yet and item 1 is relevant there.  If you get msvc++ 6.0 and read every scrap of doc you can find, you will eventually be faced with item 1 within the confines of the existing cgipython project.  This would be a reasonable project.  I think your enthusiasm is carrying you in the direction of unreasonable projects.



>
>
> Subject: RE: [Tutor] compile
> Date: Tue, 1 Jun 1999 12:23:20 -0500
> From: K P <teroc@zianet.com>
> To: tutor <tutor@python.org>
>
> Hi Max M. Stalnaker, you wrote on 6/1/99 12.45.19 AM:
>
> >What you want to do is to "freeze" your program.  First thing to ask
> >yourself is "do you have MSVC++ 5.0?".  6.0 should work too.  If not,
> then for our
> >purposes, you cannot do it.
>
> What about Cygwin? Or DJGPP? Mingw32? Not to mention the slew of
> commercial compilers. Is it possible to 'convert' the process to use
> another compiler? Is there any work in progress toward that? What about
> gcc, creating the program on *nix and compiling it for distribution in Win
> platforms? Many questions, any answers or pointers?
> Ken
>
>   ------------------------------------------------------------------------
>
> Subject: RE: [Tutor] compile
> Date: Tue, 1 Jun 1999 10:44:12 -0700 (Pacific Daylight Time)
> From: David Ascher <da@ski.org>
> To: K P <teroc@zianet.com>
> CC: tutor <tutor@python.org>
>
> > Hi Max M. Stalnaker, you wrote on 6/1/99 12.45.19 AM:
> >
> > > What you want to do is to "freeze" your program.  First thing to ask
> > > yourself is "do you have MSVC++ 5.0?".  6.0 should work too.  If not,
> > > then for our purposes, you cannot do it.
> >
> > What about Cygwin? Or DJGPP? Mingw32? Not to mention the slew of
> > commercial compilers. Is it possible to 'convert' the process to use
> > another compiler? Is there any work in progress toward that? What about
> > gcc, creating the program on *nix and compiling it for distribution in Win
> > platforms? Many questions, any answers or pointers?
>
> Cross-compilation isn't going to work -- it might be logically possible,
> but it's so much work that it's just not doable.
>
> Freezing with cygwin, djgpp or mingw32 might be more reasonable, but I
> don't know that anyone has tried it.  The reason is simple -- the point of
> freezing a program is to make installation easy on the user's machine.
> Requiring those tools to be installed is not significantly simpler (in my
> and other's experience) than requiring the user to run the Python binary
> installer (it's what I do, and it works fine for most users).
>
> There are alternatives as well, such as the "small distribution" by Gordon
> McMillan, which I haven't investigated.
>
> To get freezing to work with unix-like compilers, I'd suggest starting
> from the Unix version of freeze.  I suspect that deep knowledge of the
> various issues (relocatable DLLs, etc.) is helpful to get that project to
> completion.  If you are successful, please let others know.
>
> --david ascher
>
>   ------------------------------------------------------------------------
> _______________________________________________
> Tutor maillist  -  Tutor@python.org
> http://www.python.org/mailman/listinfo/tutor
>
> --__--__----

--
Max M. Stalnaker  stalnaker@acm.org
Astar Computer Consulting:  Networking and Custom Accounting Software