1#!/bin/sh 2# Release the QuickJS source code 3 4set -e 5 6version=`cat VERSION` 7 8if [ "$1" = "-h" ] ; then 9 echo "release.sh [all]" 10 echo "" 11 echo "all: build all the archives. Otherwise only build the quickjs source archive." 12 exit 1 13fi 14 15extras="no" 16binary="no" 17quickjs="no" 18 19if [ "$1" = "all" ] ; then 20 extras="yes" 21 binary="yes" 22 quickjs="yes" 23elif [ "$1" = "binary" ] ; then 24 binary="yes" 25else 26 quickjs="yes" 27fi 28 29#################################################" 30# extras 31 32if [ "$extras" = "yes" ] ; then 33 34d="quickjs-${version}" 35name="quickjs-extras-${version}" 36outdir="/tmp/${d}" 37 38rm -rf $outdir 39mkdir -p $outdir $outdir/unicode $outdir/tests 40 41cp unicode/* $outdir/unicode 42cp -a tests/bench-v8 $outdir/tests 43 44( cd /tmp && tar Jcvf /tmp/${name}.tar.xz ${d} ) 45 46fi 47 48#################################################" 49# binary release 50 51if [ "$binary" = "yes" ] ; then 52 53make -j4 qjs run-test262 54make -j4 CONFIG_M32=y qjs32 run-test262-32 55strip qjs run-test262 qjs32 run-test262-32 56 57d="quickjs-linux-x86_64-${version}" 58outdir="/tmp/${d}" 59 60rm -rf $outdir 61mkdir -p $outdir 62 63cp qjs run-test262 $outdir 64 65( cd /tmp/$d && rm -f ../${d}.zip && zip -r ../${d}.zip . ) 66 67d="quickjs-linux-i686-${version}" 68outdir="/tmp/${d}" 69 70rm -rf $outdir 71mkdir -p $outdir 72 73cp qjs32 $outdir/qjs 74cp run-test262-32 $outdir/run-test262 75 76( cd /tmp/$d && rm -f ../${d}.zip && zip -r ../${d}.zip . ) 77 78fi 79 80#################################################" 81# quickjs 82 83if [ "$quickjs" = "yes" ] ; then 84 85make build_doc 86 87d="quickjs-${version}" 88outdir="/tmp/${d}" 89 90rm -rf $outdir 91mkdir -p $outdir $outdir/doc $outdir/tests $outdir/examples 92 93cp Makefile VERSION TODO Changelog readme.txt release.sh unicode_download.sh \ 94 qjs.c qjsc.c qjscalc.js repl.js \ 95 quickjs.c quickjs.h quickjs-atom.h \ 96 quickjs-libc.c quickjs-libc.h quickjs-opcode.h \ 97 cutils.c cutils.h list.h \ 98 libregexp.c libregexp.h libregexp-opcode.h \ 99 libunicode.c libunicode.h libunicode-table.h \ 100 libbf.c libbf.h \ 101 jscompress.c unicode_gen.c unicode_gen_def.h \ 102 run-test262.c test262o.conf test262.conf \ 103 test262o_errors.txt test262_errors.txt \ 104 $outdir 105 106cp tests/*.js tests/*.patch tests/bjson.c $outdir/tests 107 108cp examples/*.js examples/*.c $outdir/examples 109 110cp doc/quickjs.texi doc/quickjs.pdf doc/quickjs.html \ 111 doc/jsbignum.texi doc/jsbignum.html doc/jsbignum.pdf \ 112 $outdir/doc 113 114( cd /tmp && tar Jcvf /tmp/${d}.tar.xz ${d} ) 115 116fi 117