diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 2003-11-19 14:34:18 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 2003-11-19 14:34:18 (GMT) |
commit | 28ecf70db57828db2ca279643bf9aeca7662f35c (patch) | |
tree | 09b7767bbc411f85313b58d6fe7e5e67d9392973 /Mac/scripts/BuildApplication.py | |
parent | 6045b9c93511c767f6cfa2d2fa299c76181acd9b (diff) | |
download | cpython-28ecf70db57828db2ca279643bf9aeca7662f35c.zip cpython-28ecf70db57828db2ca279643bf9aeca7662f35c.tar.gz cpython-28ecf70db57828db2ca279643bf9aeca7662f35c.tar.bz2 |
Getting rid of support for MacOS9 and earlier. This is the first step,
and the biggest in size, but probably the easiest. Hunting through the
source code comes next.
Diffstat (limited to 'Mac/scripts/BuildApplication.py')
-rw-r--r-- | Mac/scripts/BuildApplication.py | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/Mac/scripts/BuildApplication.py b/Mac/scripts/BuildApplication.py deleted file mode 100644 index c919b3f..0000000 --- a/Mac/scripts/BuildApplication.py +++ /dev/null @@ -1,140 +0,0 @@ -"""Create a standalone application from a Python script. - -This puts up a dialog asking for a Python source file ('TEXT'). -The output is a file with the same name but its ".py" suffix dropped. -It is created by copying an applet template, all used shared libs and -then adding 'PYC ' resources containing compiled versions of all used -modules written in Python and the main script itself, as __main__. -""" - - -import sys - -import string -import os -import MacOS -from Carbon import Res -from Carbon import Dlg -import EasyDialogs -import buildtools -import macresource - -# Hmmm... -MACFREEZEPATH = os.path.join(sys.prefix, ":Mac:Tools:macfreeze") -if MACFREEZEPATH not in sys.path: - sys.path.append(MACFREEZEPATH) - -import macgen_bin - -# dialog, items -DLG_ID = 400 -OK_BUTTON = 1 -CANCEL_BUTTON = 2 -GENFAT_BUTTON = 4 -GENPPC_BUTTON = 5 -GEN68K_BUTTON = 6 - -# Define this if we cannot generate 68/fat binaries (Python 1.6) -PPC_ONLY=1 - - -macresource.need('DITL', DLG_ID, "BuildApplication.rsrc") - -def main(): - try: - buildapplication() - except buildtools.BuildError, detail: - EasyDialogs.Message(detail) - - -def buildapplication(debug = 0): - buildtools.DEBUG = debug - - # Ask for source text if not specified in sys.argv[1:] - - if not sys.argv[1:]: - filename = EasyDialogs.AskFileForOpen(message='Select Python source:', - fileTypes=('TEXT',)) - if not filename: - return - else: - if sys.argv[2:]: - raise buildtools.BuildError, "please select one file at a time" - filename = sys.argv[1] - tp, tf = os.path.split(filename) - - # interact with user - architecture, ok = interact(tf) - if not ok: - return - if tf[-3:] == '.py': - tf = tf[:-3] - else: - tf = tf + '.app' - - dstfilename = EasyDialogs.AskFileForSate(message='Save application as:', - savedFileName=tf) - if not ok: - return - - macgen_bin.generate(filename, dstfilename, None, architecture, 1) - - -class radio: - - def __init__(self, dlg, *items): - self.items = {} - for item in items: - ctl = dlg.GetDialogItemAsControl(item) - self.items[item] = ctl - - def set(self, setitem): - for item, ctl in self.items.items(): - if item == setitem: - ctl.SetControlValue(1) - else: - ctl.SetControlValue(0) - - def get(self): - for item, ctl in self.items.items(): - if ctl.GetControlValue(): - return item - - def hasitem(self, item): - return self.items.has_key(item) - - -def interact(scriptname): - if PPC_ONLY: - return 'pwpc', 1 - d = Dlg.GetNewDialog(DLG_ID, -1) - if not d: - raise "Can't get DLOG resource with id =", DLG_ID - d.SetDialogDefaultItem(OK_BUTTON) - d.SetDialogCancelItem(CANCEL_BUTTON) - Dlg.ParamText(scriptname, "", "", "") - - radiogroup = radio(d, GENFAT_BUTTON, GENPPC_BUTTON, GEN68K_BUTTON) - radiogroup.set(GENFAT_BUTTON) - - gentype = 'fat' - while 1: - n = Dlg.ModalDialog(None) - if n == OK_BUTTON or n == CANCEL_BUTTON: - break - elif radiogroup.hasitem(n): - radiogroup.set(n) - genitem = radiogroup.get() - del radiogroup - del d - if genitem == GENFAT_BUTTON: - gentype = 'fat' - elif genitem == GENPPC_BUTTON: - gentype = 'pwpc' - elif genitem == GEN68K_BUTTON: - gentype = 'm68k' - return gentype, n == OK_BUTTON - - -if __name__ == '__main__': - main() |