[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[pygame] Re: Adding a new extension to the Windows compilation order



Okay, I would really appreciate some explanation of how I am supposed to modify Setup_win.py.

My extension(_movie) needs these libraries specifically: avformat, swscale, and SDL_mixer. avformat, and swscale require avcodec, avdevice, and avutil to work properly.

What does each argument of Dependency.__init__ mean?

I am currently doing this:

dep = Dependency('FFMPEG', [r'avformat\.dll', r'swscale\.dll', r'SDL_mixer-[1-9].*'], ['avformat', 'swscale', 'SDL_mixer'], required=0)
DEPS.dependencies.append(dep)
DEPS.dlls.append(DependencyDLL(r'avformat\.dll', link=dep, libs=['avformat']))
DEPS.dlls.append(DependencyDLL(r'swscale\.dll', link=dep, libs=['swscale']))
DEPS.dlls.append(DependencyDLL(r'(lib){0,1}SDL_mixer\.dll$', link=dep, libs=['SDL', 'vorbisfile', 'smpeg']))

because if I need multiple libraries(which I assume libs is for), I can't use DEPS.add(args), because then the libs in Dependency would be [[libraries]] which makes it crash. What is the purpose of the DLL stuff?

I need these answers, soon, please. I've already gone to IRC and no one was around willing or able to help.

-Tyler

On Wed, Aug 12, 2009 at 9:49 AM, Tyler Laing <trinioler@xxxxxxxxx> wrote:
Finally got it to work. Had to alter the Setup_win.in in the prebuilt directory to add my extension, to get it compiled. Now its actually compiling it looks like.

I however, was wondering, what compiler flag can I check for conditional compilation for support of Windows?

-Tyler


On Tue, Aug 11, 2009 at 2:33 PM, Tyler Laing <trinioler@xxxxxxxxx> wrote:
Here's a picture of the dll error since msys won't let me copy terminal text...

-Tyler


On Tue, Aug 11, 2009 at 2:18 PM, Tyler Laing <trinioler@xxxxxxxxx> wrote:
I've determined I am supposed to use config_win.py, by checking the .pyc files.

Now, I've added this:

dep = Dependency('FFMPEG', [r'avformat\.dll', r'swscale\.dll', r'SDL_mixer-[1-9].*'], ['avformat', 'swscale', 'SDL_mixer'], required=0)
DEPS.dependencies.append(dep)
DEPS.dlls.append(DependencyDLL(r'avformat\.dll|swscale\.dll|SDL_mixer-[1-9].*', link=dep, libs=['avformat', 'swscale', 'SDL_mixer']))

Is that correct?

I'm getting an error from python setup.py build --compiler=mingw32 which says basically, that it can't find any dlls. How am I supposed to run it?

-Tyler


On Tue, Aug 11, 2009 at 1:47 PM, Tyler Laing <trinioler@xxxxxxxxx> wrote:
Exactly as the title says. How do I add a new extension to compile to the windows compilation order for pygame? I know Setup.in needs the modification, which it does. But I also know that one of the config files needs to be modified. In config_unix.py, I use:

Dependency('FFMPEG', 'libavformat/avformat.h', 'libavformat.a', ['avformat', 'swscale', 'SDL_mixer']),    

and it works.

Do I modify config_win.py or config_msys.py? And what do I do to add to it? Obviously, I need to somehow tell it to target the three necessary dlls.

-Tyler

--
Visit my blog at http://oddco.ca/zeroth/zblog



--
Visit my blog at http://oddco.ca/zeroth/zblog



--
Visit my blog at http://oddco.ca/zeroth/zblog



--
Visit my blog at http://oddco.ca/zeroth/zblog



--
Visit my blog at http://oddco.ca/zeroth/zblog