PT 18-Jul-2003: Liboil can be built for windows using the mingw compiler. You need to get the SDL development library for mingw from the SDL site [2] and apply the following patch to the current Makefile in liboil. What you end up with is a oilsh shell. This isn't too good as an interactive shell under windows - but it does successfully run the oil scripts. Try the managers demo mentioned above.To use this patch, copy it to a file and delete the leading single space (for instance, in emacs use M-x replace-regexp<RET>^ <RET><RET>). You'll need to edit the location of your SDLDIR - and the SDL include directory needs to be renamed from include to SDL (because all the #includes are for <SDL/xxxx.h>).
--- Makefile.orig Mon Feb 17 02:29:28 2003 +++ Makefile Thu Jul 17 01:44:58 2003 @@ -4,16 +4,16 @@ ## $Header: /home/kennykb/Tcl/wiki/cvsroot/twhist/8347,v 1.9 2005-04-08 06:00:42 jcw Exp $ -SDL_CFLAGS = `sdl-config --cflags` -SDL_LIBS = `sdl-config --libs` +SDLDIR = /opt/SDL-1.2.5 +SDL_CFLAGS = -I$(SDLDIR) -Dmain=SDL_main #`sdl-config --cflags` +SDL_LIBS = -L$(SDLDIR)/lib -lmingw32 -lSDLmain -lSDL -CC = gcc +CC = gcc -DWIN32 -D_WINDOWS #FLAGS = $(SDL_CFLAGS) -O2 -ffast-math -Wall -DDEBUG -g FLAGS = $(SDL_CFLAGS) -O2 -ffast-math -Wall -finline-functions -funroll-loops -LIBS = $(SDL_LIBS) -ltcl8.4 +LIBS = $(SDL_LIBS) -L/opt/tcl/lib -ltcl84 -# RedHat doesn't need this -INCS = -I/usr/include/tcl8.4/ +INCS = -I. -I/opt/tcl/include/ SRCS = oilsh.c \ debug.c \ @@ -52,7 +52,7 @@ rm *.o oilsh: $(OBJS) - $(CC) $(FLAGS) $(LIBS) -o $@ $^ + $(CC) $(FLAGS) $^ $(LIBS) -o $@ $(OBJS): %.o: %.c $(CC) $(FLAGS) $(INCS) -c -o $@ $<
This has obviously nothing to do with libOil from http://www.schleef.org/liboil/ except the name collision (that seems to be their fault this time).Is there anything for Tcl to gain from optimized inner loops library?