Skip to content

Commit

Permalink
Windows: Disable dynamic linking/loading of winsock dll.
Browse files Browse the repository at this point in the history
This *preliminary* commit disables dynamic linking/loading of winsock
(ws2_32.dll) and links it statically to fluid and all FLTK test
programs. This is done by conditional code (#if 0) that disables the
old code and #defines some macros. This *must* be removed and replaced
with the original socket interface once the code has proved to work as
expected.

Note: example programs in the examples/ folder are not yet modified.
Todo: check and fix examples/Makefile if necessary.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12947 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
  • Loading branch information
Albrecht Schlosser committed Jun 19, 2018
1 parent 9e212ec commit e34c06f
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/CMakeLists.txt
Expand Up @@ -504,7 +504,7 @@ if (USE_SDL)
endif(USE_SDL)

if (WIN32)
list (APPEND OPTIONAL_LIBS comctl32)
list (APPEND OPTIONAL_LIBS comctl32 ws2_32)
endif (WIN32)

if (FLTK_HAVE_CAIRO)
Expand Down
21 changes: 21 additions & 0 deletions src/Fl_win32.cxx
Expand Up @@ -134,6 +134,12 @@ static bool initial_clipboard = true;
# define SOCKET int
#endif

// Disable dynamic linking/loading of Winsock DLL (STR #3454)
// *FIXME* The old code should be entirely removed when the issue
// is finally resolved.

#if (0) // *FIXME* dynamic loading of Winsock DLL (ws2_32.dll)

// note: winsock2.h has been #include'd in Fl.cxx
#define WSCK_DLL_NAME "WS2_32.DLL"

Expand All @@ -155,6 +161,21 @@ static HMODULE get_wsock_mod() {
return s_wsock_mod;
}

#else // static linking of ws2_32.dll

// *FIXME* These defines and the dummy function get_wsock_mod() must be
// *removed* when the issue (STR #3454) is finally resolved. The code that
// uses these defines and get_wsock_mod() must be modified to use the
// official socket interface (select() and FL_ISSET).

#define fl_wsk_fd_is_set FD_ISSET
#define s_wsock_select select
static int get_wsock_mod() {
return 1;
}

#endif // dynamic/static linking of ws2_32.dll (see above and STR #3454)

/*
* Dynamic linking of imm32.dll
* This library is only needed for a hand full (four ATM) functions relating to
Expand Down

0 comments on commit e34c06f

Please sign in to comment.