Skip to content

handsomegui/mpd-win32-build

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a set of scripts to build MPD and friends for Windows.
They could be used to build MPD natively on Windows
or by using cross-compiler on Linux.

If you don't want to build MPD manually you can download binary package from

    http://www.musicpd.org/download/win32/

Scripts located in tools directory could be used to write builders
for other autotools/cmake based projects.

Required tools on Linux
=======================

To build on Linux you'll need the following tools
(Ubuntu 12.04 packages are provided as example):

  autoconf automake autotools-dev cmake g++-mingw-w64-i686 gettext git
  libglib2.0-dev libtool make pkg-config python2.7 wget yasm

Required tools on Windows
=========================

To build on Windows you'll need the following tools:

Python 2.7 - http://python.org
Required to run buildtool

MinGW + msys - http://mingw.org
You'll need to install the following packages with mingw-get:

  mingw32-autotools mingw32-base mingw32-gettext mingw32-gcc-g++
  msys-base msys-coreutils msys-patch msys-wget
  
MinGW-w64 (optional) - http://mingw-w64.sourceforge.net
Could be used instead of compiler from MinGW. You'll still need some tools from
MinGW though.

Git for Windows - http://msysgit.github.com
Make sure you add to PATH directory with git.cmd (not directory with git.exe).

pkg-config - http://www.gtk.org/download/win32.php
You'll also need libglib-2.0-0.dll from GLib (run-time) package.

GLib development tools - http://www.gtk.org/download/win32.php
Required if your are cross-compiling. You'll also need GLib (run-time, dev)
and gettext-runtime (run-time) packages.

CMake - http://www.cmake.org
Required to build openal-soft.

Yasm - http://yasm.tortall.net
Required to build ffmpeg.

All of the following tools should be in PATH. Instead of modifying it directly,
consider setting path option in buildtool.conf. Exception is Python interpreter
which have to be in real PATH to run buildtool.

Using buildtool
===============

Buildtool is a simple python script that automates building of packages.
Before running buildtool make sure you have created buildtool.conf.
See buildtool.conf.example for details.

Buildtool is executed via buildtool shell script of buildtool.bat batch file
depending on your platform. It takes exactly 2 arguments: action and target.
Target is a package to deal with. Action is one of the following:

  build
    Builds specified target via ./configure, make, make install sequence.
    All dependencies are assumed to be built.

  clean
    Removes all files generated by build.

  clean-cache
    Removes all files that were downloaded via previous runs of buildtool.

  rebuild
    Shortcut for executing clean and build.

  build-all
    Builds specified target and all dependencies.

  generate-makefile
    Generates make file that could be used to build target and its dependencies
    with additional make options such as -j.
    This action is implictly executed by build-all target.
    It does not require target argument.

  build-dist
    Pack specified target and all dependencies to .zip file ready for releasing.
    Target and dependencies are assumed to be built.

Examples:

  Building MPD package from latest released tarball:

    $ ./buildtool build-all mpd-release
    $ ./buildtool build-dist mpd-release

  The same but use 4 build jobs at once:

    $ ./buildtool generate-makefile
    $ cd work
    $ make -j 4 build-mpd-release
    $ cd ..
    $ ./buildtool build-dist mpd-release

About

Build scripts to compile MPD and dependencies for Windows

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published