summaryrefslogtreecommitdiff
path: root/pkg/python/gen.rc
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-12-11 16:04:20 -0800
committerMichael Forney <mforney@mforney.org>2016-12-13 23:10:30 -0800
commit293f5a93b77d92fd65db7f3d0df654f102e46cfb (patch)
tree6ecd1170e3dd793862dd852814dc1b4cd5e44260 /pkg/python/gen.rc
parent9a506a6834df01a26795cea222b410f206efa9fa (diff)
Move to flat package hierarchy
Note to self: never try to move submodules again To migrate your existing submodules (more or less): set -x set -e mkdir .git/modules/pkg for old in */*/src ; do new="pkg/${old#*/}" if ! [ -f "$old/.git" ] || [ "${old%%/*}" = pkg ] ; then continue fi git -C ".git/modules/$old" config core.worktree "../../../../../$new" rmdir "$new" mv "$old" "$new" sed -e "s,$old,$new," "$new/.git" > "$new/.git.tmp" mv "$new/.git.tmp" "$new/.git" mkdir ".git/modules/${new%/src}" mv ".git/modules/$old" ".git/modules/$new" rm "${old%/src}"/*.ninja mv "${old%/src}"/*.tar.{gz,xz,bz2} "${new%/src}/" rmdir "${old%/src}" || true done sed -e 's,^\[submodule "[^/]*/,[submodule "pkg/,' .git/config > .git/config.tmp mv .git/config.tmp .git/config
Diffstat (limited to 'pkg/python/gen.rc')
-rw-r--r--pkg/python/gen.rc180
1 files changed, 180 insertions, 0 deletions
diff --git a/pkg/python/gen.rc b/pkg/python/gen.rc
new file mode 100644
index 00000000..93dcc7ab
--- /dev/null
+++ b/pkg/python/gen.rc
@@ -0,0 +1,180 @@
+cflags=(\
+ -fwrapv\
+ -D NDEBUG\
+ -D Py_BUILD_CORE\
+ -I include\
+ -I '$dir' \
+ -I '$srcdir'/Include\
+)
+
+srcs=(\
+ Modules/^(\
+ getbuildinfo.c\
+ getpath.c.o\
+ main.c\
+ gcmodule.c\
+ `{awk -f modules.awk Setup | sort -u}\
+ )\
+ Objects/^(\
+ abstract.c\
+ accu.c\
+ boolobject.c\
+ bytes_methods.c\
+ bytearrayobject.c\
+ bytesobject.c\
+ cellobject.c\
+ classobject.c\
+ codeobject.c\
+ complexobject.c\
+ descrobject.c\
+ enumobject.c\
+ exceptions.c\
+ genobject.c\
+ fileobject.c\
+ floatobject.c\
+ frameobject.c\
+ funcobject.c\
+ iterobject.c\
+ listobject.c\
+ longobject.c\
+ dictobject.c\
+ odictobject.c\
+ memoryobject.c\
+ methodobject.c\
+ moduleobject.c\
+ namespaceobject.c\
+ object.c\
+ obmalloc.c\
+ capsule.c\
+ rangeobject.c\
+ setobject.c\
+ sliceobject.c\
+ structseq.c\
+ tupleobject.c\
+ typeobject.c\
+ unicodeobject.c\
+ unicodectype.c\
+ weakrefobject.c\
+ )\
+ Parser/^(\
+ acceler.c\
+ grammar1.c\
+ listnode.c\
+ node.c\
+ parser.c\
+ bitset.c\
+ metagrammar.c\
+ firstsets.c\
+ grammar.c\
+ pgen.c\
+ myreadline.c parsetok.c tokenizer.c\
+ )\
+ Python/^(\
+ _warnings.c\
+ Python-ast.c\
+ asdl.c\
+ ast.c\
+ bltinmodule.c\
+ ceval.c\
+ compile.c\
+ codecs.c\
+ dynamic_annotations.c\
+ errors.c\
+ frozenmain.c\
+ future.c\
+ getargs.c\
+ getcompiler.c\
+ getcopyright.c\
+ getplatform.c\
+ getversion.c\
+ graminit.c\
+ import.c\
+ importdl.c\
+ marshal.c\
+ modsupport.c\
+ mystrtoul.c\
+ mysnprintf.c\
+ peephole.c\
+ pyarena.c\
+ pyctype.c\
+ pyfpe.c\
+ pyhash.c\
+ pylifecycle.c\
+ pymath.c\
+ pystate.c\
+ pythonrun.c\
+ pytime.c\
+ random.c\
+ structmember.c\
+ symtable.c\
+ sysmodule.c\
+ traceback.c\
+ getopt.c\
+ pystrcmp.c\
+ pystrtod.c\
+ pystrhex.c\
+ dtoa.c\
+ formatter_unicode.c\
+ fileutils.c\
+ dynload_stub.c\
+ thread.c\
+ frozen.c\
+ )\
+ '$outdir'/config.c\
+)
+checkstatus
+
+libs=()
+deps=()
+
+if(grep -q '^_ctypes' Setup) {
+ cflags=($cflags -isystem '$builddir'/pkg/libffi/include)
+ deps=($deps pkg/libffi/headers)
+ libs=($libs libffi/libffi.a)
+}
+if(grep -qE '^(_hashlib|_ssl)' Setup) {
+ cflags=($cflags -isystem '$builddir'/pkg/libressl/include)
+ deps=($deps pkg/libressl/headers)
+ libs=($libs (libressl/^(libssl.a libcrypto.a) openbsd/libbsd.a))
+}
+if(grep -q '^pyexpat' Setup) {
+ cflags=($cflags -isystem '$builddir'/pkg/expat/include)
+ deps=($deps pkg/expat/headers)
+ libs=($libs expat/libexpat.a)
+}
+if(grep -q '^zlib' Setup) {
+ cflags=($cflags -isystem '$builddir'/pkg/zlib/include)
+ deps=($deps pkg/zlib/headers)
+ libs=($libs zlib/libz.a)
+}
+
+rule makesetup 'wd=$$PWD && cd $outdir && $$wd/$srcdir/Modules/makesetup -s $$wd/$srcdir -m - $$wd/$in'
+build '$outdir'/config.c makesetup '$dir'/Setup '|' '$srcdir'/Modules/^(makesetup config.c.in)
+
+cflags $cflags
+
+cc Modules/getpath.c ; defs='-D '''^(\
+ 'PYTHONPATH='":plat-linux"\
+ 'PREFIX='"/"\
+ 'EXEC_PREFIX='"/"\
+ 'VERSION='"3.5"\
+ 'VPATH='""\
+)^'''' with cflags '$cflags '$"defs
+
+phony deps $deps
+lib libpython.a -d '$dir'/deps $srcs
+
+exe python Programs/python.c libpython.a '$builddir'/pkg/$libs
+file bin/python3 '$outdir'/python 755
+sym bin/python python3
+
+pylibs=`{grep -v '^#' pylibs.txt}
+checkstatus
+for(f in $pylibs)
+ file lib/python3.5/$f '$srcdir'/Lib/$f 644
+for(f in _sysconfigdata.py Makefile)
+ file lib/python3.5/$f '$dir'/lib/$f 644
+dir lib/python3.5/lib-dynload 755
+
+gen_inputs='$dir'/^(Setup modules.awk)
+fetch curl