X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=WIN32-BUILD-TIPS.txt;h=b3fae966ffb3095e6146b89b6764358f978a72fd;hp=68b5373919cacee398604be8a84c6b62a1f24384;hb=52fcb05de0a22d5f3edc730319ce2c1766fa6850;hpb=75fb96990a3edc7ed2c216c9e89ec4769d1f505c diff --git a/WIN32-BUILD-TIPS.txt b/WIN32-BUILD-TIPS.txt index 68b5373..b3fae96 100644 --- a/WIN32-BUILD-TIPS.txt +++ b/WIN32-BUILD-TIPS.txt @@ -1,5 +1,61 @@ -Compiling RRDtool 1.1.x on Win32 with Microsoft Visual C++: +Compiling RRDtool on Win32 with Microsoft Visual C++: --------------------------------------------------------------- +2008-03-12 Stefan Ludewig stefan.ludewig@exitgames.com + +Here are step by step instructions for building rrdlib.lib and rrdtool.exe +version 1.3.5 and newer with Microsoft Visual Studio 2008 (9.0.x). + +(1) Download and extract libraries rrdtool depends on: + + - cairo: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.0-1_win32.zip + and http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.0-1_win32.zip + + - glib: http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.3-1_win32.zip + and http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.3-1_win32.zip + + - libpng: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.32-1_win32.zip + and http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.32-1_win32.zip + + - libxml2: http://downloads.sourceforge.net/gnuwin32/libxml2-2.4.12-bin.zip?modtime=1009062000&big_mirror=1 + and http://downloads.sourceforge.net/gnuwin32/libxml2-2.4.12-1-lib.zip?modtime=1024783200&big_mirror=1 + + - pango: http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.2-1_win32.zip + and http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.2-1_win32.zip + + - zlib: http://www.zlib.net/zlib123-dll.zip + +(2) Create a folder named "contrib" next to your rrdtool-folder. + +(3) Copy the following folders and files from the downloaded archieves into + the contrib-folder, you just created: + + a) The folder "bin" from cairo_1.8.0-1_win32 and the folders "lib" and + "include" from cairo-dev_1.8.0-1_win32 into contrib/cairo. + + b) The folder "bin" from glib_2.18.3-1_win32 and the folders "lib" and + "include" from glib-dev_2.18.3-1_win32 into contrib/glib + + c) The folder "bin" from libpng_1.2.32-1_win32 and the folders "lib" and + "include" from libpng-dev_1.2.32-1_win32 into contrib/libpng + + d) The file "libxml2.dll" from libxml2-2.4.12-bin/bin and the file + "libxml2.lib" from libxml2-2.4.12-1-lib\lib into contrib/libxml2/lib and + the folder "include" from from libxml2-2.4.12-1-lib into contrib/libxml2 + + e) The folder "bin" from pango_1.22.2-1_win32 and the folders "lib" and + "include" from pango-dev_1.22.2-1_win32 into contrib/pango + + f) The folders "lib" and "include" and the file "zlib1.dll" into + contrib/zlib + +(4) Open the Visual Studio 2008 Solution "rrd.sln" in the win32 folder of + your rrdtool-folder and build either the project rrdlib (for the + rrdtool-library), rrdtool (for the rrdtool-executable depending on the + libraray) or the complete solution. A post-build event automatically copies + all the dlls, needed by rrdtool, next to the .exe, when you build the + executable. These DLLs must be available on all hosts where rrdtool will + run. + 5/1/05 Tobi to help windows deal with the reentrant versions of many unix calls link with win32comp.c @@ -95,7 +151,7 @@ and cd to the bindings\perl-shared subdirectory. (8) Run vcvars32.bat; this batch file, in your vc98\bin directory will set necessary environment options for command line compiling. (9) In bindings\perl-shared, run -perl ntmake.pl +perl ntmake-build nmake nmake test If nmake test succeeds, you are good to go. RRDs.dll is in @@ -221,3 +277,115 @@ Tamas Kovacshazy E-mail: khazy@mit.bme.hu WWW: http://www.mit.bme.hu/~khazy Technical University of Budapest Department of Measurement and Information Systems + + +Compiling RRDtool 1.2.x on Win32 with MingW32 gcc: +--------------------------------------------------------------- + +1. Obtain and install the current version of the MingW package. + + http://www.mingw.org/download.shtml + + In the MinGW set you will need the gcc and binutils as a minimum. + +2. Obtain either of the following awk versions and install in a directory + on your System Path: + + - awk.exe + + http://cm.bell-labs.com/cm/cs/awkbook/index.html + + Note: This version has no dependencies to other libs. + + - gawk.exe (GnuWin32 version) + + http://gnuwin32.sourceforge.net/packages/gawk.htm + + Note: Also fetch the dependant libraries for it from the same page. + +3. If you plan to create a 'distribution' release of the RRD Tools, the + Makefile.Win32 will copy all the needed files to an output directory and + then zip the entire directory. A suitable zip utility can be obtained here: + + http://www.info-zip.org/ + + Install in a directory on your System Path. + +4. Obtain the following libraries, ideally install them all under a common + directory: + + = zlib + + http://oss.oetiker.ch/rrdtool/pub/libs/zlib-1.2.3.tar.gz + http://www.zlib.net/ + + = libpng + + http://oss.oetiker.ch/rrdtool/pub/libs/libpng-1.2.12.tar.gz + http://libpng.sourceforge.net/ + + = freetype + + http://oss.oetiker.ch/rrdtool/pub/libs/freetype-2.2.1.tar.gz + http://freetype.sourceforge.net/index2.html + + = libart_lgpl + + http://oss.oetiker.ch/rrdtool/pub/libs/libart_lgpl-2.3.17.tar.gz + http://www.levien.com/libart/ + + Note: libart_lgpl needs a special tweak because the archive contains + only the base directory, but the libart headers are usually included with + a directory prefix; therefore create a subfolder 'libart_lgpl' and move + all files into this subfolder. + +5. Set up for DOS environment. + + Add MingW\bin and MSYS\bin directories to your System path. + + If the libraries share a common directory set the following environment var: + + set LIBBASE= + e.g set LIBBASE=C:\Libraries + + If the libraries are scattered, set the following environment vers: + + set ZLIBSDK= + e.g set ZLIBSDK=C:\mytest\zlib-1.2.3 + set LIBPNG= + set LIBFT2= + set LIBART= + + If using the Gnu Awk (gawk.exe), edit the Makefile.Win32 and change the line: + + AWK = awk + + to + + AWK = gawk + +6. Compile the project. + + All dependent libs are statically linked in. This has the benefit that the + binaries do not depend on any other DLLs. + In order to build the static freetype lib enter the freetype base directory + and type 'make'. If everything is fine a message appears that gcc is detected, + and that you should again type 'make'. Follow that in order to build freetype. + All other libs are build from the sources with the RRDTool Makefile.Win32. + + Switch to the RRDTOOL .\src directory. Then: + + make -f Makefile.Win32 help + + to see the build options, or + + make -f Makefile.Win32 all + + should build the entire package. + +6. Happy Graphing! + + +written by normw & gk. + +