Final step in making applets first-class citizens: if the applet wants
argv emulation (i.e. if the end user drops files and folders on the
applets these will show up in sys.argv) BuildApplet will add the required
code to the applet bundle, in __rawmain__.pyc.

This code is compiled from appletrawmain.py, it creates sys.argv, cleans
up most of the mess and executes either __main__.py or __main__.pyc.
diff --git a/Mac/Lib/buildtools.py b/Mac/Lib/buildtools.py
index 9825708..1047da5 100644
--- a/Mac/Lib/buildtools.py
+++ b/Mac/Lib/buildtools.py
@@ -398,6 +398,16 @@
 			pycname = '__rawmain__.pyc'
 		else:
 			pycname = '__main__.pyc'
+			# And we also create __rawmain__.pyc
+			outputfilename = os.path.join(destname, 'Contents', 'Resources', '__rawmain__.pyc')
+			if progress:
+				progress.label('Creating __rawmain__.pyc')
+				progress.inc(0)
+			rawsourcefile = os.path.join(sys.prefix, 'Mac', 'Lib', 'appletrawmain.py')
+			rawsource = open(rawsourcefile, 'rU').read()
+			rawcode = compile(rawsource, rawsourcefile, 'exec')
+			writepycfile(rawcode, outputfilename)
+			
 		outputfilename = os.path.join(destname, 'Contents', 'Resources', pycname)
 		if progress:
 			progress.label('Creating '+pycname)