Guidelines and HOWTOs/Build from source/Windows

From KDE Community Wiki
Revision as of 09:32, 24 October 2007 by 67.161.43.137 (talk) (notes on MinGW missing dependency and missing cc1plus from path)

emerge / emerge.py is a tool to build the kde sources and its third party requirements on MS Windows.

To start an emerge based install, checkout the sources from the svn-directory of emerge into a new directory, which we will call kderoot.

This can be accomplished with the following command:

svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/kdewin32/emerge

Alternatively, you can checkout the sources using a program like TortoiseSVN.

Be sure to use a copy of Subversion that was built on Windows so that checked-out files do not use UNIX line endings. If you check out with UNIX line endings, the patch program will fail when attempting to apply a patch whose line endings don't match the system's.

Copy the file kdesettings-environment.bat into the folder kderoot\etc, rename it to kdesettings.bat and change it according to your needs.

You can get 'some' help if you run:

C:\kderoot\emerge\bin>emerge --help

Below the directory kderoot\emerge\portage you have the categories as subdirectories which contain individual packages.

To build every required package for e.g. kdebase enter emerge kdebase. If you want to make a dry run, add the option -p to it.

emerge is mostly usable together with the kdewin-installer but we're currently still working on some packages which are packaged in a wrong way. To use emerge with the installer, you have to change the directory_layout in the kdesettings.bat to installer (see that file for more detailed information).

Currently, there is no dependency on MinGW in any of the packages. So, unless you call emerge mingw manually, or alter the environment configuration scripts to put the path to your MinGW bin directory in the PATH variable, compiling anything will choke. If you run emerge mingw, you will not need to modify the environment configuration scripts to point to a custom location.

If you see an error about cc1plus not being found, either add MinGW's \libexec\gcc\mingw32\3.4.5 to your PATH variable or copy the contents of this directory to MinGW's bin directory. The prior is preferred.