handsomegui / mpd-win32-build Goto Github PK
View Code? Open in Web Editor NEWBuild scripts to compile MPD and dependencies for Windows
Build scripts to compile MPD and dependencies for Windows
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.