From: Maurice Lombardi Newsgroups: comp.os.msdos.djgpp Subject: Re: Prashant -how to use djgpp Date: Tue, 16 May 2000 18:31:47 +0200 Organization: Universite Joseph Fourier - Grenoble 1 Lines: 281 Message-ID: <392177F3.DD0056E4@ujf-grenoble.fr> References: <001901bfbdae$102ff200$da13ddcc AT lhaglund> <391F4B05 DOT 67D60D9B AT yahoo DOT com> <001301bfbdf9$7121a540$1d12ddcc AT lhaglund> NNTP-Posting-Host: knautie.ujf-grenoble.fr Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: amazone.ujf-grenoble.fr 958495436 32264 193.54.234.27 (16 May 2000 16:43:56 GMT) X-Complaints-To: abus AT ujf-grenoble DOT fr NNTP-Posting-Date: 16 May 2000 16:43:56 GMT X-Mailer: Mozilla 4.7 [fr] (Win98; U) X-Accept-Language: fr,it,en To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Josh Haglund a écrit : > > Prashant, > > So if the source for Crafty was in C:/windows/desktop/Crafty > and for Djgpp is under C:/Djgpp > > what would I do from there? > > I edited the Makefile underder C:/windows/desktop/Crafty/Makefile > Here what it looks like: > > # 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 > uncomment the lines below DOS > # DOS > # target = DOS > # CC = gcc > # CFLAGS = -fomit-frame-pointer -m486 -O3 > # CPP = $(CC) > # LDFLAGS = > # opt = -DCOMPACT_ATTACKS -DUSE_ATTACK_FUNCTIONS \ > # -DUSE_ASSEMBLY_A -DUSE_ASSEMBLY_B > # asm = X86.o > comment out the lines below FreeBSD > # FreeBSD (gcc 2.6.3) > target = FreeBSD > CC = gcc > CFLAGS = -fomit-frame-pointer -m486 -O3 -Wall > CPP = $(CC) > LDFLAGS = > #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 = LINUX > #CC = gcc > #CPP = g++ > #CFLAGS = -Wall -pipe -D_REENTRANT -march=i686 -O -fforce-mem \ > # -fomit-frame-pointer -mpreferred-stack-boundary=2 > #LDFLAGS = -lpthread > #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-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) > > c.o: > $(CC) $(CFLAGS) $(opts) -c $*.c > > s.o: > $(AS) $(AFLAGS) -o $*.o $*.s > > 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 > > What do I need to do now? > Where do I type make? cd C:\windows\desktop\Crafty make > C:/Djgpp/bin/make.exe? > > When you say bsh*.zip, which one are you taking about? > bsh203b, or bsh203s or bsh203d or all of them? bsh203b, may not be mandatory, but no harm in any case. you probably need also sed302b.zip (there are sed commands in this makefile) > > I'm running windows 95 if thats of help. > What do I do now? > I got all of those bsh*.zips I named above and extracted them etc.. have you set set DJGPP=c:\djgpp\djgpp.env PATH=.\;C:\DJGPP\BIN;%PATH% A good place to put these lines is in a file setdjgpp.bat called from the property/program/batch file of a specialized dos box -- Maurice Lombardi Laboratoire de Spectrometrie Physique, Universite Joseph Fourier de Grenoble, BP87 38402 Saint Martin d'Heres Cedex FRANCE Tel: 33 (0)4 76 51 47 51 Fax: 33 (0)4 76 51 45 44 mailto:Maurice DOT Lombardi AT ujf-grenoble DOT fr