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