[GRASSGUI] Re: trying to compile wxPython digitizer display_driver
Martin Landa
landa.martin at gmail.com
Mon Aug 20 07:13:06 EDT 2007
Michael,
I disabled loading the driver in digit.py today. The driver is not
finished yet. The are parts of Makefile which are hardcoded (ugly), I
will fix it. At the end of the week it should be stable and usable.
Sorry, I am now busy with another work. I will tell you when it is
ready for testing.
Martin
2007/8/19, Michael Barton <michael.barton at asu.edu>:
>
> Martin,
>
> I compiled swig, but still am not able to compile your new display driver
> for the wxPython GUI. I've had to drop back to the earlier (non-functional)
> version of digit.py just to get it all to run.
>
> I'm pretty sure that, after installing swig, the problem lies in the
> Makefile, which seems to be hard-coded to match your system. I've tried
> playing around with some of the parameters, but have been unsuccessful. I
> just don't know much about the details of compiling C code. The Makefile is
> short, so I'm including it below along with some of my comments. Maybe
> someone can offer suggestions as to 1) how to make it work with my Mac and
> 2) how to generalize it so it works more easily with other systems as well.
>
> With regard to swig, this adds a major new dependency to the wxPython GUI.
> It doesn't come on the Mac and I had to compile it from source. IT was
> pretty easy, but not something other most other Mac users will want to do.
> Same with Windows users. Maybe we'll want to have Python-swig as a
> requirement anyway. Several people have mentioned this. I know generally
> what it swig does, but not the details. An important question is...Is swig
> necessary for creating the driver for digitizing in wxPython or is there
> potentially another way to do this? That is, can we accomplish what you are
> trying to do without swig, oris it essential to make it work?
>
> I'm looking forward to trying the new digitizer after getting this driver
> up and working.
>
> Cheers
> Michal
> __________________________________________
> Michael Barton, Professor of Anthropology
> Director of Graduate Studies
> School of Human Evolution & Social Change
> Center for Social Dynamics & Complexity
> Arizona State University
>
> phone: 480-965-6213
> fax: 480-965-7671
> www: http://www.public.asu.edu/~cmbarton
>
>
> Makefile below ==========================
>
>
> PYTHONVERSION=2.4
>
> >>>> NOTE: this should be 2.4 or above rather than hard coded to 2.4 (I
> have 2.5, for example). I know that there is some way to specify this, but
> don't remember what it is.
>
> MODULE_TOPDIR = ../../..
>
> include $(MODULE_TOPDIR)/include/Make/Lib.make
> include $(MODULE_TOPDIR)/include/Make/Doxygen.make
>
> >>>> NOTE: This seems to imply putting the source directory for
> display_driver somewhere in the GRASS source tree, but I can't figure out
> where it is supposed to go. I've tried putting it at the root, in lib, and
> another place or two. My GRASS source tree happens to be in
> /Users/cmbarton/grass_dev/grass6.
>
> SWIG=swig
>
> CFLAGS=-c -fpic -I/usr/include/python$(PYTHONVERSION) -I./
> -I$(ARCH_DISTDIR)/include `wx-config --cxxflags`
>
> >>>> NOTE: My Python includes are in a completely different place. I'm not
> sure what ARCH_DISTDIR refers to but am guessing that this needs to be set
> to match each system.
>
> LDFLAGS=-shared -L$(ARCH_LIBDIR) -lgrass_vect -lgrass_gis `wx-config
> --libs`
>
> >>>> NOTE: This may need to be changed for Mac OS X if I am correctly
> remembering some discussions crossing the dev list.
>
> default: grass6_wxdriver.so
>
> clean:
> -rm -f *.o *.so grass6_wxdriver_wrap.cxx grass6_wxdriver.py
> grass6_wxdriver.i grass6_wxdriver.pyc
>
> grass6_wxdriver.i:
> cat ./driver.i > grass6_wxdriver.i
> echo "/* auto-generate swig typedef file (with some GRASS functions
> removed) */" >> grass6_wxdriver.i
> cat ./driver.h >> grass6_wxdriver.i
>
> grass6_wxdriver_wrap.cxx: grass6_wxdriver.i
> $(SWIG) -c++ -python -shadow $<
>
> grass6_wxdriver_wrap.o: grass6_wxdriver_wrap.cxx
> $(CXX) $(CFLAGS) $(INCLUDE_DIRS) $<
>
> driver.o: driver.cc
> $(CXX) $(CFLAGS) $(INCLUDE_DIRS) $<
>
> pseudodc.o: pseudodc.cpp
> $(CXX) $(CFLAGS) $(INCLUDE_DIRS) $<
>
> grass6_wxdriver.so: grass6_wxdriver_wrap.o driver.o pseudodc.o
> $(CXX) $(LDFLAGS) grass6_wxdriver_wrap.o driver.o pseudodc.o -o
> _grass6_wxdriver.so
>
>
>
--
Martin Landa <landa.martin at gmail.com> * http://gama.fsv.cvut.cz/~landa *
More information about the grass-gui
mailing list