I have no idea why this works, but it seems to! All I changed is the 
data dir. This is astonishing. Surely there must be some problems that 
show up later. I think I'm missing support for some major stuff - were 
does this nearest neighbors library come into the picture? Never the 
less, here is an example of a cross compiling a win32 C core library 
only with extcairo support. I'll try some more stuff and report back. 
Also to anyone every trying this the windows program dependency walker 
is invaluable in trying to figure out all the files you need to copy over.

file required to run the example, "test1.exe":

created by the makefile:
csirocsa.dll
plplot.dll
test1.exe

others:
libcairo-2.dll
libglib-2.0-0.dll
libgmodule-2.0-0.dll
libgobject-2.0-0.dll
libpango-1.0-0.dll
libpangocairo-1.0-0.dll
libpangowin32-1.0-0.dll
libpng12-0.dll
zlib1.dll

plstnd5.fnt
plxtnd5.fnt                 

========= Makefile.win32 ================
#set CC to your compiler
#do mkdir objwin32; mkdir win32
#set pkg-config path ie: 
PKG_CONFIG_PATH=/opt/crosscompilers/win32/mingw/lib/pkgconfig make -f 
Makefile.win32

CC = /opt/crosscompilers/win32/bin/i686-mingw32-gcc -g
LIBS=`pkg-config --libs cairo pangocairo`
CFLAGS = -I ./include `pkg-config --cflags cairo pangocairo glib-2.0` 
-DHAVE_CONFIG_H
HEADERS = ./include/config.h ./include/plcore.h \
          ./include/pldebug.h ./include/plDevs.h \
          ./include/plplot.h ./include/plplotP.h \
          ./include/plstrm.h ./include/pldll.h \
          ./include/pdf.h ./include/disptab.h \
          ./include/drivers.h ./include/metadefs.h \
          ./lib/nn/nan.h ./include/plevent.h \
          ./include/mt19937ar.h ./include/plhershey-unicode.h

LIBOBJS = ./objwin32/cairo.o ./objwin32/null.o ./objwin32/plargs.o \
          ./objwin32/plbox.o ./objwin32/plbuf.o ./objwin32/plcont.o \
          ./objwin32/plcore.o ./objwin32/plctrl.o ./objwin32/plcvt.o \
          ./objwin32/pldtik.o ./objwin32/plfill.o ./objwin32/plgridd.o \
          ./objwin32/plhist.o ./objwin32/plimage.o ./objwin32/plline.o \
          ./objwin32/plmap.o ./objwin32/plot3d.o ./objwin32/plpage.o \
          ./objwin32/plsdef.o ./objwin32/plshade.o ./objwin32/plstdio.o \
          ./objwin32/plstripc.o ./objwin32/plsym.o ./objwin32/pltick.o \
          ./objwin32/plvect.o ./objwin32/plvpor.o ./objwin32/plwind.o \
          ./objwin32/pdfutils.o ./objwin32/mt19937ar.o

all: ./win32/plplot.dll ./win32/csirocsa.dll ./win32/test1.exe

./objwin32/csa.o : ./lib/csa/csa.c ./lib/csa/csa.h ./lib/csa/nan.h 
./lib/csa/version.h
    $(CC) -fpic $(CFLAGS) -c ./lib/csa/csa.c -o ./objwin32/csa.o

./win32/csirocsa.dll : ./objwin32/csa.o
    $(CC) -shared -o ./win32/csirocsa.dll 
-Wl,--out-implib,./win32/csirocsa.dll.a

./win32/plplot.dll : $(LIBOBJS) ./win32/csirocsa.dll
    $(CC) -shared -o ./win32/plplot.dll $(LIBOBJS) 
-Wl,--out-implib,./win32/plplot.dll.a \
          $(LIBS) ./win32/csirocsa.dll

./objwin32/mt19937ar.o : ./src/mt19937ar.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/mt19937ar.c -o ./objwin32/mt19937ar.o

./objwin32/cairo.o : ./drivers/cairo.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./drivers/cairo.c -o ./objwin32/cairo.o

./objwin32/null.o : ./drivers/null.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./drivers/null.c -o ./objwin32/null.o

./objwin32/plargs.o : ./src/plargs.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plargs.c -o ./objwin32/plargs.o

./objwin32/plbox.o : ./src/plbox.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plbox.c -o ./objwin32/plbox.o

./objwin32/plbuf.o : ./src/plbuf.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plbuf.c -o ./objwin32/plbuf.o

./objwin32/plcont.o : ./src/plcont.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plcont.c -o ./objwin32/plcont.o

./objwin32/plcore.o : ./src/plcore.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plcore.c -o ./objwin32/plcore.o

./objwin32/plctrl.o : ./src/plctrl.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plctrl.c -o ./objwin32/plctrl.o

./objwin32/plcvt.o : ./src/plcvt.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plcvt.c -o ./objwin32/plcvt.o

./objwin32/pldtik.o : ./src/pldtik.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/pldtik.c -o ./objwin32/pldtik.o

./objwin32/plfill.o : ./src/plfill.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plfill.c -o ./objwin32/plfill.o

./objwin32/plgridd.o : ./src/plgridd.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plgridd.c -o ./objwin32/plgridd.o

./objwin32/plhist.o : ./src/plhist.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plhist.c -o ./objwin32/plhist.o

./objwin32/plimage.o : ./src/plimage.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plimage.c -o ./objwin32/plimage.o

./objwin32/plline.o : ./src/plline.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plline.c -o ./objwin32/plline.o

./objwin32/plmap.o : ./src/plmap.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plmap.c -o ./objwin32/plmap.o

./objwin32/plot3d.o : ./src/plot3d.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plot3d.c -o ./objwin32/plot3d.o

./objwin32/plpage.o : ./src/plpage.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plpage.c -o ./objwin32/plpage.o

./objwin32/plsdef.o : ./src/plsdef.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plsdef.c -o ./objwin32/plsdef.o

./objwin32/plshade.o : ./src/plshade.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plshade.c -o ./objwin32/plshade.o

./objwin32/plstdio.o : ./src/plstdio.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plstdio.c -o ./objwin32/plstdio.o

./objwin32/plstripc.o : ./src/plstripc.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plstripc.c -o ./objwin32/plstripc.o

./objwin32/pltick.o : ./src/pltick.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/pltick.c -o ./objwin32/pltick.o

./objwin32/plvect.o : ./src/plvect.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plvect.c -o ./objwin32/plvect.o

./objwin32/plvpor.o : ./src/plvpor.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plvpor.c -o ./objwin32/plvpor.o

./objwin32/plwind.o : ./src/plwind.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plwind.c -o ./objwin32/plwind.o

./objwin32/plsym.o : ./src/plsym.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/plsym.c -o ./objwin32/plsym.o

./objwin32/pdfutils.o : ./src/pdfutils.c $(HEADERS)
    $(CC) $(CFLAGS) -c ./src/pdfutils.c -o ./objwin32/pdfutils.o

./win32/test1.exe : ./win32/plplot.dll
    $(CC) -I ./include `pkg-config --cflags cairo` test1.c 
./win32/plplot.dll.a \
          ./win32/csirocsa.dll.a `pkg-config --libs cairo` -o 
./win32/test1.exe

clean:
    rm -f ./objwin32/*
    rm -f ./win32/*



Thomas Stover wrote:
> Correction, it works. I just had to properly set the hard coded data 
> directory. Actual cross compile test comming soon...
>



------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to