/[thuban]/branches/WIP-pyshapelib-bramz/libraries/pyshapelib/setup.py
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/libraries/pyshapelib/setup.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/thuban/libraries/pyshapelib/setup.py revision 2212 by bh, Mon May 17 15:47:57 2004 UTC branches/WIP-pyshapelib-bramz/libraries/pyshapelib/setup.py revision 2735 by bramz, Mon Mar 12 23:24:35 2007 UTC
# Line 1  Line 1 
1    
2  import os  import os
3    import sys
4  from distutils.core import setup, Extension  from distutils.core import setup, Extension
5  from distutils.util import convert_path  from distutils.util import convert_path
6    
# Line 11  from distutils.util import convert_path Line 12  from distutils.util import convert_path
12  # 2. Built in the Thuban source tree where ../shapelib/ relative to the  # 2. Built in the Thuban source tree where ../shapelib/ relative to the
13  #    directory containing this setup.py contains (the relevant parts of)  #    directory containing this setup.py contains (the relevant parts of)
14  #    shapelib  #    shapelib
15    #
16    # 3. Binary build with e.g. bdist_rpm.  This takes place deep in the
17    #    build directory.
18    
19  # os.path expects filenames in OS-specific form so we have to construct  # os.path expects filenames in OS-specific form so we have to construct
20  # the files with os.path functions. distutils, OTOH, uses posix-style  # the files with os.path functions. distutils, OTOH, uses posix-style
21  # filenames exclusively, so we use posix conventions when making  # filenames exclusively, so we use posix conventions when making
22  # filenames for distutils.  # filenames for distutils.
23  for shp_dir in ["..", "../shapelib"]:  for shp_dir in ["..", "../shapelib", "../../../../../../shapelib"]:
24      if os.path.exists(os.path.join(convert_path(shp_dir), "shpopen.c")):      if (os.path.isdir(convert_path(shp_dir))
25            and os.path.exists(os.path.join(convert_path(shp_dir), "shpopen.c"))):
26          # shp_dir contains shpopen.c, so assume it's the directory with          # shp_dir contains shpopen.c, so assume it's the directory with
27          # the shapefile library to use          # the shapefile library to use
28          break          break
29    else:
30        print >>sys.stderr, "no shapelib directory found"
31        sys.exit(1)
32    
33  def dbf_macros():  def dbf_macros():
34      """Return the macros to define when compiling the dbflib wrapper.      """Return the macros to define when compiling the dbflib wrapper.
# Line 34  def dbf_macros(): Line 42  def dbf_macros():
42      f = open(convert_path(shp_dir + "/shapefil.h"))      f = open(convert_path(shp_dir + "/shapefil.h"))
43      contents = f.read()      contents = f.read()
44      f.close()      f.close()
     print contents.find("DBFUpdateHeader")  
45      if contents.find("DBFUpdateHeader") >= 0:      if contents.find("DBFUpdateHeader") >= 0:
46          return [("HAVE_UPDATE_HEADER", "1")]          return [("HAVE_UPDATE_HEADER", "1")]
47      else:      else:
48          return [("HAVE_UPDATE_HEADER", "0")]          return [("HAVE_UPDATE_HEADER", "0")]
49    
50  extensions = [Extension("shapelibc",  extensions = [Extension("shapelib",
51                          ["shapelib_wrap.c",                          ["shapelib.c",
52                           shp_dir + "/shpopen.c",                           shp_dir + "/shpopen.c",
53                           shp_dir + "/shptree.c"],                           shp_dir + "/shptree.c"],
54                          include_dirs = [shp_dir]),                          include_dirs = [shp_dir]),
# Line 60  setup(name = "pyshapelib", Line 67  setup(name = "pyshapelib",
67        author = "Bernhard Herzog",        author = "Bernhard Herzog",
68        author_email = "[email protected]",        author_email = "[email protected]",
69        url = "ftp:intevation.de/users/bh",        url = "ftp:intevation.de/users/bh",
70        py_modules = ["shapelib", "dbflib"],        py_modules = ["dbflib"],
71        ext_modules = extensions)        ext_modules = extensions)
72    

Legend:
Removed from v.2212  
changed lines
  Added in v.2735

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26