WIN32 kit for CRM114 This kit contains -VS6 projects files (can be used in VS.NET as well) -port of the crm syscall function to win32 -a patched version of crm_str_funcs.c, implementing the open flags in the win32 bit of crm_mmap_file -getopt.c/getopt.h (for cssutil/osbf-util) -this readme This kit is intended for the 20060615-ButterBeast release. It should work with most recent releases, and probably with releases in the near future. The only functional difference between the win32 and posix versions is that you can't syscall to a label in the win32 version, you can only use syscall to spawn external processes. CRM --- 1. Download and unpack the crm114 source distribution. 2. Download the WIN32 kit, and unpack it into a subdirectory in the crm114 directory. For example, if the crm sources are in c:\crm114, then unpack the kit into c:\crm114\WIN32 3. define VERSION in crm114_sysincludes.h - get the current version string from the makefile. i.e. #define VERSION "20060615-ButterBeast" 4. uninclude unistd.h in crm_util_errorhandlers.c if you're using VS6, the c compiler doesn't support long long, so you must change all instances of long long to __int64 TRE --- 1. delete tre-config.h from \tre-0.7.2\lib By deleting this, the tre-config.h in \tre-0.7.2\win32 is used instead 2. in order to get the "blank" character class (required by crm), you have to - comment out the HAVE_ISWCTYPE define in \tre-0.7.2\win32\config.h (line 54) - delete the #ifdef and #endif on lines 238 and 240 of \win32\crm114.dsw in either VS6 or VS.NET and build the debug or release binaries. (build->batch build) tre.dll will be located in \win32\release (assuming you build the release binaries) To run crm114.exe, you need to put tre.dll somewhere in the system path or in the same directory as crm114.exe Additionally, if you re-distribute the binaries, you'll also need to redistribute: msvcr71.dll msvcp71.dll (for VS.NET) OR msvcrt.dll msvcp60.dll (for VS6) Alternatively, you can statically link to the runtime. In the project settings for each project, in the c++ section, in the Code generation subsection, change the run-time library option to "multithreaded" or "debug multithreaded", instead of "multithreaded dll" or "debug multithreaded dll". Then, in the tre project settings, in the linker section, in the "input" subsection, remove msvcprt.lib and msvcrt.lib from the release configuration and remove msvcprt.lib from the debug configuration. If you're using VS.NET, you'll also need to add and add libcpmtd.lib in the debug configuration and add libcpmt.lib in the release configuration. If you run into any problems or have any questions, feel free to contact me at JesusFreke@JesusFreke.com -JesusFreke