forked from peter-b/minipack
-
Notifications
You must be signed in to change notification settings - Fork 1
Automated cross-compiling build tool, mostly for building gEDA for Windows.
License
vzh/minipack
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
======== Minipack ======== Minipack is an automated build tool. Given a set of recipes and patches, it downloads the sources, unpacks them, applies local patches, builds them and installs them. Its primary use is for cross-compiling free software to Windows, but minipack is more general-purpose than that. To install, unpack it in any directory, and optionally set the PATH to it. The tool can be run from anywhere, but it looks for a minipack.conf file in the current directory or in a parent directory. Some recipes for cross-compiling to Windows are included in the distribution: * libraries: gtk+, glib, guile, mingw-libgnurx, gd, and their dependencies. * applications: gEDA/gaf, PCB, gerbv. See Makefile for a full list. NOTE: Guile requires special treatment. Please see the Guile section below. When cross-compiling, you need a suitable cross-compiler for the host you are targeting. On Debian and derivatives, you can type 'sudo apt-get install mingw32' to get a MinGW cross-compiler. You can also build your own by using the build script provided by the MinGW project. Modify the host setting in the minipack.conf file to reflect the cross-compiler being used. It can be found as the prefix of the compiler, eg. i586-mingw32msvc. Run 'make' to build all packages in one run, or the package you need using 'make package-name', e.g. 'make geda-gaf'. Beware, some recipes require a native version of pkg-config, others need the autotools and/or intltool as well. =============================== Using Makefile for installation =============================== Some packages require installation of additional MinGW DLLs for work. Those libraries are: libgcc_s_sjlj-1.dll To install them, do as follows: cp /usr/lib/gcc/i686-w64-mingw32/4.9-win32/libgcc_s_sjlj-1.dll mingw-libs/ make install prefix=/my_installation_directory The path to the MinGW DLL's on your system may differ. Use your own prefix or don't use it at all. In the latter case the built programs will be installed into the ./install directory. (You can make it symlink to an actual installation directory.) ===== Guile ===== In order to compile Guile, you have to have the same pre-compiled version of Guile installed on your system, so first of all, you have to build it from sources BEFORE compilation of all packages. Remove all the Guile packages installed on your system. Then do: ./mpk source guile cp -r sources/guile . cd guile/ ./autogen.sh && ./configure && make && sudo make install ======= mpk ======= The main (and only) tool of minipack is called mpk: * mpk build <package> - Download, unpack, and build a package. * mpk unpack <package> - Download and unpack a package. * mpk source <package> - Download a source package. * mpk remove <package> - Remove an installed package. * mpk install <package> - Install a previously built package. * mpk clean <package> - Clean the build directory of a package. * mpk shell [package] - Enters a shell with a pre-defined environment. * mpk --version - Show the current Minipack version. * mpk --help - Show this screen. A cache of downloaded sources is kept in the 'sources' directory. To add more recipes to minipack, place the recipe in the 'recipes' directory and place the patches in a subdirectory of the 'patches' directory. ======================================== Building development versions of packages ======================================== Suppose you want to build the development version of a package, not the version shipped as a minipack recipe. The procedure is very similar as when building a native (non-cross) development version: 1) Download the development source code. You can download a snapshot, if available, or directly from source control (cvs, svn, git, etc.) 2) Enter a minipack shell - mpk shell <package> This will initialize some variables useful for passing to configure and make, like prefix, host, build and compiler flags. 3) Generate the configure script, if needed. Usually, you run a script named autogen.sh. 4) Build the package. Usually, you run configure and make, like so: echo "$mpk_opt" | xargs ./configure make 5) Patch if necessary, run make again. 6) Run make install. Have fun!
About
Automated cross-compiling build tool, mostly for building gEDA for Windows.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Shell 52.7%
- Makefile 45.1%
- Batchfile 2.2%