= Setup Development = == Background == The OSGeo4W GUI Installer is derived from the same code that the Cygwin installer uses (Cygwin is a Unix emulator on Windows). More information about this code can be found at: http://cygwin.com/setup.html == Building your own setup.exe == 1. Download Cygwin installer http://www.cygwin.com/setup.exe 2. Install Cygwin * in the installer, no need to change anything (press until you must choose a download site) * in the '''Choose a Download Site''' window, highlight a URL that appears close to your country location, and press * in the '''Select Packages''' window, make sure to install the following packages (click on "Skip" until you see a version number beside the package name) * Devel * autoconf * automake * gcc-mingw-g++ * libtool * make * Mingw * mingw-zlib * mingw-bzip2 * also install all packages that are dependencies of the above ones (the cygwin installer should have automatically selected them for you) The modified source can be found in the OSGeo4W SVN at: https://svn.osgeo.org/osgeo4w/trunk/setup To build, you must first install Cygwin - including quite a variety of development packages. Then run: {{{ ./bootstrap.sh ./fr_configure make }}} In the setup source directory. This should produce a setup.exe executable. The fr_upload.sh and package.sh scripts should also be helpful to get the results to the OSGeo4W download server. Note that the executable needs to be updated in two places when new versions are uploaded. One is the http://download.osgeo.org/osgeo4w/osgeo4w-setup.exe binary and the other is the packaged copy in http://download.osgeo.org/osgeo4w/release/setup. == Adding Express Packages == To add a new express install package follow these steps: * Add a symbolic define for the new package in resource.h in the section at the end (IDC_PKG_OPENEV, etc). * Add a new entry on the express package dialog defined in res.rc (search for IDC_PKG_OPENEV). Make sure the positioning does not overlap other packages. * Add the new package to the !PackageControlPair[] array in express_package.cc file, matching the IDC_PKG_ constant with the name of the package.