Commit graph

8 commits

Author SHA1 Message Date
Nicolas Léveillé
9a7752b9a6 Finish porting hammer's library to windows
We port registry by importing the (public domain) openbsd implementation
of the tfind/tsearch POSIX binary tree search functions.

These are only necessary when building on non-posix platforms
2016-01-31 17:27:19 +01:00
Nicolas Léveillé
206f5044a8 Remove warning about tail "potentially uninitialized"
MSVC was complaining that the `tail` variable was potentially
uninitialized in the while branch. Since the while loop is actually
coupled to the if (head != NULL) that initializes the tail variable,
we move them together, which makes the warning disappear.
2016-01-31 16:55:17 +01:00
Nicolas Léveillé
2623d1a5f1 Add all remaining parsers that were not compiling on windows
The last file to port for the library is registry.c
2015-12-20 11:51:05 +01:00
Nicolas Léveillé
102b9593dc Update list of files to compile on windows 2015-08-16 16:20:53 +02:00
Nicolas Léveillé
d9ae097533 Remove void pointer arithmetics in system_allocator.c
We replace instances of void* w/ char* arithmetics.

This allows system_allocator.c to be compiled with MSVC.

Also we introduce a struct to represent the size_t header.
2015-08-16 09:10:04 +02:00
Nicolas Léveillé
2346239887 Implement h_platform_stopwatch for Windows
We use QueryPerformanceCounter which will return realtime, not user
time.
2015-08-15 15:43:35 +02:00
Nicolas Léveillé
226cad2ab2 Don't build all of Hammer on AppVeyor just now
Since the port is not finished yet, we remove some source files
and the compilation of examples.
2015-08-09 22:46:45 +02:00
Nicolas Léveillé
be30820023 windows build: Add build scripts + appveyor.yml
In order to guarantee that Hammer can build on Windows, an appveyor.yml
and associated build scripts will build hammer and its examples. The idea
is that as soon as the appveyor.yml exists in the repository, pull
requests that would impede Windows portability would be immediately
detected.

The scripts expect CL.EXE to be in the path, and will produce their
results in build/

The highest level of warning is enabled on CL.EXE, minus warnings that
bring CL.EXE to a level that ressembles C99. The only notable warning
that was disabled is the one that tells you about implicit truncating
conversions.

Hammer's source code has quite a few implicit conversions say from a 64bit
unsigned integer to a integer of a lesser size (signed or otherwise)
2015-08-09 22:46:00 +02:00