in subversion/bindings/ctypes-python/setup.py [0:0]
def validate_options(self):
# Validate apr
if not self.apr:
self.apr = find_in_path('apr-1-config')
if not self.apr:
self.apr = find_in_path('apr-config')
if self.apr:
log.info("Found %s" % self.apr)
else:
raise DistutilsOptionError("Could not find apr-1-config or " \
"apr-config. Please rerun with the " \
"--apr option.")
if os.path.exists(self.apr):
if os.path.isdir(self.apr):
if os.path.exists(os.path.join(self.apr, "bin", "apr-1-config")):
self.apr_config = os.path.join(self.apr, "bin", "apr-1-config")
elif os.path.exists(os.path.join(self.apr, "bin", "apr-config")):
self.apr_config = os.path.join(self.apr, "bin", "apr-config")
else:
self.apr_config = None
elif os.path.basename(self.apr) in ("apr-1-config", "apr-config"):
self.apr_config = self.apr
else:
self.apr_config = None
else:
self.apr_config = None
if not self.apr_config:
raise DistutilsOptionError("The --apr option is not valid. It must " \
"point to a valid apr installation or " \
"to either the apr-1-config file or the " \
"apr-config file")
# Validate apr-util
if not self.apr_util:
self.apr_util = find_in_path('apu-1-config')
if not self.apr_util:
self.apr_util = find_in_path('apu-config')
if self.apr_util:
log.info("Found %s" % self.apr_util)
else:
raise DistutilsOptionError("Could not find apu-1-config or " \
"apu-config. Please rerun with the " \
"--apr-util option.")
if os.path.exists(self.apr_util):
if os.path.isdir(self.apr_util):
if os.path.exists(os.path.join(self.apr_util, "bin", "apu-1-config")):
self.apu_config = os.path.join(self.apr_util, "bin", "apu-1-config")
elif os.path.exists(os.path.join(self.apr_util, "bin", "apu-config")):
self.apu_config = os.path.join(self.apr_util, "bin", "apu-config")
else:
self.apu_config = None
elif os.path.basename(self.apr_util) in ("apu-1-config", "apu-config"):
self.apu_config = self.apr_util
else:
self.apu_config = None
else:
self.apu_config = None
if not self.apu_config:
raise DistutilsOptionError("The --apr-util option is not valid. It " \
"must point to a valid apr-util " \
"installation or to either the apu-1-config " \
"file or the apu-config file")
# Validate subversion
if not self.subversion:
self.subversion = find_in_path('svn')
if self.subversion:
log.info("Found %s" % self.subversion)
# Get the installation root instead of path to 'svn'
self.subversion = os.path.normpath(os.path.join(self.subversion, "..",
".."))
else:
raise DistutilsOptionError("Could not find Subversion. Please rerun " \
"with the --subversion option.")
# Validate svn-headers, if present
if self.svn_headers:
if os.path.isdir(self.svn_headers):
if os.path.exists(os.path.join(self.svn_headers, "svn_client.h")):
self.svn_include_dir = self.svn_headers
elif os.path.exists(os.path.join(self.svn_headers, "subversion-1",
"svn_client.h")):
self.svn_include_dir = os.path.join(self.svn_headers, "subversion-1")
else:
self.svn_include_dir = None
else:
self.svn_include_dir = None
elif os.path.exists(os.path.join(self.subversion, "include",
"subversion-1")):
self.svn_include_dir = "%s/include/subversion-1" % self.subversion
else:
self.svn_include_dir = None
if not self.svn_include_dir:
msg = ""
if self.svn_headers:
msg = "The --svn-headers options is not valid. It must point to " \
"either a Subversion include directory or the Subversion " \
"include/subversion-1 directory."
else:
msg = "The --subversion option is not valid. " \
"Could not locate %s/include/" \
"subversion-1/svn_client.h" % self.subversion
raise DistutilsOptionError(msg)
# Validate ctypesgen
if not self.ctypesgen:
self.ctypesgen = find_in_path('ctypesgen.py')
if self.ctypesgen:
log.info("Found %s" % self.ctypesgen)
else:
raise DistutilsOptionError("Could not find ctypesgen. Please rerun " \
"with the --ctypesgen option.")
if os.path.exists(self.ctypesgen):
if os.path.isdir(self.ctypesgen):
if os.path.exists(os.path.join(self.ctypesgen, "ctypesgen.py")):
self.ctypesgen_py = os.path.join(self.ctypesgen, "ctypesgen.py")
elif os.path.exists(os.path.join(self.ctypesgen, "bin",
"ctypesgen.py")):
self.ctypesgen_py = os.path.join(self.ctypesgen, "bin",
"ctypesgen.py")
else:
self.ctypesgen_py = None
elif os.path.basename(self.ctypesgen) == "ctypesgen.py":
self.ctypesgen_py = self.ctypesgen
else:
self.ctypesgen_py = None
else:
self.ctypesgen_py = None
if not self.ctypesgen_py:
raise DistutilsOptionError("The --ctypesgen option is not valid. It " \
"must point to a valid ctypesgen " \
"installation, a ctypesgen source tree or " \
"to the ctypesgen.py script")