Message-ID: <003101bfc355$56967280$fa13ddcc@lhaglund> From: "Josh Haglund" To: Subject: windows version of Crafty Date: Sun, 21 May 2000 13:49:46 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2314.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 Reply-To: djgpp AT delorie DOT com I can compile crafty.exe in DOS, but how do I do compile it so it will work with winboard (NOT DOS) ? I use to be able to compile one with cgywin .... but I don't have that anymore, so could some help me a bit. Makefile- # To build crafty: # # Uncomment the sections relevant to your architecture. # You may need to tune the two gcc lines below to match your compiler. # You want to set up for maximum optimization, but typically you will # need to experiment to see which options provide the fastest code. # This is optimized for pgcc, which is a fairly current compiler. # # The currently available targets: # # AIX {IBM machines running AIX} # ALPHA {DEC Alpha running OSF/1-Digital Unix} # CRAY1 {any Cray-1 compatible architecture including XMP, YMP, # C90, etc.} # HP {HP workstation running HP_UX operating system (unix)} # LINUX {80X86 architecture running LINUX (unix)} # NT_i386 {80X86 architecture running Windows 95 or NT} # NT_AXP {DEC Alpha running Windows NT} # DOS {PC running dos/windows, using DJGPP port of gcc to compile} # NEXT {NextStep} # OS/2 {IBM OS/2 warp} # SGI {SGI Workstation running Irix (SYSV/R4) Unix} # SUN {Sun SparcStation running Solaris (SYSV/R4) Unix} # SUN_BSD {Sun SparcStation running SunOS (BSD) Unix} # FreeBSD {80X86 architecture running FreeBSD (unix)} # # The next options are optimizations inside Crafty that you will have # test to see if they help. on some machines, these will slow things # by up to 10%, while on other machines these options will result in # improving search speed up to 20%. NOTE: if you are running Linux # or have a SUN Sparc-20 machine, the default configurations below # will use the hand-written assembly modules. Typical performance # improvement is 33%, but this only applies to X86 machines and the # Sun Sparc-20. # # 1. opt = -DCOMPACT_ATTACKS # 2. opt = -DCOMPACT_ATTACKS -DUSE_ATTACK_FUNCTIONS # # Finally, if you have a Symmetric MultiProcessor machine, you should # add -DSMP to the opt definition for your make configuration, and then # add -DCPUS=N where N is the number of processors (max) you will use. # # if you want 6 man EGTB support, you will need to add -DEGTB6 to the # options above. # # # AIX #target = AIX #CC = cc #CFLAGS = -O2 #CPP = $(CC) #LDFLAGS = #opt = -DCOMPACT_ATTACKS -DUSE_ATTACK_FUNCTIONS #opt = -DCOMPACT_ATTACKS # ALPHA #target = ALPHA #CC = cc #Note: "-arch host" assumes you will run the binary on exactly the # same kind of ALPHA you compiled it on. Omit it if you want to run # the same binary on several kinds of Alpha. If you are on an early # EV6 that does not have the CIX instruction set extension, a compiler # bug (?) causes these instructions to be generated anyway. If this # happens you'll see a message about "instr emulated" after starting # crafty; to fix it, change "-arch host" to "-arch ev56 -tune host" # and recompile. #CFLAGS = -std -fast -O4 -pthread -newc -arch host #CPP = cxx #LDFLAGS = $(CFLAGS) #LIBS = -lpthread -lexc #opt = -DSMP -DCPUS=8 -DFAST -DPOSIX #DOS #target = DOS #CC = gcc #CLAGS = -fomit-frame-pointer -m486 -O3 -Wall #CPP = $(CC) #LDFLAGS = $(OPT) $(CFLAGS = $(OPT) $(CFLAGS) #opt = -DCOMPACT_ATTACKS -DUSE_ATTACK_FUNCTIONS \ # -DUSE_ASSEMBLY_A -DUSE_ASSEMBLY_B -DFAST -DSMP -DCPUS=4 -DDGT #asm = X86.o # FreeBSD (gcc 2.6.3) #target = DOS #CC = gcc #CFLAGS = -fomit-frame-pointer -m486 -O3 -Wall #CPP = $(CC) #LDFLAGS = -s #opt = -DCOMPACT_ATTACKS -DUSE_ATTACK_FUNCTIONS \ # -DUSE_ASSEMBLY_A -DUSE_ASSEMBLY_B -DFAST # FreeBSD (pgcc) #target = FreeBSD #CC = gcc #CFLAGS = -pipe -D_REENTRANT -mpentium -O -Wall #CPP = $(CC) #LDFLAGS = #opt = -DCOMPACT_ATTACKS -DUSE_ATTACK_FUNCTIONS \ # -DUSE_ASSEMBLY_A -DUSE_ASSEMBLY_B -DFAST # HP #target = HP #CC = cc #OPT = +O3 +Onolimit #CFLAGS = +ESlit -Ae +w1 #CPP = $(CC) #LDFLAGS = $(OPT) $(CFLAGS) #opt = # LINUX (gcc 2.95) # Note: You have to uncomment exactly ONE of the `asm' lines below. target = DOS CC = gcc CPP = $(CC) #CFLAGS = -fomit-frame-pointer -m486 -O3 -Wall #LDFLAGS = -s #opt = -DCOMPACT_ATTACKS -DUSE_ATTACK_FUNCTIONS \ # -DUSE_ASSEMBLY_A -DUSE_ASSEMBLY_B -DFAST -DSMP -DCPUS=4 -DDGT # # Uncomment the FIRST `asm' line for a.out systems. # Uncomment the SECOND `asm' line for ELF systems. # #asm = X86-dos.o #asm = X86.o #asm = X86-aout.o #asm = X86-elf.o # NEXT #target = NEXT #CC = /bin/cc #CFLAGS = -O2 #CPP = $(CC) #LDFLAGS = $(CFLAGS) #opt = -DCOMPACT_ATTACKS # OS2 (emx09c) # target = OS2 # CC = gcc # CFLAGS = -fomit-frame-pointer -m486 -O3 -Wall # CPP = $(CC) # LDFLAGS = -Zexe -Zcrtdll -s # opt = -DCOMPACT_ATTACKS -DUSE_ATTACK_FUNCTIONS \ # -DUSE_ASSEMBLY_A -DUSE_ASSEMBLY_B -DFAST -DOS2 # asm = X86.o # SGI #target = SGI #AS = /bin/as #CC = cc #AFLAGS = -P #CFLAGS = -g -32 -mips2 -cckr #CPP = $(CC) #LDFLAGS = #opt = -DCOMPACT_ATTACKS -DUSE_ATTACK_FUNCTIONS #opt = # SUN #target = SUN #AS = /usr/ccs/bin/as #CC = cc #AFLAGS = -P #CPP = $(CC) #CFLAGS = -fast -xO5 -xunroll=20 #LDFLAGS = -lpthread #opt = -DCOMPACT_ATTACKS -DUSE_ATTACK_FUNCTIONS \ # -DUSE_ASSEMBLY_A -DSMP -DCPUS=4 -DMUTEX -DPOSIX #asm = Sparc.o # Do not change anything below this line! opts = $(opt) -D$(target) objects = searchr.o search.o thread.o searchmp.o repeat.o next.o nexte.o \ nextr.o history.o quiesce.o evaluate.o movgen.o make.o unmake.o hash.o \ attacks.o swap.o boolean.o utility.o valid.o probe.o book.o data.o \ drawn.o edit.o enprise.o epd.o epdglue.o init.o input.o interupt.o \ iterate.o main.o option.o output.o phase.o ponder.o preeval.o resign.o \ root.o learn.o setboard.o test.o time.o validate.o annotate.o \ analyze.o evtest.o bench.o egtb.o dgt.o $(asm) includes = data.h chess.h epdincludes = epd.h epddefs.h epdglue.h eval_users = data.o evaluate.o preeval.o crafty: $(objects) $(CC) $(LDFLAGS) -o crafty $(objects) -lm $(LIBS) @rm -f X86-elf.S @rm -f X86-aout.S dgt: dgtdrv.o @cc -O -o dgt dgtdrv.c egtb.o: egtb.cpp $(CPP) -c $(CFLAGS) $(opts) egtb.cpp clean: -rm -f *.o crafty X86-elf.X X86-aout.S $(objects): $(includes) $(eval_users): evaluate.h epd.o epdglue.o option.o init.o : $(epdincludes) .s.o: $(AS) $(AFLAGS) -o $*.o $*.s$(CC) $(CFLAGS) $(opts) -c $*.c .c.o: $(CC) $(CFLAGS) $(opts) -c $*.c X86-aout.o: sed -e 's/ALIGN/4/' X86.s > X86-aout.S $(CC) -c X86-aout.S @rm X86-aout.S X86-elf.o: sed -e '/ _/s// /' -e '/^_/s///' -e 's/ALIGN/16/' X86.s > X86-elf.S $(CC) -c X86-elf.S @rm X86-elf.S Josh Haglund lhaglund AT wiktel DOT com