Project

General

Profile

DevelWin32 » History » Revision 5

Revision 4 (Anonymous, 2006-11-29 06:42) → Revision 5/11 (Anonymous, 2007-01-08 09:45)

= Compiling Lighty on win32 = 

 == cygwin ==  

 It just works as on Unix. 

 == native win32 == 

 Starting with lighty 1.4.11-svn the source compiles on windows. Not all parts are ported, but it works in general. 

 === Requirements === 

  * Visual C++ (e.g. [http://msdn.microsoft.com/visualc/vctoolkit2003/ Visual C++ Toolkit] or [http://msdn.microsoft.com/vstudio/express/visualc/download/ Visual C++ 2005 Express]) 
  * the win32-SDK from the [http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk Platform SDK] (tip: you don't need the full package) 
  * [http://www.scons.org/ SCons] (scons 0.96.91 or higher) which requires [http://www.python.org/ Python] 

 SCons needs a configfile in the same folder as the SConstruct file. 

 My config.py file looks like this: 

 {{{ 
 prefix='c:/lighttpd-scons/' 
 VC_TOOLKIT_HOME='c:/Programme/Microsoft Visual C++ Toolkit 2003/' 
 PSDK_HOME='c:/Programme/Microsoft Platform SDK/' 
 # with_mysql='/usr/local/mysql/bin/mysql_config' 
 with_pcre='no' 
 with_openssl='no' 
 with_gzip='no' 
 with_bzip2='no' 
 with_memcache='no' 
 with_sqlite3='no' 
 with_xml='no' 
 # default 'no' 
 build_static='yes' 
 # default 'no' 
 build_fullstatic='no' 
 # default 'yes' 
 build_dynamic='no' 
 }}} 

 All the with_* options have to 'no' for now, build_static is the only way that works and VC_TOOLKIT_HOME and PSDK_HOME have to be set to the locations of the Visual C++ Toolkit and the Platform SDK. 

 {{{ 
 $ scons  
 }}} 

 will build the lighty (lighttpd-semi-static.exe) in the 'build' directory. 



 === Problems === 

 With a get of /trunk/ as of 11/28/2006, and using VS2005, I get: 
 {{{ 
 scons: *** An executable should have exactly one target with the suffix: .exe 
 }}} 
 Deleting that section out of the SConscript (it seems to be for building test apps?) gets me a bit farther until: 
 {{{ 
 src\server.c(3) : fatal error C1083: Cannot open include file: 'sys/time.h': No such file or directory 
 }}} 
 Anyone have any suggestions? 

 As with r1504 /trunk/ it seems that Win32 build is broken: 

 sys/time.h only exists in POSIX environment, possibly should be using sys/utime.h under Win32. 

 Local implementation of getopt.h is missing.