| OLD | NEW |
| (Empty) |
| 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@zlatkovic.com> | |
| 133 | |
| OLD | NEW |