- #!/usr/bin/env python
- '''Create Makefile for tools installation'''
- # Copyright (c) 2006 Qualcomm
- # Miki Tebeka <mtebeka@qualcomm.com>
- from sys import version_info
- MIN_VERSION = 2.3
- PREFIX = "/opt/p4vaddins"
- ADDINS_TXT = "p4vaddins.txt"
- ADDINS_TXT_NEW = "p4vaddins.xml"
- MAKEFILE = '''
- all:
- \t@echo "Done! Now run 'make install'"
- install:
- \tinstall -d %(prefix)s
- \tinstall %(sources)s %(prefix)s
- '''
- SOURCES = [
- "checkout-to.py",
- "label2change.py",
- "make-dev-branch.py",
- "p4v_common.py",
- "publish.py",
- "publishui.py",
- "quick-label.py",
- "safe-sync.py",
- ]
- def assert_have_module(module, module_name):
- print "checking if you have %s installed..." % module_name,
- try:
- __import__(module)
- print " [OK]"
- except ImportError:
- print " [NO]"
- raise SystemExit("error: can't find %s" % module_name)
- def create_from_template(filename, install_dir):
- text = open(filename + ".in").read()
- text = text.replace("_INSTALL_DIR_", install_dir)
- fo = open(filename, "wt")
- fo.write(text)
- fo.close()
- # Check for good Python version
- if float("%s.%s" % version_info[:2]) < MIN_VERSION:
- raise SystemExit("error: python version %0.1f or higher is required" % \
- MIN_VERSION)
- from optparse import OptionParser
- from os.path import isfile
- parser = OptionParser("usage: %prog [options]")
- parser.add_option("--prefix", help="install location [%s]" % PREFIX,
- dest="prefix", default=PREFIX)
- parser.add_option("-m", help="output makefile name", dest="makefile",
- default="Makefile")
- parser.add_option("--sources", help="print sources and exit", dest="sources",
- action="store_true", default=0)
- opts, args = parser.parse_args()
- if args:
- parser.error("wrong number of arguments") # Will exit
- if opts.sources:
- print "\n".join(SOURCES)
- raise SystemExit
- print "configuring for installation at %s" % opts.prefix
- if isfile(opts.makefile):
- raise SystemExit("error: %s already exists" % opts.makefile)
- assert_have_module("wx", "wxPython")
- assert_have_module("p4", "P4Python")
- for filename, version in ((ADDINS_TXT, "older than 2006.1"),
- (ADDINS_TXT_NEW, "2006.1 or newer")):
- print "creating %s (for p4v %s)" % (filename, version)
- try:
- create_from_template(filename, opts.prefix)
- except IOError, e:
- error_message = "error: can't create %s (%s)" % (filename, e.strerror)
- raise SystemExit(error_message)
- print "creating %s" % opts.makefile
- fo = open(opts.makefile, "wt")
- src = SOURCES + [ADDINS_TXT, ADDINS_TXT_NEW, "default.css", "README.html" ]
- fo.write(MAKEFILE % { "prefix" : opts.prefix, "sources": " ".join(src)})
- fo.close()
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 6314 | Gabi Davar | Branch Miki Tabeka's last version of p4vaddins Integrate from: //guest/miki_tebeka/p4va...ddins/... To: //guest/gabi_davar/p4vaddins/... « |
17 years ago | |
//guest/miki_tebeka/p4vaddins/main/configure | |||||
#1 | 5628 | Miki Tebeka | Initial support for P4V new XML settings file | 19 years ago |