CHANGES-libevent 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. Changes related to compilation under MinGW/any sane win32 gcc
  2. =============================================================
  3. * event.c
  4. - If gcc include "WIN32-Code/misc.h" instead of "misc.h"
  5. * WIN32-Code/misc.h
  6. - Add struct prototypes for timeval and timezone
  7. * buffer.c
  8. - changed type of "i" from "u_int" to "unsigned int". My MinGW wasn't
  9. recognizing it. (u_int is normally typedef'ed to unsigned int, right?)
  10. * evbuffer.c
  11. - removed incorrect win32 error checking, see bufferevent_writecb().
  12. (this needs to be fixed by anyone planning to use evbuffer on win32)
  13. * log.c
  14. - If gcc include "WIN32-Code/misc.h" instead of "misc.h"
  15. * WIN32-Code/misc.c
  16. - if gcc, include "misc.h"
  17. - added newline at end of file to shut up gcc
  18. * WIN32-Code/win32.c
  19. - Altered the prototypes of win32_*() so their argument types didn't conflict
  20. with the function definitions.
  21. - Casted types of win32_* to void inside win32ops so that it didn't conflict
  22. with the definition of eventops (gcc doesn't like this)
  23. - Altered prototype of signal_handler to be static since definition is static
  24. (why wasn't it like this before)
  25. - Casted the second argument of signal() to be void*, some reason my MinGW
  26. doesn't have sighandler_t typedef'ed.
  27. * configure.in
  28. - some code to check if we are compiling for WIN32.
  29. * Makefile.am
  30. - if BUILD_WIN32 is defined, include WIN32-Code/misc.c and
  31. WIN32-Code/win32.c as source files.
  32. - if WIN32, do not build test stuff. (not windows friendly)
  33. - if WIN32, explicitly link to ws2_32.dll
  34. Notes
  35. -----
  36. - We assume that if __GNUC__ is undefined we are building with MSVC
  37. - If the user wishes to build a dll, they are on their own, the syntax is
  38. compiler specific.
  39. - Getting this warning from libtool, no idea why
  40. "libtool: link: warning: undefined symbols not allowed in i686-pc-mingw32
  41. shared libraries"
  42. Changes related to "custom eventops"
  43. ====================================
  44. * configure.in
  45. - add argument --enable-custom-eventops, sets USE_CUSTOM_EVENTOPS in config.h
  46. - add argument --enable-custom-code, sets USE_CUSTOM_CODE in Makefile
  47. * Makefile.am
  48. - if USE_CUSTOM_CODE, include custom/custom.c as a source file.
  49. (I can't think of a way to pass a string to Makefile.am, so I'm stuck naming
  50. the new source file custom.c. It just seems simpler this way, but I'm open
  51. to suggestions)
  52. * event.c
  53. - if USE_CUSTOM_EVENTOPS, use eventops as defined in custom-eventops.h
  54. Notes
  55. -----
  56. Just in case it isn't completely obvious, the goal of "custom eventops" is to
  57. allow the user to include their own event processing system without requiring a
  58. fork. This is accomplished through two parts. Firstly, by allowing the user to
  59. redefine eventops. (for example, the user may wish to use epoll() exclusively).
  60. Secondly, by allowing the user to include their own code to support a private
  61. eventop (note, this may not be necessary, as the user may choose to include
  62. already defined eventop's.