Yalir / sfeMovie

sfeMovie is a simple C++ library that lets you play movies in SFML based applications. It relies on FFmpeg to read medias and remains consistent with SFML's naming conventions.
http://sfemovie.yalir.org/
GNU Lesser General Public License v2.1
114 stars 37 forks source link

Speed up FFmpeg build #54

Open Ceylo opened 10 years ago

Ceylo commented 10 years ago

At the moment there are several limitations to the FFmpeg build:

  1. On Windows running parallel make can make "make.exe" deadlock, so FFmpeg's build is always done with 1 job at a time
  2. When using Makefiles as the sfeMovie generator, FFmpeg is built sequentially to avoid make job count issues if user does "make -jN" on sfeMovie which results in more than N parallel builds as "make.exe" doesn't forward this information to the submake used to build FFmpeg

For point 1, Mozilla suggests the use of PyMake: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Mozilla_build_FAQ They also say this avoid "make.exe" deadlocks with parallel builds. So this could completely fit the needs, at the cost of one more dependency.

For point 2, this is a drawback introduced when users tried to do "make -jN" and it failed. It guarantees that it doesn't fail anymore, but it slow down builds a lot on OS X and Linux when choosing Unix makefiles as generator. To fix it cleanly, we'd need to make sure the job count information is correctly forwarded to the submake process. The culprit looks to be the intermediate build_ffmpeg.sh script that lies between the user's make call and the FFmpeg's submake called by this script.

isubasinghe commented 7 years ago

Completely unrelated but I didnt want to open a new issue for such a small question. I should be able to build this project on android right?