Change python embedding to get standard library from zip, not a dll

* This seems way more reliable and smaller than shipping a compiled .dll
* For some reason I didn't find this method before (I only knew that
  you could ship the loose files which wasn't a good solution).
This commit is contained in:
baldurk
2015-08-23 11:17:46 +02:00
parent bc5afeeef4
commit f6b4b2fe22
9 changed files with 16 additions and 153 deletions
+2 -2
View File
@@ -1,5 +1,5 @@
This is a distribution of [IronPython](http://ironpython.net/) 2.7.4, license is available in LICENSE.md.
In this folder is compilelibs.sh which will build a selection of the Libs/ python standard library into a single dll for distribution. The dll isn't included since it ends up being ~10MB so too large to be nice to commit to git.
In this folder is compilelibs.sh which will rompress the Libs/ python standard library into a zip for distribution.
Run compilelibs.sh and point it at an IronPython checkout and it will copy pythonlibs.dll to this folder, which will be optionally loaded in code (and expected by the packaging scripts) to provide the python standard library in-program.
Run compilelibs.sh and point it at an IronPython checkout and it will copy pythonlibs.zip to this folder, which will be copied by the packaging scripts next to renderdocui.exe to provide the python standard library in-program.
+2 -4
View File
@@ -6,9 +6,7 @@ if [ $# -ne 1 ]; then
fi
IRONPYTHON="$1"
LIBS=$(cat libs.txt | awk '{print "Lib/"$1}')
OUTDIR=$PWD
cd $IRONPYTHON
./ipy.exe Tools/Scripts/pyc.py /target:dll /out:pythonlibs $LIBS
mv pythonlibs.dll $OUTDIR/
cd $IRONPYTHON/Lib
zip -r $OUTDIR/pythonlibs.zip *
-137
View File
@@ -1,137 +0,0 @@
ConfigParser.py
HTMLParser.py
Queue.py
StringIO.py
UserDict.py
UserList.py
UserString.py
__future__.py
_abcoll.py
_pyio.py
_strptime.py
_threading_local.py
_weakrefset.py
abc.py
argparse.py
asynchat.py
asyncore.py
atexit.py
base64.py
bisect.py
calendar.py
cgitb.py
cmd.py
code.py
codecs.py
collections.py
colorsys.py
commands.py
contextlib.py
copy.py
csv.py
decimal.py
difflib.py
dircache.py
dummy_thread.py
dummy_threading.py
filecmp.py
fnmatch.py
formatter.py
fpformat.py
fractions.py
functools.py
genericpath.py
getopt.py
gettext.py
glob.py
gzip.py
hashlib.py
heapq.py
hmac.py
htmlentitydefs.py
htmllib.py
httplib.py
imghdr.py
inspect.py
io.py
keyword.py
linecache.py
locale.py
macurl2path.py
markupbase.py
md5.py
mhlib.py
mimetools.py
mimetypes.py
modulefinder.py
mutex.py
new.py
ntpath.py
nturl2path.py
numbers.py
optparse.py
os.py
os2emxpath.py
pickle.py
pickletools.py
pipes.py
pkgutil.py
platform.py
popen2.py
posixfile.py
posixpath.py
pprint.py
random.py
repr.py
rexec.py
rfc822.py
rlcompleter.py
robotparser.py
runpy.py
sched.py
sets.py
sgmllib.py
sha.py
shelve.py
shlex.py
shutil.py
site.py
smtpd.py
smtplib.py
sndhdr.py
sre_compile.py
sre_constants.py
sre_parse.py
ssl.py
stat.py
statvfs.py
string.py
stringold.py
struct.py
subprocess.py
symbol.py
sysconfig.py
tabnanny.py
tarfile.py
tempfile.py
textwrap.py
this.py
threading.py
timeit.py
token.py
tokenize.py
trace.py
traceback.py
types.py
urllib.py
urllib2.py
urlparse.py
user.py
uu.py
uuid.py
warnings.py
weakref.py
webbrowser.py
xmllib.py
xmlrpclib.py
zipfile.py