|
@@ -0,0 +1,596 @@
|
|
|
+#!/bin/bash
|
|
|
+#### INSTAL PARAMS ####
|
|
|
+
|
|
|
+ARCH=amd64
|
|
|
+
|
|
|
+### DIRS ###
|
|
|
+BASEDIR=/
|
|
|
+INC_DIR=${BASEDIR}/sys/include
|
|
|
+INC_ARCH=${BASEDIR}/${ARCH}/include
|
|
|
+LIB_DIR=${BASEDIR}/${ARCH}/lib
|
|
|
+SRC_DIR=${BASEDIR}/sys/src
|
|
|
+UTIL_DIR=${_BUILD_DIR}/util
|
|
|
+
|
|
|
+### COMPILER ###
|
|
|
+CC=gcc
|
|
|
+CFLAGS="-O0 -g -static -fplan9-extensions -ffreestanding -fno-builtin -Wall -Wno-missing-braces -Wno-parentheses -Wno-unknown-pragmas -Wuninitialized -Wmaybe-uninitialized -I${INC_ARCH} -I${INC_DIR}"
|
|
|
+LDFLAGS=-L$LIB_DIR
|
|
|
+AR=ar
|
|
|
+RANLIB=ranlib
|
|
|
+
|
|
|
+### Libraries ###
|
|
|
+BUILD_LIBS="lib9p libString libauth libauthsrv libavl libbin libbio libcomplete libcontrol libdisk libdraw libflate libframe libgeometry libhtml libhttpd\
|
|
|
+ liblex libmemdraw libmemlayer libndb libplumb libregexp libstdio libsunrpc libthread libventi"
|
|
|
+
|
|
|
+
|
|
|
+lib9p()
|
|
|
+{
|
|
|
+ BUILD_IN=" auth.c\
|
|
|
+ dirread.c\
|
|
|
+ fid.c\
|
|
|
+ file.c\
|
|
|
+ intmap.c\
|
|
|
+ listen.c\
|
|
|
+ mem.c\
|
|
|
+ req.c\
|
|
|
+ parse.c\
|
|
|
+ post.c\
|
|
|
+ rfork.c\
|
|
|
+ srv.c\
|
|
|
+ thread.c\
|
|
|
+ uid.c\
|
|
|
+ util.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT="${LIB_DIR}/lib9p.a"
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libString()
|
|
|
+{
|
|
|
+ BUILD_IN=" s_alloc.c\
|
|
|
+ s_append.c\
|
|
|
+ s_array.c\
|
|
|
+ s_copy.c\
|
|
|
+ s_getline.c\
|
|
|
+ s_grow.c\
|
|
|
+ s_memappend.c\
|
|
|
+ s_nappend.c\
|
|
|
+ s_parse.c\
|
|
|
+ s_putc.c\
|
|
|
+ s_rdinstack.c\
|
|
|
+ s_read.c\
|
|
|
+ s_read_line.c\
|
|
|
+ s_reset.c\
|
|
|
+ s_terminate.c\
|
|
|
+ s_tolower.c\
|
|
|
+ s_unique.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT="${LIB_DIR}/libString.a"
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libauth()
|
|
|
+{
|
|
|
+ BUILD_IN=" amount.c\
|
|
|
+ amount_getkey.c\
|
|
|
+ attr.c\
|
|
|
+ auth_attr.c\
|
|
|
+ auth_challenge.c\
|
|
|
+ auth_chuid.c\
|
|
|
+ auth_getkey.c\
|
|
|
+ auth_getuserpasswd.c\
|
|
|
+ auth_proxy.c\
|
|
|
+ auth_respond.c\
|
|
|
+ auth_rpc.c\
|
|
|
+ auth_userpasswd.c\
|
|
|
+ auth_wep.c\
|
|
|
+ login.c\
|
|
|
+ newns.c\
|
|
|
+ noworld.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT="${LIB_DIR}/libauth.a"
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libauthsrv()
|
|
|
+{
|
|
|
+ BUILD_IN=" _asgetticket.c\
|
|
|
+ _asrdresp.c\
|
|
|
+ authdial.c\
|
|
|
+ convA2M.c\
|
|
|
+ convM2A.c\
|
|
|
+ convM2PR.c\
|
|
|
+ convM2T.c\
|
|
|
+ convM2TR.c\
|
|
|
+ convPR2M.c\
|
|
|
+ convT2M.c\
|
|
|
+ convTR2M.c\
|
|
|
+ nvcsum.c\
|
|
|
+ opasstokey.c\
|
|
|
+ passtokey.c\
|
|
|
+ readnvram.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT="${LIB_DIR}/libauthsrv.a"
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libavl()
|
|
|
+{
|
|
|
+ BUILD_IN="avl.c"
|
|
|
+ BUILD_OUT="${LIB_DIR}/libavl.a"
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libbin()
|
|
|
+{
|
|
|
+ BUILD_IN="bin.c"
|
|
|
+ BUILD_OUT="${LIB_DIR}/libbin.a"
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libbio()
|
|
|
+{
|
|
|
+ BUILD_IN=" bbuffered.c\
|
|
|
+ bfildes.c\
|
|
|
+ bflush.c\
|
|
|
+ bgetrune.c\
|
|
|
+ bgetc.c\
|
|
|
+ bgetd.c\
|
|
|
+ binit.c\
|
|
|
+ boffset.c\
|
|
|
+ bprint.c\
|
|
|
+ bputrune.c\
|
|
|
+ bputc.c\
|
|
|
+ brdline.c\
|
|
|
+ brdstr.c\
|
|
|
+ bread.c\
|
|
|
+ bseek.c\
|
|
|
+ bwrite.c\
|
|
|
+ bvprint.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT="${LIB_DIR}/libbio.a"
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libcomplete()
|
|
|
+{
|
|
|
+ BUILD_IN="complete.c"
|
|
|
+ BUILD_OUT="${LIB_DIR}/libcomplete.a"
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libcontrol()
|
|
|
+{
|
|
|
+ BUILD_IN=" box.c\
|
|
|
+ button.c\
|
|
|
+ cache.c\
|
|
|
+ control.c\
|
|
|
+ entry.c\
|
|
|
+ group.c\
|
|
|
+ keyboard.c\
|
|
|
+ label.c\
|
|
|
+ menu.c\
|
|
|
+ radiobutton.c\
|
|
|
+ scribble.c\
|
|
|
+ slider.c\
|
|
|
+ tabs.c\
|
|
|
+ text.c\
|
|
|
+ textbutton.c\
|
|
|
+ textbutton3.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT="${LIB_DIR}/libcontrol.a"
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libdisk()
|
|
|
+{
|
|
|
+ BUILD_IN=" disk.c\
|
|
|
+ proto.c\
|
|
|
+ scsi.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT="${LIB_DIR}/libdisk.a"
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libdraw()
|
|
|
+{
|
|
|
+ BUILD_IN=" alloc.c\
|
|
|
+ allocimagemix.c\
|
|
|
+ arith.c\
|
|
|
+ bezier.c\
|
|
|
+ border.c\
|
|
|
+ buildfont.c\
|
|
|
+ bytesperline.c\
|
|
|
+ chan.c\
|
|
|
+ cloadimage.c\
|
|
|
+ computil.c\
|
|
|
+ creadimage.c\
|
|
|
+ debug.c\
|
|
|
+ defont.c\
|
|
|
+ draw.c\
|
|
|
+ drawrepl.c\
|
|
|
+ egetrect.c\
|
|
|
+ ellipse.c\
|
|
|
+ emenuhit.c\
|
|
|
+ event.c\
|
|
|
+ fmt.c\
|
|
|
+ font.c\
|
|
|
+ freesubfont.c\
|
|
|
+ getdefont.c\
|
|
|
+ getrect.c\
|
|
|
+ getsubfont.c\
|
|
|
+ icossin.c\
|
|
|
+ icossin2.c\
|
|
|
+ init.c\
|
|
|
+ keyboard.c\
|
|
|
+ line.c\
|
|
|
+ menuhit.c\
|
|
|
+ mkfont.c\
|
|
|
+ mouse.c\
|
|
|
+ newwindow.c\
|
|
|
+ openfont.c\
|
|
|
+ poly.c\
|
|
|
+ loadimage.c\
|
|
|
+ readcolmap.c\
|
|
|
+ readimage.c\
|
|
|
+ readsubfont.c\
|
|
|
+ rectclip.c\
|
|
|
+ replclipr.c\
|
|
|
+ rgb.c\
|
|
|
+ scroll.c\
|
|
|
+ string.c\
|
|
|
+ stringbg.c\
|
|
|
+ stringsubfont.c\
|
|
|
+ stringwidth.c\
|
|
|
+ subfont.c\
|
|
|
+ subfontcache.c\
|
|
|
+ subfontname.c\
|
|
|
+ unloadimage.c\
|
|
|
+ window.c\
|
|
|
+ writecolmap.c\
|
|
|
+ writeimage.c\
|
|
|
+ writesubfont.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT="${LIB_DIR}/libdraw.a"
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+libflate()
|
|
|
+{
|
|
|
+
|
|
|
+ BUILD_IN=" deflate.c\
|
|
|
+ deflatezlib.c\
|
|
|
+ deflateblock.c\
|
|
|
+ deflatezlibblock.c\
|
|
|
+ inflate.c\
|
|
|
+ inflatezlib.c\
|
|
|
+ inflateblock.c\
|
|
|
+ inflatezlibblock.c\
|
|
|
+ flateerr.c\
|
|
|
+ crc.c\
|
|
|
+ adler.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT=${LIB_DIR}/libflate.a
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+libframe()
|
|
|
+{
|
|
|
+ BUILD_IN=" frbox.c\
|
|
|
+ frdraw.c\
|
|
|
+ frdelete.c\
|
|
|
+ frinit.c\
|
|
|
+ frinsert.c\
|
|
|
+ frptofchar.c\
|
|
|
+ frselect.c\
|
|
|
+ frstr.c\
|
|
|
+ frutil.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT=${LIB_DIR}/libframe.a
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libgeometry()
|
|
|
+{
|
|
|
+ BUILD_IN=" arith3.c\
|
|
|
+ matrix.c\
|
|
|
+ qball.c\
|
|
|
+ quaternion.c\
|
|
|
+ transform.c\
|
|
|
+ tstack.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT=${LIB_DIR}/libgeometry.a
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libhtml()
|
|
|
+{
|
|
|
+ BUILD_IN=" build.c\
|
|
|
+ lex.c\
|
|
|
+ strinttab.c\
|
|
|
+ utils.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT=${LIB_DIR}/libhtml.a
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libhttpd()
|
|
|
+{
|
|
|
+ BUILD_IN=" alloc.c\
|
|
|
+ checkcontent.c\
|
|
|
+ date.c\
|
|
|
+ fail.c\
|
|
|
+ gethead.c\
|
|
|
+ hio.c\
|
|
|
+ httpfmt.c\
|
|
|
+ httpunesc.c\
|
|
|
+ lower.c\
|
|
|
+ okheaders.c\
|
|
|
+ parse.c\
|
|
|
+ parsereq.c\
|
|
|
+ query.c\
|
|
|
+ redirected.c\
|
|
|
+ unallowed.c\
|
|
|
+ urlfmt.c\
|
|
|
+ urlunesc.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT=${LIB_DIR}/libhttpd.a
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+liblex()
|
|
|
+{
|
|
|
+ BUILD_IN=" allprint.c\
|
|
|
+ main.c\
|
|
|
+ reject.c\
|
|
|
+ yyless.c\
|
|
|
+ yywrap.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT=${LIB_DIR}/libl.a
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+
|
|
|
+ CFLAGS_EXTRA=-I${SRC_DIR}/cmd/lex
|
|
|
+}
|
|
|
+
|
|
|
+libmemdraw()
|
|
|
+{
|
|
|
+ BUILD_IN=" alloc.c\
|
|
|
+ arc.c\
|
|
|
+ cload.c\
|
|
|
+ cmap.c\
|
|
|
+ cread.c\
|
|
|
+ defont.c\
|
|
|
+ draw.c\
|
|
|
+ ellipse.c\
|
|
|
+ fillpoly.c\
|
|
|
+ hwdraw.c\
|
|
|
+ iprint.c\
|
|
|
+ line.c\
|
|
|
+ load.c\
|
|
|
+ openmemsubfont.c\
|
|
|
+ poly.c\
|
|
|
+ read.c\
|
|
|
+ string.c\
|
|
|
+ subfont.c\
|
|
|
+ unload.c\
|
|
|
+ write.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT=${LIB_DIR}/libmemdraw.a
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libmemlayer()
|
|
|
+{
|
|
|
+ BUILD_IN=" draw.c\
|
|
|
+ lalloc.c\
|
|
|
+ layerop.c\
|
|
|
+ ldelete.c\
|
|
|
+ lhide.c\
|
|
|
+ line.c\
|
|
|
+ load.c\
|
|
|
+ lorigin.c\
|
|
|
+ lsetrefresh.c\
|
|
|
+ ltofront.c\
|
|
|
+ ltorear.c\
|
|
|
+ unload.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT=${LIB_DIR}/libmemlayer.a
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libndb()
|
|
|
+{
|
|
|
+ BUILD_IN=" csgetval.c\
|
|
|
+ csipinfo.c\
|
|
|
+ dnsquery.c\
|
|
|
+ ipattr.c\
|
|
|
+ ndbaux.c\
|
|
|
+ ndbcache.c\
|
|
|
+ ndbcat.c\
|
|
|
+ ndbconcatenate.c\
|
|
|
+ ndbdiscard.c\
|
|
|
+ ndbfree.c\
|
|
|
+ ndbgetipaddr.c\
|
|
|
+ ndbgetval.c\
|
|
|
+ ndbhash.c\
|
|
|
+ ndbipinfo.c\
|
|
|
+ ndblookval.c\
|
|
|
+ ndbopen.c\
|
|
|
+ ndbparse.c\
|
|
|
+ ndbreorder.c\
|
|
|
+ ndbsubstitute.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT=${LIB_DIR}/libndb.a
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+
|
|
|
+ CFLAGS_EXTRA=-I${SRC_DIR}/libndb
|
|
|
+}
|
|
|
+
|
|
|
+libplumb()
|
|
|
+{
|
|
|
+ BUILD_IN=" event.c\
|
|
|
+ mesg.c\
|
|
|
+ plumbsendtext.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT=${LIB_DIR}/libplumb.a
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libregexp()
|
|
|
+{
|
|
|
+ BUILD_IN=" regcomp.c\
|
|
|
+ regerror.c\
|
|
|
+ regexec.c\
|
|
|
+ regsub.c\
|
|
|
+ regaux.c\
|
|
|
+ rregexec.c\
|
|
|
+ rregsub.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT=${LIB_DIR}/libregexp.a
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libstdio()
|
|
|
+{
|
|
|
+ BUILD_IN=" _IO_getc.c\
|
|
|
+ _IO_putc.c\
|
|
|
+ clearerr.c\
|
|
|
+ dtoa.c\
|
|
|
+ fclose.c\
|
|
|
+ fdopen.c\
|
|
|
+ feof.c\
|
|
|
+ ferror.c\
|
|
|
+ fflush.c\
|
|
|
+ fgetc.c\
|
|
|
+ fgetpos.c\
|
|
|
+ fgets.c\
|
|
|
+ fileno.c\
|
|
|
+ fopen.c\
|
|
|
+ fprintf.c\
|
|
|
+ fputc.c\
|
|
|
+ fputs.c\
|
|
|
+ fread.c\
|
|
|
+ freopen.c\
|
|
|
+ fscanf.c\
|
|
|
+ fseek.c\
|
|
|
+ fseeko.c\
|
|
|
+ fsetpos.c\
|
|
|
+ ftell.c\
|
|
|
+ ftello.c\
|
|
|
+ fwrite.c\
|
|
|
+ getc.c\
|
|
|
+ gets.c\
|
|
|
+ printf.c\
|
|
|
+ putc.c\
|
|
|
+ puts.c\
|
|
|
+ rewind.c\
|
|
|
+ scanf.c\
|
|
|
+ sclose.c\
|
|
|
+ setbuf.c\
|
|
|
+ setvbuf.c\
|
|
|
+ snprintf.c\
|
|
|
+ sopenr.c\
|
|
|
+ sopenw.c\
|
|
|
+ sprintf.c\
|
|
|
+ sscanf.c\
|
|
|
+ tmpfile.c\
|
|
|
+ tmpnam.c\
|
|
|
+ ungetc.c\
|
|
|
+ vfprintf.c\
|
|
|
+ vfscanf.c\
|
|
|
+ vprintf.c\
|
|
|
+ vsnprintf.c\
|
|
|
+ vsprintf.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT=${LIB_DIR}/libstdio.a
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libsunrpc()
|
|
|
+{
|
|
|
+ BUILD_IN=" mount3.c\
|
|
|
+ nfs3.c\
|
|
|
+ portmap.c\
|
|
|
+ authunix.c\
|
|
|
+ client.c\
|
|
|
+ emalloc.c\
|
|
|
+ error.c\
|
|
|
+ fd.c\
|
|
|
+ fmt.c\
|
|
|
+ net.c\
|
|
|
+ prog.c\
|
|
|
+ rpc.c\
|
|
|
+ server.c\
|
|
|
+ suncall.c\
|
|
|
+ udp.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT=${LIB_DIR}/libsunrpc.a
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libthread()
|
|
|
+{
|
|
|
+ BUILD_IN=" amd64.c\
|
|
|
+ channel.c\
|
|
|
+ chanprint.c\
|
|
|
+ create.c\
|
|
|
+ debug.c\
|
|
|
+ dial.c\
|
|
|
+ exec.c\
|
|
|
+ exit.c\
|
|
|
+ id.c\
|
|
|
+ iocall.c\
|
|
|
+ ioclose.c\
|
|
|
+ iodial.c\
|
|
|
+ ioopen.c\
|
|
|
+ ioproc.c\
|
|
|
+ ioread.c\
|
|
|
+ ioreadn.c\
|
|
|
+ iosleep.c\
|
|
|
+ iowrite.c\
|
|
|
+ kill.c\
|
|
|
+ lib.c\
|
|
|
+ main.c\
|
|
|
+ note.c\
|
|
|
+ ref.c\
|
|
|
+ rendez.c\
|
|
|
+ sched.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT=${LIB_DIR}/libthread.a
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|
|
|
+
|
|
|
+libventi()
|
|
|
+{
|
|
|
+ BUILD_IN=" cache.c\
|
|
|
+ client.c\
|
|
|
+ conn.c\
|
|
|
+ dial.c\
|
|
|
+ debug.c\
|
|
|
+ dtype.c\
|
|
|
+ entry.c\
|
|
|
+ fcall.c\
|
|
|
+ fcallfmt.c\
|
|
|
+ file.c\
|
|
|
+ hangup.c\
|
|
|
+ log.c\
|
|
|
+ mem.c\
|
|
|
+ packet.c\
|
|
|
+ parsescore.c\
|
|
|
+ queue.c\
|
|
|
+ root.c\
|
|
|
+ rpc.c\
|
|
|
+ scorefmt.c\
|
|
|
+ send.c\
|
|
|
+ server.c\
|
|
|
+ srvhello.c\
|
|
|
+ strdup.c\
|
|
|
+ string.c\
|
|
|
+ time.c\
|
|
|
+ version.c\
|
|
|
+ zero.c\
|
|
|
+ zeroscore.c\
|
|
|
+ "
|
|
|
+ BUILD_OUT=${LIB_DIR}/libventi.a
|
|
|
+ CLEAN_COM="rm -f *.o"
|
|
|
+}
|