mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 06:13:31 +01:00
6ec9c1092a
- made configure link to required system dll's if building for win32 - added diffs for libevent 1.1b - forced user to turn off eventdns if win32 is set - cleaned up tor_mmap_file()_win32 (not sure if it's stable) - cleaned up some warnings and typos svn:r8322
81 lines
3.0 KiB
Plaintext
Executable File
81 lines
3.0 KiB
Plaintext
Executable File
Changes related to compilation under MinGW/any sane win32 gcc
|
|
=============================================================
|
|
|
|
* event.c
|
|
- If gcc include "WIN32-Code/misc.h" instead of "misc.h"
|
|
|
|
* WIN32-Code/misc.h
|
|
- Add struct prototypes for timeval and timezone
|
|
|
|
* buffer.c
|
|
- changed type of "i" from "u_int" to "unsigned int". My MinGW wasn't
|
|
recognizing it. (u_int is normally typedef'ed to unsigned int, right?)
|
|
|
|
* evbuffer.c
|
|
- removed incorrect win32 error checking, see bufferevent_writecb().
|
|
(this needs to be fixed by anyone planning to use evbuffer on win32)
|
|
|
|
* log.c
|
|
- If gcc include "WIN32-Code/misc.h" instead of "misc.h"
|
|
|
|
* WIN32-Code/misc.c
|
|
- if gcc, include "misc.h"
|
|
- added newline at end of file to shut up gcc
|
|
|
|
* WIN32-Code/win32.c
|
|
- Altered the prototypes of win32_*() so their argument types didn't conflict
|
|
with the function definitions.
|
|
- Casted types of win32_* to void inside win32ops so that it didn't conflict
|
|
with the definition of eventops (gcc doesn't like this)
|
|
- Altered prototype of signal_handler to be static since definition is static
|
|
(why wasn't it like this before)
|
|
- Casted the second argument of signal() to be void*, some reason my MinGW
|
|
doesn't have sighandler_t typedef'ed.
|
|
|
|
* configure.in
|
|
- some code to check if we are compiling for WIN32.
|
|
|
|
* Makefile.am
|
|
- if BUILD_WIN32 is defined, include WIN32-Code/misc.c and
|
|
WIN32-Code/win32.c as source files.
|
|
- if WIN32, do not build test stuff. (not windows friendly)
|
|
- if WIN32, explicitly link to ws2_32.dll
|
|
|
|
Notes
|
|
-----
|
|
- We assume that if __GNUC__ is undefined we are building with MSVC
|
|
- If the user wishes to build a dll, they are on their own, the syntax is
|
|
compiler specific.
|
|
- Getting this warning from libtool, no idea why
|
|
"libtool: link: warning: undefined symbols not allowed in i686-pc-mingw32
|
|
shared libraries"
|
|
|
|
|
|
Changes related to "custom eventops"
|
|
====================================
|
|
|
|
* configure.in
|
|
- add argument --enable-custom-eventops, sets USE_CUSTOM_EVENTOPS in config.h
|
|
- add argument --enable-custom-code, sets USE_CUSTOM_CODE in Makefile
|
|
|
|
* Makefile.am
|
|
- if USE_CUSTOM_CODE, include custom/custom.c as a source file.
|
|
(I can't think of a way to pass a string to Makefile.am, so I'm stuck naming
|
|
the new source file custom.c. It just seems simpler this way, but I'm open
|
|
to suggestions)
|
|
|
|
* event.c
|
|
- if USE_CUSTOM_EVENTOPS, use eventops as defined in custom-eventops.h
|
|
|
|
Notes
|
|
-----
|
|
Just in case it isn't completely obvious, the goal of "custom eventops" is to
|
|
allow the user to include their own event processing system without requiring a
|
|
fork. This is accomplished through two parts. Firstly, by allowing the user to
|
|
redefine eventops. (for example, the user may wish to use epoll() exclusively).
|
|
Secondly, by allowing the user to include their own code to support a private
|
|
eventop (note, this may not be necessary, as the user may choose to include
|
|
already defined eventop's.
|
|
|
|
|