Home | History | Annotate | Download | only in win32
      1 
      2                              Windows port
      3                              ------------
      4 
      5 This directory contains the files required to build this software on the
      6 native Windows platform.
      7 
      8 As a rule of thumb, the root of this directory contains files needed
      9 to build the library using the command-line tools, while various
     10 subdirectories contain project files for various IDEs.
     11 
     12 
     13   1. Building from the command-line
     14   =================================
     15 
     16 This is the easiest, preferred and currently supported method. 
     17 
     18 In order to build from the command-line you need to make sure that
     19 your compiler works from the command line. This is not always the
     20 case, often the required environment variables are missing. If you are
     21 not sure, test if this works first. If it doesn't, you will first have
     22 to configure your compiler suite to run from the command-line - please
     23 refer to your compiler's documentation regarding that.
     24 
     25 The first thing you want to do is configure the source. You can have
     26 the configuration script do this automatically for you. The
     27 configuration script is written in JScript, a Microsoft's
     28 implementation of the ECMA scripting language. Almost every Windows
     29 machine can execute this through the Windows Scripting Host. If your
     30 system lacks the ability to execute JScript for some reason, you must
     31 perform the configuration manually.
     32 
     33 The second step is compiling the source and, optionally, installing it
     34 to the location of your choosing.
     35 
     36 
     37   1.1 Configuring the source automatically
     38   ----------------------------------------
     39 
     40 The configuration script accepts numerous options. Some of these
     41 affect features which will be available in the compiled software,
     42 others affect the way the software is built and installed. To see a
     43 full list of options supported by the configuration script, run
     44 
     45   cscript configure.js help
     46 
     47 from the win32 subdirectory. The configuration script will present you
     48 the options it accepts and give a biref explanation of these. In every
     49 case you will have two sets of options. The first set is specific to
     50 the software you are building and the second one is specific to the
     51 Windows port.
     52 
     53 Once you have decided which options suit you, run the script with that
     54 options. Here is an example:
     55 
     56   cscript configure.js prefix=c:\opt include=c:\opt\include 
     57     lib=c:\opt\lib debug=yes
     58 
     59 The previous example will configure the process to install the library
     60 in c:\opt, use c:\opt\include and c:\opt\lib as additional search
     61 paths for the compiler and the linker and build executables with debug
     62 symbols.
     63 
     64 Note: Please do not use path names which contain spaces. This will
     65 fail. Allowing this would require me to put almost everything in the
     66 Makefile in quotas and that looks quite ugly with my
     67 syntax-highlighting engine. If you absolutely must use spaces in paths
     68 send me an email and tell me why. If there are enough of you out there
     69 who need this, or if a single one has a very good reason, I will
     70 modify the Makefile to allow spaces in paths.
     71 
     72 
     73   1.2 (Not) Configuring the source manually
     74   -----------------------------------------
     75 
     76 The manual configuration is pretty straightforward, but I would
     77 suggest rather to get a JScript engine and let the configure script do
     78 it for you. This process involves editing the apropriate Makefile to
     79 suit your needs, as well as manually generating certain *.h files from
     80 their *.h.in sources.
     81 
     82 If you really have no idea what I am talking about and ask yourself
     83 what in Gods name do I mean with '*.h files and their *.h.in sources',
     84 then you really should do an automatic configuration. Which files must
     85 be generated and what needs to be done with their sources in order to
     86 generate them is something people who have built this software before
     87 allready know. You will not find any explanations for that
     88 here. Please configure the source manually only if you allready know
     89 what you must do. Otherwise, you have the choice of either getting a
     90 precompiled binary distribution, or performing the automatic
     91 configuration.
     92 
     93 
     94   1.3 Compiling
     95   -------------
     96 
     97 After the configuration stage has been completed, you want to build
     98 the software. You will have to use the make tool which comes with
     99 your compiler. If you, for example, configured the source to build
    100 with Microsoft's MSVC compiler, you would use the NMAKE utility. If
    101 ou configured it to build with GNU C compiler, mingw edition, you
    102 would use the GNU make. Assuming you use MSVC, type
    103 
    104   nmake
    105 
    106 in the win32 subdirectory.When the building completes, you will find
    107 the executable files in win32\binaries directory.
    108  
    109 You can install the software into the directory you specified to the
    110 configure script during the configure stage by typing
    111 
    112   nmake install
    113 
    114 That would be it, enjoy.
    115 
    116 
    117   2. Building with the IDE
    118   ========================
    119 
    120 Each supported IDE has its project files placed in a subdirectory of
    121 win32. If you use a particular IDE, you should be able to
    122 instinctively recognise its project files. When you have found your
    123 favourites, load them into the IDE and do whatever you would do with
    124 any other project files. If you are a novice and puzzled about how to
    125 use particular project files with a particular IDE, check for a readme
    126 file in that IDEs subdirectory. I won't discuss any particular IDE
    127 here, because I would like to keep this document as general as
    128 possible, and there is also a chance that support exists for IDEs
    129 which I have never seen.
    130 
    131 
    132 November 2002, Igor Zlatkovic <igor (a] zlatkovic.com>
    133 
    134