Inform, come ricompilare wingit per windows

Wingit (o "Windows Git") è un'implementazione di glulx per sistemi windows: in pratica è uno degli interpreti per glulx che è possibile utilizzare per eseguire avventure testuali in formato glulx (appunto).
In questo post vengono riportati i passaggi per ricompilare questo applicativo: nomalmente tale procedura non è affatto necessaria, ma potrebbe servire per:
  • Compilare wingit usando una versione più aggiornata dei sorgenti
  • Effettuare una modifica ai sorgenti per creare una versione "modificata"


Alla fine della procedura avremo ricompilato uno degli interpreti per avventure testuali più diffuso su piattaforma windows.
  1. scaricare e installare il compilatore mingw, scaricabile da qui http://tdm-gcc.tdragon.net/ versione a 32 bit
  2. creare una cartella "wingit"su FileSystem
  3. creare una nuova cartella "wingit/Git"
  4. creare una nuova cartella "wingit/Executables/Release/Git"
  5. creare una nuova cartella "wingit/GlkDll"
  6. scaricare e scompattare il file git-134.zip e copiare i sorgenti nella cartella "wingit/Git"
  7. scaricare e scompattare il file wingit-src-134.zip e copiare i sorgenti nella cartella "wingit/Git"
  8. scaricare e scompattare il file WindowsGlk-145.zip e copiare i sorgenti nella cartella "wingit/GlkDll"


L'alberatura finale è la seguente:

Alberatura sorgenti di Wingit


modificare il makefile "wingit/Git/Makefile.win" in questo modo:

# Makefile for Windows Git, compiled with MinGW GCC 2.95

CC = gcc -Wall -O3 -mwindows
OPTIONS = -DUSE_INLINE -DUSE_DIRECT_THREADING -DUSE_OWN_POWF
LIBS = -L. -lglk

OUTPUT = ../Executables/Release/Git

CFLAGS = $(OPTIONS) -I../Include -I../GlkDll/Include

OBJS =  git.o memory.o compiler.o opcodes.o operands.o peephole.o terp.o \
    glkop.o search.o git_windows.o savefile.o saveundo.o gestalt.o \
    accel.o heap.o glk.o res.o

#all: git chm
all: git

git: $(OBJS) libglk.a
    $(CC) -s -o $(OUTPUT) $(OBJS) $(LIBS)

glk.o: ../GlkDll/glk.c
    $(CC) $(CFLAGS) -c -o $@ $^

res.o: win/git.rc
    windres --preprocessor "gcc -E -xc-header -DRC_INVOKED" $^ $@

libglk.a:
    dlltool --dllname=Glk.dll --def=../GlkDll/Glk.def --output-lib=libglk.a

#chm:
#   -C:\\Program\ Files\ \(x86\)\\HTML\ Help\ Workshop\\hhc help\\Git.hhp
#   copy help\\Git.chm ..\\Executables\\Release

clean:
    @$(RM) *.o *.a

Al termine della compilazione dovreste avere il file wingit.exe all'interno della cartella Executables/Release/Git

Commenti