XBoard 4.5.0 released

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27811
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: XBoard 4.5.0 released

Post by hgm »

OK, this would be the proper fix, then (include config.h). I guess it got broken when the security patch replaced all sprintf by snprintf.

The disabling of the manifests, is that a compiler option, or something we would have to #ifdef out in the source code? if it is a compiler option, what are the changes required in Makefile.gcc and the MSVC project files to get this automatically right?

I can see the use of the GetWindowLong might be a problem when pointers are larger than longs. I know WinBoard uses this to fetch the start address of standard event-handling routines (e.g. for text edits), and then replace it to point to a preamble, which intercepts some of the characters as additional, non-standard commands, before calling the original window callback. I am not sure if the rest of the handling of the addresses would be OK, I will have to chek that. Isn't SetWindowLong also used in some places to fetch a genuine long? (E.g. like an interrup mask?)

@Dan: The fact that it cannot clear options only breaks a patch that was never intended to be included in this version. It was cherry-picked by mistake from the git repository at hgm.nubati.net, in stead of a buglet fix that was supposed to go in. (I had said to Arun: pick the last commit of that branch, without mentioning the name, and for some reason, when he pulled, the last commit was not included, so he picked the one before... :cry: ) So that it will not work is no big loss. The missing fix is also no disaster; it only repaired some MicroSoft weirdness that occurs when you start WinBoard in variant normal with an engine that does not support normal. The 'normal' radio-button in the New-Variant dialog then refuses to deselect, because it is disabled.

@Peter: The parser.c is supposed to be in the xboard folder (so that when releasing the version generated while building XBoard on Linux can be included in the release tar ball for Windows users that do not have flex). If MSVC does not look for it there, this would have to be changed in the project file. It was already changed in Makefile.ms.
User avatar
hgm
Posts: 27811
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: XBoard 4.5.0 released

Post by hgm »

I posted a patched version of the sources, with the following modifications:

*) #include "config.h" now added in help.c
*) Set/GetWindowLongPtr used everywhere in stead of Set/GetWindowLong
*) ..\parser.c substituted for .\parser.c in winboard.dsp
*) history.c included in the package
*) reverted the commit that called ClearOptions()
*) Included the commit for deselecting disabled variants

Can anyone tell me if this solves the problems, and what I still would have to do in regard to this manifest business? The sources are at

http://hgm.nubati.net/xboard-4.5.0.7z .
Dann Corbit
Posts: 12542
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: XBoard 4.5.0 released

Post by Dann Corbit »

A few macros had to be changed as explained here:
http://msdn.microsoft.com/en-us/library/ms644898

Here is my modified version:
http://cap.connx.com/chess-engines/new- ... d-4.5.0.7z
User avatar
hgm
Posts: 27811
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: XBoard 4.5.0 released

Post by hgm »

OK, got that. After the changes it still compiles under gcc + Cygwin, 32-bit. So no problems there. One more question:

I noticed a new file, winboard.suo. Should this be included in the tar ball, or is it just some work file that is produced when you build the project defined in winboard.dsp?
CThinker
Posts: 388
Joined: Wed Mar 08, 2006 10:08 pm

Re: XBoard 4.5.0 released

Post by CThinker »

hgm wrote:I posted a patched version of the sources, with the following modifications:

*) #include "config.h" now added in help.c
*) Set/GetWindowLongPtr used everywhere in stead of Set/GetWindowLong
*) ..\parser.c substituted for .\parser.c in winboard.dsp
*) history.c included in the package
*) reverted the commit that called ClearOptions()
*) Included the commit for deselecting disabled variants

Can anyone tell me if this solves the problems, and what I still would have to do in regard to this manifest business? The sources are at

http://hgm.nubati.net/xboard-4.5.0.7z .
The manifest options seems to be a problem only if you are building through the IDE. In the project properties, if you go to the linker options, you will find the manifest option.

But when compiling using the makefile, there is no need to fix for the manifest.

Here are a few things that I think still needs fixing from your 7z source...

1. All instances of SetWindowsLongPtr/GetWindowLongPtr, the GLW_xxx options should be replaced with GLWP_xxx (except for GWL_STYLE - there is no GWLP_STYLE).

2. This:
SetWindowLongPtr(buttonDesc.hwnd, GWL_WNDPROC, (LONG) ButtonProc);
should be:
SetWindowLongPtr(buttonDesc.hwnd, GWLP_WNDPROC, (LONG_PTR) ButtonProc);

Notice the use of LONG_PTR instead of LONG.

3. You missed to replace SetWindowLong with SetWindowLongPtr in wchat.c. Remember to replace (LONG) with (LONG_PTR).

4. makefile.ms needs to be fixed for parser.c and history.c

this:
parser.obj: ../parser.c config.h ../common.h ../backend.h ../parser.h \
../frontend.h ../moves.h ../lists.h
$(CC) $(CFLAGS) parser.c

should be:
parser.obj: ../parser.c config.h ../common.h ../backend.h ../parser.h \
../frontend.h ../moves.h ../lists.h
$(CC) $(CFLAGS) ../parser.c

this:
history.obj: ../history.c config.h ../common.h ../frontend.h ../backend.h \
../lists.h
$(CC) $(CFLAGS) whistory.c

should be:
history.obj: ../history.c config.h ../common.h ../frontend.h ../backend.h \
../lists.h
$(CC) $(CFLAGS) ../history.c

5. The help cannot be built with newer VS tools because they have moved to the new HTML help format. So, I have to remove it from the makefile.

this:
$(PROJ).exe: $(OBJS) $(PROJ).res $(PROJ).hlp
$(LINK) $(LFLAGS) $(OBJS) wsock32.lib comctl32.lib winmm.lib shell32.lib\
oldnames.lib kernel32.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib\
$(PROJ).res -out:$(PROJ).exe

becomes:
$(PROJ).exe: $(OBJS) $(PROJ).res
$(LINK) $(LFLAGS) $(OBJS) wsock32.lib comctl32.lib winmm.lib shell32.lib\
oldnames.lib kernel32.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib\
$(PROJ).res -out:$(PROJ).exe
Dann Corbit
Posts: 12542
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: XBoard 4.5.0 released

Post by Dann Corbit »

hgm wrote:OK, got that. After the changes it still compiles under gcc + Cygwin, 32-bit. So no problems there. One more question:

I noticed a new file, winboard.suo. Should this be included in the tar ball, or is it just some work file that is produced when you build the project defined in winboard.dsp?
No. That thing is a temporary file created each time by the compiler
User avatar
Peter Skinner
Posts: 1763
Joined: Sun Feb 26, 2006 1:49 pm
Location: Edmonton, Alberta, Canada
Full name: Peter Skinner

Re: XBoard 4.5.0 released

Post by Peter Skinner »

Even with the changes above, I get the following errors compiling in the IDE:

1>whistory.obj : error LNK2019: unresolved external symbol _FindMoveByCharIndex referenced in function _HistoryDialogProc@16
1>whistory.obj : error LNK2019: unresolved external symbol _MemoContentUpdated referenced in function _HistoryDialogProc@16
1>whistory.obj : error LNK2019: unresolved external symbol _RefreshMemoContent referenced in function _HistoryDialogProc@16
1>winboard.obj : error LNK2019: unresolved external symbol _MoveHistorySet referenced in function _HistorySet
1>.\Release\winboard.exe : fatal error LNK1120: 4 unresolved externals

When compiling with the command line compiler, I get this error using the changes above:

D:\xboard-4.5.0\winboard>nmake -f makefile.ms

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.

NMAKE : fatal error U1071: cycle in dependency tree for target 'winboard.exe'
Stop.

Here is the contents from the makefile.ms that I am using:


Code: Select all

# Command line: nmake /f makefile.ms
# Set VCVER=6 for MSVC 4.x through 7.0(aka 2002 aka .NET).
# For MSVC 8 (aka 2005) set VCVER=8.  Beyond that try 8 first.
VCVER=8

# If using MSVC 6.0 or earlier, you will need the latest platform SDK supported.
# Set SDK_INC to the include directory after you install it.
# See: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
#SDK_INC="C:\Program Files\Microsoft SDK\include"


PROJ = winboard


OBJS=backend.obj book.obj gamelist.obj lists.obj moves.obj pgntags.obj uci.obj\
 zippy.obj parser.obj wclipbrd.obj wedittags.obj wengineoutput.obj wevalgraph.obj\
 wgamelist.obj whistory.obj history.obj winboard.obj wlayout.obj woptions.obj wsnap.obj\
 wsockerr.obj help.obj wsettings.obj wchat.obj engineoutput.obj evalgraph.obj


# Debugging?
USE_DEBUG=0


# JAWS support?
JAWS=0


CC = @cl
RC = @rc
LINK = link
HC="c:\program files\help workshop\hcrtf.exe" -xn
FLEX = "c:/mingw/mingw32/bin/flex.exe"
DEFS = -D_WIN32_IE=0x300 -DWIN32 -DWINVER=0x0500 -D_WIN32_WINDOWS=0x500 -D YY_NO_UNISTD_H
!if $(JAWS) == 1
DEFS = -DJAWS $(DEFS)
!endif
#WARN = -W3
ARCH =


!if $(VCVER) >= 8
CLIB= libcmt
LIBF= -MT
DEPRECATE=-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_USE_32BIT_TIME_T
!else
VSO = -Gf -Og
CLIB = msvcrt
LIBF = -MD
!endif


!if $(USE_DEBUG) == 0
CFDEBUG = -DNDEBUG
OPTS = -Os -Oy -Gs -GA -Zl $(VSO) $(LIBF)
LFDEBUG = $(CLIB).lib
!else
CFDEBUG = -D_DEBUG -DDEBUG
OPTS = -Od -Zi -Fd$(PROJ).pdb $(LIBF)d
LFDEBUG = -DEBUG -PDB:$(PROJ).pdb -MAP:$(PROJ).map $(CLIB)d.lib
!endif
CF = $(CFDEBUG) $(DEFS) $(DEPRECATE) -I. -I..
!if DEFINED(SDK_INC)
CF = $(CF) -I$(SDK_INC)
!endif
CFLAGS = -c -nologo $(WARN) $(CF) $(ARCH) $(OPTS)
LFLAGS = -nologo $(LFDEBUG)


all: $(PROJ).exe


clean:
        -erase *~ $(PROJ).exe $(PROJ).err $(PROJ).rbj $(PROJ).res *.sbr *.bsc\
        *.o *.obj *.plg *.opt *.ncb *.debug *.bak *.gid *.map *.pdb *.ini


# Update the help file if necessary
$(PROJ).hlp : $(PROJ).rtf
        $(HC) $(PROJ).hpj
        -@type $(PROJ).err
        -@rename $(PROJ).hlp $(PROJ).hlp.tmp
        -@rename $(PROJ).hlp.tmp $(PROJ).hlp


# Update the resource if necessary
$(PROJ).res: $(PROJ).rc $(PROJ).h resource.h config.h
    $(RC) $(CF) -r -fo $(PROJ).res $(PROJ).rc

../parser.c: ../parser.l
    $(FLEX) -o../parser.c -L ../parser.l

winboard.obj: winboard.c config.h winboard.h ../common.h ../frontend.h \
        ../backend.h ../moves.h defaults.h resource.h wclipbrd.h \
        wsockerr.h woptions.h wsnap.h ../lists.h help.h ../args.h
        $(CC) $(CFLAGS) winboard.c

backend.obj: ../backend.c config.h ../common.h ../frontend.h ../backend.h \
        ../parser.h ../moves.h ../zippy.h ../backendz.h ../gettext.h ../lists.h
        $(CC) $(CFLAGS) ../backend.c

parser.obj: ../parser.c config.h ../common.h ../backend.h ../parser.h \
../frontend.h ../moves.h ../lists.h
        $(CC) $(CFLAGS) ../parser.c 

book.obj: ../book.c ../common.h ../backend.h ../lists.h
        $(CC) $(CFLAGS) ../book.c

gamelist.obj: ../gamelist.c config.h ../lists.h ../common.h ../frontend.h \
        ../backend.h ../parser.h
        $(CC) $(CFLAGS) ../gamelist.c

lists.obj: ../lists.c config.h ../lists.h ../common.h
        $(CC) $(CFLAGS) ../lists.c

moves.obj: ../moves.c config.h ../backend.h ../common.h ../parser.h \
        ../moves.h ../lists.h
        $(CC) $(CFLAGS) ../moves.c

wclipbrd.obj: wclipbrd.c config.h ../common.h ../frontend.h ../backend.h \
        winboard.h resource.h wclipbrd.h ../lists.h
        $(CC) $(CFLAGS) wclipbrd.c

wedittags.obj: wedittags.c config.h ../common.h winboard.h resource.h ../frontend.h \
        ../backend.h ../lists.h
        $(CC) $(CFLAGS) wedittags.c

wgamelist.obj: wgamelist.c config.h ../common.h winboard.h resource.h ../frontend.h \
        ../backend.h ../lists.h
        $(CC) $(CFLAGS) wgamelist.c

woptions.obj: woptions.c config.h ../common.h ../frontend.h ../backend.h \
	../lists.h defaults.h winboard.h resource.h
        $(CC) $(CFLAGS) woptions.c

wengineoutput.obj: wengineoutput.c config.h ../common.h ../frontend.h ../backend.h \
	../lists.h winboard.h resource.h wsnap.h
        $(CC) $(CFLAGS) wengineoutput.c

engineoutput.obj: ../engineoutput.c ../engineoutput.h config.h ../common.h \
	../frontend.h ../backend.h ../lists.h
        $(CC) $(CFLAGS) ../engineoutput.c

whistory.obj: whistory.c config.h ../common.h ../frontend.h ../backend.h \
	../lists.h winboard.h resource.h wsnap.h
        $(CC) $(CFLAGS) whistory.c

history.obj: ../history.c config.h ../common.h ../frontend.h ../backend.h \
    ../lists.h
        $(CC) $(CFLAGS) ../history.c 

wevalgraph.obj: wevalgraph.c config.h ../common.h ../frontend.h ../backend.h \
	../lists.h winboard.h resource.h wsnap.h
        $(CC) $(CFLAGS) wevalgraph.c

evalgraph.obj: ../evalgraph.c ../evalgraph.h config.h ../common.h ../frontend.h \
	../backend.h ../lists.h
        $(CC) $(CFLAGS) ../evalgraph.c

wlayout.obj: wlayout.c config.h ../common.h ../frontend.h winboard.h resource.h
        $(CC) $(CFLAGS) wlayout.c

wsockerr.obj: wsockerr.c wsockerr.h
        $(CC) $(CFLAGS) wsockerr.c

help.obj: help.c help.h
        $(CC) $(CFLAGS) help.c

wsnap.obj: wsnap.c wsnap.h
        $(CC) $(CFLAGS) wsnap.c

pgntags.obj: ../pgntags.c config.h ../common.h ../frontend.h ../backend.h \
        ../parser.h ../lists.h
        $(CC) $(CFLAGS) ../pgntags.c

zippy.obj: ../zippy.c config.h ../common.h ../zippy.h ../frontend.h \
	../backend.h ../backendz.h ../lists.h
        $(CC) $(CFLAGS) ../zippy.c

uci.obj: ../uci.c ../common.h ../backend.h ../frontend.h ../lists.h
        $(CC) $(CFLAGS) ../uci.c


wsettings.obj: wsettings.c ../common.h ../backend.h ../frontend.h ../lists.h
        $(CC) $(CFLAGS) wsettings.c

wchat.obj: wchat.c winboard.h wsnap.h ../common.h ../backend.h ../frontend.h ../lists.h
        $(CC) $(CFLAGS) wchat.c


$(PROJ).exe: $(OBJS) $(PROJ).res
$(LINK) $(LFLAGS) $(OBJS) wsock32.lib comctl32.lib winmm.lib shell32.lib\
oldnames.lib kernel32.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib\
$(PROJ).res -out:$(PROJ).exe

.c.obj:
        $&#40;CC&#41; $&#40;CFLAGS&#41; $< 
I was kicked out of Chapters because I moved all the Bibles to the fiction section.
User avatar
Peter Skinner
Posts: 1763
Joined: Sun Feb 26, 2006 1:49 pm
Location: Edmonton, Alberta, Canada
Full name: Peter Skinner

Re: XBoard 4.5.0 released

Post by Peter Skinner »

Peter Skinner wrote:Even with the changes above, I get the following errors compiling in the IDE:

1>whistory.obj : error LNK2019: unresolved external symbol _FindMoveByCharIndex referenced in function _HistoryDialogProc@16
1>whistory.obj : error LNK2019: unresolved external symbol _MemoContentUpdated referenced in function _HistoryDialogProc@16
1>whistory.obj : error LNK2019: unresolved external symbol _RefreshMemoContent referenced in function _HistoryDialogProc@16
1>winboard.obj : error LNK2019: unresolved external symbol _MoveHistorySet referenced in function _HistorySet
1>.\Release\winboard.exe : fatal error LNK1120: 4 unresolved externals
Sorry, it compiled with the command line (32bit, haven't tried a 64.bit version. Is there really a reason to?), I was editing the makefile.ms in two windows to diff them, and was saving the proper one in the wrong location. It was been too long of a day...

Peter
I was kicked out of Chapters because I moved all the Bibles to the fiction section.
CThinker
Posts: 388
Joined: Wed Mar 08, 2006 10:08 pm

Re: XBoard 4.5.0 released

Post by CThinker »

Peter Skinner wrote:Even with the changes above, I get the following errors compiling in the IDE:

1>whistory.obj : error LNK2019: unresolved external symbol _FindMoveByCharIndex referenced in function _HistoryDialogProc@16
1>whistory.obj : error LNK2019: unresolved external symbol _MemoContentUpdated referenced in function _HistoryDialogProc@16
1>whistory.obj : error LNK2019: unresolved external symbol _RefreshMemoContent referenced in function _HistoryDialogProc@16
1>winboard.obj : error LNK2019: unresolved external symbol _MoveHistorySet referenced in function _HistorySet
1>.\Release\winboard.exe : fatal error LNK1120: 4 unresolved externals

When compiling with the command line compiler, I get this error using the changes above:

D:\xboard-4.5.0\winboard>nmake -f makefile.ms

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.

NMAKE : fatal error U1071: cycle in dependency tree for target 'winboard.exe'
Stop.

Here is the contents from the makefile.ms that I am using:


Code: Select all

# Command line&#58; nmake /f makefile.ms
# Set VCVER=6 for MSVC 4.x through 7.0&#40;aka 2002 aka .NET&#41;.
# For MSVC 8 &#40;aka 2005&#41; set VCVER=8.  Beyond that try 8 first.
VCVER=8

# If using MSVC 6.0 or earlier, you will need the latest platform SDK supported.
# Set SDK_INC to the include directory after you install it.
# See&#58; http&#58;//www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
#SDK_INC="C&#58;\Program Files\Microsoft SDK\include"


PROJ = winboard


OBJS=backend.obj book.obj gamelist.obj lists.obj moves.obj pgntags.obj uci.obj\
 zippy.obj parser.obj wclipbrd.obj wedittags.obj wengineoutput.obj wevalgraph.obj\
 wgamelist.obj whistory.obj history.obj winboard.obj wlayout.obj woptions.obj wsnap.obj\
 wsockerr.obj help.obj wsettings.obj wchat.obj engineoutput.obj evalgraph.obj


# Debugging?
USE_DEBUG=0


# JAWS support?
JAWS=0


CC = @cl
RC = @rc
LINK = link
HC="c&#58;\program files\help workshop\hcrtf.exe" -xn
FLEX = "c&#58;/mingw/mingw32/bin/flex.exe"
DEFS = -D_WIN32_IE=0x300 -DWIN32 -DWINVER=0x0500 -D_WIN32_WINDOWS=0x500 -D YY_NO_UNISTD_H
!if $&#40;JAWS&#41; == 1
DEFS = -DJAWS $&#40;DEFS&#41;
!endif
#WARN = -W3
ARCH =


!if $&#40;VCVER&#41; >= 8
CLIB= libcmt
LIBF= -MT
DEPRECATE=-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_USE_32BIT_TIME_T
!else
VSO = -Gf -Og
CLIB = msvcrt
LIBF = -MD
!endif


!if $&#40;USE_DEBUG&#41; == 0
CFDEBUG = -DNDEBUG
OPTS = -Os -Oy -Gs -GA -Zl $&#40;VSO&#41; $&#40;LIBF&#41;
LFDEBUG = $&#40;CLIB&#41;.lib
!else
CFDEBUG = -D_DEBUG -DDEBUG
OPTS = -Od -Zi -Fd$&#40;PROJ&#41;.pdb $&#40;LIBF&#41;d
LFDEBUG = -DEBUG -PDB&#58;$&#40;PROJ&#41;.pdb -MAP&#58;$&#40;PROJ&#41;.map $&#40;CLIB&#41;d.lib
!endif
CF = $&#40;CFDEBUG&#41; $&#40;DEFS&#41; $&#40;DEPRECATE&#41; -I. -I..
!if DEFINED&#40;SDK_INC&#41;
CF = $&#40;CF&#41; -I$&#40;SDK_INC&#41;
!endif
CFLAGS = -c -nologo $&#40;WARN&#41; $&#40;CF&#41; $&#40;ARCH&#41; $&#40;OPTS&#41;
LFLAGS = -nologo $&#40;LFDEBUG&#41;


all&#58; $&#40;PROJ&#41;.exe


clean&#58;
        -erase *~ $&#40;PROJ&#41;.exe $&#40;PROJ&#41;.err $&#40;PROJ&#41;.rbj $&#40;PROJ&#41;.res *.sbr *.bsc\
        *.o *.obj *.plg *.opt *.ncb *.debug *.bak *.gid *.map *.pdb *.ini


# Update the help file if necessary
$&#40;PROJ&#41;.hlp &#58; $&#40;PROJ&#41;.rtf
        $&#40;HC&#41; $&#40;PROJ&#41;.hpj
        -@type $&#40;PROJ&#41;.err
        -@rename $&#40;PROJ&#41;.hlp $&#40;PROJ&#41;.hlp.tmp
        -@rename $&#40;PROJ&#41;.hlp.tmp $&#40;PROJ&#41;.hlp


# Update the resource if necessary
$&#40;PROJ&#41;.res&#58; $&#40;PROJ&#41;.rc $&#40;PROJ&#41;.h resource.h config.h
    $&#40;RC&#41; $&#40;CF&#41; -r -fo $&#40;PROJ&#41;.res $&#40;PROJ&#41;.rc

../parser.c&#58; ../parser.l
    $&#40;FLEX&#41; -o../parser.c -L ../parser.l

winboard.obj&#58; winboard.c config.h winboard.h ../common.h ../frontend.h \
        ../backend.h ../moves.h defaults.h resource.h wclipbrd.h \
        wsockerr.h woptions.h wsnap.h ../lists.h help.h ../args.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; winboard.c

backend.obj&#58; ../backend.c config.h ../common.h ../frontend.h ../backend.h \
        ../parser.h ../moves.h ../zippy.h ../backendz.h ../gettext.h ../lists.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; ../backend.c

parser.obj&#58; ../parser.c config.h ../common.h ../backend.h ../parser.h \
../frontend.h ../moves.h ../lists.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; ../parser.c 

book.obj&#58; ../book.c ../common.h ../backend.h ../lists.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; ../book.c

gamelist.obj&#58; ../gamelist.c config.h ../lists.h ../common.h ../frontend.h \
        ../backend.h ../parser.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; ../gamelist.c

lists.obj&#58; ../lists.c config.h ../lists.h ../common.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; ../lists.c

moves.obj&#58; ../moves.c config.h ../backend.h ../common.h ../parser.h \
        ../moves.h ../lists.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; ../moves.c

wclipbrd.obj&#58; wclipbrd.c config.h ../common.h ../frontend.h ../backend.h \
        winboard.h resource.h wclipbrd.h ../lists.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; wclipbrd.c

wedittags.obj&#58; wedittags.c config.h ../common.h winboard.h resource.h ../frontend.h \
        ../backend.h ../lists.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; wedittags.c

wgamelist.obj&#58; wgamelist.c config.h ../common.h winboard.h resource.h ../frontend.h \
        ../backend.h ../lists.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; wgamelist.c

woptions.obj&#58; woptions.c config.h ../common.h ../frontend.h ../backend.h \
	../lists.h defaults.h winboard.h resource.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; woptions.c

wengineoutput.obj&#58; wengineoutput.c config.h ../common.h ../frontend.h ../backend.h \
	../lists.h winboard.h resource.h wsnap.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; wengineoutput.c

engineoutput.obj&#58; ../engineoutput.c ../engineoutput.h config.h ../common.h \
	../frontend.h ../backend.h ../lists.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; ../engineoutput.c

whistory.obj&#58; whistory.c config.h ../common.h ../frontend.h ../backend.h \
	../lists.h winboard.h resource.h wsnap.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; whistory.c

history.obj&#58; ../history.c config.h ../common.h ../frontend.h ../backend.h \
    ../lists.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; ../history.c 

wevalgraph.obj&#58; wevalgraph.c config.h ../common.h ../frontend.h ../backend.h \
	../lists.h winboard.h resource.h wsnap.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; wevalgraph.c

evalgraph.obj&#58; ../evalgraph.c ../evalgraph.h config.h ../common.h ../frontend.h \
	../backend.h ../lists.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; ../evalgraph.c

wlayout.obj&#58; wlayout.c config.h ../common.h ../frontend.h winboard.h resource.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; wlayout.c

wsockerr.obj&#58; wsockerr.c wsockerr.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; wsockerr.c

help.obj&#58; help.c help.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; help.c

wsnap.obj&#58; wsnap.c wsnap.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; wsnap.c

pgntags.obj&#58; ../pgntags.c config.h ../common.h ../frontend.h ../backend.h \
        ../parser.h ../lists.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; ../pgntags.c

zippy.obj&#58; ../zippy.c config.h ../common.h ../zippy.h ../frontend.h \
	../backend.h ../backendz.h ../lists.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; ../zippy.c

uci.obj&#58; ../uci.c ../common.h ../backend.h ../frontend.h ../lists.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; ../uci.c


wsettings.obj&#58; wsettings.c ../common.h ../backend.h ../frontend.h ../lists.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; wsettings.c

wchat.obj&#58; wchat.c winboard.h wsnap.h ../common.h ../backend.h ../frontend.h ../lists.h
        $&#40;CC&#41; $&#40;CFLAGS&#41; wchat.c


$&#40;PROJ&#41;.exe&#58; $&#40;OBJS&#41; $&#40;PROJ&#41;.res
$&#40;LINK&#41; $&#40;LFLAGS&#41; $&#40;OBJS&#41; wsock32.lib comctl32.lib winmm.lib shell32.lib\
oldnames.lib kernel32.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib\
$&#40;PROJ&#41;.res -out&#58;$&#40;PROJ&#41;.exe

.c.obj&#58;
        $&#40;CC&#41; $&#40;CFLAGS&#41; $< 
I think you have some garbage temp files lying around. Start with a clean folder and extract Dann's or Harm's 7z file. Then make the three corrections to makefile.ms. You should be able to build.

In the IDE, the project is incomplete. You need to add history.c to the project.
User avatar
Peter Skinner
Posts: 1763
Joined: Sun Feb 26, 2006 1:49 pm
Location: Edmonton, Alberta, Canada
Full name: Peter Skinner

Re: XBoard 4.5.0 released

Post by Peter Skinner »

CThinker wrote: I think you have some garbage temp files lying around. Start with a clean folder and extract Dann's or Harm's 7z file. Then make the three corrections to makefile.ms. You should be able to build.

In the IDE, the project is incomplete. You need to add history.c to the project.
I figured it out just before I got the email stating you had replied. Now it compiles cleanly in both.

I have uploaded a default Win32 build and a PGO build to the CCT website just in case someone wants to try them.

http://www.cctchess.com/WWinboard-4.5.0-PS.7z

Peter
I was kicked out of Chapters because I moved all the Bibles to the fiction section.