[gst-devel] GSoC proposal: Improving GStreamer on Windows and Mac

Edward Hervey bilboed at gmail.com
Wed Mar 25 20:54:25 CET 2009


On Wed, 2009-03-25 at 17:55 +0100, Julien Isorce wrote:
> Hi,
> 
> 2009/3/25 Andoni Morales <ylatuya at gmail.com>
>         >> please add a link to codeblocks.
>         >
>         > The Code::Blocks home page is: http://www.codeblocks.org/
>         > Julien Isorce is also using this IDE for gst-plugins-gl
>         >
>         
>          I forgot to mention that Code::Blocks can also be used to
>         compile
>         GStreamer in Mac OS X and to cross-compile GStreamer in Linux
> 
> I like codeblocks but the best choice is to use CMake.
> ( http://www.cmake.org/ )
> It's the most easiest, usable, viable, extensible etc... build system
> known.
> Qt and KDE are using it now.
> CMake can generate codeblocks projects and more.
> 
> CMake is cross platform. It can generate those things:
> 
> Unix Makefiles  = Generates standard UNIX makefiles.
> CodeBlocks - Unix Makefiles = Generates CodeBlocks project files.
> Eclipse CDT4 - Unix Makefiles = Generates Eclipse CDT 4.0 project
> files.
> KDevelop3 = Generates KDevelop 3 project files.
> KDevelop3 - Unix Makefiles  = Generates KDevelop 3 project files.
> Borland Makefiles  = Generates Borland makefiles.
> MSYS Makefiles   = Generates MSYS makefiles.
> MinGW Makefiles  = Generates a make file for use with mingw32-make.
> NMake Makefiles   = Generates NMake makefiles.
> Unix Makefiles  = Generates standard UNIX makefiles.
> Visual Studio 6  = Generates Visual Studio 6 project files.
> Visual Studio 7   = Generates Visual Studio .NET 2002 project files.
> Visual Studio 7 .NET 2003 = Generates Visual Studio .NET 2003
> projectfiles.
> Visual Studio 8 2005  = Generates Visual Studio .NET 2005 project
> files.
> Visual Studio 8 2005 Win64  = Generates Visual Studio .NET 2005 Win64
> project files.
> Visual Studio 9 2008  = Generates Visual Studio 9 2008 project files.
> Visual Studio 9 2008 Win64  = Generates Visual Studio 9 2008 Win64
> project files.
> Watcom WMake = Generates Watcom WMake makefiles.
> CodeBlocks - MinGW Makefiles= Generates CodeBlocks project files.
> CodeBlocks - Unix Makefiles = Generates CodeBlocks project files.
> Eclipse CDT4 - MinGW Makefiles = Generates Eclipse CDT 4.0 project
> files.
> Eclipse CDT4 - NMake Makefiles = Generates Eclipse CDT 4.0 project
> files.
> Eclipse CDT4 - Unix Makefiles = Generates Eclipse CDT 4.0 project
> files.
> 
> CMake can also generate XCode projects, and "darwin makefiles" but I
> have no Mac machine to copy/past the output of cmake --help.
> 
> I am also using it in gst-plugins-gl. So I can help.
> 
> Moreover, CMake can generate installers 

  Some questions that come to mind:
  * How easy is it to teach it new build systems (S60 and Android come
to mind here). That includes Makfile, auto-generated files, etc... If it
can... this would ease the portability work of GStreamer (and plugins) a
*LOT*.
  * What are the compile-time dependencies ? How easy/hard would it be
to use it in a cross-compile setup ? Can it run in esoteric setups ? If
we can gain new systems but lose old systems (on which auto* works
perfectly well due to only requiring a shell) it's gonna be a definite
blocker.

  CMake looks *very* tempting (he who has read the libtool code with
love throws the first stone), but we need to make sure we're not losing
anything if we switch.

    Edward

>  
> Windows is so horrible when a project is big and has a lot of
> dependencies. (as a lot of projects are).
> Every software on windows comes with their own glib/qt/png/etc...
> dlls. It's just like anarchy. 
> MSYS thought to be the solution of this but still unix mind in this.
> Windows just need a packaging tool ( like apt) and "depo" servers. And
> because it's on windows, this tool would be GUI only . 
> We could start a such project.
> Anyway it's an other subject.
> 
> CMake power !
> 
> gl & hf
> 
> Julien
> 
> 
>         
>         Andoni
>         
>         ------------------------------------------------------------------------------
>         _______________________________________________
>         gstreamer-devel mailing list
>         gstreamer-devel at lists.sourceforge.net
>         https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>         
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel





More information about the gstreamer-devel mailing list