Artifact
88541ea1a1c63a977af982686ab15e17faad9f22:
- File
src/user.c
-
2010-08-28 06:59:10
— part of check-in
[f66f414fd3]
on branch windowscompilers
— This is the first check-in on the windowscompilers branch and it adds the
<a href="http://www.digitalmars.com/">Digital Mars C compiler</a>
The user should have dmc installed in c:\DM with zlib in c:\DM\extra\lib
and c:\DM\extra\include.
typing c:\DM\bin\make -f win\Makefile.dmc builds fossil.exe in dmcobj
The following files were edited or added:
<p>Checks if one of the windows compilers is used. If so we define _WIN32.
Defining _WIN32 is normally done by<br>#include <windows.h><br>
However most of the time we don't use windows.h. </p>
<p>Adding an other windows compiler is done by adding<br>
"|| defined(__COMPILER_IDENTIFIER__)"<br>
and maybe some special things in the files below.
Like
<pre>
</pre>
</p>
<p>These have all __MINGW32__ replaced by _WIN32. And in some places special processing for either MINGW32 or DMC
<p>In popen2 the _open_osfHandle call first parameter is cast to a long. DMC refused to compile without the cast.</p>
<p>DMC complained that it didn't knew of time_t in rss.h. time.h came after
rss.h. Switching the two solved it!
</p>
<p>added tcl code to generate Makefile.dmc. tclsh src/makemake.tcl dmc
prints to stdout the makefile. As a convienience to the
end-user I added the win/Makefile.dmc to the repository.
There are few changeable variables in there for adjusting path,
CFLAGS LIBS etc.
</p>
<p>These are needed because DMC and MSVC doesn't provided them.
dirent.h is copied verbatim from the net. unistd.h I found on the
net too, but added some defines.
<p>The problem with windows it doesn't have AWK standard installed.
version.c creates VERSION.h. It is a very simple C-program and
doesn't do a lot of checking.
</p>
(user:
renez
size: 9904)
-
2010-08-31 01:53:56
— part of check-in
[3564af0f7a]
on branch trunk
— Merge the changes from the windowscompilers branch into the trunk.
(user:
drh
size: 9904)