logo

live-bootstrap

Mirror of <https://github.com/fosslinux/live-bootstrap>

pass1.kaem (16379B)


  1. #!/bin/sh
  2. # SPDX-FileCopyrightText: 2020-2023 Andrius Štikonas <andrius@stikonas.eu>
  3. # SPDX-FileCopyrightText: 2020-2022 fosslinux <fosslinux@aussies.space>
  4. #
  5. # SPDX-License-Identifier: GPL-3.0-or-later
  6. set -ex
  7. # Variables
  8. MES_ARENA=20000000
  9. MES_MAX_ARENA=20000000
  10. MES_STACK=6000000
  11. MES=${BINDIR}/mes-m2
  12. LIBDIR=${MES_PREFIX}/lib
  13. if match ${ARCH} x86; then
  14. MES_ARCH=x86
  15. ARCH_BITS=32
  16. fi
  17. if match ${ARCH} amd64; then
  18. MES_ARCH=x86_64
  19. ARCH_BITS=64
  20. fi
  21. if match ${ARCH} riscv64; then
  22. MES_ARCH=riscv64
  23. ARCH_BITS=64
  24. fi
  25. # Check tarball checksums
  26. checksum-transcriber sources
  27. sha256sum -c sources.SHA256SUM
  28. # Unpack
  29. mkdir build
  30. cd build
  31. ungz --file ${DISTFILES}/${NYACC_PKG}-lb1.tar.gz --output ${NYACC_PKG}.tar
  32. ungz --file ${DISTFILES}/${MES_PKG}.tar.gz --output ${MES_PKG}.tar
  33. untar --file ${NYACC_PKG}.tar
  34. untar --non-strict --file ${MES_PKG}.tar # ignore symlinks
  35. mes_run=${MES_PREFIX}/kaem.run
  36. replace --file ${mes_run} --output ${mes_run} --match-on 0x1000000 --replace-with 0x8048000
  37. rm ${NYACC_PKG}.tar ${MES_PKG}.tar
  38. cp ../files/config.h ${MES_PREFIX}/include/mes
  39. cd ${MES_PREFIX}
  40. mkdir include/arch
  41. cp include/linux/${MES_ARCH}/kernel-stat.h include/arch/kernel-stat.h
  42. cp include/linux/${MES_ARCH}/signal.h include/arch/signal.h
  43. cp include/linux/${MES_ARCH}/syscall.h include/arch/syscall.h
  44. # Remove pregenerated files
  45. rm mes/module/mes/psyntax.pp mes/module/mes/psyntax.pp.header
  46. # These files are symlinked in the repo
  47. cp mes/module/srfi/srfi-9-struct.mes mes/module/srfi/srfi-9.mes
  48. cp mes/module/srfi/srfi-9/gnu-struct.mes mes/module/srfi/srfi-9/gnu.mes
  49. # Build mes-m2
  50. kaem --verbose --strict --file kaem.${MES_ARCH}
  51. cp bin/mes-m2 ${BINDIR}/mes-m2
  52. chmod 755 ${BINDIR}/mes-m2
  53. # Rebuild pregenerated files in nyacc
  54. cd ../${NYACC_PKG}
  55. rm module/nyacc/lang/c99/mach.d/c99-act.scm module/nyacc/lang/c99/mach.d/c99-tab.scm \
  56. module/nyacc/lang/c99/mach.d/c99cx-act.scm module/nyacc/lang/c99/mach.d/c99cx-tab.scm \
  57. module/nyacc/lang/c99/mach.d/c99x-act.scm module/nyacc/lang/c99/mach.d/c99x-tab.scm \
  58. module/nyacc/lang/c99/mach.d/cpp-act.scm module/nyacc/lang/c99/mach.d/cpp-tab.scm
  59. ${MES} -L module gen-cpp-files.scm
  60. # More RAM for this one!
  61. MES_ARENA=32000000
  62. ${MES} -L module gen-c99-files.scm
  63. MES_ARENA=20000000
  64. ${MES} -L module gen-c99cx-files.scm
  65. cd ../${MES_PKG}
  66. # Create mescc.scm
  67. mescc_in=scripts/mescc.scm.in
  68. replace --file ${mescc_in} --output ${mescc_in} --match-on @prefix@ --replace-with ${PREFIX}
  69. replace --file ${mescc_in} --output ${mescc_in} --match-on @VERSION@ --replace-with ${MES_VERSION}
  70. replace --file ${mescc_in} --output ${mescc_in} --match-on @mes_cpu@ --replace-with ${MES_ARCH}
  71. replace --file ${mescc_in} --output ${mescc_in} --match-on @mes_kernel@ --replace-with linux
  72. mescc_scm=${BINDIR}/mescc.scm
  73. cp ${mescc_in} ${mescc_scm}
  74. chmod 755 ${mescc_scm}
  75. # Recompile Mes and Mes C library using mes-m2 bootstrapped Mes
  76. alias mescc="${MES} -e main ${BINDIR}/mescc.scm -D HAVE_CONFIG_H=1 -I include -I include/linux/${MES_ARCH} -c"
  77. # Start with crt1.o
  78. mescc lib/linux/${MES_ARCH}-mes-mescc/crt1.c -o lib/${MES_ARCH}-mes/crt1.o
  79. # Now for libc-mini.a
  80. mescc lib/mes/__init_io.c
  81. mescc lib/mes/eputs.c
  82. mescc lib/mes/oputs.c
  83. mescc lib/mes/globals.c
  84. mescc lib/stdlib/exit.c
  85. mescc lib/linux/${MES_ARCH}-mes-mescc/_exit.c
  86. mescc lib/linux/${MES_ARCH}-mes-mescc/_write.c
  87. mescc lib/stdlib/puts.c
  88. mescc lib/string/strlen.c
  89. catm ${LIBDIR}/${MES_ARCH}-mes/libc-mini.a __init_io.o eputs.o oputs.o globals.o exit.o _exit.o _write.o puts.o strlen.o
  90. catm ${LIBDIR}/${MES_ARCH}-mes/libc-mini.s __init_io.s eputs.s oputs.s globals.s exit.s _exit.s _write.s puts.s strlen.s
  91. # libmescc.a
  92. mescc lib/linux/${MES_ARCH}-mes-mescc/syscall-internal.c
  93. catm ${LIBDIR}/${MES_ARCH}-mes/libmescc.a globals.o syscall-internal.o
  94. catm ${LIBDIR}/${MES_ARCH}-mes/libmescc.s globals.s syscall-internal.s
  95. # libc.a
  96. mescc lib/ctype/isnumber.c
  97. mescc lib/mes/abtol.c
  98. mescc lib/mes/cast.c
  99. mescc lib/mes/eputc.c
  100. mescc lib/mes/fdgetc.c
  101. mescc lib/mes/fdputc.c
  102. mescc lib/mes/fdputs.c
  103. mescc lib/mes/fdungetc.c
  104. mescc lib/mes/itoa.c
  105. mescc lib/mes/ltoa.c
  106. mescc lib/mes/ltoab.c
  107. mescc lib/mes/mes_open.c
  108. mescc lib/mes/ntoab.c
  109. mescc lib/mes/oputc.c
  110. mescc lib/mes/ultoa.c
  111. mescc lib/mes/utoa.c
  112. mescc lib/ctype/isdigit.c
  113. mescc lib/ctype/isspace.c
  114. mescc lib/ctype/isxdigit.c
  115. mescc lib/mes/assert_msg.c
  116. mescc lib/posix/write.c
  117. mescc lib/stdlib/atoi.c
  118. mescc lib/linux/lseek.c
  119. mescc lib/mes/__assert_fail.c
  120. mescc lib/mes/__buffered_read.c
  121. mescc lib/mes/__mes_debug.c
  122. mescc lib/posix/execv.c
  123. mescc lib/posix/getcwd.c
  124. mescc lib/posix/getenv.c
  125. mescc lib/posix/isatty.c
  126. mescc lib/posix/open.c
  127. mescc lib/posix/buffered-read.c
  128. mescc lib/posix/setenv.c
  129. mescc lib/posix/wait.c
  130. mescc lib/dirent/closedir.c
  131. mescc lib/dirent/opendir.c
  132. mescc lib/stdio/fgetc.c
  133. mescc lib/stdio/fputc.c
  134. mescc lib/stdio/fputs.c
  135. mescc lib/stdio/getc.c
  136. mescc lib/stdio/getchar.c
  137. mescc lib/stdio/putc.c
  138. mescc lib/stdio/putchar.c
  139. mescc lib/stdio/ungetc.c
  140. mescc lib/stdlib/calloc.c
  141. mescc lib/stdlib/free.c
  142. mescc lib/stdlib/realloc.c
  143. mescc lib/string/memchr.c
  144. mescc lib/string/memcmp.c
  145. mescc lib/string/memcpy.c
  146. mescc lib/string/memmove.c
  147. mescc lib/string/memset.c
  148. mescc lib/string/strcmp.c
  149. mescc lib/string/strcpy.c
  150. mescc lib/string/strncmp.c
  151. mescc lib/posix/raise.c
  152. mescc lib/linux/access.c
  153. mescc lib/linux/brk.c
  154. mescc lib/linux/chdir.c
  155. mescc lib/linux/chmod.c
  156. mescc lib/linux/clock_gettime.c
  157. mescc lib/linux/dup.c
  158. mescc lib/linux/dup2.c
  159. mescc lib/linux/execve.c
  160. mescc lib/linux/fork.c
  161. mescc lib/linux/fsync.c
  162. mescc lib/linux/_getcwd.c
  163. mescc lib/linux/gettimeofday.c
  164. mescc lib/linux/ioctl3.c
  165. mescc lib/linux/malloc.c
  166. mescc lib/linux/_open3.c
  167. mescc lib/linux/_read.c
  168. mescc lib/linux/readdir.c
  169. mescc lib/linux/rename.c
  170. mescc lib/linux/time.c
  171. mescc lib/linux/umask.c
  172. mescc lib/linux/uname.c
  173. mescc lib/linux/unlink.c
  174. mescc lib/linux/utimensat.c
  175. mescc lib/linux/wait4.c
  176. mescc lib/linux/waitpid.c
  177. mescc lib/linux/${MES_ARCH}-mes-mescc/syscall.c
  178. mescc lib/linux/getpid.c
  179. mescc lib/linux/kill.c
  180. mescc lib/linux/pipe.c
  181. mescc lib/linux/stat.c
  182. mescc lib/linux/lstat.c
  183. mescc lib/linux/mkdir.c
  184. mescc lib/linux/rmdir.c
  185. mescc lib/linux/link.c
  186. mescc lib/linux/symlink.c
  187. mescc lib/linux/close.c
  188. mescc lib/linux/nanosleep.c
  189. mescc lib/linux/fcntl.c
  190. mescc lib/linux/fstat.c
  191. mescc lib/linux/getdents.c
  192. catm ${LIBDIR}/${MES_ARCH}-mes/libc.a __init_io.o eputs.o oputs.o globals.o exit.o _exit.o _write.o puts.o strlen.o isnumber.o abtol.o cast.o eputc.o fdgetc.o fdputc.o fdputs.o fdungetc.o itoa.o ltoa.o ltoab.o mes_open.o ntoab.o oputc.o ultoa.o utoa.o isdigit.o isspace.o isxdigit.o assert_msg.o write.o atoi.o lseek.o __assert_fail.o __buffered_read.o __mes_debug.o execv.o getcwd.o getenv.o isatty.o open.o buffered-read.o setenv.o wait.o closedir.o opendir.o fgetc.o fputc.o fputs.o getc.o getchar.o putc.o putchar.o ungetc.o calloc.o free.o malloc.o realloc.o memchr.o memcmp.o memcpy.o memmove.o memset.o strcmp.o strcpy.o strncmp.o raise.o access.o brk.o chdir.o chmod.o clock_gettime.o dup.o dup2.o execve.o fork.o fsync.o _getcwd.o gettimeofday.o ioctl3.o _open3.o _read.o readdir.o rename.o time.o umask.o uname.o unlink.o utimensat.o wait4.o waitpid.o syscall.o getpid.o kill.o pipe.o stat.o lstat.o mkdir.o rmdir.o link.o symlink.o close.o nanosleep.o fcntl.o fstat.o getdents.o
  193. catm ${LIBDIR}/${MES_ARCH}-mes/libc.s __init_io.s eputs.s oputs.s globals.s exit.s _exit.s _write.s puts.s strlen.s isnumber.s abtol.s cast.s eputc.s fdgetc.s fdputc.s fdputs.s fdungetc.s itoa.s ltoa.s ltoab.s mes_open.s ntoab.s oputc.s ultoa.s utoa.s isdigit.s isspace.s isxdigit.s assert_msg.s write.s atoi.s lseek.s __assert_fail.s __buffered_read.s __mes_debug.s execv.s getcwd.s getenv.s isatty.s open.s buffered-read.s setenv.s wait.s closedir.s opendir.s fgetc.s fputc.s fputs.s getc.s getchar.s putc.s putchar.s ungetc.s calloc.s free.s malloc.s realloc.s memchr.s memcmp.s memcpy.s memmove.s memset.s strcmp.s strcpy.s strncmp.s raise.s access.s brk.s chdir.s chmod.s clock_gettime.s dup.s dup2.s execve.s fork.s fsync.s _getcwd.s gettimeofday.s ioctl3.s _open3.s _read.s readdir.s rename.s time.s umask.s uname.s unlink.s utimensat.s wait4.s waitpid.s syscall.s getpid.s kill.s pipe.s stat.s lstat.s mkdir.s rmdir.s link.s symlink.s close.s nanosleep.s fcntl.s fstat.s getdents.s
  194. # Build mes itself
  195. mescc src/builtins.c
  196. mescc src/cc.c
  197. mescc src/core.c
  198. mescc src/display.c
  199. mescc src/eval-apply.c
  200. mescc src/gc.c
  201. mescc src/globals.c
  202. mescc src/hash.c
  203. mescc src/lib.c
  204. mescc src/math.c
  205. mescc src/mes.c
  206. mescc src/module.c
  207. mescc src/posix.c
  208. mescc src/reader.c
  209. mescc src/stack.c
  210. mescc src/string.c
  211. mescc src/struct.c
  212. mescc src/symbol.c
  213. mescc src/variable.c
  214. mescc src/vector.c
  215. # Link everything into new mes executable
  216. ${MES} -e main ${mescc_scm} -- --base-address 0x08048000 -L ${LIBDIR} -o ${BINDIR}/mes builtins.o cc.o core.o display.o eval-apply.o gc.o globals.o hash.o lib.o math.o mes.o module.o posix.o reader.o stack.o string.o struct.o symbol.o variable.o vector.o -lc -lmescc
  217. # libc+tcc.a
  218. alias mescc="${BINDIR}/mes -e main ${BINDIR}/mescc.scm -D HAVE_CONFIG_H=1 -I include -I include/linux/${MES_ARCH} -c"
  219. mescc lib/ctype/islower.c
  220. mescc lib/ctype/isupper.c
  221. mescc lib/ctype/tolower.c
  222. mescc lib/ctype/toupper.c
  223. mescc lib/mes/abtod.c
  224. mescc lib/mes/dtoab.c
  225. mescc lib/mes/search-path.c
  226. mescc lib/posix/execvp.c
  227. mescc lib/stdio/fclose.c
  228. mescc lib/stdio/fdopen.c
  229. mescc lib/stdio/ferror.c
  230. mescc lib/stdio/fflush.c
  231. mescc lib/stdio/fopen.c
  232. mescc lib/stdio/fprintf.c
  233. mescc lib/stdio/fread.c
  234. mescc lib/stdio/fseek.c
  235. mescc lib/stdio/ftell.c
  236. mescc lib/stdio/fwrite.c
  237. mescc lib/stdio/printf.c
  238. mescc lib/stdio/remove.c
  239. mescc lib/stdio/snprintf.c
  240. mescc lib/stdio/sprintf.c
  241. mescc lib/stdio/sscanf.c
  242. mescc lib/stdio/vfprintf.c
  243. mescc lib/stdio/vprintf.c
  244. mescc lib/stdio/vsnprintf.c
  245. mescc lib/stdio/vsprintf.c
  246. mescc lib/stdio/vsscanf.c
  247. mescc lib/stdlib/abort.c
  248. mescc lib/stdlib/qsort.c
  249. mescc lib/stdlib/strtod.c
  250. mescc lib/stdlib/strtof.c
  251. mescc lib/stdlib/strtol.c
  252. mescc lib/stdlib/strtold.c
  253. mescc lib/stdlib/strtoll.c
  254. mescc lib/stdlib/strtoul.c
  255. mescc lib/stdlib/strtoull.c
  256. mescc lib/string/memmem.c
  257. mescc lib/string/strcat.c
  258. mescc lib/string/strchr.c
  259. mescc lib/string/strlwr.c
  260. mescc lib/string/strncpy.c
  261. mescc lib/string/strrchr.c
  262. mescc lib/string/strstr.c
  263. mescc lib/string/strupr.c
  264. mescc lib/stub/sigaction.c
  265. mescc lib/stub/ldexp.c
  266. mescc lib/stub/mprotect.c
  267. mescc lib/stub/localtime.c
  268. mescc lib/stub/sigemptyset.c
  269. mescc lib/${MES_ARCH}-mes-mescc/setjmp.c
  270. mescc lib/linux/close.c
  271. mescc lib/linux/rmdir.c
  272. mescc lib/linux/stat.c
  273. catm ${LIBDIR}/${MES_ARCH}-mes/libc+tcc.a ${LIBDIR}/${MES_ARCH}-mes/libc.a islower.o isupper.o tolower.o toupper.o abtod.o dtoab.o search-path.o execvp.o fclose.o fdopen.o ferror.o fflush.o fopen.o fprintf.o fread.o fseek.o ftell.o fwrite.o printf.o remove.o snprintf.o sprintf.o sscanf.o vfprintf.o vprintf.o vsnprintf.o vsprintf.o vsscanf.o abort.o qsort.o strtod.o strtof.o strtol.o strtold.o strtoll.o strtoul.o strtoull.o memmem.o strcat.o strchr.o strlwr.o strncpy.o strrchr.o strstr.o strupr.o sigaction.o ldexp.o mprotect.o localtime.o sigemptyset.o setjmp.o close.o rmdir.o stat.o
  274. catm ${LIBDIR}/${MES_ARCH}-mes/libc+tcc.s ${LIBDIR}/${MES_ARCH}-mes/libc.s islower.s isupper.s tolower.s toupper.s abtod.s dtoab.s search-path.s execvp.s fclose.s fdopen.s ferror.s fflush.s fopen.s fprintf.s fread.s fseek.s ftell.s fwrite.s printf.s remove.s snprintf.s sprintf.s sscanf.s vfprintf.s vprintf.s vsnprintf.s vsprintf.s vsscanf.s abort.s qsort.s strtod.s strtof.s strtol.s strtold.s strtoll.s strtoul.s strtoull.s memmem.s strcat.s strchr.s strlwr.s strncpy.s strrchr.s strstr.s strupr.s sigaction.s ldexp.s mprotect.s localtime.s sigemptyset.s setjmp.s close.s rmdir.s stat.s
  275. # Make directories
  276. mkdir ${PREFIX}/lib/linux ${INCDIR}/mes ${INCDIR}/sys ${INCDIR}/linux ${INCDIR}/arch
  277. mkdir ${PREFIX}/lib/${MES_ARCH}-mes ${PREFIX}/lib/linux/${MES_ARCH}-mes ${INCDIR}/linux/${MES_ARCH}
  278. # Install libraries
  279. cp ${LIBDIR}/${MES_ARCH}-mes/libc.a ${PREFIX}/lib/${MES_ARCH}-mes/
  280. cp ${LIBDIR}/${MES_ARCH}-mes/libc+tcc.a ${PREFIX}/lib/${MES_ARCH}-mes/
  281. cp ${LIBDIR}/${MES_ARCH}-mes/libmescc.a ${PREFIX}/lib/${MES_ARCH}-mes/
  282. cp ${LIBDIR}/${MES_ARCH}-mes/libc.s ${PREFIX}/lib/${MES_ARCH}-mes/
  283. cp ${LIBDIR}/${MES_ARCH}-mes/libc+tcc.s ${PREFIX}/lib/${MES_ARCH}-mes/
  284. cp ${LIBDIR}/${MES_ARCH}-mes/libmescc.s ${PREFIX}/lib/${MES_ARCH}-mes/
  285. cp ${LIBDIR}/${MES_ARCH}-mes/${MES_ARCH}.M1 ${PREFIX}/lib/${MES_ARCH}-mes/
  286. cp ${LIBDIR}/${MES_ARCH}-mes/crt1.o ${PREFIX}/lib/${MES_ARCH}-mes/
  287. cp ${LIBDIR}/${MES_ARCH}-mes/crt1.s ${PREFIX}/lib/${MES_ARCH}-mes/
  288. cp ${LIBDIR}/linux/${MES_ARCH}-mes/elf${ARCH_BITS}-footer-single-main.hex2 ${PREFIX}/lib/linux/${MES_ARCH}-mes/
  289. cp ${LIBDIR}/linux/${MES_ARCH}-mes/elf${ARCH_BITS}-header.hex2 ${PREFIX}/lib/linux/${MES_ARCH}-mes/
  290. # Install header files
  291. cp include/alloca.h ${INCDIR}/alloca.h
  292. cp include/argz.h ${INCDIR}/argz.h
  293. cp include/ar.h ${INCDIR}/ar.h
  294. cp include/assert.h ${INCDIR}/assert.h
  295. cp include/ctype.h ${INCDIR}/ctype.h
  296. cp include/dirent.h ${INCDIR}/dirent.h
  297. cp include/dirstream.h ${INCDIR}/dirstream.h
  298. cp include/dlfcn.h ${INCDIR}/dlfcn.h
  299. cp include/endian.h ${INCDIR}/endian.h
  300. cp include/errno.h ${INCDIR}/errno.h
  301. cp include/fcntl.h ${INCDIR}/fcntl.h
  302. cp include/features.h ${INCDIR}/features.h
  303. cp include/float.h ${INCDIR}/float.h
  304. cp include/getopt.h ${INCDIR}/getopt.h
  305. cp include/grp.h ${INCDIR}/grp.h
  306. cp include/inttypes.h ${INCDIR}/inttypes.h
  307. cp include/libgen.h ${INCDIR}/libgen.h
  308. cp include/limits.h ${INCDIR}/limits.h
  309. cp include/locale.h ${INCDIR}/locale.h
  310. cp include/math.h ${INCDIR}/math.h
  311. cp include/memory.h ${INCDIR}/memory.h
  312. cp include/pwd.h ${INCDIR}/pwd.h
  313. cp include/setjmp.h ${INCDIR}/setjmp.h
  314. cp include/signal.h ${INCDIR}/signal.h
  315. cp include/stdarg.h ${INCDIR}/stdarg.h
  316. cp include/linux/${MES_ARCH}/signal.h ${INCDIR}/arch/signal.h
  317. cp include/stdbool.h ${INCDIR}/stdbool.h
  318. cp include/stddef.h ${INCDIR}/stddef.h
  319. cp include/stdint.h ${INCDIR}/stdint.h
  320. cp include/stdio.h ${INCDIR}/stdio.h
  321. cp include/stdlib.h ${INCDIR}/stdlib.h
  322. cp include/stdnoreturn.h ${INCDIR}/stdnoreturn.h
  323. cp include/string.h ${INCDIR}/string.h
  324. cp include/strings.h ${INCDIR}/strings.h
  325. cp include/termio.h ${INCDIR}/termio.h
  326. cp include/time.h ${INCDIR}/time.h
  327. cp include/unistd.h ${INCDIR}/unistd.h
  328. cp include/arch/kernel-stat.h ${INCDIR}/arch/kernel-stat.h
  329. cp include/arch/syscall.h ${INCDIR}/arch/syscall.h
  330. cp include/linux/syscall.h ${INCDIR}/linux/syscall.h
  331. cp include/linux/${MES_ARCH}/syscall.h ${INCDIR}/linux/${MES_ARCH}/syscall.h
  332. cp include/mes/builtins.h ${INCDIR}/mes/builtins.h
  333. cp include/mes/cc.h ${INCDIR}/mes/cc.h
  334. catm ${INCDIR}/mes/config.h
  335. cp include/mes/constants.h ${INCDIR}/mes/constants.h
  336. cp include/mes/lib.h ${INCDIR}/mes/lib.h
  337. cp include/mes/lib-cc.h ${INCDIR}/mes/lib-cc.h
  338. cp include/mes/lib-mini.h ${INCDIR}/mes/lib-mini.h
  339. cp include/mes/mes.h ${INCDIR}/mes/mes.h
  340. cp include/mes/symbols.h ${INCDIR}/mes/symbols.h
  341. cp include/sys/cdefs.h ${INCDIR}/sys/cdefs.h
  342. cp include/sys/dir.h ${INCDIR}/sys/dir.h
  343. cp include/sys/file.h ${INCDIR}/sys/file.h
  344. cp include/sys/ioctl.h ${INCDIR}/sys/ioctl.h
  345. cp include/sys/mman.h ${INCDIR}/sys/mman.h
  346. cp include/sys/param.h ${INCDIR}/sys/param.h
  347. cp include/sys/resource.h ${INCDIR}/sys/resource.h
  348. cp include/sys/select.h ${INCDIR}/sys/select.h
  349. cp include/sys/stat.h ${INCDIR}/sys/stat.h
  350. cp include/sys/timeb.h ${INCDIR}/sys/timeb.h
  351. cp include/sys/time.h ${INCDIR}/sys/time.h
  352. cp include/sys/times.h ${INCDIR}/sys/times.h
  353. cp include/sys/types.h ${INCDIR}/sys/types.h
  354. cp include/sys/ucontext.h ${INCDIR}/sys/ucontext.h
  355. cp include/sys/user.h ${INCDIR}/sys/user.h
  356. cp include/sys/wait.h ${INCDIR}/sys/wait.h
  357. cd ../..
  358. # Checksums
  359. if match x${UPDATE_CHECKSUMS} xTrue; then
  360. sha256sum -o ${pkg}.${ARCH}.checksums \
  361. /usr/bin/mes \
  362. /usr/bin/mes-m2 \
  363. /usr/bin/mescc.scm \
  364. /usr/lib/${MES_ARCH}-mes/crt1.s \
  365. /usr/lib/${MES_ARCH}-mes/crt1.o \
  366. /usr/lib/${MES_ARCH}-mes/${MES_ARCH}.M1 \
  367. /usr/lib/${MES_ARCH}-mes/libmescc.s \
  368. /usr/lib/${MES_ARCH}-mes/libc+tcc.s \
  369. /usr/lib/${MES_ARCH}-mes/libc.s \
  370. /usr/lib/${MES_ARCH}-mes/libmescc.a \
  371. /usr/lib/${MES_ARCH}-mes/libc+tcc.a \
  372. /usr/lib/${MES_ARCH}-mes/libc.a \
  373. /usr/lib/linux/${MES_ARCH}-mes/elf${ARCH_BITS}-header.hex2 \
  374. /usr/lib/linux/${MES_ARCH}-mes/elf${ARCH_BITS}-footer-single-main.hex2
  375. cp ${pkg}.${ARCH}.checksums ${SRCDIR}
  376. else
  377. sha256sum -c ${pkg}.${ARCH}.checksums
  378. fi